Czym jest uczenie maszynowe? Sprawdź, w jaki sposób Sparkee rozpoznaje wolne miejsca parkingowe
Blog
Magdalena Kubasiewicz
Czym jest uczenie maszynowe? Sprawdź, w jaki sposób Sparkee rozpoznaje wolne miejsca parkingowe

Podstawą Sparkee jest algorytm, który rozpoznaje samochody. To dzięki niemu nasz system ma możliwość sprawdzenia, czy dane miejsce parkingowe zostało zajęte przez auto lub czy samochód nie zatrzymał się w niedozwolonym miejscu. W jaki sposób stało się to możliwe? Stworzenie takiego rozwiązania wymagało zastosowania technologii uczenia maszynowego.

Czym jest uczenie maszynowe?

Uczenie maszynowe (ang. Machine learning) to pojęcie, które zostało sformułowane przez Arthura Samuela w latach pięćdziesiątych XX wieku. Określał on uczenie maszynowe jako pole nauki, dające komputerom zdolność uczenia się, bez dokładnego zaprogramowania.
Definicja ta w dużej mierze pozostaje aktualna do dziś. Przez uczenie maszynowe najczęściej rozumie się zaprogramowanie systemu tak, by nauczył się analizować dostarczane mu dane – i na ich podstawie wyciągać własne wnioski. Tak jest w przypadku Sparkee, gdy system analizuje dostarczany mu obraz z kamer w celu wykrycia samochodów.

Jak nauczyliśmy Sparkee rozpoznawać samochody?

Definicja machine learning może zdawać się niejasna, póki nie pozna się zasad, na jakich działa ten proces. To z kolei najlepiej wyjaśnić na konkretnym przykładzie. W naszym przypadku tym jest nauczenie programu samodzielnego rozpoznawania samochodów.
Jeśli system miałby zostać zaprogramowany „w tradycyjny” sposób i nie moglibyśmy wykorzystać algorytmu uczenia się, musielibyśmy dostarczyć mu zdjęcia wszystkich możliwych aut w różnych pozycjach – wraz ze stosownymi opisami. Taka procedura byłaby nie tylko trudna, ale wręcz niemożliwa do przeprowadzenia. W tym momencie sięgnęliśmy więc po mechanizmy uczenia maszynowego.
Dostarczyliśmy systemowi tysiące zdjęć samochodów z odpowiednim etykietowaniem. System na podstawie dostarczonych mu danych stworzył własne wzory – poszukując podobieństw pomiędzy zdjęciami z tej samej kategorii („samochody”). Dzięki temu miał w przyszłości być zdolny do rozpoznawania pojazdów, których grafik nie dostał. Następnie system otrzymał zdjęcia nieopisane: przedstawiające samochody oraz inne obiekty. Posiłkując się wiedzą, zdobytą dzięki pierwszej, opisanej partii, program był w stanie samodzielnie rozpoznać zdjęcia samochodów. Na tym etapie wyłapywaliśmy ewentualne błędy oraz dostarczaliśmy systemowi danych, które mogły pomóc wyeliminować popełnienie podobnej pomyłki na przyszłość. (Na przykład, jeśli system nie rozpoznał samochodu z przyczepą jako auta – otrzymał dodatkowe zdjęcia z samochodem z przyczepą.)
W efekcie Sparkee jest w stanie stwierdzić, czy dane miejsce parkingowe jest wolne, czy zajęte (system wykrywa pojazd - na podstawie algorytmów uczenia maszynowego - a następnie stwierdza, czy zajmuje on miejsce parkingowe). System może także odnotować obecność aut, które stoją w miejscach niedozwolonych – np. na chodniku, w bramie czy blokując przejazd. Dodatkowo, algorytm określa odległość pomiędzy pojazdami, dzięki czemu użytkownicy aplikacji mogą wyszukiwać miejsca odpowiednie dla konkretnego pojazdu. (Ma to duże znaczenie zwłaszcza w przypadku większych aut – jak furgonetki.)
Stało się to możliwe dzięki uczeniu maszynowemu – a konkretnie dzięki nadzorowanemu uczeniu maszynowemu. (W przypadku uczenia nadzorowanego, dane, które otrzymuje system, są odpowiednio opisane. Tutaj – oznacza to, że system otrzymywał zdjęcia samochodów z informacją, że są to samochody. Jeśli stosowalibyśmy metodę uczenia maszynowego nienadzorowanego, system otrzymałby dane bez żadnych dodatkowych informacji: miałby sam znaleźć pośród nich wzorce. Ta druga metoda jest zwykle stosowana tam, gdzie człowiekowi trudno znaleźć zależności samodzielnie bądź ich liczba będzie zbyt duża – np. przy ogromnych bazach danych.)

W jakich celach można użyć uczenia maszynowego?

Sparkee to tylko jeden przykład użycia technologii machine learning w praktycznych celach. Machine learning znajduje zastosowanie w różnych branżach – i niemal każdy, nawet jeśli nieświadomie, spotyka się z nim na co dzień. Mechanizmy uczenia wykorzystywane są choćby przez popularne serwisy, oferujące muzykę, filmy, książki – na podstawie dotychczasowych preferencji użytkownika system „uczy się” dobierać dla niego propozycje nowych treści. Machine learning jest ogromnie przydatne także w medycynie: komputery można na przykład „nauczyć” rozpoznawania zmian nowotworowych na zdjęciach USG i RTG.
Więcej na temat zastosowania machine learning można przeczytać na blogu SH Intellect, należącego do Grupy Intellect, której częścią jest Sparkee: Przyszłość zaczyna się dziś. W jakich kierunkach będzie rozwijać się machine learning? 
 

sparkee-european Union-icon sparkee-european Union-icon sparkee-european Union-icon sparkee-european Union-icon