Główna zawartość
Kurs: Podstawy informatyki - program rozszerzony > Rozdział 5
Lekcja 3: Stronniczność w uczeniu maszynowymAlgorytmy uczenia maszynowego
„Machine learning”, czyli uczenie maszynowe to rodzaj algorytmu, który ulepsza się na podstawie doświadczenia, a nie poprzez pisanie lepszego algorytmu przez programistę. Algorytm zdobywa doświadczenie, przetwarzając coraz więcej danych, a następnie modyfikując się na podstawie właściwości tych danych.
Istnieje wiele rodzajów technik uczenia maszynowego, spośród których można ogólnie wyodrębnić trzy podejścia:
- Uczenie przez wzmacnianie: Algorytm wykonuje działania, które zostaną najbardziej nagrodzone. Często stosowane przez AI grające w gry lub roboty nawigacyjne.
- Uczenie nienadzorowane: Algorytm znajduje wzorce w nieoznaczonych danych poprzez grupowanie i identyfikowanie podobieństw. Popularne zastosowania obejmują systemy rekomendacji i ukierunkowaną reklamę.
- Uczenie nadzorowane: Algorytm analizuje oznaczone dane i uczy się, jak mapować dane wejściowe na etykietę wyjściową. Często używane do klasyfikacji i prognozowania.
Aby lepiej zrozumieć, jak działa algorytm uczenia maszynowego, przyjrzyjmy się jednej z najpopularniejszych technik uczenia maszynowego.
Sieci neuronowe
Popularnym podejściem do uczenia nadzorowanego jest sieć neuronowa. Sieć neuronowa działa w sposób podobny do tego, jak według naszej najlepszej wiedzy sądzimy, jak działają nasze mózg. Dane wejściowe przepływają, są przetwarzane przez wiele warstw „neuronów” iw procesie ostatecznie prowadzącym do wyniku.
Trenowanie sieci neuronowej
Informatycy nie programują każdego neuronu z osobna. Zamiast tego, trenują sieć neuronową, używając ogromnej ilości odpowiednio oznaczonych danych.
Dane treningowe zależą od celu, dla którego stworzono daną sieć. Jeśli jej celem jest klasyfikacja obrazów, zestaw danych treningowych może zawierać tysiące obrazów oznaczonych jako „ptak”, „samolot” itp.
Podczas fazy treningu, sieć neuronowa testuje różne wagi dla połączeń między neuronami, aż znajdzie zestaw wag, który daje poprawną klasyfikację.
Sieć neuronowa rozpoczyna pracę z wagami ustawionymi na losowe wartości, więc jej początkowe klasyfikacje są dalekie od prawidłowych. Uczy się jednak na swoich błędach i ostatecznie znajduje zestaw wag, które najlepiej sprawdzają się w klasyfikacji wszystkich danych treningowych.
Wykorzystanie sieci neuronowej
Gdy sieć neuronowa napotyka nowy obraz, wykorzystuje wcześniej wytrenowane wagi i generuje możliwe odpowiedzi wraz z ich prawdopodobieństwami.
Dokładność
Dokładność sieci neuronowej w dużym stopniu zależy od jej danych treningowych, zarówno od ich ilości, jak i różnorodności. Czy sieć widziała obiekt z różnych kątów i w różnych warunkach oświetleniowych? Czy widziała obiekt na tle wielu różnych teł? Czy naprawdę widziała wszystkie odmiany tego obiektu?
Jeśli chcemy, aby sieć neuronowa naprawdę zrozumiała świat, musimy trenować ją na danych uwzględniających ogromną różnorodność naszego świata.
W następnym artykule zbadamy, co się dzieje, gdy algorytmy uczenia maszynowego są trenowane na stronniczych danych.
Chcesz dołączyć do dyskusji?
Na razie brak głosów w dyskusji