Jak zacząć używać uczenie maszynowe
Podcast

Jak zacząć używać uczenie maszynowe w praktyce?

Świat zmienia się szybciej niż myślisz, to już chyba wiesz…. Ale zmiany z definicji potrzebują kogoś, jak na razie jeszcze cały czas chodzi o ludzi, kto będzie je realizował. Przez to, że świat tak dynamicznie pędzi do przodu są dość duże braki chociażby w takich obszarach jak sztuczna inteligencja (w szczególności uczenie maszynowe).

Sytuacja jest czasem paradoksalna, kiedy firmy oferują gigantyczne kwoty dla specjalistów, żeby zaprosić ich do swojego zespołu. Oczywiscie, fajnie jest kiedy Twoja firma to Google czy Microsoft, gdzie roczny zysk wynosi blisko 100 miliardów dolarów. Natomiast, jak sobie radzić w sytuacji, kiedy Twoja firma jest w Polsce i jej obroty są mniejsze o 3 lub nawet 5 zer? 🙂

Również z drugiej strony, jeśli jesteś ambitnym człowiekiem, który chce wejść w temat uczenia maszynowego, ale jest to zbyt trudne. Być może już nawet były pierwsze próby, tylko po nich pojawiła się wiedza teoretyczna, brakowało zrozumienia jak ją wykorzystać i teraz czujesz się zagubiony.

Mam dobrą wiadomość dla obu przypadków. Kurs praktyczne uczenie maszynowe może Ci pomóc. Z punktu widzenia firmy, można przekwalifikować swoich programistów i dodać im jeszcze jedną, tak zwaną dodatkową, warstwę wiedzy. Z mojego doświadczenia wiem, że programiści chętnie wchodzą w ten temat bo jest to idealny obszar dla ich mózgu. Zyskujesz to, że w Twojej firmie nadal pracuje ten sam człowiek, który już zna funkcjonujący w Twoim przedsiębiorstwie proces, tylko co ważne staje się on bardziej wydajny.

Mam zamiar nagrać na ten temat osobny odcinek, gdzie pokażę, że w naszych czasach tylko tak zwane firmy data-driven company rozwijają się i wyprzedzają innych. To jest temat rzeka, ale między innymi chodzi o kulturę i umiejętność, żeby mając dane wyciągać z nich wartość.

Do czego dążę? Pierwsza edycja kursu – praktyczne uczenie maszynowe już skończyła się, miało to miejsce tuż przed Świętami. Robiąc retrospekcję, również zbierając opinie, to nawet mój wewnętrzny perfekcjonista musiał przyznać, że kurs udał się ponad oczekiwania.

Z drugiej strony, w końcu mój perfekcjonista nie śpi, ma swoje plany na życie i zmusza mnie do działania, więc po każdym module zbierałem bardzo aktywnie informację zwrotną (czyli raz w tygodniu) i mam dużo materiału odnośnie tego, co można jeszcze usprawnić. Dlatego druga edycja będzie jeszcze bardziej dopracowana.

Uczenie maszynowe w praktyce

Teraz mogę to doprecyzować – kurs praktyczne uczenie maszynowe, czyli druga edycja startuje 26 lutego 2018. Posiada on trzy pakiety: Basic, Gold i Premium.

Pakiet Basic jest najmniej interaktywny. Wybierając tę opcję dostaniesz materiały, gdzie każdy moduł zawiera ok. godziny wideo z tłumaczeniem materiału, 4 notebooki z praktycznymi zadaniami oraz książkę dla tego modułu. Przykładowa książka.

Praktyczne uczenie maszynowe
Praktyczne uczenie maszynowe

Dostaniesz również dostęp do slacku, na którym podczas pierwszej edycji udało się stworzyć przyjazną atmosferę i powstały ok. 4 tysiące wiadomości w trakcie trwania kursu (gdy podzielisz to przez ilość dni, to będzie średnio 70 wiadomości dziennie). Natomiast w tym pakiecie, Twoje ewentualne pytania i cała interakcja będzie odbywać się na slacku. Myślę, że ten pakiet jest fajny dla osób, które już mają sporą wiedzę, ale chcą ją ustrukturalizować.

Slack
Pod czas kursu powstało  4k wiadomości

Pakiet Gold, zawiera to samo co opcja Basic + dodatkowe wartości. Jedna z największych wartości to uczestnictwo w cotygodniowym webinarze podczas, którego odpowiadam na wszystkie pytania, które dostałem w trakcie tygodnia. Przykładowy webinar.

Dodatkowo będzie zadanie-bonus dla każdego modułu, gdzie są różne ciekawostki o narzędziach lub innych sprytnych podejściach do analizy danych. Również w drugiej edycji będzie dodatkowe wideo dla każdego modułu, które krok po kroku wyjaśnia kod (jak okazało się jest to bardzo potrzebne osobom, które dopiero zaczynają programować).

Pakiet Premium, zawiera to wszystko co Gold + prywatne konsultacje – 1 godzina na każdy moduł (sumarycznie 8 godzin konsultacji). W zależności od zaawansowania wiedzy konsultacje wyglądają różnie. Z osobami, które są mało zaawansowane techniczne 100% czasu spędzaliśmy na zadaniach domowych, dzięki czemu nawet totalnie początkująca osoba jest w stanie iść do przodu. Z bardziej zaawansowanymi realizujemy dodatkowe projekty i część z nich była naprawdę świetna.

Pakiet Premium jest najdroższy, bo wymaga sporo mojego zaangażowania. Mimo tego, że prywatna konsultacja trwa godzinę tygodniowo, to jeszcze przynajmniej godzinę spędzam na przygotowaniu się (również w tak zwanym międzyczasie sporo myślę nad tym jak mogę pomóc tej osobie). Dlatego ta grupa musi być bardzo mała – w pierwszej edycji to było 8 osób.

Teraz uwaga… Specjalnie dla słuchaczy BiznesMyśli mam dobrą wiadomość – przygotowałem zniżkę. W zależności od dostępności, to może być 25%, 20%, 15% czy 10% (promkod: biznesmysli25, biznesmysli20, biznesmysli15, biznesmysli10). Dodatkowa przy zakupie pakietu Gold lub Premium dostaniesz dostęp do webinarów i prezentacji z pierwszej edycji (koszt prezentu 500 złotych). Jest tam sporo wiedzy i ciekawych pytań.

Odniosę się jeszcze do kosztu kursu. W sumie mało o tym mówię, bardziej promuję wartości, ale dużo myślę (jestem bardziej osobą myślącą niż sprzedawcą) i staram się optymalizować wszystko co tylko jest możliwe. Teraz wyjaśnię co mam na myśli, skoro jest taka okazja. Koszt do wartości też został dość mocno zoptymalizowany, ale wyjaśnię to na przykładzie.

Koszt pakietu Gold jest porównywalny z kosztem jednodniowego warsztatu. Wiem co mówię, bo też je prowadzę. Natomiast, szczerze mówiąc, mając do dyspozycji tylko jeden dzień bardzo trudno jest przekazać wiedzę. Zawsze czuję się mało komfortowo na takich jednodniowych warsztatach i chyba za bardzo się tym przejmuje. Wyzwań jest kilka – po pierwsze, za mało czasu, ale również przepustowość naszych mózgów jest dość ograniczona w czasie.

Swoją drogą, koszt najdroższego pakietu Premium z 8 godzinami indywidualnej konsultacji jest mniejszy niż miesięczna pensja Junior Data Scientist i tylko 50% czy nawet 40% Middle Data Scientist.

Na dzień dzisiejszy przeprowadziłem już 14 warsztatów na żywo dla ponad 300 uczestników, więc mam sporo informacji do analizy. Pewnie jak już wiesz, lubię rozważać i wyciągać wnioski, dlatego w tym przypadku miałem spore pole do popisu.

Wykład - Programista 2.0
Jeden z moich wykładów (styczeń 2018) – Programista 2.0

