Connect with us

Co to jest uczenie ze wzmocnieniem?

AI 101

Co to jest uczenie ze wzmocnieniem?

mm

Co to jest uczenie ze wzmocnieniem?

Uczenie ze wzmocnieniem to prosta technika uczenia maszynowego, która polega na szkoleniu sztucznej inteligencji poprzez powtarzanie działań i powiązanych z nimi nagród. Agent uczenia ze wzmocnieniem eksperymentuje w środowisku, podejmując działania i otrzymując nagrody, gdy podejmie prawidłowe działania. Z czasem agent uczy się podejmować działania, które maksymalizują jego nagrodę. To szybka definicja uczenia ze wzmocnieniem, ale przyjrzenie się bliżej pojęciom za tym stanowi pomoże zrozumieć je lepiej.

Termin “uczenie ze wzmocnieniem” został zaadaptowany z pojęcia wzmocnienia w psychologii. Z tego powodu, spójrzmy na pojęcie wzmocnienia w psychologii. W psychologicznym sensie, termin wzmocnienie odnosi się do czegoś, co zwiększa prawdopodobieństwo, że określona odpowiedź lub działanie wystąpi. To pojęcie wzmocnienia jest centralną ideą teorii warunkowania operacyjnego, początkowo zaproponowanej przez psychologa B.F. Skinnera. W tym kontekście, wzmocnienie to wszystko, co powoduje zwiększenie częstotliwości danego zachowania. Jeśli pomyślimy o możliwych wzmocnieniach dla ludzi, mogą to być rzeczy takie jak pochwała, podwyżka w pracy, cukierki i zabawne zajęcia.

W tradycyjnym, psychologicznym sensie, istnieją dwa rodzaje wzmocnienia. Istnieje wzmocnienie pozytywne i negatywne. Wzmocnienie pozytywne polega na dodaniu czegoś, aby zwiększyć zachowanie, jak na przykład dawanie psu smakołyku, gdy jest grzeczny. Wzmocnienie negatywne polega na usunięciu bodźca, aby wywołać zachowanie, jak na przykład wyłączenie głośnych dźwięków, aby wywołać nieśmiałego kota.

Wzmocnienie pozytywne i negatywne

Wzmocnienie pozytywne zwiększa częstotliwość zachowania, podczas gdy wzmocnienie negatywne zmniejsza częstotliwość. Ogólnie, wzmocnienie pozytywne jest najczęściej używanym rodzajem wzmocnienia w uczeniu ze wzmocnieniem, ponieważ pomaga modelom maksymalizować wydajność w danym zadaniu. Nie tylko to, ale wzmocnienie pozytywne prowadzi model do wprowadzania trwałych zmian, zmian, które mogą stać się stałymi wzorcami i utrzymywać się przez długi czas.

Z drugiej strony, chociaż wzmocnienie negatywne również sprawia, że zachowanie jest bardziej prawdopodobne, jest używane do utrzymania minimalnego standardu wydajności, a nie do osiągnięcia maksymalnej wydajności modelu. Wzmocnienie negatywne w uczeniu ze wzmocnieniem może pomóc upewnić się, że model jest trzymany z dala od niepożądanych działań, ale nie może sprawić, że model będzie eksplorować pożądane działania.

Szkolenie agenta uczenia ze wzmocnieniem

Gdy agent uczenia ze wzmocnieniem jest szkolony, istnieją cztery różne składniki lub stany używane w szkoleniu: stan początkowy (Stan 0), nowy stan (Stan 1), działania i nagrody.

Wyobraźmy sobie, że szkolimy agenta uczenia ze wzmocnieniem, aby grał w platformową grę wideo, gdzie celem AI jest dotarcie do końca poziomu, poruszając się w prawo po ekranie. Stan początkowy gry jest pobierany ze środowiska, co oznacza, że pierwszy klatka gry jest analizowany i podawany modelowi. Na podstawie tej informacji model musi podjąć decyzję o działaniu.

Podczas początkowych faz szkolenia, te działania są losowe, ale gdy model jest wzmocniony, pewne działania staną się bardziej powszechne. Po podjęciu działania środowisko gry jest aktualizowane i tworzony jest nowy stan lub klatka. Jeśli działanie podjęte przez agenta wyprodukowało pożądany wynik, powiedzmy, w tym przypadku, że agent jest nadal żywy i nie został trafiony przez wroga, pewna nagroda jest dana agentowi i staje się bardziej prawdopodobne, że zrobi to samo w przyszłości.

