Dowolny składnik programu agenta można ulepszyć dzięki uczeniu maszynowemu. Ulepszenia i techniki użyte do ich wykonania zależą od tych czynników:
- Który komponent ma zostać ulepszony.
- Jaka jest wcześniejsza wiedza agenta, która wpływa na budowany przez niego model.
- Jakie dane i informacje zwrotne na temat tych danych są dostępne.
. Składniki tych środków obejmują:
- Bezpośrednie odwzorowanie warunków na aktualny stan na działania.
- Środek do wywnioskowania odpowiednich własności świata z sekwencji percepcji.
- Informacje o tym, w jaki sposób świat ewoluuje i jakie skutki może podjąć agent.
- Informacje użytkowe wskazujące na atrakcyjność państw świata.
- Informacja o wartości działania wskazująca na celowość działań.
- Cele opisujące najbardziej pożądane stany.
- Generator problemów, krytyka i element uczenia się, który umożliwia doskonalenie systemu.
Każdego z tych elementów można się nauczyć. Rozważmy autonomicznego agenta samochodowego, który uczy się, obserwując kierowcę. Za każdym razem, gdy kierowca hamuje, agent może poznać warunek – regułę działania określającą, kiedy należy hamować (element 1). Widząc wiele obrazów z kamer, o których mówi się, że zawierają autobusy, może nauczyć się je rozpoznawać (komponent 2). Próbując akcji i obserwując rezultaty – na przykład gwałtowne hamowanie na mokrej drodze – może poznać efekty swoich działań (komponent 3). Następnie, gdy otrzyma skargi od pasażerów, którzy zostali dogłębnie wstrząśnięci podczas podróży, może poznać użyteczny składnik swojej ogólnej funkcji użyteczności (składnik 4). Technologia uczenia maszynowego stała się standardową częścią inżynierii oprogramowania. Za każdym razem, gdy budujesz system oprogramowania, nawet jeśli nie myślisz o nim jako o agencie AI, komponenty systemu można potencjalnie ulepszyć dzięki uczeniu maszynowemu. Na przykład oprogramowanie do analizy obrazów galaktyk poddanych soczewkowaniu grawitacyjnemu zostało przyspieszone 10 milionów razy dzięki modelowi maszynowemu i zużyciu energii na chłodzenie centra danych zostały zredukowane o 40% w przypadku innego modelu uczenia maszynowego (Gao, 2014). Zdobywca nagrody Turing Award David Patterson i szef Google AI Jeff Dean ogłosili początek „złotego wieku” architektury komputerowej dzięki uczeniu maszynowemu.
Widzieliśmy kilka przykładów modeli komponentów agenta: modele atomowe, czynnikowe i relacyjne oparte na logice lub prawdopodobieństwie i tak dalej. Dla wszystkich z nich opracowano algorytmy uczenia się. Ten rozdział zakłada niewielką wcześniejszą wiedzę ze strony agenta: zaczyna od zera i uczy się na podstawie danych. Rozważamy transfer uczenia się, w którym wiedza z jednej domeny jest przenoszona do nowej domeny, dzięki czemu nauka może przebiegać szybciej przy mniejszej ilości danych. Zakładamy jednak, że projektant systemu wybiera modelowy framework, który może prowadzić do efektywnej nauki. Przejście od określonego zestawu obserwacji do ogólnej zasady nazywa się indukcją; z obserwacji, że słońce wzeszło codziennie w przeszłości, indukujemy, że słońce wzejdzie jutro. Różni się to od dedukcji, którą analizowaliśmy w rozdziale 7, ponieważ wnioski indukcyjne mogą być nieprawidłowe, podczas gdy wnioski dedukcyjne mają gwarancję poprawności, jeśli przesłanki są prawidłowe. Ten rozdział koncentruje się na problemach, w których dane wejściowe są reprezentacją podzieloną na czynniki — wektorem wartości atrybutów. Możliwe jest również, że dane wejściowe mogą być dowolnym rodzajem struktury danych, w tym atomowej i relacyjnej. Gdy wynik jest jednym ze skończonego zestawu wartości (takich jak słonecznie/pochmurno/deszcz lub prawda/fałsz), problem uczenia się nazywa się klasyfikacją. Gdy jest to liczba (na przykład temperatura jutrzejsza, mierzona jako liczba całkowita lub liczba rzeczywista), problem uczenia się ma (co prawda niejasną) nazwę regresja. Istnieją trzy rodzaje informacji zwrotnych, które mogą towarzyszyć danym wejściowym i które określają trzy główne typy uczenia się:
- W uczeniu nadzorowanym agent obserwuje pary wejścia-wyjścia i uczy się funkcji, która odwzorowuje wejście na wyjście. Na przykład wejściami mogą być obrazy z kamer, każdemu z nich towarzyszy komunikat „autobus” lub „pieszy” itp. Takie wyjście nazywa się etykietą. Agent uczy się funkcji, która po otrzymaniu nowego obrazu przewiduje odpowiednią etykietę. W przypadku hamowania (element 1 powyżej), dane wejściowe to stan bieżący (prędkość i kierunek samochodu, stan drogi), a dane wyjściowe to odległość, jaką zajęło zatrzymanie. W takim przypadku zestaw wartości wyjściowych agent może uzyskać z jego własnych percepcji (po fakcie); otoczeniem jest nauczyciel, a agent uczy się funkcji, która odwzorowuje stany na odległość zatrzymania.
- W nienadzorowanym uczeniu się agent uczy się wzorców na wejściu bez wyraźnej informacji zwrotnej. Najczęstszym zadaniem uczenia się nienadzorowanego jest grupowanie: wykrywanie potencjalnie użytecznych klastrów przykładów wejściowych. Na przykład po wyświetleniu milionów obrazów zaczerpniętych z Internetu komputerowy system wizyjny może zidentyfikować duże skupisko podobnych obrazów, które anglojęzyczny użytkownik nazwałby „kotami”.
- W uczeniu się przez wzmocnienie agent uczy się z serii wzmocnień: nagród i kar. Na przykład, pod koniec partii szachowej agent otrzymuje informację, że wygrał (nagroda) lub przegrał (kara). To od agenta zależy, które z działań przed wzmocnieniem były za niego najbardziej odpowiedzialne, i może zmienić swoje działania, aby w przyszłości uzyskać więcej nagród.