Człowiekowi trudno jest wpompować w krótkim czasie tak dużo wiedzy. To dlatego doszedłem do wniosku, że trzeba to robić inaczej. Ostatecznie kurs jest rozciągnięty na 2 miesiące (w porównaniu do jednego dnia). Ilość wiedzy, która jest przekazywana, jest co najmniej 5 czy 10 razy większa niż podczas jednodniowego warsztatu. Również sposób i zaangażowanie w to jak to jest robione, żeby wzbudzić ciekawość.

Pamiętam jak dawno temu, zaczynałem się dzielić się wiedzą, to była tylko sucha informacja… wtedy pomyślałem, że chyba robię coś źle i zacząłem eksperymentować. Dzięki temu zacząłem rozumieć co bardziej się sprawdza. Na przykład, w trakcie kursu jest organizowany konkurs z nagrodą, widać było jak to nakręcało uczestników i jak szybko ludzie uczyli się (czyli mogli wykorzystać przedstawioną wiedzę już w praktyce).

Możesz zapytać, to czemu w takim razie jednodniowe warsztate tyle kosztują? Odpowiedź jest prosta. Ponieważ zawierają w sobie bardzo dużo ukrytych kosztów, które po większym zastanowieniu, w niewielkim stopniu przekładają się na wiedzę, którą zdobywasz. Na przykład, wynajęcie sali lub catering, zatrudnienie większej ilości osób, które przygotowują salę, różnego rodzaju ulotki i wiele innych rzeczy. Dlatego, tak naprawdę, płacisz nie prowadzącemu (który swoją drogą dostaje tylko kilka procent od całej kwoty), ale płacisz za tę całą otoczkę, z której być może nie zdajesz sobie sprawy.

Można również zrobić porównanie do bootcamp’ów, za które płacisz znacznie więcej, co najmniej 2, 3 lub nawet 5 razy więcej. Tam również jest sporo kosztów ukrytych, a ilość wiedzy raczej jest porównywalna lub nawet mniejsza (bo są inaczej zorganizowane, też mają inny cel).

W moim przypadku zoptymalizowałem wszystko to, co tylko jest możliwe (wiele rzeczy zautomatyzowałem, ponieważ jestem fanem automatyzacji procesów) i zwiększyłem obszary wartości dodanej, czyli takiej, która faktycznie daje wartość dla uczestnika. Na przykład, przez 2 miesiące masz dostęp do serwera, na którym robisz kurs. Eliminuje to problem z konfiguracją własnego środowiska, jak i również zakupu większej ilości zasobów w postaci CPU czy RAM.

Jeszcze trochę opowiem o pierwszej edycji. Brała w niej udział dość zróżnicowana grupa. Mimo tego, że kurs nazywał się “praktyczne uczenie maszynowe dla programistów” to wśród uczestników było niewielu programistów. Na kurs zapisali się, na przykład specjaliści od UX (user experience), nauczyciele akademiccy lub analitycy biznesowi.

Mało tego, również byli dwaj CTO (dyrektor ds. technicznych) i każdy z nich był bardzo zadowolony, co mnie oczywiście cieszy. I teraz już pomijając ego, które też jest zadowolone, ale bardziej chodzi o to, że czuję ulgę, że faktycznie jest wartość dodana.

Łukasz Madeksza CTO w FocusNet
Łukasz Madeksza CTO w FocusNet

Bo jednak CTO są to ludzie, którzy mają większe doświadczenie, mają z czym się porównywać, są bardziej krytyczny. Obawiałem się czy to będzie odpowiednio wysoki poziom… i jak pokazało doświadczenie, moje obawy były tylko “strachem” w mojej głowie :).

Chciałbym, żeby ten przegląd pierwszej edycji był bardziej przejrzysty, więc zaprosiłem cztery osoby, aby podzieliły się swoją opinią. Chciałem zaprosić wszystkich, ale wtedy ten odcinek mógłby trwać kilkanaście godzin :).


Pierwsza osoba to Mirosław, który według mnie był idealnym uczniem. Ciągle zadawał pytania i tym samym bardzo ułatwiał mi życie, bo rozumiałem jakie obszary mam wyjaśniać podczas webinaru. Swoją drogą, bardzo polecam takie podejście do życia, bo dzięki temu możesz szybko znajdować odpowiedzi i szybko rozwijać się. Wybrał on pakiet Gold.

Mirosław Mamczur
Mirosław Mamczur

Przedstaw się proszę, kim jesteś? Czym się zajmujesz? Gdzie mieszkasz?

Cześć Vladimir! Nazywam się Mirosław Mamczur i obecnie mieszkam we Wrocławiu. Natomiast, jestem Data ScientistBanku Zachodnim WBK, zajmuje się najróżniejszymi zagadnieniami dotyczącymi klienta detalicznego.

Co ostatnio czytałeś?

Ostatnio czytałem książkę Michała Szafrańskiego Finansowy Ninja, wzięło się to przede wszystkim z tego, że chciałem uporządkować swoją wiedzę na temat finansów. Dużo ciekawych informacji tam znalazłem. Również było tam dużo ciekawych informacji, żeby się zastanowić nad swoimi finansami, czy swoim życiem.

Było tam ciekawe pytanie, stwierdzenie „jeżeli odkładamy, połowę pieniędzy, które zarabiamy, to tak naprawdę o połowę szybciej możemy przejść na emeryturę”. Nie będziemy pracować 40 lat, a 20. Mnóstwo niuansów, ciekawy rzeczy, żeby zastanowić się nad tymi elementami.

Finansowy Ninja
Finansowy Ninja

Tak, potwierdzam,  ciekawa książka. Ostatnio Michał też nagrał takie podsumowanie – bardzo fajnie ta książka się sprzedaje. Myślę, że ta książka jest fajną lekturą na koniec lub początek roku, kiedy jest taka chęć zastanowić się i zbudować plany na przyszłość.

Przechodzimy już do kursu, o który chce zadać kilka pytań. Jesteś absolwentem tego kursu, więc to dobra okazja, żeby podzielić się opinią. Na początek takie pytanie, co skłoniło Cię do przerobienia tego kursu?

Zacznę od tego, że w samym Banku Zachodnim pracuję już od 9 lat i przez pierwsze 8 lat byłem w ciekawym departamencie – Business Intelligence i Zarządzanie Ryzykiem. Robiliśmy tam najróżniejsze rzeczy, mieszały się różne światy zarówno CRM, jak i ryzyka, chociażby oceny scoringowej czy oceny zdolności.

Natomiast, w ostatnim roku powstał nowy obszar, który nazywał się BI, tutaj przede wszystkim zajmujemy się najnowszymi technologiami, najpowszechniej rozumianym Data Science, uczeniem maszynowym.

Zaczynamy poznawać najnowsze technologie w stylu Gradient Boosting, sieci neuronowe. Patrzymy, w których elementach w banku możemy je wykorzystać. Nie wszędzie oczywiście można, ponieważ banki mają nad sobą regulatorów.

Zapisując się na ten kurs chciałem zgłębić tajniki tej wiedzy i przede wszystkim uporządkować ją sobie. Moim zdaniem, jak najbardziej, osiągnąłem zamierzony efekt.

Jeszcze będę dopytywać o to, ale teraz takie pytanie, które pada dość często, jeżeli chodzi o ograniczenia czy wymagania. Tak jak wiesz, podczas kursu używaliśmy Pythona i wszystkie biblioteki, nakładki były napisane w tym języku.

Wtedy, z tego co pamiętam, Twoja wiedza z Pythona była nie największa, właściwie chyba zaczynałeś. Pytanie dla Ciebie, na ile to stanowiło przeszkodę? Jak sobie z tym poradziłeś?

Jestem osobą, która jeśli spotyka jakieś blokujące rzeczy, to one mnie tylko nakręcają. Bardzo chciałem poznać nowy język. Większość osób, w uczeniu maszynowym używa dwóch języków: R i Python. Ponieważ wiedziałem, że ten kurs będzie prowadzony w Pythonie, to zmobilizowałem się i rozpocząłem ostro naukę tego języka.

