Czym jest uczenie maszynowe
Jak to możliwe, że komputer odróżnia spam od ważnej wiadomości, choć nikt nie zapisał mu listy wszystkich oszustw na świecie? Bo nauczył się z przykładów. Ta lekcja pokazuje, jak działa ten mechanizm.
Tradycyjne programowanie a uczenie maszynowe
W klasycznym programowaniu człowiek zapisuje reguły: „jeśli wiadomość zawiera słowo X, oznacz ją jako spam". Programista musi przewidzieć każdą sytuację i opisać ją w kodzie. To działa świetnie, dopóki problem jest prosty — ale oszuści stale zmieniają taktykę, więc ręcznie pisane reguły momentalnie się dezaktualizują.
Uczenie maszynowe (ang. machine learning, ML) odwraca tę kolejność: zamiast pisać reguły, pokazujemy komputerowi przykłady, a on sam znajduje w nich prawidłowości. Wynikiem tego procesu jest model — program, którego reguły nie pochodzą od człowieka, lecz z danych. Można to ująć tak: programowanie klasyczne to „dane + reguły → odpowiedzi", a uczenie maszynowe to „dane + odpowiedzi → reguły".
Uczenie nadzorowane — nauka z kluczem odpowiedzi
W uczeniu nadzorowanym każdy przykład w zbiorze treningowym ma etykietę — poprawną odpowiedź nadaną wcześniej przez człowieka. Model porównuje swoją odpowiedź z etykietą, sprawdza, o ile się pomylił, i stopniowo poprawia wewnętrzne ustawienia. Tak działa większość systemów AI, z którymi masz do czynienia na co dzień.
Zobaczmy to na przykładzie klasyfikatora spamu:
- Zbieramy dziesiątki tysięcy e-maili oznaczonych przez ludzi jako „spam" lub „nie spam".
- Model analizuje cechy wiadomości: słowa w temacie, nadawcę, obecność linków, wielkie litery, nietypowe skróty.
- W trakcie treningu odkrywa, że np. frazy o „wygranej" w połączeniu z nieznanym nadawcą mocno wskazują na spam — a wiadomości od częstych korespondentów niemal nigdy nim nie są.
- Po treningu potrafi ocenić nową, nigdy wcześniej nieznaną wiadomość i przypisać jej prawdopodobieństwo: „spam na 97%".
Kluczowy wniosek: model jest tak dobry, jak jego przykłady. Jeśli w zbiorze treningowym spam to niemal wyłącznie wiadomości po angielsku, polskojęzyczny spam może przechodzić przez filtr bez przeszkód. Wrócimy do tego w lekcji 2.
Uczenie nienadzorowane — porządek bez etykiet
W uczeniu nienadzorowanym dane nie mają etykiet. Model otrzymuje „surowy" zbiór i sam szuka w nim struktury — przede wszystkim grupuje podobne elementy. Sklep internetowy może w ten sposób podzielić klientów na grupy o zbliżonych zakupach, a serwis muzyczny — utwory na klastry o podobnym brzmieniu. Dopiero człowiek patrzy na wynik i nadaje grupom nazwy: „kupujący okazje", „fani jazzu". Model nigdy nie dowiedział się, że takie kategorie istnieją — sam zauważył podobieństwa.
W praktyce oba podejścia często się łączy: najpierw nienadzorowane grupowanie porządkuje ogromny zbiór, a potem ludzie etykietują jego fragment do uczenia nadzorowanego.
Trening a wnioskowanie
Życie modelu dzieli się na dwie fazy. Trening to faza nauki: model wielokrotnie przechodzi przez przykłady i dostraja swoje parametry. Bywa kosztowny obliczeniowo i wykonuje się go raz lub okresowo. Wnioskowanie (ang. inference) to codzienna praca gotowego modelu: dostaje pojedyncze wejście — e-mail, zdanie, zdjęcie — i zwraca odpowiedź w ułamku sekundy.
To jak z nauką do egzaminu i samym egzaminem: nauka trwa miesiącami, a sprawdzian pisze się godzinę. Gdy korzystasz z filtra spamu czy tłumacza online, masz do czynienia wyłącznie z wnioskowaniem.
| Cecha | Trening | Wnioskowanie |
|---|---|---|
| Cel | Nauka na przykładach | Korzystanie z gotowego modelu |
| Kiedy | Raz lub okresowo | Przy każdym zapytaniu |
| Dane | Duży zbiór z etykietami | Pojedyncze wejście (np. e-mail) |
| Koszt obliczeniowy | Bardzo wysoki | Niski |
- Otwórz folder spam (lub „Oferty") w swojej skrzynce e-mail.
- Przejrzyj 5–10 wiadomości i wypisz na kartce ich cechy wspólne: słowa z tematów, rodzaj nadawcy, obecność linków i załączników, ton wiadomości.
- Sprawdź folder „Odebrane": czy jest tam wiadomość, która Twoim zdaniem powinna trafić do spamu? Które cechy ją „uratowały"?
- Zapisz jedno zdanie: jakich przykładów zabrakłoby w zbiorze treningowym, żeby filtr mylił się właśnie tak, jak się myli u Ciebie?