Cześć,
Dziś wchodzimy trochę głębiej w AI a dokładniej w Machine Learning (ML). Jest to główna część AI, wokół której obraca się cała idea sztucznej inteligencji. Bez uczenia maszynowego trudno mówić o jakiejkolwiek jego formie. Potoczne rozumienie AI to właśnie Machine Learning.
Czym jest Machine Learning? Możemy o nim myśleć jako o odwróceniu tradycyjnego programowania jakie znaliśmy do tej pory.
Jako przykład weźmy rozpoznawanie twarzy. To jeden z typowych problemów ML. W tradycyjnym programowaniu, to analitycy i programiści (ludzie) musieliby wymyślić algorytm aby rozpoznać twarz.
Przykładowy (bardzo uproszczony) algorytm mógłby wyglądać tak:
- Zamiana zdjęcia na czarno-białe
- Zwiększenie kontrastu
- Wykrywanie krawędzi
- Szeregowanie krawędzi
- Grupowanie krawędzi w struktury jak oczy czy usta
- Pozycjonowanie struktur (oczy nad ustami itp)
- Uśrednianie kolorów w strukturach
- Jeżeli struktury jak oczy, nos, usta, włosy są w odpowiednich miejscach na zdjęciu to prawdopodobnie jest to twarz
Ale jest to bardzo uproszczony algorytm. Trochę naiwny. W rzeczywistości takich reguł mogą być setki a nawet tysiące. Trudno jest nam sobie nawet wyobrazić czego i jak musielibyśmy szukać na zdjęciu żeby wykryć twarz. A co jeśli jest wiele twarzy? Jak ktoś ma okulary? Inny kolor skóry? Jak ktoś patrzy w bok?
Tradycyjne programowanie sprawdza się jeśli znamy wszystkie reguły algorytmu i jest ich mało. Jeżeli tych reguł są tysiące lub nie znamy ich wszystkich to wtedy Machine Learning jest idealnym rozwiązaniem.
ML odwraca zależność pomiędzy danymi wejściowymi, algorytmem i danymi wyjściowymi. Człowiek definiuje tylko dane wejściowe i dane wyjściowe (jakich wyników się spodziewa). Maszyna tworzy zaś skomplikowany algorytm, który najlepiej zamienia dane wejściowe w wynik.
Ten wyszkolony algorytm to właśnie model. W ML rozróżnia się fazę szkolenia (tworzenia, uczenia) modelu. Oraz fazę używania wyszkolonego już modelu. Szkolenie wymaga ogromnej ilości danych, algorytm trenuje się przez powtarzanie i małe poprawki. Im więcej danych, im dłużej szkolimy tym lepiej. Szkolenie modeli potrafi zająć dużo czasu i sporo kosztować.
A jak wygląda taki wyszkolony algorytm? Tak naprawdę, nie musi nas to interesować. Często wystarczy że działa i ma wysoką skuteczność. My jednak przyjrzymy się mu bliżej w przyszłości.
Jak szybko działa wyszkolony model do wykrywania twarzy na zdjęciach? Możesz się o tym przekonać na tej stronie, wykrywa ona twarz i określa podstawowe cechy jak płeć, wiek a także emocje: https://www.visagetechnologies.com/HTML5/latest/Samples/ShowcaseDemo/ShowcaseDemo.html
Zachęcam do poszukiwania innych przykładów. Jest ich bardzo dużo.
Paweł
Wpis pochodzi z newslettera. Jeżeli chcesz dostawać podobne informacje na swojego mejla uzupełnij poniższy formularz. W każdej chwili możesz się wypisać.