Dlaczego podczas nauki Q-Learning wykorzystuje chciwość epsilon?


18

W artykule DeepMind na temat Deep Q-Learning dla gier wideo Atari ( tutaj ) używają one chciwości epsilon do eksploracji podczas treningu. Oznacza to, że gdy akcja zostanie wybrana podczas treningu, zostanie wybrana albo jako akcja o najwyższej wartości q, albo akcja losowa. Wybór między tymi dwoma jest losowy i oparty na wartości epsilon, a epsilon jest wyżarzany podczas treningu, tak że początkowo podejmowanych jest wiele losowych działań (eksploracja), ale w miarę postępu treningu podejmowanych jest wiele działań o maksymalnych wartościach q (eksploatacja).

Następnie podczas testowania używają również tej epsilon-chciwej metody, ale z epsilon o bardzo niskiej wartości, tak, że istnieje silna stronniczość w stosunku do eksploatacji nad eksploracją, faworyzując wybranie akcji o najwyższej wartości q zamiast akcji losowej. Jednak losowe działania są nadal czasami wybierane (5% czasu).

Moje pytania brzmią: dlaczego w tym momencie w ogóle konieczna jest eksploracja, skoro szkolenie zostało już przeprowadzone? Jeśli system nauczył się optymalnej polityki, to dlaczego nie zawsze można wybrać akcję o najwyższej wartości q? Czy eksploracja nie powinna odbywać się tylko w trakcie szkolenia, a następnie, gdy nauczy się optymalnej polityki, agent może po prostu wielokrotnie wybierać optymalne działanie?

Dzięki!


Może to być w jakiś sposób związane z deterministyczną naturą środowiska ALE. Jeśli nie wykonasz losowych akcji podczas oceny, zawsze wykonasz tę samą sekwencję akcji (ponieważ sekwencja stanów jest taka sama). Robią też losowe starty - poczekaj do 30 klatek, nie robiąc nic z tego powodu.
yobibyte

Odpowiedzi:


10

W artykule przyrodniczym wspominają:

Wyszkoleni agenci byli oceniani, grając w każdą grę 30 razy przez maksymalnie 5 minut za każdym razem z różnymi początkowymi przypadkowymi warunkami („noop”; patrz tabela danych rozszerzonych 1) i zasadą e-chciwości z epsilon 0,05. Procedurę tę przyjęto, aby zminimalizować możliwość nadmiernego dopasowania podczas oceny.

Myślę, że mają na myśli „niwelowanie negatywnych skutków nadmiernego / niedopasowania”. Korzystanie z epsilon 0 jest w pełni wyzyskującym (jak zauważyłeś) wyborem i stanowi mocne stwierdzenie.

Rozważmy na przykład grę labiryntową, w której bieżące szacunki Q agenta są zbieżne z optymalną polityką, z wyjątkiem jednej siatki, w której łapczywie przesuwa się w kierunku granicy, która powoduje, że pozostaje ona w tej samej siatce. Jeśli agent osiągnie taki stan i wybierze akcję Max Q, utknie tam na wieczność. Jednak zachowanie niejasnego elementu eksploracyjnego / stochastycznego w swojej polityce (jak niewielka ilość epsilonu) pozwala mu wydostać się z takich stanów.

To powiedziawszy, z implementacji kodu, na które patrzyłem (i sam kodowałem) w praktyce, wydajność często mierzy się za pomocą zachłannej polityki z dokładnych powodów, które wymieniasz w swoim pytaniu.



2

Myślę, że celem testów jest zrozumienie, jak system reaguje w rzeczywistych sytuacjach.


ϵ

Opcja 2:
Jeśli martwią się kruchością, grając przeciwko mniej „nieskazitelnie racjonalnemu” zawodnikowi, mogą „wygrzewać” swoje wyniki treningowe, aby ich nie przecenić.

Opcja 3:
To jest ich magiczny dym. Będą to fragmenty, których nie mogą i nie chcą się dzielić. Mogą to publikować, aby ukryć coś zastrzeżonego lub wyjątkowo istotnego dla ich firmy, czego nie chcą się dzielić.

