Dlaczego nie widzisz warstw rezygnacji na przykładach uczenia się zbrojenia?


13

Patrzyłem na naukę wzmacniania, a konkretnie bawiłem się, tworząc własne środowiska do użycia z SI OpenAI Gym. Korzystam z agentów z projektu stable_baselines do testowania go.

Jedną z rzeczy, które zauważyłem w praktycznie wszystkich przykładach RL, jest to, że nigdy nie wydaje się, aby w żadnej sieci istniały warstwy usuwające. Dlaczego to?

Stworzyłem środowisko, które symuluje ceny walut i prosty agent, używając DQN, który próbuje dowiedzieć się, kiedy kupować i sprzedawać. Przeszkolenie go na ponad milion kroków czasowych zaczerpniętych z określonego zestawu danych składających się z 5-minutowych danych cenowych z jednego miesiąca wydaje się bardzo przeważać. Jeśli następnie ocenię agentów i model na podstawie danych z innego miesiąca, wyniki będą fatalne. Brzmi jak klasyczne przepasanie.

Ale czy istnieje powód, dla którego nie widzisz warstw usuwających w sieciach RL? Czy istnieją inne mechanizmy radzenia sobie z nadmiernym dopasowaniem? Czy w wielu przykładach RL to nie ma znaczenia? np. może istnieć tylko jedna prawdziwa droga do najwyższego wyniku w grze „breakout”, więc równie dobrze możesz się tego nauczyć i nie musisz generalizować?

Czy też uważa się, że chaotyczna natura samego środowiska powinna zapewniać wystarczająco różne kombinacje rezultatów, że nie trzeba mieć rezygnujących warstw?


1
Czy próbowałeś dodać rezygnację z sieci RL, aby zobaczyć, co się stanie? Mam (dla solwera LunarLander_v2, który dobrze działa inaczej), a wyniki były okropne, przechodzi od rozwiązywania w 400 odcinkach, do kompletnego niepowodzenia w rozwiązywaniu (i próbowałem wielu odmian w innych parach). Inna legalizacja jest OK, a nawet korzystna. Nie wiem jednak, dlaczego problemy z porzuceniem, myślałem o zadaniu tutaj pytania. . .
Neil Slater,

Neil, tak, wydaje się, że twoje doświadczenie tam przypomina echo tego, co powiedział poniżej Dennis. Tak jak się spodziewałem, w scenariuszu typu „rozwiąż tę zagadkę” naprawdę chcesz się dopasować, ponieważ chcesz rozwiązać tę konkretną łamigłówkę. I chcesz wiedzieć, czy napotykasz niebieskiego kosmitę czy czerwonego kosmitę, ponieważ mogą zachowywać się inaczej w twojej grze.
Matt Hamilton,

@MattHamilton Właśnie zobaczyłem wątek tweetów, które ktoś napisał na temat historii „Badacze RL oceniają dane szkoleniowe”. W swojej odpowiedzi edytowałem link do tego. Chodzi o to samo, jeśli chodzi o odpowiedź na twoje pytanie, ale zgadzam się z łańcuchem tweetów, które tam linkowałem, że prawda jest nieco bardziej zniuansowana.
Dennis Soemers,

Odpowiedzi:


11

Dropout zasadniczo wprowadza nieco więcej wariancji. W nadzorowanych ustawieniach uczenia się rzeczywiście pomaga to ograniczyć nadmierne dopasowanie (chociaż uważam, że porzucanie nauki staje się już coraz mniej .. modne w ostatnich latach niż kilka lat wcześniej; nie jestem jednak w 100% pewien, że nie jest to mój główny cel Obszar zainteresowań).

W uczeniu się zbrojenia dodatkowa wariancja nie jest tak naprawdę tym, czego szukamy. Już teraz występuje duża wariancja w sygnałach uczenia się, które otrzymujemy, i ta wariancja już stanowi poważny problem dla stabilności uczenia się i / lub prędkości uczenia się. Na przykład:

  • Losowość w doborze akcji prowadzi do wariancji obserwowanych zwrotów
  • Może występować przypadkowość związana z samym środowiskiem, co prowadzi do dodatkowej zmienności w naszych obserwacjach (niektóre środowiska są niedeterministyczne)
  • W przeciwieństwie do ustawień uczenia nadzorowanego, w uczeniu się wzmacniającym często faktycznie wykorzystujemy własne prognozy jako część naszej funkcji utraty / sygnału treningowego. Na przykład w uczeniu się różnic czasowych (takich jak Q-learning / DQN) wygląda cel, do którego aktualizujemyr+maxzaQ(s,za). W tym znaczeniu tylko jest obserwacją opartą na prawdziwej prawdzie (tak jakbyśmy używali go w nadzorowanym uczeniu się), a drugi termin jest naszą własną prognozą. Podczas procesu uczenia się te ostatnie części (nasze własne przewidywania) zmieniają się z czasem. Jest to problem „ ruchomego celu ”, który można postrzegać jako dodatkową wariancję naszych sygnałów uczenia się.r

Wiele ważnych części algorytmów Deep RL (bez których nasze procesy szkoleniowe empirycznie okazują się destabilizować i załamać) są bardzo dostosowane do zmniejszenia tej wariancji. Na przykład sieci docelowe w DQN zostały wprowadzone specjalnie w celu zmniejszenia problemu ruchomego celu. Z tego punktu widzenia nie jest zaskakujące, że gdybyśmy ponownie dodali więcej sztucznej wariancji za pomocą innych środków (takich jak rezygnacja), to zaszkodziłoby to wydajności / uczeniu się destabilizującemu.


