Hackathon Machine Learning w STX Next

Piątek, godzina 22:12. Środek zimy, na dworze mróz. O tej porze część ludzi grzeje się pod ciepłym kocem z herbatą stojącą na stole obok, inni wolą siedzieć w przytulnym barze, sącząc niespiesznie piwo. W siedzibie STX-a słychać okrzyki przeplatane ze śmiechem i gromkimi brawami. Panie i Panowie, pierwszy STX-owy hackathon związany z Machine Learning trwa na dobre!

Schodzę do piwnicy naszego biura. Jako pierwsze w oczy rzucają mi się do połowy puste pudełka po pizzy, chaotycznie rozstawione krzesła, pod sufitem błyska dioda włączonego rzutnika. Wchodzę na górę. Drzwi do pokojów projektowych otwarte. Słychać stłumione głosy, czasem śmiech, głośne pomstowanie i „dlaczego to znowu nie działa?!”. Co kilka minut ktoś szura butem o podłogę, słychać energiczne kroki. A później cisza. Atmosfera tak napięta, że można by ją kroić nożem. Zabawa jednak trwa w najlepsze, a planowany od dawna hackathon wchodzi w decydującą fazę.

Hackathon jest pojęciem dobrze znanym w środowisku IT. Zwyczajowo wydarzenie odbywa się w krótkim czasie na przestrzeni dnia lub weekendu. Jego uczestnicy wytężają swoje umysły, by w jak najbardziej efektywny sposób dojść do rozwiązania narzuconego problemu.

Stworzenie aplikacji jest efektem zmagań uczestników, jednak nie jedyną ideą hackathonu. Chodzi również o to, by sprawdzić swoje umiejętności, a także mieć okazję do nabycia nowych. Ten ostatni motyw przyświecał idei Hackathonu Machine Learning w STX Next, który zorganizowaliśmy w Poznaniu w pierwszy piątek marca i był jednym z elementów przygotowawczych do wdrożenia nowych technologii w STX-ie.

W przygotowaniu do wyścigu

hackaton_2.jpg