Ten podstawowy system jest ciągle powtarzany, zdarzający się raz po raz, i za każdym razem agent próbuje nauczyć się trochę więcej i maksymalizować swoją nagrodę.

Zadania epizodyczne vs ciągłe

Zadania uczenia ze wzmocnieniem można zwykle umieścić w jednej z dwóch różnych kategorii: zadania epizodyczne i zadania ciągłe.

Zadania epizodyczne będą wykonywać pętlę uczenia/szkolenia i poprawiać swoją wydajność, aż zostaną spełnione pewne kryteria końcowe i szkolenie zostanie zakończone. W grze może to być dotarcie do końca poziomu lub upadek w pułapkę, taką jak kolce. Z drugiej strony, zadania ciągłe nie mają kryteriów zakończenia, a zatem szkolenie trwa w nieskończoność, aż inżynier zdecyduje się zakończyć szkolenie.

Monte Carlo vs Temporal Difference

Istnieją dwa podstawowe sposoby uczenia, lub szkolenia, agenta uczenia ze wzmocnieniem. W podejściu Monte Carlo, nagrody są dostarczane agentowi (jego wynik jest aktualizowany) tylko na końcu epizodu szkolenia. Innymi słowy, dopiero gdy zostanie spełniony warunek zakończenia, model uczy się, jak dobrze wykonał. Może następnie użyć tej informacji do aktualizacji, a gdy następna runda szkolenia zostanie rozpoczęta, będzie reagować zgodnie z nowymi informacjami.

Metoda temporal-difference różni się od metody Monte Carlo, ponieważ estymacja wartości, lub estymacja wyniku, jest aktualizowana w trakcie epizodu szkolenia. Gdy model przejdzie do następnego kroku czasowego, wartości są aktualizowane.

Eksploracja vs eksploatacja

Szkolenie agenta uczenia ze wzmocnieniem jest aktem balansowania, polegającym na balansowaniu dwóch różnych miar: eksploracji i eksploatacji.

Eksploracja to akt zbierania więcej informacji o otoczeniu, podczas gdy eksploatacja polega na używaniu informacji już znanych o środowisku, aby zarobić punkty nagrody. Jeśli agent tylko eksploruje i nigdy nie eksploatuje środowiska, pożądane działania nigdy nie będą wykonywane. Z drugiej strony, jeśli agent tylko eksploatuje i nigdy nie eksploruje, agent nauczy się wykonywać tylko jedną akcję i nie odkryje innych możliwych strategii zarobkowania nagród. Dlatego también ważne jest, aby balansować eksplorację i eksploatację przy tworzeniu agenta uczenia ze wzmocnieniem.

Przypadki użycia uczenia ze wzmocnieniem

Uczenie ze wzmocnieniem może być używane w szerokim zakresie ról i jest najlepiej dopasowane do aplikacji, w których zadania wymagają automatyzacji.

Automatyzacja zadań do wykonania przez roboty przemysłowe jest jednym z obszarów, w którym uczenie ze wzmocnieniem okazuje się przydatne. Uczenie ze wzmocnieniem może być również używane do problemów takich jak wydobywanie tekstów, tworzenie modeli, które mogą podsumować długie teksty. Naukowcy również eksperymentują z używaniem uczenia ze wzmocnieniem w dziedzinie opieki zdrowotnej, z agentami uczenia ze wzmocnieniem, które zajmują się zadaniami takimi jak optymalizacja polityk leczenia. Uczenie ze wzmocnieniem mogłoby być również używane do dostosowania materiałów edukacyjnych do potrzeb uczniów.

Podsumowanie uczenia ze wzmocnieniem

Uczenie ze wzmocnieniem to potężna metoda konstruowania agentów AI, która może prowadzić do imponujących i czasem zaskakujących wyników. Szkolenie agenta za pomocą uczenia ze wzmocnieniem może być skomplikowane i trudne, ponieważ wymaga wielu iteracji szkolenia i delikatnego balansu między eksploracją a eksploatacją. Jednak jeśli jest to udane, agent stworzony za pomocą uczenia ze wzmocnieniem może wykonywać złożone zadania w szerokim zakresie różnych środowisk.

Blogger i programista ze specjalnościami w Machine Learning i Deep Learning tematy. Daniel liczy, że pomoże innym wykorzystać moc sztucznej inteligencji dla dobra społecznego.