Rodzaje uczenia maszynowego: nadzorowane, nienadzorowane, półnadzorowane i inne
Uczenie nadzorowane, nienadzorowane, półnadzorowane, samonadzorowane i przez wzmacnianie — z dokładnymi definicjami, wyjaśnieniem prostym językiem i animacjami prawdziwych algorytmów.
Seria Podstawy AI Część 42 z 52
- Mapa sztucznej inteligencji: co jest czym i jak to do siebie pasuje
- Krótka historia sztucznej inteligencji: od Turinga do modeli językowych
- Dane, model, trening, inferencja: podstawowe pojęcia na jednym przykładzie
- Jak czytać zapis matematyczny: symbole, indeksy, sumy i kwantyfikatory
- Zbiory i relacje: klocki, z których składają się definicje w AI
- Funkcje i odwzorowania: dlaczego każdy model AI jest funkcją
- Logika i dowody: reguły, według których rozumuje AI
- Grafy i drzewa: struktura, na której opierają się przeszukiwanie i sieci neuronowe
- Algebra liniowa dla uczenia maszynowego: wektory, macierze i dlaczego AI głównie mnoży
- Pochodne, gradient i reguła łańcuchowa: jak model ustala, w którą stronę się uczyć
- Spadek gradientu: jak uczy się model
- Czym jest prawdopodobieństwo: od rzutu kostką do aksjomatów Kołmogorowa
- Prawdopodobieństwo warunkowe i twierdzenie Bayesa: jak zmienić ocenę, gdy dowiesz się czegoś nowego
- Zmienna losowa i dystrybuanta: jedna funkcja, która mówi o rozkładzie wszystko
- Funkcja gęstości i funkcja prawdopodobieństwa: dlaczego zmienna ciągła ma w punkcie prawdopodobieństwo zero
- Wartość oczekiwana, wariancja i kowariancja: gdzie leży rozkład, jak jest szeroki i co z czym się wiąże
- Przegląd rozkładów prawdopodobieństwa: Bernoulliego, dwumianowy, Poissona, jednostajny, normalny i wykładniczy
- Prawo wielkich liczb i centralne twierdzenie graniczne: dlaczego średnie zachowują się tak przewidywalnie
- Statystyka i estymacja parametrów: największa wiarygodność, MAP i przedziały ufności
- Teoria informacji: entropia, entropia krzyżowa i dywergencja KL — skąd się biorą funkcje straty
- Przeszukiwanie przestrzeni stanów: BFS, DFS, UCS i A* z animacjami
- Gry i przeciwnik: minimax, przycinanie alfa-beta i Monte Carlo tree search
- Spełnianie ograniczeń: backtracking, propagacja ograniczeń i AC-3 na sudoku i mapie czeskich krajów
- Logika i systemy z bazą wiedzy: wnioskowanie w przód i wstecz, rezolucja i systemy ekspertowe
- Planowanie: STRIPS, świat klocków, heurystyki z relaksacji i planowanie w agentach AI
- Przeszukiwanie lokalne i symulowane wyżarzanie: komiwojażer przez czeskie miasta wojewódzkie
- Algorytmy genetyczne: populacja, krzyżowanie, mutacja i selekcja na plecaku na wycieczkę
- Strategie ewolucyjne i programowanie genetyczne: od reguły jednej piątej do prawa Keplera
- Optymalizacja kolonią mrówek: jak ślad feromonowy znajduje krótką drogę
- Optymalizacja rojem cząstek: bezwładność, własne doświadczenie i doświadczenie roju
- Neuroewolucja: ewolucja wag i kształtu sieci neuronowych oraz algorytm NEAT
- Zbiory rozmyte i funkcje przynależności: jak zapisać „trochę ciepło”
- Logika rozmyta a prawdopodobieństwo: dlaczego „trochę ciepło” nie znaczy „prawdopodobnie ciepło”
- Logika rozmyta: t-normy, implikacje i reguły JEŻELI–TO
- Sterowanie rozmyte: Mamdani i Sugeno od wentylatora po wahadło na wózku
- Klasteryzacja rozmyta: algorytm fuzzy c-means i punkty między skupieniami
- Systemy neuro-rozmyte (ANFIS): reguły rozmyte, które uczą się z danych
- Łańcuchy Markowa: macierz przejścia, rozkład stacjonarny i PageRank
- Ukryte modele Markowa: algorytm Viterbiego i nieuczciwe kasyno
- Sieci bayesowskie: dlaczego trawa jest mokra i co z tego wynika dla zraszacza
- Filtr Kalmana: jak z niedokładnych pomiarów oszacować, gdzie jest samochód i jak szybko jedzie
- Rodzaje uczenia maszynowego: nadzorowane, nienadzorowane, półnadzorowane i inne
- Prompty, kontekst i RAG: jak dać modelowi właściwe informacje
- Wariacyjne autoenkodery (VAE): nowe obrazki z ciągłej przestrzeni latentnej
- Generatywne sieci przeciwstawne (GAN): fałszerz kontra detektyw
- Modele dyfuzyjne: jak z czystego szumu powstaje obraz
- Procesy decyzyjne Markowa: stany, akcje, nagrody i równania Bellmana
- Q-learning i DQN: uczenie się wartości akcji od tabeli po sieć neuronową
- Policy gradient i PPO: uczenie się bezpośrednio polityki
- Jak działa agent AI: model językowy w pętli z narzędziami
- Programowanie z agentami AI: zadanie, testy i kontrola
- Ocena i bezpieczeństwo systemów AI: jak mierzyć i jak pilnować
Pełny program serii Gotowe: 52 z 83 tematów
- Pięć rodzajów uczenia maszynowego według tego, jaki sygnał model dostaje podczas nauki.
- Dlaczego może wystarczyć kilka etykiet i dużo nieoznaczonych danych — i jak uczą się modele językowe.
- Jak agent uczy się działać wyłącznie na podstawie nagród i kar.
Warto wiedzieć wcześniej: Mapa sztucznej inteligencji: co jest czym i jak to do siebie pasuje, Jak czytać zapis matematyczny: symbole, indeksy, sumy i kwantyfikatory
„Model się tego nauczył.” To zdanie brzmi za każdym razem tak samo, ale oznacza bardzo różne rzeczy. Raz model uczył się z tysięcy zdjęć, przy których ktoś napisał, co na nich jest. Innym razem dostał tylko stos danych bez ani jednej etykiety i miał znaleźć w nich porządek. A jeszcze innym razem uczył się jak pies na placu szkoleniowym — próbował, a za dobre kroki dostawał nagrodę.
Dlatego uczenie maszynowe dzieli się według tego, jaki sygnał model otrzymuje podczas nauki. Przejdziemy przez główne rodzaje, od uczenia nadzorowanego aż po uczenie przez wzmacnianie. Przy każdym znajdziesz dokładną definicję, wyjaśnienie prostym językiem i wykres, który jest prawdziwym wynikiem algorytmu — nic nie jest rysowane ręcznie.
1. Co znaczy, że maszyna się uczy
Definicja — uczenie (T. Mitchell, 1997)
Program uczy się z doświadczenia E względem klasy zadań T i miary wydajności P, jeżeli jego wydajność w zadaniach z T, mierzona za pomocą P, poprawia się wraz z doświadczeniem E.
Uczy się to, co staje się lepsze dzięki praktyce. Zadaniem T może być „rozpoznać spam”, miarą P „ile e-maili przydzieli poprawnie”, a doświadczeniem E „tysiąc e-maili, które ktoś już posortował”. Rodzaje uczenia różnią się głównie tym, jak wygląda to doświadczenie E.
Definicja — model i parametry
Model to funkcja fθ : 𝒳 → 𝒴 z przestrzeni wejść 𝒳 do przestrzeni wyjść 𝒴, wyznaczona przez parametry θ ∈ ℝp.
Uczenie (trening) to szukanie parametrów θ, które minimalizują funkcję celu J(θ) obliczoną z danych — zwykle metodą spadku gradientu θ ← θ − η ∇J(θ).
Model to maszyna z mnóstwem pokręteł — parametrów. Uczenie to kręcenie pokrętłami tak długo, aż maszyna robi to, czego chcemy. Funkcja celu to liczba, która mówi, jak bardzo maszyna wciąż się myli; spadek gradientu kręci pokrętłami zawsze w tę stronę, w której myli się najmniej.
Główne rodzaje uczenia w pigułce — różnią się tym, co jest dostępne w danych:
Nauczyć się odpowiadać jak nauczyciel.
Znaleźć w danych strukturę.
Wykorzystać też dane bez etykiet.
Tak uczą się modele językowe.
Nauczyć się działać.
2. Uczenie nadzorowane (supervised learning)
Definicja — uczenie nadzorowane
Dany jest zbiór treningowy D = {(xi, yi)}i=1n par wejście–etykieta, wylosowanych niezależnie z nieznanego rozkładu P(X, Y), oraz funkcja straty L(ŷ, y) ≥ 0.
Szukamy modelu, który minimalizuje ryzyko empiryczne: θ* = argminθ (1/n) ∑i=1n L(fθ(xi), yi).
Celem nie jest jednak zbiór treningowy — model ma dobrze działać na nowych danych z tego samego rozkładu (generalizacja). Dlatego wydajność mierzy się na odłożonym zbiorze testowym.
Jak dziecko z książeczką obrazkową: przy każdym obrazku jest napisane „pies” albo „kot”. Model patrzy na przykłady z poprawną odpowiedzią i dostraja się tak, żeby trafiać. Funkcja straty to kara za każdy błąd. A egzamin zdaje na obrazkach, których nigdy wcześniej nie widział — odpowiedzi wykute na pamięć się nie liczą.
W zależności od tego, czym jest etykieta y, rozróżniamy dwa zadania.
Klasyfikacja
Definicja — klasyfikacja
Etykiety pochodzą ze skończonego zbioru klas: y ∈ {1, …, K}. Typową stratą jest entropia krzyżowa L = −∑k [y = k] log pθ(k | x).
Regresja logistyczna dla dwóch klas: p(y = 1 | x) = σ(w⊤x + b), gdzie σ(z) = 1 / (1 + e−z). Granica decyzyjna to prosta w⊤x + b = 0.
Klasyfikacja odpowiada na pytanie „do której szufladki to należy”: spam czy nie? Pies, kot czy papuga? Regresja logistyczna przeciąga między klasami linię i o każdym punkcie mówi, z jaką pewnością leży po której stronie.
Na wykresie jest 60 punktów z dwóch klas. Granica celowo zaczyna źle, a spadek gradientu przesuwa ją epoka po epoce, aż rozdzieli klasy:
Regresja
Definicja — regresja
Etykiety są liczbami rzeczywistymi: y ∈ ℝ. Typową stratą jest błąd średniokwadratowy MSE = (1/n) ∑i (f(xi) − yi)2.
Dla regresji liniowej f(x) = ax + b minimum MSE ma postać zamkniętą: a = ∑(xi − x̄)(yi − ȳ) / ∑(xi − x̄)2, b = ȳ − ax̄ (metoda najmniejszych kwadratów).
Regresja odpowiada na pytanie „ile”: ile będzie kosztować mieszkanie, jaka będzie jutro temperatura. Regresja liniowa prowadzi przez punkty prostą tak, aby suma kwadratów pionowych odległości — na rysunku przerywanych — była jak najmniejsza.
Uczenie nadzorowane napędza większość praktycznych zastosowań: filtry spamu, rozpoznawanie twarzy, diagnostykę ze zdjęć rentgenowskich, wycenę nieruchomości. Ma jednak jeden kosztowny warunek — ktoś musi dane oznaczyć. A to bywa najdroższa część całego projektu.
3. Uczenie nienadzorowane (unsupervised learning)
Definicja — uczenie nienadzorowane
Dany jest tylko zbiór wejść D = {xi}i=1n ⊂ 𝒳, bez etykiet. Szukamy struktury rozkładu P(X): skupień, reprezentacji niskowymiarowej albo samej gęstości p(x).
Dostajesz pudełko zdjęć bez podpisów i masz je posortować. Nikt ci nie powie, według czego — sam zauważysz, że niektóre są znad morza, a inne z gór. Model szuka podobieństw i wzorców, które są w danych, nawet jeśli nikt ich nie nazwał.
Klasteryzacja: k-średnich
Definicja — k-średnich (k-means)
Podziel punkty na k skupień C1, …, Ck ze środkami μ1, …, μk tak, aby wewnątrzskupieniowa suma kwadratów była minimalna:
J = ∑j=1k ∑x ∈ Cj ‖x − μj‖2.
Algorytm Lloyda przeplata dwa kroki: (1) przypisz każdy punkt do najbliższego środka, (2) przesuń każdy środek do średniej jego punktów. Żaden krok nie zwiększa J, więc algorytm się kończy — ale tylko w minimum lokalnym.
Stawiasz w pokoju trzy flagi. Każdy człowiek staje przy najbliższej. Potem przenosisz każdą flagę na środek jej gromadki. Ludzie znowu się przegrupowują, flagi znowu się przesuwają — i po kilku rundach nic się już nie zmienia. Gromadki to skupienia.
Środki (krzyżyki) celowo zaczynają wszystkie w lewym dolnym rogu. Już po pierwszej iteracji rozjeżdżają się do swoich grup, a po czterech iteracjach przestają się ruszać.
Inne zadania uczenia nienadzorowanego: redukcja wymiaru (na przykład PCA rzutuje dane na kilka kierunków, w których różnią się najbardziej — przydatne do wizualizacji i kompresji), wykrywanie anomalii (to, co nie przypomina niczego, co już znamy — oszukańcza płatność, awaria maszyny) i estymacja gęstości.
4. Uczenie półnadzorowane (semi-supervised learning)
Definicja — uczenie półnadzorowane
Dany jest mały oznaczony zbiór DL = {(xi, yi)}i=1l i duży nieoznaczony DU = {xj}j=l+1l+u, gdzie u ≫ l. Cel jest taki sam jak w uczeniu nadzorowanym, ale do jego osiągnięcia wykorzystuje się również DU.
Działa to tylko przy którymś z założeń:
- gładkość — bliskie punkty mają tę samą etykietę,
- skupienia — punkty z jednego skupienia mają tę samą etykietę, granica klas biegnie przez rzadkie obszary,
- rozmaitość — dane leżą na niskowymiarowej powierzchni i odległość należy mierzyć wzdłuż niej.
Masz dziesięć tysięcy zdjęć, ale opisać zdążyłeś tylko dziesięć. Nieoznaczone zdjęcia mimo to pomagają: pokazują, jak dane „wyglądają” — gdzie są gromadki i którędy między nimi biegnie pustka. Etykiety rozchodzą się potem po gromadkach same.
Propagacja etykiet po grafie
Zbuduj graf, w którym każdy punkt jest połączony ze swoimi k najbliższymi sąsiadami (tutaj k = 4). W każdej rundzie każdy nieoznaczony punkt, który ma oznaczonego sąsiada, dostaje etykietę większości oznaczonych sąsiadów. Powtarzaj, dopóki są nieoznaczone punkty.
Dane to dwa „księżyce” po 40 punktów. Etykietę mają tylko dwa punkty — po jednym w każdym księżycu, wyróżnione obrysem. Pozostałe są szare:
Etykiety rozchodzą się po księżycach jak pożar po suchej trawie i po 10 rundach wszystkie punkty są oznaczone poprawnie. Gdybyśmy zignorowali nieoznaczone dane i przydzielili każdy punkt tylko według tego, do którego z dwóch oznaczonych punktów ma bliżej, poprawnie byłoby tylko 84%: końce księżyców leżą bliżej obcego oznaczonego punktu niż własnego. Różnicę robi właśnie kształt danych, który znamy tylko dzięki nieoznaczonym punktom.
Podobnie działają pseudoetykiety (self-training): model wytrenowany na małym oznaczonym zbiorze oznacza te nieoznaczone dane, co do których jest najpewniejszy, i uczy się dalej również z nich.
5. Uczenie samonadzorowane (self-supervised learning)
Definicja — uczenie samonadzorowane
Dane są nieoznaczone, D = {xi}, ale z każdego x automatycznie tworzy się parę (x̃, t) = g(x): x̃ to część lub uszkodzona wersja wejścia, a t to, czego w niej brakuje. Model uczy się w sposób nadzorowany na tym zadaniu pretekstowym (pretext task).
Przewidywanie następnego tokenu — tak wstępnie trenuje się duże modele językowe. Tekst to ciąg tokenów x1, …, xT, a maksymalizuje się
∑t=1T log pθ(xt | x1, …, xt−1).
Nauczyciel tu jest, ale nikt nie musiał mu płacić: odpowiedzi są ukryte wprost w danych. Zakrywasz słowo w zdaniu, a model zgaduje, jakie tam było. Tekst z internetu sam się w ten sposób sprawdza — a model po drodze musi przyswoić sobie gramatykę, fakty i kawałek rozumowania, inaczej zgadywałby źle.
Uczenie samonadzorowane to technicznie uczenie nadzorowane, ale etykiety kosztują zero złotych — i dlatego można je zastosować do całego internetu. Dla obrazów stosuje się podobną sztuczkę: model dostaje dwa różne wycinki tego samego zdjęcia i uczy się, że należą do siebie (uczenie kontrastowe). Wynik, tak zwany model bazowy, dostraja się potem do konkretnego zadania na niewielkiej ilości oznaczonych danych.
6. Uczenie przez wzmacnianie (reinforcement learning)
Definicja — proces decyzyjny Markowa
Środowisko to piątka (S, A, P, R, γ): stany S, akcje A, prawdopodobieństwo przejścia P(s′ | s, a), nagroda R(s, a, s′) i współczynnik dyskontowania γ ∈ [0, 1).
Agent wybiera akcje według polityki π(a | s). Celem jest maksymalizacja oczekiwanego zwrotu G = ∑t≥0 γt rt.
Q-learning uczy się wartości Q(s, a) — oczekiwanego zwrotu po akcji a w stanie s — według reguły
Q(s, a) ← Q(s, a) + α [r + γ maxa′ Q(s′, a′) − Q(s, a)].
Nikt nie mówi agentowi, jaki ruch jest właściwy. Próbuje, a świat za każdy krok oddaje mu nagrodę albo karę. Stopniowo zapamiętuje, które ruchy gdzie się opłacają — w tym te, które opłacą się dopiero dziesięć kroków później. Współczynnik dyskontowania γ mówi, jak bardzo zależy mu na przyszłych nagrodach w porównaniu z natychmiastowymi.
Agent (pomarańczowy) porusza się po siatce. Każdy krok kosztuje −1, cel daje +10, a pułapka −10; na ściany nie da się wejść. Na początku nic nie wie. Po 600 epizodach Q-learningu (α = 0,5, γ = 0,95, z losową eksploracją w 20% kroków) strzałki pokazują najlepszą wyuczoną akcję w każdym polu:
Agent idzie najkrótszą drogą do celu i omija pułapkę. To, jak się uczył, widać po średnim zwrocie: w pierwszych 50 epizodach wynosił −11,1 (agent błądził i wpadał w pułapkę), w ostatnich 50 już −1,8 — różnicę względem optimum robi losowa eksploracja, której agent podczas treningu nie wyłącza.
Uczenie przez wzmacnianie stoi za programami, które pokonały mistrzów świata w go, za sterowaniem robotami — a także za dostrajaniem modeli językowych: RLHF (uczenie przez wzmacnianie na podstawie informacji zwrotnej od ludzi) używa jako nagrody modelu wytrenowanego na tym, które odpowiedzi ludzie ocenili lepiej.
7. Inne sposoby podziału
Rodzaj nauczyciela nie jest jedynym kryterium. Kilka innych, które spotkasz:
Definicja — uczenie transferowe (transfer learning)
Parametry θ0 wyuczone na zadaniu źródłowym służą jako start dla zadania docelowego: θ* = argminθ Jcel(θ), szukane od θ0, często tylko w niewielkiej części parametrów (dostrajanie, fine-tuning).
Kto umie jeździć na rowerze, szybciej nauczy się jeździć na motocyklu. Model, który już „widział świat”, wystarczy douczyć na kilkuset przykładach z twojego zadania.
Definicja — uczenie aktywne
Model sam wybiera, które x ∈ DU dać do oznaczenia — zwykle te o największej niepewności, na przykład o najwyższej entropii H(pθ(· | x)).
Zamiast żeby człowiek opisywał wszystko, model pyta tylko o to, czego nie rozumie. Ten sam wynik za ułamek pracy.
Definicja — modele generatywne i dyskryminacyjne
Model dyskryminacyjny uczy się bezpośrednio p(y | x) albo granicy decyzyjnej. Model generatywny uczy się rozkładu danych p(x), ewentualnie p(x, y), i potrafi z niego próbkować nowe dane.
Model dyskryminacyjny odróżni psa od kota. Model generatywny wie, jak wygląda pies, tak dobrze, że potrafi go narysować. Modele językowe i generatory obrazów są generatywne.
A do tego uczenie wsadowe vs. przyrostowe (model trenuje się raz na wszystkich danych albo uczy się na bieżąco z każdego nowego przykładu) oraz modele parametryczne vs. nieparametryczne (stała liczba parametrów jak w regresji logistycznej albo model, który rośnie wraz z danymi, jak k najbliższych sąsiadów).
8. Porównanie
| Rodzaj uczenia | Dane | Sygnał | Typowe zadania | Przykładowe algorytmy |
|---|---|---|---|---|
| Nadzorowane | (x, y) | poprawna odpowiedź | klasyfikacja, regresja | regresja logistyczna, drzewa decyzyjne, sieci neuronowe |
| Nienadzorowane | x | brak | klasteryzacja, redukcja wymiaru, anomalie | k-średnich, PCA, autoenkodery |
| Półnadzorowane | mało (x, y) + dużo x | kilka odpowiedzi | klasyfikacja z drogimi etykietami | propagacja etykiet, pseudoetykiety |
| Samonadzorowane | x | wytworzony z danych | wstępne trenowanie modeli bazowych | przewidywanie tokenu, maskowanie, uczenie kontrastowe |
| Przez wzmacnianie | interakcja ze środowiskiem | nagroda | gry, roboty, sterowanie, RLHF | Q-learning, policy gradient, PPO |
9. Podsumowanie
- Rodzaje uczenia różnią się tym, jakie doświadczenie E dostaje model: poprawne odpowiedzi, same dane, trochę jednego i drugiego, odpowiedzi wytworzone z danych albo nagrody za działania.
- Uczenie nadzorowane jest najprostsze, ale potrzebuje drogich etykiet.
- W uczeniu nienadzorowanym szuka się struktury; w półnadzorowanym nieoznaczone dane pomagają rozszerzyć kilka etykiet na wszystko.
- Uczenie samonadzorowane wytwarza etykiety z samych danych — na nim opierają się dzisiejsze modele językowe.
- Uczenie przez wzmacnianie uczy działać: próbować, zbierać nagrody i myśleć naprzód.
W praktyce rodzaje się łączy. Duży model językowy jest wstępnie trenowany w sposób samonadzorowany, dostrajany w sposób nadzorowany na przykładowych odpowiedziach, a na koniec przez wzmacnianie według ocen ludzi. Trzy rodzaje uczenia w jednym modelu — z którym być może właśnie piszesz.
Masz inne zdanie? Napisz na support@coden-app.com.