Wystartowałem z taką ostrzejszą nauką miesiąc przed kursem i to naprawdę mi wystarczyło. Używając prostych webinarów, które były w internecie, mogłem złapać podstawową wiedzę z Pythona i to mi bez problemu wystarczyło, żeby wziąć udział w tym kursie. Można powiedzieć, że na bieżąco podczas kursu poznawałem kolejne elementy, które udostępniałeś.

Moja wiedza w tym zakresie tylko się rozszerzała. Jeżeli miałbym powiedzieć komuś, kto nie zna języka, ale ma doświadczenie w innych językach: C++ czy chociażby SQL czy VBA, jak było w moim przypadku – to bez problemu powinien sobie poradzić.

Bardzo dobrze. Też mam takie wrażenie, że czasem nam się wydaje, że niektóre rzeczy są bardziej złożone, niż faktycznie są – i odwrotnie też to często działa, że coś jest bardzo proste a jest bardzo skomplikowane, więc znalezienie takiej równowagi jest dość istotne.

Zapytam teraz wprost – co najbardziej spodobało Ci się w kursie?

Jeżeli miałbym mówić o rzeczy, która najbardziej mi się spodobała, to chyba sposób prezentacji materiałów. To było coś innego od kursów, w których brałem udział do tej pory. Wydaje mi się, że wykorzystałeś mnóstwo tak zwanej metodologii Agile – robimy prosty element, żeby po prostu działał, a później dokładamy i komplikujemy to coraz bardziej.

Na przykład, zrobiliśmy proste zadanie, a później w ramach kolejnych modułów było ono rozszerzane, chociażby o Gradient Boosting lub metody optymalizacji parametrów. Po kolei od prostego elementu, gdzie już widziałem, że coś działa, ta wiedza była dokładana i cały czas można było te elementy rozwijać.

Wydaje mi się, że to jest taka najciekawsza rzecz, która była w tym kursie. To mi się najbardziej spodobało – sposób prowadzenia.

Teraz trochę podobne pytanie, ale bardziej dotyczy Twojej opinii. Jaka jest największa wartość tego kursu dla Ciebie? Co tak naprawdę zyskałeś?

Wydaje mi się, że pokazałaś parę fajnych elementów, które mnie ciekawiły. Można było podczas kursu też zadawać pytania. W związku z tym, że jestem związany z branżą bankową interesowały mnie problemy, które będą stały przede mną, te rzeczy, które ja będę mógł rozwiązać.

Podczas kursu, pokazywałeś np. sieci neuronowe, wspominałeś, że można je wykorzystać do najróżniejszych rzeczy, np. stworzenia chatbota. W tym momencie zapalało mi się światełko – O! Fajnie! Mam w naszym banku odpowiednie dane i mógłbym coś takiego zbudować, tylko nie wiem jak. Poprzez zadawanie Ci pytań, dzieliłeś się tą wiedzą i dzięki temu wiem jak będę mógł to zastosować, zrobić w naszym banku by lepiej to działało.

Akurat, jeżeli chodzi chodzi o pytania byłeś jednym z najbardziej aktywnych uczestników. Według mnie, to jest super możliwość, tak naprawdę każdy ma pytanie, ale część osób się wstydziła.

Muszę się jeszcze zastanowić jak sobie z tym poradzić na większą skalę, ale w Twoim przypadku to było super podejście. Dla mnie to było łatwiej, bo jak masz konkretne pytanie, to możesz na nie konkretnie odpowiedzieć, przynajmniej na tyle, na ile pozwala kontekst. Dziękuję Ci za tę aktywność.

Nie ma za co. Wydaje mi się, że to akurat zależy od osobowości, bo nie wszyscy lubią zadawać pytania. Ponieważ pytając pokazuję, że jestem osobą, która może czegoś nie wiedzieć. Ja mam akurat takie podejście, że całe życie się uczę i im więcej pytam, tym więcej odpowiedzi poznam.

Jak zamierzasz wykorzystać zdobytą wiedzę?

Szczerze mówiąc, mam na myśli kilka ciekawych projektów, które z przyjemnością zaprezentuję czy zaproponuję w mojej pracy, dzięki tej metodologii czy informacjom, które uzyskałem. Oczywiście, nie wszystkie rzeczy możemy zastosować w prosty sposób.

Na przykład, sieci neuronowe jak najbardziej mogą służyć do oceny ryzyka klienta, jednak banki mają nad sobą regulatorów i oni mówią wprost, że niektóre rzeczy musimy być w stanie walidować, sprawdzać jak to działa, wytłumaczyć dlaczego podjęto taką decyzję, a nie inną. Niemniej jednak, jest wiele aspektów, gdzie te elementy, które poznaliśmy i tak możemy wykorzystać np. w CRMie.

Z przyjemnością spróbuję czy modele zbudowane w oparciu o sieci neuronowe będą lepiej przewidywać zachowania klientów versus modele tradycyjne, których też używamy, budowane regresją logistyczną. Ostatnio też już budujemy w oparciu o Gradient Boosting. To są te elementy. Druga rzecz, było sporo przykładów, gdzie pokazałeś jak porównywać jakieś obrazy – to też można wykorzystać w wielu miejscach w samej bankowości oddziałowej czy internetowej.

Chociażby, gdy klient przychodzi do bankomatu, żeby sprawdzić czy to jest ta osoba, a nie ktoś inny wyłudza pieniądze – dzięki temu będziemy mogli lepiej działać w imieniu dobra klienta, żeby przeciwdziałać złodziejom. To są jedne z przykładowych rzeczy, które przyszły mi do głowy podczas trwania tego kursu.

Brzmi bardzo ciekawie. Teraz zadam pytania dotyczące kosztów. Jak według Ciebie wygląda relacja kosztu kursu do jego wartości?

Nie pamiętam już dokładnie ceny, ponieważ płaciłem 2-3 miesiące temu. Byłem bardzo pozytywnie zaskoczony, spodziewałem się, że w ramach tej ceny dostanę luźne materiały, informacje. Natomiast, to co zostało przekazane w tych materiałach… Mogę dla przykładu powiedzieć. W jednym module, gdzie rozmawialiśmy o Gradient Boosting, to było przygotowane w taki fajny sposób. Przygotowałeś najróżniejsze funkcje, bardzo łatwe, żeby wziąć i zaimplementować w innym problemie.

Chociażby wczoraj dla zabawy odpaliłem sobie konkurs Kaggle i w 4 godziny zrobiłem analizę danych. Wziąłem te dane, które wykorzystałeś na kursie, odpaliłem model i okazało się, że jestem w TOP20. To pokazuje, że te materiały, które dostaliśmy były godne swojej ceny. Ponieważ jestem w stanie je wykorzystać do najróżniejszych problemów, nie tylko takich które przedstawiłeś na kursie, ale do rzeczywistych problemów czy z mojej branży czy dla samorozwoju i konkursu Kaggle.

Ostatnie pytanie już na dzisiaj. Komu polecasz przerobienie tego kursu?

Przede wszystkim osobom, które chcą się rozwijać, chcą się nauczyć nowych metod. Kurs jest bardzo przystępny. Tak jak w moim przypadku, mimo, że wcześniej nie znałem Pythona, nie znam dokładnie sieci neuronowych – miałem tylko podstawy matematyki i wcześniej budowałem proste modele, to przyswoiłem sobie tę wiedzę.

Komu jeszcze polecam? Osobom, które się tym zajmują. Ten kurs porządkuje tę wiedzę, od początku do końca pokazuje jak można to sobie poukładać.

Dziękuję Ci bardzo Mirku za Twoją opinię i ten czas, który spędziliśmy teraz razem. Wiem, że zwykle dość często ludzie narzekają, bo nie mają czasu ze względu na pracę, ale w Twoim przypadku – też miałeś pracę, dziecko, Twoja żona była w ciąży i nie patrząc na to wszystko znalazłeś czas, żeby ten kurs przerobić.

Myślę, że jest to bardzo fajny przykład, że wiele zależy od nas i tego czy chcemy się nauczyć, czy znaleźć kolejną wymówkę, że nie mamy czasu.

