Uczenie maszynowe (Machine Learning) to fascynujący świat, a wykorzystywane w nim technologie znajdują zastosowanie w otaczającym nas świecie. Można się pokusić o stwierdzenie, że towarzyszą nam na każdym kroku, a korzystamy z nich nawet nieświadomie. Idąc dalej, algorytmy uczenia maszynowego lotem błyskawicy wchodzą do przedsiębiorstw. Pozwalają ocenić wskaźniki zwrotu z inwestycji (ROI), a także znajdują zastosowanie w sprzedaży i marketingu. Branża przeżywa teraz prawdziwy rozkwit, a firmy coraz częściej poszukują wykwalifikowanych specjalistów, przed którymi stoi ogrom wyzwań. Aby dowiedzieć się więcej o Machine Learning, do naszego wywiadu zaprosiliśmy Martę Kaczmarską, Deep Learning Engineera, która opowie o kulisach pracy w tym zawodzie.
Zespół IT-Leaders: Machine Learning – przyszłościowa branża z wysokimi zarobkami… zgadzasz się z tym stwierdzeniem?
Marta Kaczmarska: Branża jest na pewno przyszłościowa. Uczenie maszynowe pozwala rozwiązywać wiele problemów dokładniej i szybciej niż człowiek, więc jest powszechnie wprowadzane do różnych obszarów. Z tego względu jest zapotrzebowanie na specjalistów uczenia maszynowego. Jeśli chodzi o zarobki, to myślę, że w najbliższych latach nie będzie można na nie narzekać. Jesteśmy na etapie intensywnego rozwoju i nadal pewnego zafascynowania tą dziedziną, dlatego też wiele firm chętnie wprowadza u siebie rozwiązania Machine Learning, jednocześnie poszukując specjalistów i zachęcając ich wysoką pensją.
Zespół IT-Leaders: Brzmi świetnie! Dlaczego wybrałaś akurat tę ścieżkę rozwoju?
Marta Kaczmarska: Uczenie maszynowe jest uniwersalne, znajduje zastosowanie w bardzo wielu dziedzinach. W związku z tym znalazło się tu również miejsce na rozwijanie moich zainteresowań i połączenie fizyki medycznej z programowaniem. Ale ciekawe projekty są nie tylko z zakresu medycyny. Jest wiele wyzwań i można się rozwijać w różnych kierunkach. Mnie interesują przede wszystkim zagadnienia związanie z przetwarzaniem obrazów, które pojawiają się w bardzo wielu branżach i spora część wiedzy jest tu wspólna, więc można się odnaleźć w różnych projektach.
Zespół IT-Leaders: Deep Learning jest stosunkowo nowym pojęciem, jeszcze nie do końca znanym w powszechnym użytku. Jak go można zdefiniować?
Marta Kaczmarska: Deep Learning (tłumaczony czasem na polski jako uczenie głębokie) jest działem uczenia maszynowego, który zajmuje się algorytmami opartymi na sztucznych sieciach neuronowych. Zwykle takie algorytmy potrzebują więcej czasu, danych i mocy obliczeniowej na nauczenie się danego zadania w porównaniu do innych, mniej skomplikowanych metod uczenia maszynowego. Jednak gdy pokona się te przeszkody, to można osiągnąć bardzo dobre wyniki, a także rozwiązać problemy wcześniej pozostające nierozwiązane. Deep Learning jest już wykorzystywany na co dzień w bardzo wielu obszarach m.in. w znajdowaniu i klasyfikacji obiektów na zdjęciach (np. wykrywanie twarzy na zdjęciach umieszczonych na portalach społecznościowych), rozpoznawaniu mowy, przetwarzaniu języka naturalnego (np. tłumaczenie tekstów), przewidywaniu (np. cen produktów). Możliwości nadal jest wiele, więc lista zastosowań będzie się wydłużać wraz z nowymi pomysłami i badaniami.
Zespół IT-Leaders: Czy Deep Learning zastąpi Twoim zdaniem inne metody Machine Learning?
Marta Kaczmarska: Myślę, że w najbliższych latach jeszcze to nie nastąpi. Co prawda Deep Learning w wielu zadaniach osiąga lepsze wyniki niż pozostałe, standardowe metody uczenia maszynowego, jednak wymaga jednocześnie większej mocy obliczeniowej, więcej danych. Nie każda instytucja czy firma ma odpowiednie zasoby, ale też nie każda sytuacja wymaga sięgania po zaawansowane i skomplikowane rozwiązania. Wszystko zależy od okoliczności i zdarza się, że dany problem można rozwiązać przy pomocy prostego algorytmu, osiągając podobne rezultaty jak w przypadku algorytmu bardziej złożonego. Wyniki modeli uczenia głębokiego są także często trudniejsze w interpretacji, co jest kluczową kwestią np. w medycynie, gdzie podejmowanie decyzji przy ich pomocy wpływa na zdrowie i życie pacjentów.
Zespół IT-Leaders: Jak zacząć przygodę z uczeniem maszynowym? Co polecasz na początek?
Marta Kaczmarska: W internecie znajduje się mnóstwo darmowych zasobów, jest w czym wybierać. Najlepiej wybrać na początek jeden kurs i przerobić go do końca; zbyt dużo materiałów z różnych kursów naraz mogłoby przytłoczyć. Oczywiście ważna jest praktyka. Popularny jest Python, więc myślę, że warto poświęcić trochę czasu również na naukę podstaw tego języka programowania (a w dalszej kolejności którejś z bibliotek uczenia maszynowego, np. scikit-learn). Z kolei jeśli ktoś uważa, że nie poradzi sobie na początek z programowaniem, to istnieją platformy, takie jak np. Weka, które dają możliwość korzystania z algorytmów uczenia maszynowego poprzez interfejs graficzny bez potrzeby pisania kodu.
Zespół IT-Leaders: Machine Learning i sztuczna inteligencja to dość podobne wyrażenia. Jaka jest między nimi różnica?
Marta Kaczmarska: Sztuczna inteligencja jest pojęciem szerszym i obejmuje wszelkie rozwiązania, o których można powiedzieć, że imitują inteligencję człowieka. Mogą to być na przykład niektóre metody przetwarzania języka naturalnego inne niż oparte na uczeniu maszynowym. Z kolei machine learning jest dziedziną sztucznej inteligencji zajmującą się takimi algorytmami, które usprawniają swoje działanie poprzez zdobywanie doświadczenia. Poprzez doświadczenie rozumiemy dane (tzw. uczące). Im więcej danych dostarczymy modelowi, tym lepiej będzie wykonywał konkretne zadanie. Na przykład jeśli mamy model, którego zadaniem jest rozpoznawać koty na zdjęciach i dostarczymy mu wystarczająco duży zbiór uczący zdjęć z kotami, to będzie rozpoznawał koty również na nowych zdjęciach, które nie znajdowały się w tym zbiorze.
Zespół IT-Leaders: Opowiedz coś więcej czym zajmuje się Deep Learning Engineer?
Marta Kaczmarska: Jak zapewne można się domyślić Deep Learning Engineer zajmuje się tworzeniem rozwiązań z wykorzystaniem Deep Learningu. Poza tworzeniem nowych rozwiązań wykorzystuje się i dostosowuje do danego problemu technologie już istniejące (chciałabym tu zaznaczyć, że podczas pracy z gotowymi narzędziami ważne jest zwracanie uwagi na ich licencję – nie wszystko bowiem można wykorzystać w celach komercyjnych). Poza budowaniem i trenowaniem modeli oraz późniejszym ich testowaniem i wdrażaniem na produkcję, istotny jest początkowy etap przygotowania danych (mogą to być np. obrazy). Dane można zebrać samemu lub otrzymać od klienta. Następnie należy je przetworzyć tak, aby odpowiadały naszym potrzebom. Pomocne jest również śledzenie branżowych wiadomości i publikowanych artykułów naukowych – wiemy, jakie są trendy (czyli np. czego może oczekiwać klient), możemy czerpać inspirację do swoich projektów, a także poszerzamy swoją wiedzę.
Zespół IT-Leaders: Z jakich narzędzi korzystasz w codziennej pracy? (Jaki język programowania, technologie, narzędzia, etc.)
Marta Kaczmarska: Dostępnych narzędzi, które można wykorzystać w codziennej pracy jest całkiem sporo. Wybór metod i rozwiązań zależy od projektu. Dużo korzystam z Pythona, a także dedykowanych bibliotek do uczenia maszynowego jak TensorFlow, PyTorch, scikit-learn. Do przetwarzania i analizy obrazów przydaje mi się OpenCV. Czasem do wizualizacji (np. rysowania wykresów) wykorzystuję biblioteki matplotlib i seaborn. Z wymienionych narzędzi korzystam najczęściej w środowisku JupyterLab. Poza technicznymi aspektami ważne jest również zarządzanie zadaniami/robienie notatek, które zapisuję i organizuję w Notion.
Zespół IT-Leaders: No dobrze, a co dalej? W jakim kierunku może się rozwijać?
Marta Kaczmarska: Możliwości jest dużo, ponieważ branża jest dynamiczna i samo codzienne śledzenie nowych badań naukowych z dziedziny Deep Learningu pozwala na rozwój. Mając umiejętności techniczne, można zmienić domenę i pracować przy projektach o podobnej strukturze, ale wykorzystujących zupełnie inne dane i przeznaczone dla innej grupy odbiorców. Jest również opcja zaangażowania się w pozostałe obszary uczenia głębokiego (lub patrząc szerzej – ogólnie uczenia maszynowego), niż te, którymi zajmujemy się na co dzień. Pewne podstawy teoretyczne i techniczne są wspólne dla wielu z tych obszarów. Znając dany język programowania, np. Python, relatywnie łatwo może być również zmienić całkowicie dział IT na inny niż uczenie maszynowe.
Zespół IT-Leaders: Bardzo dziękujemy za inspirującą rozmowę 😊 A Tobie, Marta życzymy powodzenia!
Sprawdź aktualne oferty : https://it-leaders.pl/oferty-pracy
Marta Kaczmarska: Ukończyłam studia z fizyki medycznej o specjalności Techniki Obrazowania i Biometria na Akademii Górniczo-Hutniczej w Krakowie. Po studiach zaczęłam pracować jako analityk danych. Poszukując możliwości wykorzystania wiedzy zdobytej na studiach (szczególnie o obrazowaniu medycznym) w szeroko pojętej dziedzinie Data Science, zainteresowałam się uczeniem maszynowym. Teraz pracuję jako Deep Learning Engineer.