– Naszym celem było zainteresowanie ludzi tematem związanym z Machine Learning- komentuje Radek, jeden z organizatorów hackathonu –  W tym celu przygotowaliśmy ćwiczenie polegające na napisaniu algorytmu, który byłby w stanie nauczyć się grać w prostą grę akcji. Gra polegała na sterowaniu latającym pojazdem w taki sposób, żeby pokonał planszę w jak najkrótszym czasie, omijając przy tym przeszkody, które powodowały jego spowolnienie – dodaje. – Żeby umożliwić uczestnikom skupienie się tylko na samym zagadnieniu związanym z ML stworzyliśmy grę przeglądarkową (przy pomocy frameworku Phaser, która umożliwiałaby zbieranie danych i sterowanie pojazdem z poziomu kodu w Pythonie w prosty sposób. Uczestnicy mieli dowolność co do użytych narzędzi – niektórzy korzystali z biblioteki scikit-learn,  inni wybieral bibliotekę Keras.  Na końcu wytrenowane modele wszystkich zespołów zostały skonfrontowane ze sobą w wyścigu na jednej planszy – uzupełnia Radek.

W szranki stanęło 6 drużyn. W finałowej rozgrywce każdy z zespołów miał za zadanie wystawić swój stateczek przeciwko innym drużynom. Pojazd, który jako pierwszy przekroczył metę planszy, zwyciężył.

W drużynie siła

Z dużą radością obserwowałam poczynania poszczególnych zespołów. Dla mnie, jako obserwatora zmagań, największą radość sprawiało patrzenie na efekty: statek samodzielne poruszał się po planszy i dzielnie pokonywał przeszkody. Każdy z zespołów miał swój pomysł na rozwiązanie problemu. Jedni przygotowywali zawiłe algorytmy na tablicach, inni w milczeniu raz za razem testowali swój kod. Trzeba jednak przyznać, że każdy z tych zespołów działał drużynowo. Wszystkie pomysły były analizowane wspólnie, bez względu na to, czy miały szansę powodzenia czy też nie.

hackaton_1.jpg

Finalnie zwyciężył zespół o wdzięcznej nazwie „Not A-Team”, który wykazał się wyjątkową pomysłowością. – Użyliśmy klearn.neural_network.MLPClassifier z dwoma ukrytymi layerami po 30 węzłów – komentował na świeżo jeden z członków zwycięskiego zespołu, Robert. – Przewagę nad innymi zespołami dało nam dodanie parametru: odległość przebyta przez gracza w ciągu ostatnich 1.5 sekund, co pozwoliło helikopterowi szybko reagować na przeszkody, które wymagały cofania oraz informowało go, kiedy mógł spokojnie lecieć na pełnych obrotach. Dodatkowo z puli uczenia wyeliminowaliśmy 20% najgorszych przelotów – uzupełnił Robert.

Wygrana o włos

Choć zwycięzca mógł być tylko jeden, zespół “Not-A-Team” wygrał dosłownie o włos. Zaraz za nim uplasowała się druga ekipa o wdzięcznej nazwie Janusze ML. Co stało za ich sukcesem? – Wykorzystaliśmy bibliotekę keras do stworzenia wielowarstwowej sieci neuronowej. Jako wejście algorytmu podawaliśmy 17 parametrów, gdzie 11 z nich to odczyty z sensorów, prędkość pozioma oraz pionowa, a 4 pozostałe określały zmianę pozycji w odstępach co 100 klatek – opowiada Damian, jeden z uczestników rywalizacji. – Dodatkowo, surowe dane wejściowe podczas uczenia były agregowane w grupy po 5 rekordów i obliczana średnia wartość atrybutów. Jako wyjście naszego algorytmu dostawaliśmy prawdopodobieństwo z jakim wciśnięty powinien być każdy z klawiszy kierunkowych – dodaje.

Na trzecim miejscu uplasował się zespół “T-1000”. – Naszego samodzielnego pilota stworzyliśmy wykorzystując MLPClassifier – komentuje Paulina. – Użyliśmy domyślnego perceptronu wielowarstwowego z dwustoma neuronami. Co było największym wyzwaniem podczas implementacji? – Myślę, że nauczenie algorytmu radzenia sobie ze ślepymi zaułkami. Udało nam się to częściowo rozwiązać poprzez analizę aktualnej pozycji oraz reagowanie na brak ruchu. Braliśmy pod uwagę 120 kroków w tył. Nasz algorytm dobrze spełnił swoje zadanie głównie dzięki temu, że przygotowaliśmy bardzo dużą a jednocześnie wysokiej jakości bazę danych, na której mógł się uczyć – uzupełnia Paulina.

Pierwszy hackathon związany z Machine Learning okazał się być niemałym sukcesem. Nawet teraz, po kilku dniach, wciąż wzbudza emocje wśród uczestników oraz obserwatorów.

Pozornie, pomysł spędzenia piątkowego wieczoru w piwnicy poznańskiego oddziału STX Next mógł wydawać się mało zajmujący, jednak był świetną okazją do nauki, a także dobrą rozrywką na piątkowy wieczór. Jako osoba nietechniczna przyznam, że miałam niesamowitą frajdę wynikającą z obserwacji naszych specjalistów w akcji. Był to kolejny krok przy zgłębianiu tematyki sztucznej inteligencji. Idąc za ciosem, planujemy kolejne edycje hackathonu w czterech pozostałych lokalizacjach STX Next.

Zobacz nasze video z wydarzenia!

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Przeczytaj również

Najciekawsze w Wydarzenia

STX Next Dev Academy: cenna lekcja nauczania

Czy w 6 sobót można z junior developera stać się zaklinaczem Pythona? Można, jeśli uczysz się od najlepszych praktyków, którzy wiedzą na czym naprawdę warto się skupić, tworząc kod, którego nie powstydzi się żaden programista! W STX Next wierzymy, że jednym z przywilejów bycia ekspertem jest nie tylko posiadanie wiedzy, ale przede wszystkim możliwość dzielenia […]

Rok 2019 w STX Next | Plan wykonany w 200%

Ponad 150 nowych osób dołączających do STX-a, prawie tyle samo eventów wewnętrznych i zewnętrznych organizowanych przez firmę. Do tego długo oczekiwane przenosiny naszej siedziby w Poznaniu do nowej lokalizacji, pierwszy event z serii Has Power za granicą, otwarcie oddziału firmy w Holandii, a także pierwsza, zewnętrzna konferencja IT Power Summit. Rok 2019 był dla nas […]

Power IT Conference by STX Next za nami!

Znacie to uczucie, gdy robicie coś po raz pierwszy? Szczyptę ekscytacji, połączoną jednocześnie z nutką niepewności i lekkim zdenerwowaniem? Dokładnie takie emocje towarzyszyły nam pod koniec października, gdy po raz pierwszy w historii organizowaliśmy zewnętrzną konferencję Power IT by STX Next. Po dniu pełnym wrażeń, bogatsi o kolejne nowe doświadczenie, wiemy jedno: była to pierwsza, ale […]

Czytaj więcej

Kontakt

Masz pytania? Chętnie na nie odpowiemy!