Jak najbardziej podpisuję się pod tym.

Dzięki wielki i do zobaczenia do usłyszenia.

Dzięki Vladimir, do usłyszenia, cześć!


Drugą osoba jest Grzegorz. Zdolny, młody człowiek, który znalazł pracę już podczas kursu i przeprowadził się do Krakowa. Jest zdeterminowany i wie czego chce. Jeszcze raczej potrzebuje trochę wsparcia mentalnego, żeby maksymalnie rozwinąć swoje skrzydła, natomiast pod względem technicznym już poradzi sobie w życiu. Tak sobie myślę, że podczas naszych prywatnych konsultacji przynajmniej trochę udało mi się ukierunkować Grzegorza i jego sposób myślenia “jak dostarczać wartość dla biznesu”.

Grzegorz Szopiński
Grzegorz Szopiński

Cześć Grzegorz! Powiedz czym się zajmujesz? Gdzie mieszkasz? Gdzie pracujesz?

Cześć! Od poniedziałku zaczynam pracę jako analityk. Przeprowadzam się z Warszawy do Krakowa i będę pracował w Onecie. Wcześniej, gdy zaczynałem kurs, zajmowałem się bardziej tradycyjnymi badaniami rynku. Teraz bardziej to skręca w stronę machine learning, bardziej zaawansowanej analityki.

Przeprowadzasz się do Krakowa, bardzo fajne miasto, polecam! Tylko czasem smog przeszkadza. Chociaż ostatnio jak byłem w Warszawie miałem wrażenie, że próbuje konkurować w Krakowem. Jeszcze zobaczymy kto zwycięży :), ale mniejsza już o to. Pytanie bardziej konkretne dla Ciebie – co ostatnio czytałeś?

W zasadzie, to jeszcze do tej pory czytam, niedawno wyszło i czekam na papierową wersję, ale wcześniej dostałem ebook – „Deep learning with Python” od Francois Chollet. Zacząłem tę książkę, na razie głównie to mnie interesuje i pochłania mój czas.

Deep Learning with Python
Deep Learning with Python

Bardzo fajna książka, ona jest stosunkowo nowa. Myślę, że dopiero kilka miesięcy temu została ukończona. Dla wielu osób to będzie bardzo dobra lektura na temat deep learning, a zwłaszcza dla osób początkujących.

Jeżeli słuchasz tego podcastu i zastanawiasz się jaką lekturę przeczytać, żeby lepiej zrozumieć deep learning to ta książka jest bardzo fajna. Grzegorz, pytanie do Ciebie – co Cię skłoniło do tego, żeby wziąć udział w kursie?

Jeżeli chodzi o szeroko pojęte Data Science czy machine learning to jestem w dużej mierze samoukiem. Szukałem, nazwijmy to, przewodnika i kontaktu z osobami, które wchodzą w ten obszar, ale też z osobami bardziej doświadczonymi ode mnie, które mogłyby wskazać mi drogę w tych miejscach, w których mam wątpliwości.

Z ich powodu zdarza mi się czasami gdzieś utknąć, bo zastanawiam się czy to co robię jest dobre, czy nie przyswajam złych nawyków. Po prostu szukałem kogoś, kto będzie bardziej doświadczony ode mnie i przeprowadzi mnie przez ten niełatwy obszar.

Podczas kursu używaliśmy Pythona, powiedz Grzegorzu jaki miałeś poziom i na ile stanowiło to blokadę przed uczestnictwem w kursie?

Jeżeli chodzi o wymiar czasowy, to jakieś 1.5 roku przed kursem miałem pierwszy kontakt z Pythonem. Jeżeli chodzi o poważniejsze programowanie to był w zasadzie mój pierwszy język. Wcześniej miałem styczność z R, ale w mniejszym obszarze, przynajmniej jeśli chodzi o czas. Czy było to dla mnie w jakiś sposób blokujące? Myślę, że nie.

Był jeden lub dwa momenty, gdy musiałem trochę przysiąść i uzupełnić braki, bardziej pochylić się nad kodem. Wymagało to ode mnie trochę większej inicjatywy. Jeżeli chodzi o ogólny obraz to mój poziom wiedzy był wystarczający, żeby przerabiać dalej materiał z kursu, żeby nadążać za tym co pojawia się dalej.

Fajnie to brzmi. Dokładnie to co chciałem osiągnąć, jeżeli chodzi o priorytety i rozumienie pewnych rzeczy. Język, np. Python, to tak naprawdę narzędzie i chciałem, żeby tak to było traktowane. To nie jest cel sam w sobie. Dość często dostaję pytania, że nie znam Python, czy ten kurs będzie dla mnie? Czy to będzie duży problem?

W mojej opinii, to niekoniecznie jest przeszkodą lub większym blokerem. Oczywiście, tak jak powiedziałeś, czasem będzie to wymagało większej inicjatywy i douczenia się pewnych rzeczy, których ta osoba nie wie. Ale to nie powinno być blokerem. Kolejne pytanie, co najbardziej spodobało Ci się w kursie?

W zasadzie mógłbym wymienić tutaj 2 rzeczy. Tradycyjnie, jedna dotyczy treści, druga dotyczy formy. Miałem kilka swoich, mniejszych projekcików związanych z tradycyjnym machine learning, ale nie miałem do czynienia z deep learning, czyli z tą drugą połową kursu. Jeżeli chodzi o machine learning, wcześniej w bardzo ograniczonym zakresie miałem kontakt z XGBoost, głównie ta biblioteka + deep learning jako całość. Jeżeli chodzi o treść, to najbardziej podobało mi się, że miałem szansę wejścia w ten obszar.

Natomiast, jeżeli chodzi o formę, to dla mnie bardzo dobre było to, że była ona przystępna i bardzo taka, nazwę to ogólnie, pozytywną prostotą. To znaczy, w bardzo przystępny sposób były wyjaśniane koncepcje. Posłużę się przykładem, gdy pojawiały się takie rzeczy, które na różnych kursach są dość często poruszane np. gradient prosty czy gradient descent, nie było ograniczania się do najbardziej ogranych metafor. Było to wyjaśnione od innej strony, jak to można ugryźć, bez straty ogólnego zrozumienia tego konceptu.

Pytanie podobne do poprzedniego. Jaką największą wartość dał Ci kurs?

Myślę, że dla mnie największą wartością było to, że znalazłem to, czego szukałem. Tak jak mówię, szukałem trochę takiego mentorskiego kontaktu, oczywiście w takim zakresie na jaki pozwala ta forma. Pozwoliło mi to wyeliminować błędy i utwierdzić w tym, co robiłem dobrze – dostałem informację zwrotną, że to jest ok.

Bez niej zdarzało mi się być ograniczonym przez własną niewiedzę, przekonanie, że może robię coś źle. Tutaj dostałem taką informację, co jest ok i że warto iść w to dalej.

Zgadzam się z tym. Często jest tak, że robimy coś co można by sobie normalnie odpuścić, bo nie wyciśniemy tam za dużo. Albo odwrotnie, jeszcze jest potencjał, ale odpuszczamy bo wydaje się, że bez sensu iść dalej, bo coś tracimy.

Wiem, że już podczas kursu udało Ci się znaleźć pracę związaną z uczeniem maszynowym – bardzo się cieszę i gratuluję! Grzegorzu, kupiłeś najdroższy pakiet – Premium. Według Ciebie, jak wygląda relacja kosztu do wartości?

Mówiąc krótko, pozytywnie. Mówiąc dłużej, zależy od punktu odniesienia. Jeżeli ktoś chciałby porównać to do kursów dostępnych w formie mooc’ów: Coursera czy podobne platformy, siłą rzeczy Coursera wygra, bo te kursy są tańsze. Jeżeli ktoś chciałby porównać to do szerszego szkolenia IT, to ta cena jest atrakcyjna, bo nie są to tanie rzeczy.

