Uczenie maszynowe co to - plansza do warcabów z trwającą partią i stos kartek z zapisem gier

Uczenie maszynowe – co to jest i jak się ma do sztucznej inteligencji

Uczenie maszynowe to sposób budowania programów, w którym reguł nie pisze programista – wyłaniają się z danych. To jedna z dróg do sztucznej inteligencji, nie jej synonim: każdy dzisiejszy model językowy powstał dzięki uczeniu maszynowemu, ale nie każdy system AI musi się uczyć.

Ta jedna różnica – kto ustala reguły – tłumaczy wszystko, co dalej: skąd biorą się błędy modeli, dlaczego dane są ważniejsze od algorytmu i czemu system potrafi rozpoznać kota, choć nikt nie potrafi opisać kota regułami.

Czym uczenie maszynowe różni się od zwykłego programowania

W klasycznym programowaniu podajesz dane i reguły, a dostajesz wynik. W uczeniu maszynowym podajesz dane i wyniki, a dostajesz reguły. To odwrócenie jest całą istotą rzeczy.

Programowanie klasyczneUczenie maszynowe
Co podajeszdane + regułydane + oczekiwane wyniki
Co dostajeszwynikregułę (model)
Kto ustala regułyprogramistaproces uczenia
Kiedy się sprawdzagdy regułę da się zapisaćgdy reguły nikt nie potrafi zapisać

Weź filtr antyspamowy. Podejście klasyczne: wypisz listę podejrzanych zwrotów i odrzucaj wiadomości, które je zawierają. Działa do pierwszej zmiany taktyki po drugiej stronie. Podejście uczące: pokaż systemowi sto tysięcy wiadomości oznaczonych jako spam i nie-spam, a regułę wypracuje sam – łącznie z sygnałami, na które człowiek by nie wpadł.

Uczenie maszynowe opłaca się dokładnie tam, gdzie reguły istnieją, ale są zbyt złożone albo zbyt zmienne, by je spisać.

Skąd się wzięło pojęcie

Termin pochodzi od Arthura Samuela, który w 1959 roku opublikował pracę o programie grającym w warcaby i uczącym się na własnych partiach. W streszczeniu tej pracy Samuel napisał wprost, że wykonane badania potwierdzają, iż komputer można zaprogramować tak, by nauczył się grać w warcaby lepiej niż osoba, która ten program napisała. Program zaczął więc ogrywać swojego autora – co było wtedy sensacją, bo pokazywało, że maszyna może poprawić się w zadaniu bez przepisywania jej kodu.

Warto przy tym wiedzieć, że najczęściej cytowane zdanie Samuela – o dziedzinie dającej komputerom zdolność uczenia się bez jawnego programowania – jest parafrazą, a nie dosłownym cytatem z tej pracy. Krąży po internecie w cudzysłowie, choć w oryginale w tej formie nie występuje.

Ścisłą definicję dał dopiero Tom Mitchell w 1997 roku i to ona jest dziś standardem w podręcznikach: program uczy się z doświadczenia E w odniesieniu do zadania T i miary jakości P, jeśli jego wynik w zadaniu T, mierzony przez P, poprawia się wraz z doświadczeniem E.

Ta definicja wygląda sucho, ale jest praktyczna. Zmusza do wskazania trzech rzeczy naraz: co system ma robić, na czym się uczy i jak sprawdzisz, że mu wyszło. Brak którejkolwiek z nich to najczęstszy błąd w projektach opartych na danych.

Trzy typy uczenia na jednym przykładzie

Weźmy jedno zadanie – obsługę zgłoszeń klientów – i przeprowadźmy je przez wszystkie trzy podejścia.

Uczenie nadzorowane

Dostajesz zgłoszenia z gotowymi etykietami: to reklamacja, to pytanie o fakturę, to zgłoszenie awarii. Model uczy się przypisywać etykiety nowym zgłoszeniom.

Warunek: ktoś musiał wcześniej oznaczyć tysiące przykładów. To najdroższy element całej układanki i najczęstsza przyczyna, dla której projekt staje.

Drugie ryzyko nazywa się przeuczeniem. Model, który zapamiętał dane treningowe zamiast wypracować z nich regułę, bezbłędnie radzi sobie ze zgłoszeniami, które już widział, i zawodzi na nowych – dlatego skuteczność mierzy się zawsze na przykładach odłożonych na bok przed treningiem.

Uczenie nienadzorowane

Dostajesz zgłoszenia bez żadnych etykiet. Model grupuje je według podobieństwa i pokazuje, że układają się w pięć skupisk. Co znaczy każde skupisko, musisz nazwać sam.

Zaleta: nie wymaga oznaczania. Wada: nie dostajesz odpowiedzi, tylko strukturę – i to ty musisz zdecydować, co z nią zrobić.

Uczenie przez wzmacnianie

