Jaka jest różnica między uczeniem się bez modelowania a uczeniem się opartym na modelu?


29

Jaka jest różnica między uczeniem się bez modelowania a uczeniem się opartym na modelu?

Wydaje mi się, że każdy uczący się bez modelu, uczący się metodą prób i błędów, może zostać przekształcony w modelowy. W takim przypadku, kiedy uczniowie bez modeli byliby odpowiedni?


Zobacz także tę odpowiedź: qr.ae/TUtHbv .
nro

Co masz na myśli mówiąc, że możesz przeformułować ucznia bez modeli jako opartego na modelu?
HelloGoodbye

Odpowiedzi:


14

Uczenie się przez wzmacnianie oparte na modelach ma agenta próbującego zrozumieć świat i stworzyć model, który go reprezentuje. Oto model próbuje uchwycić 2 funkcje, funkcja przejścia ze stanów a funkcja nagroda . Z tego modelu agent ma odniesienie i może odpowiednio planować.TR

Jednak nauczenie się modelu nie jest konieczne, a agent może zamiast tego nauczyć się zasad bezpośrednio przy użyciu algorytmów takich jak Q-learning lub gradient polityki.

Prosta kontrola, aby sprawdzić, czy algorytm RL jest oparty na modelu lub wolny od modelu, to:

Jeśli po nauczeniu się agent może przewidzieć, jaki będzie następny stan i nagrodę, zanim podejmie każdą akcję, jest to algorytm RL oparty na modelu.

Jeśli nie, to jest to algorytm bez modelu.


2
twoimi słowami: „nie trzeba uczyć się modelu”, a moje pytanie brzmi: dlaczego ktokolwiek miałby kiedykolwiek podejść do modelu?
vin

4
Jednym wielkim przykładem, jaki mogę sobie wyobrazić, jest to, że chcesz, aby agent dowiedział się o swoim otoczeniu bez faktycznej optymalizacji. Jest to część problemu ciągłego uczenia się. Musisz zbudować model wewnętrzny, taki jak: „Uderzam w ściany, gdy mój czujnik odległości odczytuje, że ściana jest blisko”, a następnie agent może uogólnić tę informację na wiele zadań, jeśli się pojawią.
Jaden Travnik

2
dzięki @Jaden Travnik. Rozumiem, dlaczego warto nauczyć się przedstawiania otoczenia („uderzam w ściany, gdy moja odległość mówi, że ściana jest blisko”) bez rozwiązania jakiegoś zadania (np. nawigacja do kuchni). ale dlaczego miałoby to być uważane za wolne od modelu RL , a nie waniliowe nadzorowane zadanie edukacyjne?
vin

2
Nie byłoby to nadzorowane uczenie się, ponieważ nie ma żadnych oznaczonych danych. Agent nie miałby pojęcia, co oznaczają sygnały, więc nie mógł odróżnić czujnika odległości od termometru. Agent uczy się przewidywania sygnałów na podstawie innych sygnałów, które same w sobie są modelem jego świata.
Jaden Travnik

2
dzięki podejściu opartemu na modelu agent uczy się przewidywać następny stan na podstawie oryginalnego wyjaśnienia. robi to, ucząc się <x, y>, gdzie x to (s1, akcja), a y to (s2, nagroda). przepraszam, jeśli źle interpretuję, ale czy to nie jest nadzorowana nauka?
vin

12

Jaka jest różnica między uczeniem się bez modelowania a uczeniem się opartym na modelu?