Uważam, że zasób wiedzy, który został przekazany jest naprawdę spory. Jeżeli miałbym uwolnić się od tego rodzaju porównań, uważam, że jest ze wszech miar korzystny. Odnoszę się też do ceny, którą ja zapłaciłem. Wcześniej zapłaciłem za kurs i w związku z tym ta cena była trochę niższa. Gdybym miał przeliczyć to na spędzone godziny czy na szeroko rozumiany zasób wiedzy, to nie było dużo.

Przy okazji polecasz kupować wcześniej. Jeszcze teraz pewnie jest okazja, więc można się załapać na zniżkę. Dlatego nie warto ociągać się do ostatniego momentu, jak to często robimy. Ostatnie pytanie na dzisiaj – komu polecasz kurs „Praktyczne uczenie maszynowe dla programistów”?

Wielokrotnie zastanawiałem się nad tym już w trakcie samego kursu. Jeżeli spojrzeć na to, kto brał w nim udział to, były to osoby o dość różnym poziomie wiedzy – przynajmniej patrząc z boku. Oczywiście też nie śledziłem bezpośrednio jak każdemu idzie przerabianie zadań w trakcie kursu.

Wydaje mi się, że mógłbym polecić go każdemu, kto w miarę sprawnie posługuje się Pythonem, żeby nie tracić za dużo czasu na nadrabianie zaległości podczas programu. Kto ma poczucie, że robi rzeczy, które można zautomatyzować i jest to pole do wykorzystania machine learning czy deep learning.

Dużo było wiedzy, związanej z tym dokąd teraz zmierza technologia, dokąd zmierza biznes, jeżeli chodzi o wykorzystanie takich zastosowań. W zasadzie, jeżeli ktoś ma podstawową wiedzę z Pythona i interesuje go to tematycznie to chyba każdej takiej osobie mógłbym polecić kurs.

Dziękuję ci bardzo Grzegorzu za Twój czas, za Twoją opinię. Życzę Ci wszystkiego dobrego w nowym miejscu pracy. Dzięki!

Ja też dziękuję. Ciesze się, że mogłem podzielić się z Tobą moimi odczuciami.


Trzecia osoba to Monika. Przy okazji powiem, że oczywiście na kursie były również dziewczyny i wszystkie były bardzo aktywne – co mnie cieszy. Chciałbym pokazać, że w tym obszarze jest duża przestrzeń do popisu również dla dziewczyn. Monika to ambitna i pełna entuzjazmu osoba, która ma ciekawe plany na życie i tak się złożyło, że świadomie wybrała pakiet Premium.

Jak sama mówiła podczas kursu, stałem się dla niej mentorem. Cieszę się, że ten mentoring pomógł Monice poznać pewne aspekty techniczne, ale co ważniejsze również uwierzyć w siebie i zacząć realizować swoje plany już w życiu.

Monika Koprowska
Monika Koprowska

Cześć Moniko! Przedstaw się, kim jesteś? Czym się zajmujesz? Gdzie pracujesz lub pracowałaś? Gdzie mieszkasz?

Cześć Vladimir! Nazywam się Monika Koprowska swoje pierwsze kroki stawiałam w takich korporacjach jak Kompania Piwowarska czy Nivea Polska, w dziale BA i marketingu. Następnie pracowałam jako konsultant SAP w Accenture, a później w Procter & Gamble jako IT Manager, DevOps Manager. Aktualnie jestem współzałożycielką firmy Data Evangelist, wraz z drugim pasjonatem świata napędzanego danymi – Wojciech Biedziński.

Prężnie działamy w tej firmie, starając się szerzyć, czy jak sama nazwa mówi – ewangelizować, wiedzę à propos sztucznej inteligencji w firmach różnego rozmiaru –  małych, średnich i dużych przedsiębiorstwach, tak by mogły one zrozumieć, jak mogą wykorzystać swoje zasoby czy dane, które mają by wykorzystywać rozwiązania sztucznej inteligencji, do cięcia kosztów czy też produkowania zysków.

Powiązana z tą aktywnością jest też aktywność blogowa, na której pokazujemy praktyczne wykorzystania sztucznej inteligencji. Oprócz tego, ponieważ czujemy się Data Ewangelistami, czyli ewangelistami technologii, prowadzimy kanał na YouTube – „Jako rzecze maszyna„, na którym w prosty sposób szerzymy wiedzę à propos sztucznej inteligencji, tak by każdy, kto chce być na bieżąco z rozwojem, rewolucją, która już się dzieje, mógł być na czasie. Mógł wykorzystywać i rozumieć jak działa sztuczna inteligencja, która już dziś wpływa na życie każdego z nas.

Z tego co pamiętam mieszkasz w Poznaniu, prawda?

Tak, tak, mieszkam w stolicy Wielkopolski – Poznaniu, zgadza się.

Co ostatnio czytałaś?

Będąc z Tobą całkowicie szczerą, ostatnio czytałam książkę „Praktyczne uczenie maszynowe dla programistów” – napisaną przez Ciebie. Myślę, że cała nasza rozmowa będzie recenzją tej książki, gdyż jest ona nieodłączną częścią kursu, o którym będziemy rozmawiać.

Wspomnę może o innej książce, którą też czytałam. Nie jest ona związana stricte z Data Science, ale też jest rozwojowa. To jest książka Radka Kotarskiego „Włam się do mózgu„. Książka ta jest bardzo fajna. Według mnie, w ciekawy sposób strukturyzuje wiedzę, à propos tego jak się uczyć, jak przyswajać wiedzę by została ona na dłużej z nami. Ponieważ, w ostatnim czasie przyjmuję naprawdę ogromne ilości wiedzy związanej ze sztuczną inteligencją, uczeniem maszynowym, to te wskazówki bardzo mi pomogły na dłużej zostawić większą ilość wiedzy.

Włam się do mózgu
Włam się do mózgu

Co w ogóle skłoniło Cię, żeby zapisać się na kurs i wziąć w nim udział?

Generalnie, odkąd pamiętam interesowałam się optymalizacją procesów decyzyjnych. Na kolejnych etapach mojej kariery doszłam do wniosku, że sztuczna inteligencja to jest kierunek, w którym chce iść. Od kilku miesięcy skupiam się na rozwoju w tym kierunku.

Zaczęłam, tak jak pewnie większość osób, z którymi rozmawiam, od darmowych, ogólnodostępnych kursów. Były one bardzo fajne, ale po każdym kursie spadała ekscytacja. Dochodziłam do wniosku, że to jest fajne, ale zastanawiałam się jak mogę to wykorzystać praktycznie w biznesie. Jestem osobą, która lubi praktyczne zastosowania. Zresztą chyba każdy z nas lepiej się uczy kiedy widzi, że można to zastosować praktycznie.

W procesie zbierania informacji o sztucznej inteligencji trafiłam na Twój podcast, na którym prezentowałeś praktyczne zastosowania. W jednym z podcastów wspomniałeś też o swoim kursie i stwierdziłam ok. W końcu kurs, który mówi o tym, że przygotuje praktyczne podejście. Oczywiście, będąc słuchaczką Twojego podcastu miałam już namiastkę tego, w jaki sposób Ty o tym opowiadasz.

Widziałam, że opowiadasz prostym językiem i podajesz dużo przykładów. Wiedziałam, że żyjesz w tym półświatku Data Science i sztucznej inteligencji i masz większy obraz, tego jakie firmy pracują nad sztuczną inteligencją. Stwierdziłam, że to jest ten kurs, który pomoże mi przejść z trybu teoretycznego w tryb praktyczny.

Co najbardziej spodobało Ci się w kursie?

Co najbardziej spodobało mi się w kursie? Zadając to pytanie powinieneś przeznaczyć 3 godziny tylko na moją wypowiedź. Myślę, że nie zrobimy tego w taki sposób, więc postaram się mówić bardzo skrótowo. W trakcie kursu, na bieżąco dawałam Ci feedback, więc myślę, że masz już pewien obraz. Te rzeczy, które według mnie, warto wspomnieć.