Czy istnieją inne mechanizmy radzenia sobie z nadmiernym dopasowaniem? Czy w wielu przykładach RL to nie ma znaczenia? np. może istnieć tylko jedna prawdziwa droga do najwyższego wyniku w grze „breakout”, więc równie dobrze możesz się tego nauczyć i nie musisz generalizować?

W większości obecnych badań (głębokiego) uczenia się nad wzmocnieniem nadmierne dopasowanie nie jest postrzegane jako problem. Zdecydowana większość badań RL polega na szkoleniu w jednym środowisku (na przykład Cartpole lub Breakout, lub na jednym konkretnym poziomie w Pacmanie, lub nawigowaniu w jednym konkretnym labiryncie itp.) Oraz ciągłej ocenie wydajności podczas tego procesu uczenia się lub ocenie wydajność po takim procesie uczenia się w tym samym środowisku .

Gdybyśmy porównali tę metodologię oceny do tego, co dzieje się w nauczaniu nadzorowanym ... zasadniczo oceniamy wyniki na zestawie szkoleniowym * . W uczeniu nadzorowanym byłoby to absolutnie nie do przyjęcia, ale w RL jest bardzo traktowane jako akceptowalne i więcej niż reguła. Niektórzy twierdzą, że jest to po prostu problem w obecnych badaniach RL, coś, co należy zmienić. Można również argumentować, że niekoniecznie jest to problem; jeśli naprawdę jesteśmy w stanie wyszkolić agenta w dokładnie tym samym środowisku, w którym chcemy go wdrożyć później ... cóż, na czym polega problem z dopasowaniem go do tego środowiska?

Tak więc, gdy stosujemy metodologię oceny opisaną powyżej, rzeczywiście pasujemy do jednego określonego środowiska, ale dopasowanie jest dobre, a nie złe, zgodnie z naszymi kryteriami oceny . Oczywiste jest, że ta metodologia nie prowadzi do agentów, które mogą dobrze uogólniać; jeśli konsekwentnie trenujesz agenta do poruszania się w jednym konkretnym labiryncie, prawdopodobnie nie będzie on w stanie nawigować po innym labiryncie po treningu.

* Uwaga: moim zdaniem prawda jest nieco bardziej szczegółowa niż to, że tak naprawdę „oceniamy na zestawie treningowym” w RL. Zobacz na przykład ten miły wątek tweetów: https://twitter.com/nanjiang_cs/status/1049682399980908544


Stworzyłem środowisko, które symuluje ceny walut i prosty agent, używając DQN, który próbuje dowiedzieć się, kiedy kupować i sprzedawać. Przeszkolenie go na ponad milion kroków czasowych zaczerpniętych z określonego zestawu danych składających się z 5-minutowych danych cenowych z jednego miesiąca wydaje się bardzo przeważać. Jeśli następnie ocenię agentów i model na podstawie danych z innego miesiąca, wyniki będą fatalne. Brzmi jak klasyczne przepasanie.

Zauważ, że opisana tutaj metodologia oceny rzeczywiście nie pasuje już do bardziej „powszechnej” metodologii oceny. Masz problem ze znoszeniem koncepcji , z niestacjonarnością w środowisku. Oznacza to, że nadmierne dopasowanie może stanowić dla ciebie problem.

Nadal nie jestem pewien, czy rezygnacja pomogłaby (to wciąż dodatkowa wariancja, która może zaszkodzić). Przede wszystkim powinieneś upewnić się, że istnieje jakiś sposób, aby śledzić czas / miesiąc w swoich danych wejściowych, tak aby przynajmniej mieć szansę na poznanie polityki, która dostosowuje się z czasem. Jeśli masz wyraźną, stałą granicę między „fazą szkolenia” a „fazą oceny” i wiesz, że przesunięcie koncepcji zachodzi przez tę granicę (wiesz, że twoje środowisko zachowuje się inaczej w fazie szkolenia niż w fazie oceny) ... naprawdę nie mam wielkiej nadziei, że nauczę się zasad tylko z doświadczenia na etapie szkolenia, które nadal dobrze sprawdza się na etapie oceny. Podejrzewam, że musisz pozbyć się tej wyraźnej, solidnej granicy. Ty' Będę również chciał uczyć się przez cały okres oceny. Umożliwia to algorytmowi uczenia się gromadzenie doświadczeń w zmienionym środowisku i dostosowywanie się do niego.


1
Dennis, bardzo dziękuję za bardzo szczegółową odpowiedź! Wiele z nich potwierdza, jak sądzę, moje podejrzenia: to znaczy, że więcej RL próbuje rozwiązać bardzo konkretny problem w określonym środowisku, w którym często istnieje jedno jasne „najlepsze” rozwiązanie tego problemu.
Matt Hamilton

2
@MattHamilton Uwaga: istnieją badania nad RL dla bardziej ogólnych środowisk. Jeśli interesują Cię te rzeczy, możesz poszukać kombinacji „Transfer learning” i „Reinforcement Learning” lub rzeczy takich jak Multi-Task RL (Multi-Objective RL może być również interesujące, ale prawdopodobnie nieco inne ). Tego rodzaju wysiłki są jednak zwykle znacznie mniej wydajne niż tradycyjne podejście do szkolenia i oceniania w jednym środowisku na raz.
Dennis Soemers,
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.