W uczeniu zbrojeniowym terminy „oparty na modelu” i „bez modelu” nie odnoszą się do zastosowania sieci neuronowej lub innego statystycznego modelu uczenia się do przewidywania wartości, a nawet do przewidywania następnego stanu (chociaż ten ostatni może być użyty jako część algorytmu opartego na modelu i nazywana „modelem” niezależnie od tego, czy algorytm jest oparty na modelu, czy też nie zawiera modelu.

Zamiast tego termin odnosi się ściśle do tego, czy podczas nauki lub działania agent używa prognoz dotyczących reakcji środowiska. Agent może użyć pojedynczej prognozy z modelu następnej nagrody i następnego stanu (próbki) lub może poprosić model o oczekiwaną kolejną nagrodę lub pełny rozkład kolejnych stanów i następnych nagród. Prognozy te mogą być przekazane całkowicie poza agentem edukacyjnym - np. Za pomocą kodu komputerowego, który rozumie zasady gry w kości lub gry planszowej. Lub mogą się nauczyć agenta, w takim przypadku będą przybliżone.

To, że istnieje zaimplementowany model środowiska, nie oznacza, że ​​agent RL jest „oparty na modelu”. Aby zakwalifikować się jako „oparte na modelu”, algorytmy uczenia muszą wyraźnie odwoływać się do modelu:

  • Algorytmy, które wyłącznie próbkują z doświadczenia, takie jak Monte Carlo Control, SARSA, Q-learning, Actor-Critic są algorytmami RL „bez modelu”. Opierają się na rzeczywistych próbkach ze środowiska i nigdy nie używają wygenerowanych prognoz następnego stanu i następnej nagrody do zmiany zachowania (chociaż mogą próbkować z pamięci doświadczenia, która jest bliska modelowi).

  • Archetypowymi algorytmami opartymi na modelu są Programowanie Dynamiczne (Iteracja Polityki i Iteracja Wartości) - wszystkie one wykorzystują prognozy modelu lub rozkłady następnego stanu i nagrody w celu obliczenia optymalnych działań. W szczególności w programowaniu dynamicznym model musi zapewniać prawdopodobieństwa zmiany stanu i oczekiwaną nagrodę z dowolnego stanu, pary akcji. Zauważ, że rzadko jest to wyuczony model.

  • Podstawowa nauka TD, wykorzystująca tylko wartości stanów, musi również opierać się na modelu, aby działać jako system sterowania i wybierać akcje. Aby wybrać najlepszą akcję, musi wykonać zapytanie do modelu, który przewiduje, co stanie się z każdą akcją, i zaimplementować taką jak , gdzie jest prawdopodobieństwo otrzymania nagrody i następny stan przy podejmowaniu działań w stan . Ta funkcja jest zasadniczo modelem.π(s)=argmaxas,rp(s,r|s,a)(r+v(s))p(s,r|s,a)rsasp(s,r|s,a)

Literatura RL rozróżnia „model” jako model środowiska do uczenia się „opartego na modelu” i „bez modelu” oraz wykorzystanie statystycznych uczniów, takich jak sieci neuronowe.

W RL sieci neuronowe są często wykorzystywane do uczenia się i uogólniania funkcji wartości, takich jak wartość Q, która przewiduje całkowity zwrot (suma zdyskontowanych nagród) przy danej parze stan i akcja. Tak wyszkolona sieć neuronowa jest często nazywana „modelem” np. W uczeniu nadzorowanym. Jednak w literaturze RL zobaczysz termin „aproksymator funkcji” używany dla takiej sieci, aby uniknąć dwuznaczności.

Wydaje mi się, że każdy uczący się bez modelu, uczący się metodą prób i błędów, może zostać przekształcony w modelowy.

Myślę, że tutaj używasz ogólnego zrozumienia słowa „model”, aby uwzględnić dowolną strukturę, która czyni użyteczne prognozy. Odnosi się to np. Do tabeli wartości Q w SARSA.

Jednak, jak wyjaśniono powyżej, nie tak używa się tego terminu w RL. Więc chociaż twoje zrozumienie, że RL buduje użyteczne reprezentacje wewnętrzne, jest poprawne, nie masz racji technicznej, że można tego użyć do zmiany ramki między „bez modelu” jako „na podstawie modelu”, ponieważ te terminy mają bardzo specyficzne znaczenie w RL .

W takim przypadku, kiedy uczniowie bez modeli byliby odpowiedni?

Ogólnie rzecz biorąc, przy obecnym stanie techniki w RL, jeśli nie masz dokładnego modelu dostarczonego jako część definicji problemu, wówczas podejścia bez modelu są często lepsze.

Istnieje duże zainteresowanie agentami, którzy budują modele predykcyjne środowiska, a robienie tego jako „efekt uboczny” (wciąż będąc algorytmem bez modelu) może być nadal przydatne - może regulować sieć neuronową lub pomóc odkryć kluczowe predykcyjne funkcje, które mogą być również używane w sieciach zasad lub wartości. Jednak w przypadku agentów opartych na modelach, którzy uczą się własnych modeli planowania, występuje problem polegający na tym, że niedokładność w tych modelach może powodować niestabilność (niedokładności mnożą się w przyszłości, jak wygląda agent). Pewne obiecujące inwazje powstają przy użyciu agentów i / lub mechanizmów opartych na wyobraźni , aby decydować, kiedy i jak zaufać wyuczonemu modelowi podczas planowania.

W tej chwili (w 2018 r.), Jeśli masz rzeczywisty problem w środowisku bez wyraźnego znanego modelu na początku, najbezpieczniejszym rozwiązaniem jest zastosowanie podejścia bez modelu, takiego jak DQN lub A3C. To może się zmienić, ponieważ pole szybko się rozwija, a nowe, bardziej złożone architektury mogą stać się normą za kilka lat.


1
Mała korekta, zwykle określenia „oparty na modelu” lub „wolny od modelu” nie są używane do algorytmów planowania, takich jak MCTS. Służy wyłącznie do klasyfikowania algorytmów uczenia się.
Miguel Saraiva,

@MiguelSaraiva: Nie jestem w 100% pewien, ale usunąłem odniesienie do MCTS. W jakim interesie umieściłbyś DynaQ w związku z tym ograniczeniem użycia warunków? Myślę, że to staje się trudne, gdy wszystkie algorytmy mają taki sam pogląd na model MDP i ulepszanie polityk, aby stwierdzić, gdzie leżą granice między planowaniem a uczeniem się.
Neil Slater,

Mogę się mylić, jestem nowicjuszem w okolicy. Pamiętam tylko nauczyciela z tej dziedziny, który wypowiedział się po tym, jak zrobiłem tę samą uwagę.
Miguel Saraiva,

5

W uczeniu się przez wzmocnienie (RL) istnieje agent, który wchodzi w interakcje ze środowiskiem (w odstępach czasu). Na każdym kroku czasowym, czynnik decyduje i realizuje działania , , o środowisku, a reaguje Środowiska do środka przez przejście z obecnego stanu (środowiska), , do następnego stanu (środowiska), i emitując sygnał skalarny, zwany nagrodą , . Zasadniczo interakcja ta może trwać wiecznie lub do momentu śmierci np. Agenta.assr

Głównym celem agenta jest zebranie jak największej ilości nagrody „na dłuższą metę”. Aby to zrobić, agent musi znaleźć optymalną politykę (z grubsza optymalną strategię zachowania w środowisku). Zasadniczo polityka jest funkcją, która przy obecnym stanie środowiska generuje akcję (lub rozkład prawdopodobieństwa na akcje, jeśli polityka jest stochastyczna ) do wykonania w środowisku. Politykę można zatem traktować jako „strategię” używaną przez agenta do zachowania się w tym środowisku. Optymalna polityka (dla danego środowiska) to polityka, która, jeśli będzie przestrzegana, sprawi, że agent zbierze największą ilość nagrody w długim okresie (co jest celem agenta). W RL jesteśmy zatem zainteresowani znalezieniem optymalnych polityk.

Środowisko może być deterministyczne (to znaczy, z grubsza, to samo działanie w tym samym stanie prowadzi do tego samego następnego stanu, dla wszystkich kroków czasowych) lub stochastyczne (lub niedeterministyczne), to znaczy, jeśli agent podejmuje działanie w określony stan, wynikowy następny stan środowiska niekoniecznie musi być taki sam: istnieje prawdopodobieństwo, że będzie to określony stan. Oczywiście te niepewności utrudnią znalezienie optymalnej polityki.

W RL problem jest często matematycznie sformułowany jako proces decyzyjny Markowa (MDP). MDP to sposób przedstawienia „dynamiki” środowiska, to znaczy sposobu, w jaki środowisko zareaguje na możliwe działania, które agent może podjąć w danym stanie. Mówiąc dokładniej, MDP jest wyposażony w funkcję przejścia (lub „model przejścia”), która jest funkcją, która biorąc pod uwagę aktualny stan środowiska i działanie (które może podjąć agent), generuje prawdopodobieństwo przejścia do dowolnego kolejnych stanów. Funkcja nagrodyjest również związany z MDP. Intuicyjnie funkcja nagrody generuje nagrodę, biorąc pod uwagę bieżący stan środowiska (i ewentualnie działanie podjęte przez agenta i następny stan środowiska). Łącznie funkcje przejścia i nagrody są często nazywane modelem środowiska. Podsumowując, problem stanowi MDP, a rozwiązaniem problemu jest polityka. Ponadto „dynamiką” środowiska rządzą funkcje przejścia i wynagradzania (to znaczy „model”).

Jednak często nie mamy MDP, to znaczy nie mamy funkcji przejścia i wynagradzania (MDP związanego ze środowiskiem). Dlatego nie możemy oszacować polityki na podstawie MDP, ponieważ jest ona nieznana. Zauważ, że ogólnie, gdybyśmy mieli funkcje przejścia i wynagradzania MDP związane ze środowiskiem, moglibyśmy je wykorzystać i uzyskać optymalną politykę (przy użyciu algorytmów programowania dynamicznego).

W przypadku braku tych funkcji (tzn. Gdy MDP jest nieznany), aby oszacować optymalną politykę, agent musi wchodzić w interakcje ze środowiskiem i obserwować reakcje środowiska. Jest to często określane jako „problem uczenia się przez wzmocnienie”, ponieważ agent będzie musiał oszacować politykę poprzez wzmocnienie swoich przekonań na temat dynamiki środowiska. Z czasem agent zaczyna rozumieć, w jaki sposób środowisko reaguje na jego działania, i może w ten sposób oszacować optymalną politykę. W związku z tym w przypadku problemu RL agent ocenia optymalne zasady postępowania w nieznanym (lub częściowo znanym) środowisku, wchodząc w interakcje z nim (stosując podejście „prób i błędów”).

W tym kontekście oparty na modelualgorytm jest algorytmem, który wykorzystuje funkcję przejścia (i funkcję nagrody) w celu oszacowania optymalnej polityki. Agent może mieć dostęp tylko do aproksymacji funkcji przejścia i funkcji nagrody, których może nauczyć się agent podczas interakcji ze środowiskiem lub może zostać przekazany agentowi (np. Przez innego agenta). Ogólnie rzecz biorąc, w algorytmie modelowym agent może potencjalnie przewidzieć dynamikę środowiska (podczas lub po fazie uczenia się), ponieważ ma oszacowanie funkcji przejścia (i funkcji nagrody). Należy jednak pamiętać, że funkcje przejścia i wynagrodzeń używane przez agenta w celu poprawy jego oszacowania optymalnej polityki mogą być jedynie przybliżeniem „prawdziwych” funkcji. Dlatego optymalna polityka może nigdy nie zostać znaleziona (z powodu tych przybliżeń).

Modelu wolne algorytmu jest algorytm oszacowania optymalnego zasady bez użycia lub oszacowania dynamiki (funkcje przejściowe i nagroda) środowiska. W praktyce algorytm bez modelu albo szacuje „funkcję wartości”, albo „zasadę” bezpośrednio na podstawie doświadczenia (to znaczy interakcji między agentem a środowiskiem), bez użycia funkcji przejścia ani funkcji nagrody. Funkcję wartości można traktować jako funkcję, która ocenia stan (lub działanie podejmowane w stanie) dla wszystkich stanów. Z tej funkcji wartości można następnie wyprowadzić zasadę.

W praktyce jednym ze sposobów rozróżnienia algorytmów opartych na modelu lub bez niego jest przyjrzenie się algorytmom i sprawdzenie, czy używają one funkcji przejścia lub nagrody.

Na przykład spójrzmy na główną regułę aktualizacji w algorytmie Q-learning :

Q(St,At)Q(St,At)+α(Rt+1+γmaxaQ(St+1,a)Q(St,At))

Jak widzimy, ta reguła aktualizacji nie wykorzystuje żadnych prawdopodobieństw określonych przez MDP. Uwaga: to po prostu nagroda uzyskana w następnym kroku czasowym (po podjęciu akcji), ale niekoniecznie jest znana wcześniej. Q-learning jest więc algorytmem bez modelu.Rt+1

Teraz spójrzmy na główną zasadę aktualizacji algorytmu ulepszania zasad :

Q(s,a)sS,rRp(s,r|s,a)(r+γV(s))

Możemy natychmiast zaobserwować, że używa , prawdopodobieństwa określonego przez model MDP. Tak więc iteracja zasad (dynamiczny algorytm programowania), która wykorzystuje algorytm ulepszania zasad, jest algorytmem opartym na modelu.p(s,r|s,a)


2

Model bez RL

W RL bez modelu agent nie ma dostępu do modelu środowiska. Przez środowisko rozumiem funkcję, która przewiduje zmianę stanu i nagrody.

W chwili pisania tego artykułu metody bez modeli są bardziej popularne i zostały szeroko zbadane.

RL na podstawie modelu

W modelu RL opartym na modelu agent ma dostęp do modelu środowiska.

Główną zaletą jest to, że umożliwia agentowi planowanie z wyprzedzeniem poprzez myślenie z wyprzedzeniem. Agenci destylują wyniki planowania z wyprzedzeniem w wyuczoną politykę. Słynny przykład opartej na modelu RL to AlphaZero .

Główną wadą jest to, że wielokrotnie rzetelna reprezentacja środowiska zwykle nie jest dostępna.


Poniżej znajduje się niewyczerpująca taksonomia algorytmów RL, która może pomóc w lepszej wizualizacji krajobrazu RL.

wprowadź opis zdjęcia tutaj


1

Według OpenAI - Kinds of RL Algorytmy , algorytmy wykorzystujące model środowiska, tj. Funkcję, która przewiduje zmiany stanu i nagrody, są nazywane metodami opartymi na modelach , a te, które nie są nazywane wolnymi od modeli . Ten model mógł zostać przekazany agentowi lub wyuczony przez agenta.

Korzystanie z modelu pozwala agentowi planować, myśląc z wyprzedzeniem, widząc, co stanie się z wieloma możliwymi wyborami, i wyraźnie decydując między opcjami. Może to być przydatne w obliczu problemów wymagających dłuższego myślenia. Jednym ze sposobów planowania jest użycie pewnego rodzaju wyszukiwania drzewa, na przykład wyszukiwania drzewa Monte Carlo (MCTS) lub - co, jak podejrzewam - można by również użyć - wariantów szybko eksplorującego drzewa losowego (RRT). Zobacz np. Agenci, którzy wyobrażają sobie i planują .

Agent może następnie wydobyć wyniki z planowania z wyprzedzeniem w wyuczoną politykę - nazywa się to iteracją ekspertów.

Modelu można także użyć do stworzenia symulowanego lub „wymyślonego” środowiska, w którym stan jest aktualizowany za pomocą modelu, i umożliwić agentowi naukę w tym środowisku, na przykład w modelach światowych .

W wielu scenariuszach świata rzeczywistego model środowiska nie jest dostępny agentowi. Jeśli agent chce w tym przypadku użyć modelu, musi nauczyć się modelu, co może być trudne z kilku powodów.

Zdarzają się jednak przypadki, w których agent korzysta z modelu, który jest już znany i w związku z tym nie musi się go uczyć, na przykład w AlphaZero , gdzie model ma postać reguł gry.


1

Chociaż istnieje kilka dobrych odpowiedzi, chcę dodać ten akapit z Reinforcement Learning: An Introduction , strona 303, aby uzyskać bardziej psychologiczny pogląd na różnicę.

Rozróżnienie między algorytmami uczenia się wzmacniającymi bez modelu i opartymi na modelu odpowiada rozróżnieniu, jakie psychologowie dokonują między nawykową a ukierunkowaną na cel kontrolą wyuczonych wzorców zachowań. Nawyki to wzorce zachowań uruchamiane przez odpowiednie bodźce, a następnie wykonywane mniej więcej automatycznie. Zachowanie ukierunkowane na cel, zgodnie z tym, jak psychologowie używają tego wyrażenia, jest celowe w tym sensie, że jest kontrolowane przez wiedzę o wartości celów i związku między działaniami i ich konsekwencjami. Niekiedy mówi się, że nawyki są kontrolowane przez wcześniejsze bodźce, podczas gdy zachowanie ukierunkowane na cel jest kontrolowane przez jego konsekwencje (Dickinson, 1980, 1985). Kontrola zorientowana na cel ma tę zaletę, że może szybko zmienić zachowanie zwierzęcia, gdy środowisko zmienia sposób reagowania na działania zwierzęcia. Podczas gdy nawykowe zachowanie szybko reaguje na dane wejściowe ze zwykłego środowiska, nie jest w stanie szybko dostosować się do zmian w otoczeniu.

Stamtąd idzie dalej, a potem ma ładny przykład.

Myślę, że główną kwestią, która nie zawsze była wyjaśniona w innych odpowiedziach, jest to, że w podejściu bez modelu nadal potrzebujesz jakiegoś środowiska, które powie ci, jaka jest nagroda związana z twoim działaniem. Duża różnica polega na tym, że NIE trzeba przechowywać żadnych informacji o modelu. Dajesz środowisku wybrane działanie, aktualizujesz swoje szacunkowe zasady i zapominasz o tym. Z drugiej strony, w podejściach modelowych albo musisz znać historię przejść stanu, jak w Programowaniu dynamicznym, lub musisz być w stanie obliczyć wszystkie możliwe kolejne stany i związane z nimi nagrody, z obecnego stanu.

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.