Po pierwsze, czego ja w ogóle oczekuję od kursu i jak ja oceniam czy on jest dobry czy nie? Oczywiście, mam takie coś, że muszę chwilę po kursie odetchnąć, bo on zawsze jest czymś ekscytującym. Jeżeli usiądę po kursie i stwierdzę, że wiem jak wykorzystać tę wiedzę to znaczy, że ten kurs dał mi to, czego potrzebowałam. Tak było w tym przypadku.

Kurs, według mnie, bardzo rozbudzał ciekawość. Nie dość, że dawałeś podstawy, dawałeś bardzo fajne przykłady, analogie, czasami dość proste z życia, ale przez to zapadające w pamięć. Dla mnie ten kurs dał możliwość przejścia z trybu teoretycznego do trybu praktycznego.

Myślę, że warto tutaj wspomnieć o drugiej nieodłącznej rzeczy. To jest networking, który dał ten kurs. Dał też perspektywę tego co inni myślą, jak inni się kształcą. Ja na Slacku byłam trochę mniej aktywna, ale tam były burzliwe dyskusje, były bardzo ciekawe informacje. Stworzyła się swego rodzaju społeczność. Myślę, że te 2 rzeczy są bardzo ważne.

Kurs dawał praktykę, networking – obeznanie się w tym świecie. W ogóle podobała mi się forma. To nie było coś takiego, że masz podane wszystko na tacy. Nie tak wygląda prowadzenia takiego kursu. On powinien dawać solidne podstawy, trochę ukierunkować gdzie dalej szukać i rozbudzać ciekawość. Nie oszukujmy się osoby, które biorą udział w tym kursie, jeśli chcą osiągnąć sukces muszą być zmobilizowane. A jeśli jesteś zmobilizowany, jesteś też ciekawy jak się rozwijać bardziej w tym kierunku.

Bardzo dziękuję za taką wspaniałą opinię. Jaką konkretnie wartości Ci dostarczyłem? Powiedziałaś, że cel został osiągnięty, ale czy możesz wymienić wartość dodatkową, którą dostałaś?

Tak jak mówię, dla mnie najważniejsza była praktyka. To był pierwszy kurs, po którym potrafiłam wziąć problem biznesowy i rzeczywiście zacząć go rozwiązywać. Poszerzyło to też moje horyzonty. Networking pokazał mi spojrzenie z różnych perspektyw, gdzie można szukać jeszcze więcej wiedzy, czym warto się zainteresować. Jeśli chcemy bardzo mocno skwantyfikować te rezultaty, to założenie firmy, działalność na YouTube. Myślę, że oczywiście na to miały wpływ różne czynniki, ale bardzo duży wykład miało też to, że po tym kursie czułam się na siłach, że potrafię praktycznie zastosować uczenie maszynowe.

Teraz pytanie – jak zamierzasz wykorzystać tę wiedzę? Przed chwilą już to powiedziałaś, ale ja dodam, że w trakcie kursu bardzo mocno motywowałem każdego, żeby nie tylko tę wiedzę pochłaniał, ale zaczął się nią dzielić. Dopiero wtedy człowiek się uczy. Sprawdziłem to na własnej skórze. Wiem, że to działa. Wiem, że już rozpoczęłaś działalność jeżeli chodzi o kanał YouTube. Powiedz dokładnie co to jest? Jak to działa? Jak można go znaleźć?

Jak najbadziej, otwarcie kanału wiąże się z tym, że dzielenie się wiedzą jest formą nauki. To była też jedna z motywacji, poza tą główną – czyli szerzeniem w ogóle wiedzy o sztucznej inteligencji. Kanał można znaleźć wyszukując go po nazwie „Jako rzecze maszyna„, tak samo nazywa się też strona, na której będą odnośniki do kanału.

Można wyszukać też po jakorzeczemaszyna.pl, gdzie będą odnośniki do samego kanału YouTube. Sam kanał przeznaczony jest, tak jak wspomniałam, dla każdej osoby, która chce być na bieżąco z informacjami o sztucznej inteligencji, ale też gdy po prostu chce zrozumieć jak może to wykorzystać w swoim życiu. To jest coś, czego nie unikniemy. Warto już na tym etapie zagłębić się w ten temat na takim poziomie, żeby zrozumieć jak można to wykorzystać po to, żeby zoptymalizować swoje życie osobiste i zawodowe.

Teraz pytanie bardziej finansowe. Miałaś wykupiony najdroższy pakiet Premium. Jak wygląda według Ciebie relacja kosztu i wartości kursu?

Bardzo popieram ideę tego, żeby mieć budżet na samorozwój i żeby był on rozsądnie wydawany. Uważam, że każda złotówka wydana na ten kurs, była wydana rozsądnie. Wzięłam najwyższy pakiet, nie będę ukrywać, że wybrałam go dlatego, ponieważ nazwa brzmi „Praktyczne uczenie maszynowe dla programistów„, a ja programistą nie jestem.

Mimo tego, że miałam styczność z Pythonem, pisałam w tym języku, ale nigdy nie wykonywałam tego zawodu per se. Gdzieś obawiałam się, że może to być blokadą, albo wiedziałam, że będę potrzebowała trochę więcej wskazówek. Jestem bardzo zadowolona. Sam kurs bardzo mi się podobał, a konsultacje indywidualne, nie tylko dały mi fajniejszą perspektywę odpowiedzi na moje pytania.

Jak sam wiesz, często było tak, że na początku wypisałam wiele pytań, a później każdego kolejnego dnia jak wstałam to sama znajdowałam rozwiązania. Podobało mi się też to, że podczas rozmów dzieliłeś się nie tylko wiedzą związaną stricte z kodowanie, bo to nie o to chodzi, samo kodowanie nie wystarczy osobie z Data Science.

Ona musi rozumieć jak to wykorzystać w biznesie, musi rozumieć jakie wątpliwości może mieć biznes. Moje doświadczenie pozwalało mi na zrozumienie procesów biznesowych, łatwiejsze wyszukiwanie gdzie możemy użyć tej sztucznej inteligencji. Bardzo mi się podobało, że dawałeś też konkretne wskazówki i informacje odnośnie tego na co warto zwrócić uwagę na samym początku, bo może być potencjalnym zagrożeniem dla projektu związanego z wdrożeniami sztucznej inteligencji.

Jestem bardzo zadowolona. Szczerze mówiąc, uważam, że jest to bardzo dobrze wydany budżet na samorozwój.

Ostatnie pytanie na dzisiaj. Komu polecasz przerobienie tego kursu? Tutaj od razu powiem, jak zwróciłaś uwagę, że kurs nazywa się „Praktyczne uczenie maszynowe dla programistów”, a ty nie jesteś programistą. To nadal nie jest przeszkodą.

Dostaje wiele pytań od dziewczyn, które dość często mają mało śmiałości czy dadzą radę, czy to nie jest zbyt skomplikowane. Powiedz coś takim osobom. Warto czy nie? Jak to widzisz? Komu polecasz ten kurs?

Pamiętam naszą rozmowę, to było chyba w 2 tygodniu. Powiedziałam: Vladimir, nazwałeś to „Praktyczne uczenie maszynowe dla programistów”, a ja programistą nie jestem i radzę sobie naprawdę dobrze. Takie jest moje zdanie. Jeśli masz zacięcie, jesteś osobą zmobilizowaną i umiesz myśleć obiektowo – to jednak jest ważne.

Dla mnie wejście w Pythona nie było wysokim progiem, programowałam w nim wcześniej i myślenie obiektowe nie jest mi obce. Uważam, że każda osoba, która ma pasję do tego, żeby rozwijać się w zakresie sztucznej inteligencji i Data Science jest w stanie z tego kursu wynieść bardzo dużo.

Dla mnie podstawą jest pasja i bardzo podstawowe umiejętności z zakresu IT: myślenie obiektowe, jakiekolwiek doświadczenie z programowaniem. Nie chodzi mi tutaj stricte o pracę w zakresie programowania. Ja sama nie byłam zblokowana tym, że nigdy nie byłam programistą.