System sam próbuje i dostaje nagrodę albo karę. Odpowiada klientowi, a sygnałem zwrotnym jest to, czy sprawa została zamknięta. Po tysiącach prób wypracowuje strategię odpowiadania.

Zaleta: nie wymaga ani etykiet, ani gotowej wiedzy. Wada: potrzebuje ogromnej liczby prób i jasnego sygnału nagrody – co poza grami i symulacjami bywa trudne do skonstruowania.

Czwarty typ, który zbudował dzisiejsze modele

Modele językowe powstały dzięki podejściu, którego nie ma w klasycznej trójce: uczeniu samonadzorowanemu. Nazwa jest myląca, bo brzmi jak wariant nadzorowanego – i w pewnym sensie nim jest, tyle że etykiety system tworzy sobie sam z surowych danych.

Mechanizm jest zaskakująco prosty. Bierzesz zwykły tekst, zasłaniasz w nim fragment i każesz modelowi zgadnąć, co zostało zasłonięte. Prawidłowa odpowiedź jest znana, bo pochodzi z samego tekstu. Nikt niczego nie oznaczał, a mimo to system ma miliardy przykładów z poprawnymi odpowiedziami.

Przy okazji model buduje wewnętrzne reprezentacje słów i zdań – embeddingi, czyli ciągi liczb, w których zbliżone znaczenia leżą blisko siebie. To one, a nie same litery, są tym, na czym model faktycznie pracuje.

To jest właśnie ten trik, który odblokował skalę: zamiast płacić ludziom za etykietowanie, można było uczyć modele na całym dostępnym tekście.

Gdzie w tym wszystkim jest deep learning

Uczenie głębokie to nie osobna kategoria obok trzech powyższych, tylko sposób budowy modelu, który można zastosować w każdej z nich. Zamiast prostszych metod statystycznych używa się wielowarstwowych sieci neuronowych.

Hierarchia wygląda tak: sztuczna inteligencja jest pojęciem najszerszym, uczenie maszynowe jest jedną z dróg jej osiągania, a uczenie głębokie jest jedną z technik uczenia maszynowego. Czym dokładnie różni się ta technika od klasycznego uczenia maszynowego, rozstrzyga osobny tekst o deep learningu. Budowę samych warstw rozkłada tekst o sieciach neuronowych, a szersze uporządkowanie pojęć znajdziesz w słowniku AI.

Co uczenie maszynowe robi dziś w twoim telefonie

Warto zobaczyć, ile tego jest poza modelami, o których się mówi:

  • rozpoznawanie twarzy przy odblokowaniu – uczenie nadzorowane
  • grupowanie zdjęć według osób w galerii – nienadzorowane
  • podpowiedzi słów przy pisaniu – samonadzorowane
  • przewidywanie czasu dojazdu w nawigacji – nadzorowane na danych historycznych
  • wykrywanie nietypowej płatności przez bank – nadzorowane plus wykrywanie anomalii

Żadne z tych zastosowań nie prowadzi rozmowy i żadne nie wygląda jak „sztuczna inteligencja” w potocznym rozumieniu. A jednak to one stanowią większość uczenia maszynowego, które realnie działa wokół ciebie.

Najczęstsze pytania

Czym różni się uczenie maszynowe od sztucznej inteligencji?

Sztuczna inteligencja to szersze pojęcie obejmujące każdy system wykonujący zadania wymagające inteligencji, także oparty na ręcznie zapisanych regułach. Uczenie maszynowe to konkretna droga: system wypracowuje reguły sam, na podstawie danych. Każdy dzisiejszy model językowy jest efektem uczenia maszynowego, ale nie każdy system AI musi się uczyć.

Jakie są trzy typy uczenia maszynowego?

Nadzorowane, w którym dane mają gotowe etykiety; nienadzorowane, w którym model szuka struktury w danych bez etykiet; oraz przez wzmacnianie, w którym system uczy się z nagród i kar za własne działania. Modele językowe korzystają dodatkowo z uczenia samonadzorowanego, gdzie etykiety powstają z samych danych.

Jakie są przykłady uczenia maszynowego?

Filtr antyspamowy, rozpoznawanie twarzy przy odblokowaniu telefonu, podpowiedzi słów na klawiaturze, wykrywanie podejrzanych transakcji w banku, rekomendacje w sklepie i przewidywanie czasu dojazdu w nawigacji. Większość z nich nie przypomina rozmowy z czatem, a mimo to jest uczeniem maszynowym.

Czy uczenie maszynowe wymaga programowania?

Zbudowanie modelu – tak, choć dziś w dużej mierze przez gotowe biblioteki. Korzystanie z modeli – nie. Narzędzia oparte na uczeniu maszynowym są dostępne przez zwykłe interfejsy, a rola użytkownika sprowadza się do dostarczenia danych i oceny wyniku. Od czego zacząć bez pisania kodu, opisuje ścieżka AI od zera.

Źródła

Ostatnia aktualizacja: · Zgłoś poprawkę

Podobne wpisy