· stepien · 7 min
Okiem mentora #2 [wywiad]
Wywiad z Norbertem Ryciakiem, opiekunem bootcampu Data Science. W ramach doktoratu prowadzi badania nad metodami głębokiego uczenia w zastosowaniu do analizy tekstu oraz pracuje przy rozwijaniu infrastruktury do przetwarzania języka naturalnego CLARIN-PL współtworzonej przez Instytut Podstaw informatyki Polskiej Akademii Nauk. Na Politechnice Warszawskiej prowadzi także zajęcia z obszaru Data Science w ramach studiów dziennych na kierunku matematyka oraz informatyka oraz podyplomowych na kierunku Big Data - przetwarzanie i analiza dużych zbiorów danych.
Jak wcześnie zacząłeś interesować się tematyką Data Science? Skąd w ogóle takie zainteresowanie?
Data Science poznałem na studiach matematycznych i to dopiero wtedy, gdy pod koniec studiów licencjackich musiałem wybrać dalszy kierunek rozwoju. Moją specjalizacją została statystyka matematyczna i analiza danych. Zacząłem zgłębiać ten temat i bardzo mi się spodobał. Z perspektywy czasu muszę przyznać, że była to bardzo dobra decyzja.
Data Science jest dość szerokim pojęciem. Jaka jest Twoja specjalizacja?
Machine Learning, czyli po polsku – uczenie maszynowe. To również jest bardzo szeroka dziedzina. Mówiąc ogólnie, zajmuje się ona metodami analizy danych, które służą do wykrywania w danych zależności niewidocznych dla człowieka. W mojej pracy naukowej skupiam się na rozwoju tych metod, a konkretnie pracuję nad metodami głębokiego uczenia w zastosowaniu do przetwarzania języka naturalnego.
A dokładniej?
Rozwijam modele sieci neuronowych, które służą do analizy wydźwięku tekstu. Mówiąc prościej – pracuję nad algorytmami, które próbują rozpoznać czy tekst (np. opinia o produkcie) jest pozytywny, negatywny czy neutralny.
Jak wygląda Twoja praca na co dzień?
Jednym z bardzo istotnych elementów Machine Learning w kontekście prowadzenia badań jest praca z literaturą. Trzeba być na bieżąco z najnowszymi badaniami i dokonaniami naukowymi z tego obszaru, ponieważ dziedzina ta rozwija się bardzo szybko. Poza tym jest to praca w dużej mierze programistyczna, ponieważ wszelkie metody wymagają oprogramowania i testowania. Dlatego większość mojej pracy to tak naprawdę implementacja pomysłów, które chcę sprawdzić. Kolejną składową jest oczywiście praca umysłowa. Zresztą to akurat dotyczy nie tylko Machine Learning, ale ogólnie pracy badawczej. Często trzeba naprawdę dużo główkować, jak rozwiązać dany problem albo jak zrobić coś lepiej.
Czy ktoś, kto nigdy wcześniej nie miał styczności z tą dziedziną, ma szansę na to, by się przekwalifikować? I w jakim czasie?
Zasadniczo tak, chociaż oczywiście wszystko w dużej mierze zależy od indywidualnych predyspozycji. Jak z wieloma innymi dziedzinami, tak i z Data Science jest tak, że nie każdy się w tym odnajdzie. Jednak akurat brak doświadczenia czy styczności z tą branżą absolutnie nie przekreśla szans na zostanie Data Scientist, bo przecież każdy musi kiedyś zacząć.
Oczywiście dużo łatwiej przekwalifikować się na przykład programiście, ponieważ zaawansowana analiza danych odbywa się głównie poprzez programowanie. Dlatego właśnie tempo rozwoju w zakresie programowania silnie wpływa na tempo rozwoju w analizie danych.
Łatwiej może być również osobom, który ukończyły jakiekolwiek studia techniczne lub dowolne inne, na których pojawiła się matematyka, ułatwią nam wejście w branżę Data Science
Jednak absolutnie nie trzeba być programistą czy matematykiem, żeby zacząć zajmować się analizą danych. Po prostu nie można się tego bać. Osobiście znam osoby, które nigdy wcześniej nie miały styczności z programowaniem, ale szybko zaczęły sobie z tym radzić. Dużo zależy od ambicji, motywacji i celu. Nawiązując do Bootcampu Data Science, który w wersji weekendowej trwa pół roku, to w takim czasie można zdobyć naprawdę solidne umiejętności. Co więcej, część absolwentów kończy kurs z kompetencjami, które pozwalają robić ciekawsze rzeczy niż na zwykłym stanowisku juniorskim.
Jak w takim razie nauczyć się Data Science na tyle, by móc starać się o stanowisko juniorskie?
Można oczywiście próbować uczyć się z tutoriali czy kursów online, ale niestety często mają one bardzo szkolny charakter: wyjaśniają zasadę działania algorytmu, pokazują, jak go użyć, ale zupełnie nie uczą praktycznego zastosowania. Uczą za to postępowania według schematu, co nie jest równoznaczne z umiejętnością stosowania danych rozwiązań w realnych problemach. Dlatego moim zdaniem nauka online jest z reguły płytka. W praktyce bardzo często bywa tak, że wykorzystujemy jakiś algorytm, ale nie daje on pożądanego rezultatu. Wtedy trzeba umieć sobie z tym poradzić, ale żeby to zrobić, trzeba rozumieć, dlaczego stało się tak, a nie inaczej.
Jak wygląda nauka podczas bootcampu Data Science?
Na początku nauki przydaje się umiejętność stawiania na jakość, a nie na ilość. Zamiast powierzchownie uczyć się mnóstwa metod analizy, lepiej nauczyć się mniej, ale głębiej - zrozumieć zachowanie danego algorytmu w zależności od sytuacji, w jakiej chcemy go wykorzystać. Bardzo ważna jest praca z prawdziwymi danymi, bo dopiero wtedy uczymy się, jak radzić sobie w realnym świecie.
Dlatego właśnie zajęcia w obszarze analizowania i modelowania danych powinny możliwie najlepiej odzwierciedlać realia pracy w tej branży. Powinny skupiać się na głębokiej nauce metod analizy, pracować na realnych problemach – wówczas mamy możliwość nauczyć się, jak praktycznie wykorzystać te metody. Takie podejście pozwala na omówienie podczas zajęć takich kwestii, jak np. dlaczego dana metoda zwraca takie, a nie inne wyniki albo dlaczego dana metoda w ogóle nie działa w tym przypadku i jakiej innej metody powinno się użyć, jaki wpływ na wyniki mają pozostałe elementy całego procesu, jak dobrać metody do konkretnego celu biznesowego, co można zrobić, żeby otrzymać lepsze wyniki itd. Podczas bootcampu wykorzystujemy właśnie takie podejście.
Jako mentor bootcampu Data Science masz okazję obserwować rozwój jego uczestników. Jakiej rady udzieliłbyś osobom, które dopiero wybierają się na kurs?
Przede wszystkim takiej, żeby zaplanować sobie czas na pracę własną poza zajęciami. Data Science to dziedzina, której można się uczyć tylko i wyłącznie poprzez praktykę, dlatego pomimo faktu, że nasze zajęcia są mocno praktyczne, to im więcej czasu spędzi się na samodzielnym rozwiązywaniu rzeczywistych problemów, tym lepiej. Należy więc powtarzać materiał i wykonywać ćwiczenia – czy to zadane przez prowadzącego czy wyszukane samodzielnie. W I części bootcampu są to zadania programistyczne w języku Python, w II części ćwiczenia z analizy danych. Dobrym pomysłem jest poszukanie jakiegoś zagadnienia, które interesuje nas najbardziej i chcielibyśmy rozwijać się w tym kierunku. Gdy mamy konkretny cel, to nauka jest bardziej przyjemna i efektywna. Aczkolwiek nie jest to oczywiście konieczne.
Jakie kompetencje powinny cechować kandydata na Data Scientist?
Fundamentalną cechą jest zdolność analitycznego myślenia. W pewnym sensie można by na tym poprzestać, ale myślę, że warto zwrócić uwagę także na inne rzeczy, typu smykałka do komputera, bo Data Science to praca w dużej mierze informatyczna. Dlatego właśnie nie powinno się mieć awersji do pracy z komputerami. Analogicznie jest z matematyką – nie trzeba być matematykiem, żeby zajmować się analizą danych, ale jeśli ktoś już w szkole nie znosił tego przedmiotu, to Data Science może niekoniecznie być dla niego.
Skoro mowa o matematyce – na jakim poziomie należą ją znać, żeby móc zajmować się Data Science?
W codziennej pracy nie używamy matematyki w sposób jawny, używamy za to metod uczenia maszynowego do analizy danych, które są opisane i działają w oparciu o matematykę. Dlatego jeśli chcemy efektywnie używać tych metod, to musimy rozumieć ich działanie. Jeśli chodzi o poziom zaawansowania, to są to według mnie podstawy matematyki wyższej (podstawy analizy matematycznej, statystyki i algebry). Dlatego właśnie nie trzeba studiować matematyki, ale osoby, które studiując zetknęły się ze statystyką czy z analizą z pewnością łatwiej zrozumieją metody i modele używane na co dzień w Data Science.
Ile może zarobić początkujący Data Scientista?
Powiedziałbym, że dość rzetelny przedział to między 3 000 a 5 000 zł netto. Kwota zależy oczywiście od umiejętności, predyspozycji, osobowości i portfolio, a także od branży i konkretnej firmy.
Wspominasz o portfolio – w jaki sposób może je zdobyć ktoś, kto dopiero stawia pierwsze kroki w dziedzinie Data Science?
Inspiracje można czerpać z Internetu. Istnieją całe społeczności, które dzielą się między sobą swoimi projektami Data Science i zbiorami danych. Dobrym przykładem jest strona Kaggle.com. Jest to też platforma z konkursami z obszaru analizy danych. To właśnie one w dużej mierze są przyczynkiem do analiz, które robią członkowie społeczności. Przykładowy konkurs polega na tym, że otrzymujemy zbiór zdjęć satelitarnych, a naszym zadaniem jest opracowanie algorytmu, który jak najlepiej rozpozna, co się na nich znajduje: budynki, obszary zalesione itd. Takie zbiory danych są otwarte, dlatego każdy ma do nich dostęp i może je wykorzystać w swoich projektach.
Poza tego typu społecznościami warto śledzić profile i blogi ludzi, którzy mocno propagują analizę danych. Takie osoby często opowiadają o swoich analizach czy zrealizowanych projektach. Poza tym portfolio można zdobyć oczywiście na bootcampie. Jak już wspominałem, są to zajęcia bardzo praktyczne, rozwiązujemy dużo realnych problemów, a ja czasem sugeruję uczestnikom, że pewne zadania, które rozwiązaliśmy wspólnie w 2h, można zgłębić o wiele bardziej, zrobić więcej analiz i rozszerzyć ich zakres, a co za tym idzie – zbudować sobie bardzo fajne portfolio, które spokojnie można wykorzystać podczas rozmowy o pracę. Dodatkowo na koniec kursu jest do zrobienia projekt finalny, który w założeniu jest głównym punktem portfolio naszych absolwentów.