Pewnie sam o tym więcej opowiesz, ale przekrój osób, które wzięły udział w tym szkoleniu był bardzo duży. Ludzie mieli bardzo różne podstawy, od statystyków po czystych programistów i po takie osoby jak ja, która miały bardzo dużą wiedzę biznesową, mniejsze umiejętności programistyczne. Każdy z nas podczas kursy miał problemy trochę innego typu.

Przez to, że byłeś bardzo responsywny i cała społeczność taka była, myślę, że nigdy nie spotykaliśmy się ze ścianą. Nie miałam momentu spotkania się ze ścianą. Oczywiście, dla mnie koncepty były bardziej jasne, troszeczkę więcej poświęcałam czasu na rozwiązywanie zadań związanych z programowaniem, niż z rozumieniem konceptów. Ktoś, kto był bardziej płynny w programowaniu, więcej czasu poświęcał na koncept.

Oczywiście, kurs polecam osobom zmobilizowanym by rozwijać się w zakresie uczenia maszynowego i Data Science.

Dziękuję ci bardzo za Twoją opinię i czas, który udało Ci się znaleźć, żeby się nią podzielić. Życzę Ci, żeby nowa firma, którą właśnie założyłaś rozwinęła skrzydła i samych sukcesów jeśli chodzi o kanał YouTube.

Myślę, że najważniejsze, żeby osoby z niego coś wyniosły. Dziękuję Ci bardzo za zaproszenie, jak i za wszystkie miłe słowa, które usłyszałam.

Dzięki wielkie!

Dzięki!


Czwarta osoba to Kamil. To jest ciekawy człowiek ze względu na to, że kryje się w nim duży potencjał. Akurat miał wykupiony pakiet Gold, więc nie mieliśmy konsultacji prywatnych, ale byliśmy w kontakcie w związku z jego postępami. Bardzo mnie cieszy, gdy Kamil próbuje strukturyzować swoje życie i osiągać własne cele.

Jest skromną osobą i jeszcze musi sam uwierzyć w swoje zdolności, ale już dziś posiada dość sporą wiedzę na temat uczenia maszynowego.

Kamil Krzyk
Kamil Krzyk

Cześć Kamilu! Przedstaw się, kim jesteś? Gdzie pracujesz? Czym się zajmujesz? Gdzie mieszkasz?

Cześć! Dziękuję za zaproszenie do podcastu. Nazywam się Kamil i pochodzę z małej miejscowości – Nowe Brzesko. Codziennie możecie mnie spotkać w Krakowie, gdzie pracuję w firmie Azimo. Jest to firma, która zajmuje się robieniem przelewów międzynarodowych online. Jestem członkiem zespołu mobilnego i pracuję na pozycji Full Stack Engineer. W ostatnim czasie, coraz więcej moich obowiązków zaczyna łączyć się z analizą danych, uczeniem maszynowym.

Co ostatnio czytałeś?

Jestem osobą, która raczej czyta książki techniczne. Ostatnia książka, którą jeszcze kończę to „Grokking Deep Learning„.

Grokking Deep Learning
Grokking Deep Learning

Jest to książka napisana przez doktoranta Oksfordu i aktualnego pracownika Google Brain Team, pana Andrew Trask’a, który miał okazję prowadzić jedną z lekcji na kursie „Deep Learning Nanodegree” na Udacity, w której brałem udział.

Blog - Andrew Trask
Blog – Andrew Trask

Uważam, że jest to ciekawa pozycja dla programistów, którzy chcą dowiedzieć się więcej na temat działania sieci neuronowych. Dlatego, dla programistów, ponieważ książka ta nie zawiera ani jednego równania i wzoru matematycznego. Wszystko jest tłumaczone na bazie anegdot i skryptów w kodzie Python.

Brzmi bardzo ciekawie, dziękuję za polecenie. Jeżeli chodzi o kurs, może podam troszkę kontekst. Po pierwsze, jesteś absolwentem kursu „Praktyczne uczenie maszynowe”, ale pamiętam, że zanim dołączyłeś miałem kilka wątpliwości – zaraz powiem jakie.

Jesteś osobą bardzo aktywną, jeżeli chodzi o przerabianie różnych kursów na Coursera, Udacity i zastanawiałem się przez moment, czy ten kurs nie dostarczy tej wartości, na której bardzo mi zależy. Już po pierwszym tygodniu zrozumiałem, że moje obawy były nieuzasadnione i pocieszyłeś mnie tym.

O tym jeszcze porozmawiamy, ale najpierw zapytam – co Cię skłoniło do tego, żeby przerobić kurs „Praktyczne uczenie maszynowe dla programistów”?

Dość aktywnie miałem okazję przerabiać różnego rodzaju kursy. Pierwszą z rzeczy, która spowodowała, że zapisałem się na Twój kurs, było głównie to, że skończyłem jeden 17-tygodniowy kurs i byłem po dwumiesięcznej przerwie, kiedy iterowałem po tej wiedzy, którą zdobyłem. Szukałem kolejnego kroku w mojej edukacji i trafiłem na „Praktyczne uczenie maszynowe dla programistów„.

Po tym jak przejrzałem agendę, to czego mamy się nauczyć na kursie bardzo zaintrygowały mnie tematy, przede wszystkim, Gradient Boosting, z którym do tej pory nie miałem jeszcze nic do czynienia. Nie miałem pojęcia, w jaki sposób strukturyzować projekt uczenia maszynowego i w jaki sposób wystawiać modele na produkcję. Miałem dużo szczątkowej wiedzy i szukałem czegoś co pozwoliłoby mi połączyć to wszystko i zacząć tego używać w sferze zawodowej. Spodziewałam się, że będę w stanie tego doświadczyć po Twoim kursie.

A co najbardziej spodobało Ci się w kursie?

Jest tutaj kilka aspektów. Pierwszy z nich, od strony organizacji – kanał na Slacku. Bardzo podobało mi się to, że to nie będzie kurs, w którym dostajemy przygotowane materiały, które musimy sami przerobić. Podobało mi się to, że tworzyła się społeczność, można było zdobyć nowe kontakty, napisać o swoim problemie i wymienić się wiedzą. Moim zdaniem bardzo dobrze to działało. 

Kolejna sprawa to materiał edukacyjny. To nie było kolejne przerobienie szkolnych zbiorów danych typu Iris czy MNIST, czyli rozpoznawanie cyfr. Rzuciłeś nas troszkę na głęboką wodę. Dałeś nam zbiory danych z Kaggle czy nawet realne dane. Poziom trudności w takiej sytuacji drastycznie wzrasta – to było bardzo fajne.

Zbiór danych - MNIST
Zbiór danych – MNIST

Trzeci aspekt, czyli od strony technicznej. Nie ukrywam, że największe wrażenie zrobił na mnie Gradient Boosting, który jest świetnym narzędziem.  A także, to jak nam pokazałeś w jaki sposób, możemy optymalizować parametry do modeli uczenia maszynowego. Do tej pory zajmowało mi to dużo czasu i było dość ciężkie.

Widzę, że wyciągnąłeś dla siebie wnioski, czego się nauczyłeś. To jest podobne pytanie jak poprzednie, ale spróbujmy to podsumować. Jaka jest dla Ciebie wartość tego kursu?

Uważam, że największą wartością jest to, że pokazałeś mi w jaki sposób powinien rozumować i używać swojej wiedzy by skupić się na przyniesieniu biznesowi korzyści. To jest to, czego na innych kursach nie byłem w stanie znaleźć. Tam była wykładana tylko wiedza na temat tego jak działają algorytmy na temat uczenia maszynowego. Pokazywałeś nam wszystko od strony własnego doświadczenia i jak połączyć to z biznesem. Uważam, że to jest największa wartość tego kursu.

Jak zamierzasz wykorzystać zdobytą wiedzę?

Ponownie tutaj są trzy aspekty. Pierwszy to aspekt zawodowy. W firmie, w której pracuję, w Azimo staramy się zrealizować parę projektów, więc ta wiedza już jest używana do zadań, nad którymi pracuję. Aspekt prywatny to, że prowadzę swoje portfolio, w którym umieszczam mniejsze lub większe rozwiązania i miniprojekty, więc na pewno jest co dodać. Aspekt ostatni – może takie małe ogłoszenie.

