Uczenie maszynowe wykorzystuje algorytmy do znajdowania wzorców w danych
Nadal wracam do jednego prostego faktu: uczenie maszynowe wykorzystuje algorytmy do znajdowania wzorców w danych. To jest cała istota tego zagadnienia. Reszta to szczegóły, a te mają znaczenie.
Gdy ludzie mówią „uczenie maszynowe”, często mają na myśli model, który uczy się na przykładach zamiast stosować sztywne reguły. Programista nie pisze ręcznie każdej decyzji. System jest trenowany na danych, a algorytm dostosowuje się sam, aby móc później wykrywać użyteczne wzorce.
To brzmi prosto. W centrum rzeczywiście jest proste, ale w praktyce niełatwe. Algorytm nie „rozumie” danych tak jak człowiek. Szuka struktury statystycznej. Znajduje powiązania między danymi wejściowymi a wyjściowymi, grupuje rzeczy, które wyglądają podobnie, lub oznacza przypadki, które nie pasują do reszty.
Wydaje mi się, że to najkorzystniejszy sposób myślenia o tym zagadnieniu. Uczenie maszynowe to wyszukiwacz wzorców, ale bardzo specyficznego rodzaju. Nie szuka sensu w ludzkim rozumieniu. Szuka regularności, które pomagają mu dokonać predykcji, zgrupować dane lub podjąć decyzję.
Trenowany model jest wynikiem tego poszukiwania. Algorytm przetwarza przykłady, mierzy błąd i zmienia wewnętrzne wartości, aż błąd się zmniejszy. To jest pętla operacyjna. Dane trafiają do środka, następuje znajdowanie wzorców, a na wyjściu otrzymujemy model, który może działać na nowych, wcześniej niewidzanych danych.
Dlatego tak ważna są dane treningowe. Jeśli przykłady są wąskie, bałaganione lub obciążone uprzedzeniami, wzorce, których nauczy się algorytm, będą również wąskie, bałaganione lub obciążone uprzedzeniami. Model nie jest magią. To lustro z zasadami. Odbija to, co dane czynią łatwym do zauważenia.
Ten punkt wciąż sprawia trudności wielu zespołom. Chcą, by model był inteligenty w ogólnym sensie. Zazwyczaj nie jest. Często jest dobry w jednym wzorcu, a słaby poza nim. Model rozpoznający twarze może nic nie wiedzieć o mowie. Model wykrywający spam może być słaby w analizie obrazów medycznych. Wzorzec jest ukształtowany przez zadanie, a nie uniwersalny.
Kolejna rzecz, którą mam na uwadze, to fakt, że nie wszystkie systemy uczenia maszynowego uczą się w ten sam sposób. Niektóre korzystają z danych oznaczonych, gdzie odpowiedź jest już znana. Niektóre używają danych nieoznaczonych i próbują same znaleźć strukturę. Niektóre uczą się metodą prób i błędów dzięki informacji zwrotnej. Wspólnym mianownikiem pozostaje to samo. Algorytm wyodrębnia wzorce z doświadczenia.
To właśnie tu słowo „algorytm” wymaga ostrożności. W uczeniu maszynowym nie zawsze oznacza ono porządną listę kroków, jak np. rutyna sortująca. Często oznacza to metodę trenowania, która dostosowuje model na podstawie danych. Ta metoda może być prosta lub bardzo złożona. W każdym razie nadal jest to reguła określająca, jak system uczy się wzorców.
Mały przykład pomoże. Jeśli wiele przeszłych e-maili oznaczonych jako spam zawiera wspólne słowa, cechy nadawcy lub wzorce linków, algorytm może nauczyć się tych sygnałów. Nie musi znać znaczenia słowa „spam”. Musi tylko zobaczyć, że pewne wzorce w danych często pokrywają się z etykietą spam. To wystarczy do zbudowania użytecznego modelu.
Ten sam pomysł pojawia się w pracy z obrazami. Model może nauczyć się, że pewne kształty pikseli często należą do krawędzi, tekstur lub części obiektów. Buduje tę wiedzę na podstawie danych, a nie na podstawie ręcznie napisanej listy wizualnych reguł. Pracuję wystarczająco długo z tego typu systemami, by wiedzieć, że wzorzec jest rzeczywisty, ale wynik zawsze jest kruchy w niektórych miejscach. Zmień zbyt mocno kształt danych, a naukowy wzorzec może zawieść.
Ta kruchość jest szczerym limitem. Uczenie maszynowe jest silne, gdy przyszłość wygląda jak przeszłość. Jest słabsze, gdy świat się zmienia. Dane się zmieniają. Etykiety się zmieniają. Użytkownicy się zmieniają. Czujniki dryfują. Model, który nauczył się jednego wzorca, może stracić pozycje, gdy wzorzec się przesunie.
Istnieje inny limit, który ma równie duże znaczenie. Znalezienie wzorca nie oznacza znalezienia właściwej przyczyny. Model może chwycić się za skrót. Może wykorzystać poboczny podpowiedź zamiast prawdziwego sygnału. Może dobrze radzić sobie na danych treningowych, a mimo to zawieść w realnym świecie. Dlatego znajdowanie wzorców jest użyteczne, ale samo w sobie niewystarczające. Wzorzec musi przetrwać kontakt z nowymi danymi.
Więc gdy odpowiadam na pytanie „czym jest uczenie maszynowe”, trzymam się ściśle definicji. To sposób na wykorzystanie algorytmów do znajdowania wzorców w danych, a następnie użycia tych wzorców do dokonywania predykcji, grupowania danych lub kierowania decyzjami. To jest praktyczne centrum. Wszystko inne to wariacja dotycząca tego, jak wzorce są uczone, sprawdzane i używane.
Rzeczywista wartość nie tkwi w tajemnicy. Tkwi w ponownym użyciu. Zamiast pisać jedną regułę dla każdego przypadku, pozwalamy danym kształtować reguły poprzez naukę. Działa to dobrze, gdy problem ma sygnał w danych i wystarczającą liczbę przykładów, by go ujawnić. Działa słabo, gdy dane są skromne, cel jest niejasny, albo świat zmienia się szybciej, niż model jest w stanie nadążyć.
To jest rodzaj szczerej odpowiedzi, którą staram się mieć na uwadze. Uczenie maszynowe jest potężne, ponieważ znajduje wzorce, których nie wypisaliśmy ręcznie. Jest ograniczone, ponieważ te wzorce pochodzą z danych, a dane nigdy nie są całym światem.
To jest obietnica, którą The Model Log również trzyma w centrum: jeden praktyczny koncept sztucznej inteligencji, jeden działający przykład i jeden szczery spojrzenie na to, co naprawdę działa.