Opcja 4:
mogą użyć powtarzanych testów i różnych wartości epsilon, aby sprawdzić, ile „tłuszczu” pozostało w systemie. Jeśli mieli słabą randomizację lub tak wiele próbek, że nawet uczciwa randomizacja zaczyna się powtarzać, wówczas metoda mogłaby „nauczyć się” nieprawdziwego zachowania wobec pseudolosowego uprzedzenia. Może to pozwolić na sprawdzenie tego w fazie testowej.

Jestem pewien, że istnieje pół tuzina innych ważnych powodów, ale o tym mogłem myśleć.

EDYCJA: uwaga dla siebie, bardzo podoba mi się ta „krucha” myśl. Myślę, że może to być egzystencjalna słabość pośredniej sztucznej inteligencji pierwszej generacji.


1

Powód korzystania ϵ- pożądanym podczas testowania jest to, że w przeciwieństwie do nadzorowanego uczenia maszynowego (na przykład klasyfikacji obrazów), w uczeniu się przez wzmocnienie nie ma niewidzialnego, przetrzymywanego zestawu danych dostępnych dla fazy testowej. Oznacza to, że algorytm jest testowany na tej samej konfiguracji, na której został przeszkolony. Teraz artykuł wspomina (sekcja Metody, procedura oceny):

Wyszkoleni agenci byli oceniani, grając w każdą grę 30 razy przez maksymalnie 5 minut za każdym razem z różnymi początkowymi przypadkowymi warunkami („brak”; patrz Tabela danych rozszerzonych 1) i ϵ-greedy polityka z ϵ=0,05. Procedurę tę przyjęto, aby zminimalizować możliwość nadmiernego dopasowania podczas oceny.

Zwłaszcza, że ​​wstępnie przetworzone dane wejściowe zawierają historię wcześniej napotkanych stanów, problemem jest to, że zamiast uogólniać na podstawową rozgrywkę, agent zapamiętuje optymalne trajektorie dla tej konkretnej gry i odtwarza je podczas fazy testowania; rozumie się przez to „możliwość nadmiernego dopasowania podczas oceny” . W środowiskach deterministycznych jest to oczywiste, ale również w przypadku stochastycznych zmian stanów może wystąpić zapamiętywanie (tj. Nadmierne dopasowanie). Wykorzystanie randomizacji podczas fazy testowej, w postaci początkowych przerw w losowaniu, a także części losowych akcji podczas gry, zmusza algorytm do radzenia sobie z nieprzewidzianymi stanami, a zatem wymaga pewnego stopnia uogólnienia.

Z drugiej strony ϵ-greedy nie jest wykorzystywany do potencjalnej poprawy wydajności algorytmu, pomagając mu utknąć w źle wyszkolonych obszarach przestrzeni obserwacyjnej. Chociaż daną zasadę zawsze można traktować jedynie jako przybliżenie optymalnej polityki (przynajmniej dla tego rodzaju zadań), przeszkolono ją znacznie dalej niż punkt, w którym algorytm wykonywałby bezsensowne działania. Za pomocąϵ=0podczas testowania potencjalnie poprawiłoby wydajność, ale chodzi tutaj o pokazanie zdolności do generalizacji. Co więcej, w większości gier Atari stan ewoluuje również przy braku akcji, więc agent naturalnie „utknie”, jeśli to się kiedykolwiek zdarzy. Biorąc pod uwagę wspomniany gdzie indziej przykład labiryntu, w którym środowisko nie ewoluuje w przypadku braku operacji, agent szybko dowie się, że wpadnięcie na ścianę nie jest dobrym pomysłem, jeśli nagroda jest odpowiednio ukształtowana (na przykład -1 za każdy krok); szczególnie przy zastosowaniu optymistycznych wartości początkowych wymagana eksploracja odbywa się naturalnie. Jeśli nadal zdarza Ci się znaleźć algorytm, który utknął w niektórych sytuacjach, oznacza to, że musisz wydłużyć czas szkolenia (tj. Uruchomić więcej odcinków), zamiast wprowadzać pomocniczą randomizację w odniesieniu do działań.

Jeśli jednak pracujesz w środowisku o zmieniającej się dynamice systemu (tj. Zmiany stanu lub nagrody zmieniają się w czasie), musisz zachować pewien stopień eksploracji i odpowiednio zaktualizować swoją politykę, aby nadążać za zmianami.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.