Ponieważ zeszły rok był dla mnie czasem, w którym robiłem dużo kursów, uczyłem się. To w 2018 staram się zebrać wiedzę ze wszystkich kursów i książek. Postanowiłem napisać cykl artykułów o sieciach neuronowych, podzielić się swoją wiedzą z innymi, co przy okazji pozwoli mi lepiej to zrozumieć, bardziej się tego nauczyć.

Super, bardzo się cieszę. Bardzo to promowałem i już widzę, że jest kilka osób po kursie, które chcą dzielić się wiedzą. Mam od razu dwa pytania. Po pierwsze, powiedziałeś o swoim portfolio. Wiem jak ono wygląda, podziel się proszę, jak można je znaleźć? Myślę, że to może być ciekawe dla innych. Drugie pytanie, jak osoby zainteresowane będą mogły znaleźć tę serię artykułów?

Moje portfolio ma formę gigantycznego repozytorium na GitHub. To jest portfolio, w którym gromadzę też ciekawostki na temat tego co ostatnio robiłem, jakie artykuły czytałem. Staram się aktualizować je co tydzień. Ostatnio, ze względu na aktywniejszy okres przedświąteczny, Twój kurs i prezentację, którą miałem do przygotowania na większe wydarzenia androidowe, to nie wychodziło.

Moje portfolio to konto na GitHub, więc użytkownik: F1sherKK, jest to projekt – F1sherKK my route to AI. A co do serii artykułów, którą będę chciał publikować, to również będę umieszczał linki w moim portfolio. Artykuły pojawią się też na Medium, będzie można je również zobaczyć w publikacjach na Twitterze. Postaram się wysyłać je do serwisów internetowych, które zbierają takie materiały.

Te wszystkie linki, o których powiedziałeś będa w naszych notatkach. Wszystko tam można znaleźć, wraz z Twoim Twitterem.

Teraz pytanie bardziej finansowe. Jak wygląda Twoim zdaniem wartość kursu do jego kosztu?

Na początku, nie byłem do końca pewien czego się spodziewać. Kurs mógł okazać się czymś bardzo dobrym albo kolejnym przerobieniem szkolnych zbiorów danych typu MNIST. Wtedy możnaby z niego wynieść bardzo mało. Na szczęście, tak się nie stało. Pomimo tego, że kurs jest porównywalny do dużych kursów internetowych takich jak Nanodegree na Udacity, jest droższy od Coursera, to uważam, że jest warty swoich pieniędzy.

Przede wszystkim wynika to z tego o czym mówiłem. Na żadnym z tych kursów, nikt nie przygotuje nas tak dobrze pod przynoszenie biznesowi wartości. Na tamtych kursach, w których miałem okazję brać udział, zwykle przedstawiana jest tylko wiedza – jak działa algorytm itd.

Na Twoim kursie oprócz tego, że pokazywałeś jak coś działa, mówiłeś jak to stosować i dawałeś nam całą otoczkę: na co uważać, jakie są dobre praktyki itd. Jeżeli, ktoś chce zacząć pracować z uczeniem maszynowym w Data Science, to myślę, że te pieniądze są warte. Dodatkowo, uważam, że na żadnym z tych kursów prowadzący nie spędza z uczestnikami tak wiele czasu, żeby odpowiadać na ich pytania. Nikt na pewno nie czuł się zignorowany i moim zdaniem to jest kolejny plus.

Dziękuję bardzo. Ostatnie już pytanie na dzisiaj – komu polecasz przerobić taki kurs?

Tak jak już wspomniałem, uważam, że jest to świetny kurs dla osób, które nie tyle co zaciekawiły się tematem sztucznej inteligencji, uczenia maszynowego, ale dla osób, które zaczynają szukać pracy. Tak jak mówiliśmy, kwota nie jest najniższa, ale wartości jakie z niej płyną są ogromne. Osoby, które przerobiły podstawy Pythona są moim zdaniem w stanie wyciągnąć z tego kursu bardzo dużo. Jeżeli są osoby, które szukają pracy lub pracowników to jest to świetne miejsce, żeby wzbogacić swoją sieć kontaktów.

Dziękuję Ci bardzo za czas, który znalazłeś, żeby opowiedzieć swoją historię i podzielić się opinią. Życzę Ci bardzo gorąco, żeby seria artykułów, którą zaplanowałeś faktycznie się pojawiła. Z przyjemnością będę się dzielił na Twitterze, czy w jakiś inny sposób. Wszystkiego najlepszego w tym roku!

Również dziękuję bardzo za zaproszenie, jako że jestem aktywnym słuchaczem BiznesuMyśli.


Myślę, że każdy, kto brał udział w kursie zgodzi się z tym, że bardzo mi zależy na tym, żeby pomóc uczestnikom w osiągnięciu ich celów… czyli to jest moim celem, zarobek raczej traktuję jako podziękowanie. Dlatego bardzo mnie cieszy, że dwie osoby jeszcze w trakcie kursu znalazły prace związane z uczeniem maszynowym. Wiem, że jeszcze ok. 15 osób rozważa poszukiwanie pracy w tym roku, a jeszcze więcej chcę zastosować wiedzę w obecnym miejscu pracy i/lub zrealizować swój własny projekt.

Opowiem, jeszcze o jednej rzeczy, na której mi zależało. Chciałem, żeby każdy poczuł komfort podczas kursu, że jest zadbany. Było to kosztem wyjęcia mnie z życia przez 2 miesiące, również rodzina mnie nie widziała. Jednak, zależało mi na tym, żeby pomagać jak najszybciej i najskuteczniej. Czy takie podejście jest strategiczne na długą metę? Raczej nie, bo można szybko się wypalić. Zdaje sobie z tego sprawę, ale jestem człowiekiem, który albo robi coś na maksa albo nie robi, tego wcale. Dlatego jest szansa, że trzecia edycja pierwszego kursu będzie dopiero pod koniec roku 2018 lub nawet w roku 2019.

Jeszcze odniosę się do zarobków. Zarobki, które osiągam dzięki kursowi dają mi większą wolność (mogę zrezygnować z projektów, które są dla mnie tylko obowiązkiem), a to oznacza, że będę miał więcej czasu na nowe inicjatywy, podobnie jak podcast BiznesMyśli. Sam ten podcast, oprócz tego, że wymaga coraz więcej mojego czasu i uwagi, to również generuje pewne koszty bo staram się ciągle podnosić jego jakość.

Dlatego, powiem szczerze, że każdy uczestnik kursu, nieświadomie również pomaga mi rozwinąć skrzydła, jak również w pewnym sensie jest inwestorem podcastu BiznesMyśli. Jestem za to bardzo wdzięczny. Mam jeszcze sporo pomysłów w głowie, które czekają na swój czas i kręcą mnie, żeby je zrealizować. Oczywiście mam już pokorę względem życia i zdaje sobie sprawę, że cały świat będzie ciężko mi naprawić (chociaż wcześniej miałem taki plan), ale przynajmniej można spróbować jego kawałek :).

I już na koniec. Życzę Ci po pierwsze o tego, żeby marzyć, po drugie – realizować swoje marzenia, a po trzecie – czuć euforię gdy już Twoje cele zostaną osiągnięte. Podobnie jak sam czułem się wtedy, gdy kurs skończył się i zaczęły przechodzić dziesiątki podziękowań. To jest super uczucie, które jest warte setek godzin ciężkiej pracy.

Tyle na dzisiaj, dziękuję Ci bardzo za Twój czas i energię. Cześć. Trzymaj się.

Od 2013 roku zacząłem pracować z uczeniem maszynowym (od strony praktycznej). W 2015 założyłem inicjatywę DataWorkshop. Pomagać ludziom zaczać stosować uczenie maszynow w praktyce. W 2017 zacząłem nagrywać podcast BiznesMyśli. Jestem perfekcjonistą w sercu i pragmatykiem z nawyku. Lubię podróżować.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *