Sztuczna inteligencja, czyli szybkie wprowadzenie do ML, RL i DL
Co to jest uczenie ze wzmacnianiem?
Niektórzy, mówiąc o sztucznej inteligencji, myślą o uczeniu maszynowym, a inni — o uczeniu ze wzmacnianiem. Należę do tej drugiej kategorii. Zawsze postrzegałem uczenie maszynowe jako modele statystyczne, które mają zdolność uczenia się pewnych korelacji, na podstawie których sporządzają prognozy bez jawnego programowania.
Chociaż jest to w pewnym sensie forma sztucznej inteligencji, uczenie maszynowe nie obejmuje procesu podejmowania działań i interakcji ze środowiskiem, inaczej niż my, ludzie.
Rzeczywiście, jako inteligentne istoty ludzkie, nieustannie robimy, co następuje:
- Obserwujemy pewne dane wejściowe, czyli to, co widzimy oczami, co słyszymy uszami, czy to, co pamiętamy.
- Te dane wejściowe są następnie przetwarzane w naszym mózgu.
- Ostatecznie podejmujemy decyzje i podejmujemy działania.
Ten proces interakcji ze środowiskiem jest tym, co próbujemy odtworzyć w kategoriach sztucznej inteligencji. Gałęzią sztucznej inteligencji, która nad tym pracuje, jest uczenie ze wzmacnianiem. To jest najbliższe temu, jak myślimy — najbardziej zaawansowana forma sztucznej inteligencji, jeśli postrzegamy sztuczną inteligencję jako naukę, która próbuje naśladować (lub przewyższać) inteligencję ludzką.
Uczenie ze wzmacnianiem ma również najbardziej imponujące wyniki w zastosowaniach biznesowych AI. Na przykład Alibaba wykorzystał program Reinforcement Learning do zwiększenia zwrotu z inwestycji w reklamy online o 240% — bez zwiększania budżetu reklamowego (patrz https://arxiv.org/pdf/1802.09756.pdf, strona 9, tabela 1., ostatni wiersz — DCMAB).
W tej książce zajmiemy się tą samą aplikacją branżową!
Pięć zasad Reinforcement Learning
Zacznijmy od zbudowania pierwszych filarów, na których się opiera uczenie ze wzmacnianiem. Są to podstawowe zasady, które pozwolą Ci zacząć od właściwych, solidnych podstaw sztucznej inteligencji.
Oto pięć wspomnianych zasad:
Zasada nr 1: system wejściowy i wyjściowy
Zasada nr 2: nagroda
Zasada nr 3: środowisko AI
Zasada nr 4: proces decyzyjny Markowa
Zasada nr 5: szkolenie i wnioskowanie
W kolejnych punktach zapoznasz się z każdą z powyższych zasad.
Zasada nr 1 — system wejścia i wyjścia
Pierwszym krokiem jest zrozumienie, że obecnie wszystkie modele sztucznej inteligencji opierają się na wspólnej zasadzie danych wejściowych i wyjściowych. Każda forma sztucznej inteligencji, w tym modele uczenia maszynowego, chatboty, systemy rekomendujące, roboty i oczywiście modele uczenia ze wzmacnianiem, przyjmują coś jako dane wejściowe i coś zwracają jako dane wyjściowe.
Rysunek 4.1. System wejścia i wyjścia
W uczeniu ze wzmacnianiem te wejścia i wyjścia mają określoną nazwę: wejście nazywa się stanem lub stanem wejścia. Dane wyjściowe to działanie wykonane przez sztuczną inteligencję. W środku nie mamy nic poza funkcją, która przyjmuje stan jako dane wejściowe i zwraca akcję jako wyjście. Ta funkcja nazywa się polityką. Zapamiętaj nazwę „polityka”, ponieważ często można ją spotkać w literaturze dotyczącej sztucznej inteligencji.
Jako przykład rozważ samochód autonomiczny. Spróbuj sobie wyobrazić, jakie byłyby dane wejściowe i wyjściowe w takim przypadku.
Sygnał wejściowy byłby tym, co widzi wbudowany system wizyjny, a wyjściem byłby ruch samochodu: przyspieszenie, zwolnienie, skręt w lewo, skręt w prawo lub hamowanie. Należy zauważyć, że wynikiem w dowolnym momencie (t) może być kilka czynności wykonywanych w tym samym czasie. Na przykład samochód autonomiczny może przyspieszyć i jednocześnie skręcić w lewo. Analogicznie wejście w każdym momencie (t) może składać się z kilku elementów: głównie obrazu obserwowanego przez komputerowy system wizyjny, ale także niektórych parametrów samochodu, takich jak bieżąca prędkość i ilość paliwa.
To pierwsza ważna zasada sztucznej inteligencji: jest to inteligentny system (polityka), który przyjmuje pewne elementy jako dane wejściowe, wykonuje swoją magię w środku i zwraca niektóre działania do wykonania jako dane wyjściowe. Pamiętaj, że wejścia nazywane są również stanami.
Następną ważną zasadą jest nagroda.
Zasada nr 2 — nagroda
Każda sztuczna inteligencja ma swoją wydajność mierzoną systemem nagród. Nie ma w tym nic zagmatwanego; nagroda jest po prostu miernikiem, który powie AI, jak dobrze sobie radzi w czasie.
Najprostszym przykładem jest nagroda binarna: 0 lub 1. Wyobraź sobie sztuczną inteligencję, która musi odgadnąć wynik. Jeśli przypuszczenie okaże się poprawne, nagroda wyniesie 1, a jeśli błędne, nagrodą będzie 0. Może to być system nagród zdefiniowany dla AI; to naprawdę może być takie proste!
Jednak nagroda nie musi być binarna. Może być ciągła. Pomyśl o słynnej grze Breakout:
Rysunek 4.2. Gra Breakout
Wyobraź sobie sztuczną inteligencję grającą w tę grę. Spróbuj się dowiedzieć, jaka byłaby nagroda w takim przypadku. To może być po prostu wynik; dokładniej, wynik byłby nagromadzoną w czasie nagrodą w jednej grze, a nagrody można zdefiniować jako pochodną tego wyniku.
To jeden z wielu sposobów na zdefiniowanie systemu nagród dla tej gry. Różne AI będą miały różne struktury nagród; w tej książce stworzymy pięć systemów nagród dla pięciu różnych rzeczywistych zastosowań.
Mając to na uwadze, pamiętaj również o tym: ostatecznym celem sztucznej inteligencji zawsze będzie maksymalizacja zgromadzonej nagrody w czasie.
To są pierwsze dwie podstawowe, ale fundamentalne zasady sztucznej inteligencji w jej obecnym kształcie — system wejścia i wyjścia oraz nagroda. Następną kwestią do rozważenia jest środowisko AI.
Zasada nr 3 — środowisko AI
Trzecią zasadą jest to, co nazywamy środowiskiem sztucznej inteligencji. Jest to bardzo prosta struktura, w której za każdym razem definiujesz trzy rzeczy (t):
- wejście (stan),
- wynik (akcję),
- nagrodę (miernik wyników).
Dla każdej tworzonej dzisiaj sztucznej inteligencji opartej na uczeniu ze wzmacnianiem zawsze definiujemy środowisko złożone z powyższych elementów. Ważne jest jednak, aby zrozumieć, że w danym środowisku sztucznej inteligencji jest ich więcej.
Na przykład, jeśli budujesz sztuczną inteligencję, która miałaby wygrać w grze wyścigowej, środowisko będzie również zawierało mapę i rozgrywkę tej gry. Lub, na przykładzie samojezdnego samochodu, środowisko będzie zawierało także wszystkie drogi, po których jedzie sztuczna inteligencja, oraz obiekty otaczające te drogi. Ale podczas budowania dowolnej sztucznej inteligencji zawsze wystąpią trzy elementy: stan, akcja i nagroda. Kolejna zasada, proces decyzyjny Markowa, obejmuje ich praktyczne działanie.
Zasada nr 4 — proces decyzyjny Markowa
Proces decyzyjny Markowa lub MDP to po prostu proces, który modeluje sposób interakcji sztucznej inteligencji ze środowiskiem w czasie. Proces zaczyna się od t = 0, a następnie, przy każdej następnej iteracji, czyli w t = 1, t = 2,… t = n jednostek czasu (gdzie jednostką może być dowolna liczba, na przykład 1 sekunda), AI ma ten sam format przejścia:
- AI obserwuje aktualny stan, st.
- AI wykonuje akcję, at.
- AI otrzymuje nagrodę, rt = R(st,at).
- AI wchodzi w następny stan, st+1
W modelu uczenia ze wzmacnianiem cel sztucznej inteligencji jest zawsze taki sam: jest nim maksymalizacja nagromadzonych nagród w czasie, to znaczy suma wszystkich rt = R(st,at) otrzymanych w każdym przejściu.
Poniższa grafika pomoże Ci lepiej zwizualizować i zapamiętać MDP (proces decyzyjny Markowa), podstawę modeli uczenia ze wzmacnianiem:
Rysunek 4.3. Proces decyzyjny Markowa
Teraz cztery podstawowe filary już kształtują Twoją intuicję w zakresie sztucznej inteligencji. Dodanie ostatniej ważnej zasady uzupełnia podstawy zrozumienia sztucznej inteligencji.
Ostatnia zasada to szkolenie i wnioskowanie; podczas treningu sztuczna inteligencja uczy się i wnioskując, przewiduje.
Zasada nr 5 — szkolenie i wnioskowanie
Ostatnią zasadą, którą musisz zrozumieć, jest różnica między treningiem a wnioskiem. Podczas budowania AI jest czas na tryb treningu i osobny czas na tryb wnioskowania.
Tryb treningowy
Teraz rozumiesz, na podstawie trzech pierwszych zasad, że pierwszym krokiem w tworzeniu sztucznej inteligencji jest zbudowanie środowiska, w którym jasno zdefiniowane będą stany wejściowe, działania wyjściowe i system nagród. Z czwartej zasady rozumiesz również, że w tym środowisku zbudujemy sztuczną inteligencję, starając się zmaksymalizować łączną nagrodę nagromadzoną w czasie.
Mówiąc prościej, będzie wstępny (i długi) okres, w którym sztuczna inteligencja zostanie przeszkolona, aby to robić. Ten okres nazywa się treningiem; możemy też powiedzieć, że AI jest w trybie treningowym. W tym czasie AI nieustannie próbuje osiągnąć określony cel, aż mu się to uda. Po każdej próbie parametry modelu AI są modyfikowane, aby w następnej wypadł lepiej.
Powiedzmy, że budujesz autonomiczny samochód i chcesz, aby jechał z punktu A do punktu B. Wyobraźmy sobie również, że chcesz, aby Twój autonomiczny samochód omijał przeszkody. Oto jak przebiega proces szkolenia:
- Wybierasz model AI, którym może być próbkowanie Thompsona (rozdziały 5. I 6.), Q-learning (rozdziały 7. i 8.), głębokie Q-learning (rozdziały 9., 10. i 11.) lub nawet głębokie konwolucyjne Q-learning (rozdziały 12. i 13.).
- Inicjalizujesz parametry modelu.
- Twoja sztuczna inteligencja próbuje przejść od punktu A do punktu B (obserwując stany i wykonując swoje działania). Podczas tej pierwszej próby im bliżej B, tym wyższą nagrodę otrzymasz dla AI. Jeśli nie dotrze do B lub uderzy w przeszkodę, dajesz mu bardzo złą nagrodę. Jeśli uda mu się dotrzeć do B bez uderzenia w żadną przeszkodę, dasz mu niezwykle dobrą nagrodę. To tak, jakbyś trenował psa, aby siedział: jeśli siedzi, dajesz mu smakołyk lub mówisz „dobry pies” (pozytywna nagroda), a jeśli jest nieposłuszny, dajesz mu jakąkolwiek niewielką karę (nagroda negatywna). Ten proces jest treningiem i działa w ten sam sposób w uczeniu ze wzmacnianiem.
- Pod koniec próby (nazywanej również epizodem) modyfikujesz parametry modelu, aby następnym razem był lepszy. Parametry są inteligentnie modyfikowane — albo iteracyjnie, za pomocą równań (Q-learning), albo przy użyciu technik uczenia maszynowego i uczenia głębokiego, takich jak zejście stochastycznego gradientu lub propagacja wsteczna. Wszystkie te techniki zostaną omówione w tej książce.
- Powtarzasz kroki 3. i 4., a potem jeszcze raz i jeszcze raz, aż osiągniesz pożądaną wydajność; to znaczy dopóki nie będziesz mieć całkowicie bezpiecznego samochodu autonomicznego!
Więc to jest trening. A co z wnioskami?
Tryb wnioskowania
Tryb wnioskowania pojawia się po prostu wtedy, gdy Twoja sztuczna inteligencja jest w pełni wyszkolona i gotowa do dobrego działania. Działanie to będzie polegać na interakcji z otoczeniem przez wykonywanie czynności zmierzających do osiągnięcia celu, do którego osiągnięcia sztuczna inteligencja została wyszkolona przed rozpoczęciem treningu. W trybie wnioskowania żadne parametry nie są modyfikowane na końcu każdego epizodu.
Na przykład wyobraź sobie, że masz firmę AI, która tworzy spersonalizowane rozwiązania AI dla firm, a jeden z Twoich klientów poprosił Cię o zbudowanie AI w celu optymalizacji przepływów w inteligentnej sieci. Najpierw wchodzisz w fazę badań i rozwoju, podczas której trenujesz swoją sztuczną inteligencję, aby zoptymalizować te przepływy (tryb szkolenia), a gdy tylko osiągasz dobry poziom wydajności, dostarczasz swoją sztuczną inteligencję klientowi i rozpoczynasz produkcję. Twoja sztuczna inteligencja reguluje przepływy w inteligentnej sieci tylko przez obserwację aktualnych stanów sieci i wykonywanie czynności, do których została przeszkolona. To jest tryb wnioskowania.
Czasami środowisko się zmienia. W takim przypadku musisz szybko przełączać się między trybami treningu i wnioskowania, aby Twoja sztuczna inteligencja mogła dostosować się do nowych zmian w środowisku. Jeszcze lepszym rozwiązaniem jest codzienne trenowanie modelu AI i przechodzenie do trybu wnioskowania z ostatnio wyuczonym modelem.
To była ostatnia z podstawowych zasad wspólnych dla każdej sztucznej inteligencji. Gratulacje — teraz masz już solidną podstawową wiedzę na temat sztucznej inteligencji! Skoro to masz, jesteś gotowy, aby w następnym rozdziale zająć się swoim pierwszym modelem AI: prostym, ale bardzo potężnym, wciąż szeroko stosowanym w biznesie i marketingu. Będziesz rozwiązywał problem o zachwycającej nazwie: problem wielorękiego bandyty (ang. multi-armed bandit problem).
Podsumowanie
Nauczyłeś/aś się pięciu podstawowych zasad sztucznej inteligencji z perspektywy uczenia ze wzmacnianiem. Po pierwsze, sztuczna inteligencja to system, który przyjmuje obserwację (wartości, obrazy lub dowolne dane) jako dane wejściowe i zwraca akcję do wykonania jako dane wyjściowe (zasada nr 1).
Następnie istnieje system nagród, który pomaga mierzyć jego wydajność. Sztuczna inteligencja będzie się uczyć metodą prób i błędów na podstawie nagrody, jaką otrzyma w czasie (zasada nr 2). Wejście (stan), wyjście (działanie) i system nagród definiują środowisko AI (zasada nr 3). AI współdziała z tym środowiskiem poprzez proces decyzyjny Markowa (zasada nr 4).
Wreszcie, w trybie treningowym, sztuczna inteligencja uczy się, jak zmaksymalizować swoją całkowitą nagrodę, aktualizując iteracyjnie swoje parametry.
W trybie wnioskowania sztuczna inteligencja wykonuje swoje działania w pełnych epizodach bez aktualizowania któregokolwiek ze swoich parametrów — to znaczy bez uczenia się (zasada nr 5).
*Artykuł stanowi fragment książki pt. „Sztuczna inteligencja. Błyskawiczne wprowadzenie do uczenia maszynowego, uczenia ze wzmocnieniem i uczenia głębokiego” Hadelin de Ponteves (Helion 2021)