Analiza danych, inżynieria chmury i sztuczna inteligencja to dzisiaj nie tylko modne określenia z portali dla nerdów, ale stale rozwijające się obszary, które coraz częściej wpływają na procesy i decyzje w nowoczesnych organizacjach. Dzięki współpracy koncernu Bertelsmann z platformą Udacity każdy, kto chciał poszerzyć swoją wiedzę o te tematy, mógł aplikować na stypendium techniczne by po dwóch etapach otrzymać certyfikat Nanodegree.


Udacity to jeden z serwisów oferujących masowe kursy internetowe. W przeciwieństwie do innych tego typu portali Udacity koncentruje ofertę ściśle na zagadnieniach z branży IT oraz współpracuje z gigantami branży, takimi jak m.in. Nvidia czy Intel, dzięki czemu kursy skupiają się na praktycznych aspektach i są dostosowane do wymagań rynku pracy.

Pierwszy etap stypendium Udacity już prawie na finiszu!

Przechodząc do zawartości, ścieżka analizy danych przypomina podstawowe pojęcia z zakresu statystyki opisowej, by następnie zapoznać adeptów z językami Python i SQL. Ścieżka chmury obejmuje z m.in. wiersz poleceń serwera Linuksa, narzędzia Amazon Web Services oraz system kontroli wersji Git. Ja wybrałem ścieżkę sztucznej inteligencji, która w całości skupiała się na głębokim uczeniu (deep learning).


Kurs rozpoczyna się od wyjaśnienia, czym są sieci neuronowe oraz wszystkich pojęć z tym związanych. Poznajemy więc funkcje aktywacje, kodujemy formuły softmax i crossentropy, implementujemy metodę gradientu prostego (gradient descent) oraz dowiadujemy się, na czym polega propagacja wsteczna (backpropagation). Całość przeplatana jest pytaniami wielokrotnego wyboru, dzięki czemu możemy na bieżąco sprawdzać stan wiedzy.


Kolejne rozdziały dotyczą sieci konwolucyjnych (convolutional neural networks), które służą do rozpoznawania obrazów. Wykorzystanie obejmuje m.in. samochody autonomiczne (skanowanie znaków drogowych, pasów ruchu). Kursanci ćwiczą, klasyfikując cyfry oraz obiekty ze zbioru CIFAR10, przy okazji poznając różnice w działaniu i skuteczności między prostą siecią neuronową a siecią konwolucyjną. Jako uzupełnienie tej wiedzy, osobny rozdział poświęcony jest zagadnieniu style transfer, czyli przenoszeniu stylu jednego zdjęcia na inne. Jak to działa w praktyce, zobaczyć można na stronie https://deepart.io/. Kurs zamykają dwa rozdziały o sieciach rekurencyjnych, które wykorzystywane są przy analizie sentymentu (sentiment analysis).


Całość materiału podzielono na 11 rozdziałów, których ukończenie powinno według szacunków Udacity zająć nieco ponad 25 godzin. Rzeczywiste tempo jest jednak nieco wolniejsze, przede wszystkim ze względu na ilość i poziom skomplikowania materiału teoretycznego, którego zrozumienie jest z kolei niezbędne do wykonania zadań programistycznych.


Tu wypada wspomnieć, że zadania wykonywane są w formie self-assessed lab. Kursant klonuje repozytorium z portalu github, w którym znajduje się kod źródłowy zadania, a który następnie uzupełnia. Odpowiedzi znajduje w osobnym pliku. Omówienie tego kodu jest jednocześnie elementem kursu – po każdym zadaniu oglądamy film, w którym tutor dokładnie go wyjaśnia.


O ile tutorzy zachęcają do samodzielnego wykonywania zadań, przypominają jednocześnie, żeby nie bić głową w mur i w przypadku niepowodzeń po prostu przejść do odpowiedzi (w końcu dopiero się uczymy), co sprawia, że kurs jest przyjemny w odbiorze, a czas przy nim spędzony mija szybko.


Poziom Nanodegree będzie jeszcze bardziej nastawiony na praktykę, ponieważ w dużej mierze ma składać się z projektów, w których zdobyte w pierwszym etapie umiejętności wykorzystamy do zbudowania sieci przewidującej liczbę użytkowników rowerów na danej trasie, sieci rozpoznającej rasę psa, sieci piszącej scenariusz kolejnego odcinka serialu na bazie istniejących scenariuszy czy wreszcie sieci GAN (generative adversarial network), która generuje twarze osób z tysięcy dostępnych zdjęć, by stworzyć całkiem nową, unikalną. Nawiasem mówiąc, GAN leży u podstaw popularnych ostatnio deepfake’ów.


Drugi etap rozpocznie się w marcu. Na ścieżce sztucznej inteligencji, całość materiału dotychczas zrealizowało zaledwie 8% uczestników. Zatem przez najbliższy miesiąc na Udaciy powtórka materiału dla tych, którzy już ukończyli wszystkie lekcje, a dla reszty – walka z czasem :-).



Toczący się na przełomie października i listopada proces aplikacji obejmował pytania otwarte o motywację oraz, w zależności od wybranej ścieżki, test dotyczący podstawowych zagadnień języka Python. Test dotyczył jednak tylko aplikujących na ścieżki „chmury” i „sztucznej inteligencji”, ponieważ kurs analizy danych skierowany jest do początkujących.

Bartosz Gazda

Analityk Danych