jak zrobić funkcję nagrody w nauce wzmacniającej

18

Studiując uczenie się przez wzmocnienie, natknąłem się na wiele form funkcji nagrody: , R ( s , a , s ) , a nawet funkcji nagrody, która zależy tylko od bieżącego stanu. Powiedziawszy to, zdałem sobie sprawę, że nie jest łatwo „stworzyć” lub „zdefiniować” funkcję nagrody.R(s,a)R(s,a,s)

Oto moje pytania:

  1. Czy istnieją zasady dotyczące wykonywania funkcji nagrody?
  2. Czy istnieją inne formy funkcji nagrody? Na przykład może forma wielomianowa zależy od stanu?
cgo
źródło

Odpowiedzi:

25

Funkcje nagrody opisują, jak agent powinien się zachowywać. Innymi słowy, mają „normatywną” treści, stanowiąc, co ty chcesz środkiem do osiągnięcia. Na przykład, niektóre satysfakcjonujące stan s może reprezentować smak jedzenia. A może (s,a) może oznaczać degustację jedzenia. Tak więc, o ile funkcja nagrody określa, jakie są motywacje agenta, tak, musisz to nadrobić!

Nie ma żadnych bezwzględnych ograniczeń, ale jeśli twoja funkcja nagrody jest „lepiej zachowana”, agent będzie się uczył lepiej. W praktyce oznacza to szybkość konwergencji i brak utknięcia w lokalnych minimach. Ale dalsze specyfikacje będą silnie zależeć od gatunku uczenia się, którego używasz. Na przykład, czy przestrzeń stanu / akcji jest ciągła czy dyskretna? Czy wybór świata lub akcji jest stochastyczny? Czy nagroda jest zbierana ciągle, czy tylko na końcu?

Jednym ze sposobów spojrzenia na problem jest to, że funkcja nagrody określa twardość problemu. Na przykład tradycyjnie możemy określić pojedynczy stan, który ma zostać nagrodzony:

R(s1)=1
R(s2..n)=0
W tym przypadku problem do rozwiązania jest dość trudny w porównaniu z powiedzmy R(si)=1/i2 , gdzie występuje gradient nagrody nad stanami. W przypadku trudnych problemów, określając więcej szczegółów, np.R(s,a) lubR(s,a,s) może pomóc w niektórych algorytmach, dostarczając dodatkowych wskazówek, ale potencjalnie kosztem konieczności przeprowadzenia większej ilości badań. Konieczne może być uwzględnienie kosztów jako ujemnych warunków wR (np.Koszty energii), aby problem był dobrze określony.

W przypadku ciągłej przestrzeni stanów, jeśli chcesz, aby agent łatwo się uczył, funkcja nagrody powinna być ciągła i zróżnicowana . Tak więc wielomiany mogą działać dobrze dla wielu algorytmów. Ponadto spróbuj usunąć zlokalizowane minima. Istnieje wiele przykładów, jak NIE wykonywać funkcji nagrody - na przykład funkcji Rastrigin . To powiedziawszy, kilka algorytmów RL (np. Maszyny Boltzmanna ) jest w pewnym stopniu do nich odpornych.

Jeśli używasz RL do rozwiązania problemu w świecie rzeczywistym, prawdopodobnie przekonasz się, że chociaż znalezienie funkcji nagrody jest najtrudniejszą częścią problemu, jest ona ściśle związana z tym, jak określasz przestrzeń stanu . Na przykład w przypadku problemu zależnego od czasu odległość do celu często powoduje słabą funkcję nagrody (np. W przypadku samochodu górskiego ). Takie sytuacje można rozwiązać za pomocą przestrzeni stanów o wyższych wymiarach (stany ukryte lub ślady pamięci) lub hierarchicznej RL.

Na poziomie abstrakcyjnym uczenie się bez nadzoru miało na celu uniknięcie określania „dobrych i złych” wyników. Ale widzimy teraz, że RL po prostu przenosi odpowiedzialność z nauczyciela / krytyka na funkcję nagrody. Jest mniej okrągły sposób rozwiązania problemu: to znaczy, aby wyliczyć najlepszą funkcję nagrody . Jedna metoda nazywana jest odwrotnym RL lub „uczeniem się przyuczania do zawodu , która generuje funkcję nagrody, która odtwarzałaby zaobserwowane zachowania. Znalezienie najlepszej funkcji nagrody w celu odtworzenia zestawu obserwacji można również zaimplementować metodami MLE, Bayesian lub teoretykami informacji - jeśli korzystasz z wyszukiwarki „nauka odwrotnego wzmacniania”.

Sanjay Manohar
źródło
Cześć, dlaczego problem z samochodem górskim jest problemem zależnym od czasu?
GoingMyWay
Przypuszczam, że problem z samochodem górskim jest „zależny od czasu”, ponieważ wymaga od sieci zapewnienia odpowiedniej sekwencji poleceń lub polityki, która określa tę sekwencję. Chodzi o to, że jeśli traktujesz tylko „pozycję” jako swój stan, problem jest trudny do rozwiązania - musisz również wziąć pod uwagę swoją prędkość (lub energię kinetyczną itp.). To naprawdę wszystko, co chciałem zasugerować, jeśli chodzi o mądry wybór przestrzeni stanów w problemach zależnych od czasu.
Sanjay Manohar,
@SanjayManohar Nie sądzę, że problem z samochodem górskim jest „zależny od czasu”, chyba że przez zależność od czasu mówisz o wprowadzeniu skończonego horyzontu czasowego. Pozycja i prędkość są wystarczające.
user76284,
Myślę, że ta odpowiedź miesza funkcje nagrody i wartości. Na przykład mówi o „znalezieniu” funkcji nagrody, która może być czymś, co robisz w uczeniu się odwrotnego wzmacniania, ale nie w RL używanym do kontroli. Mówi także o potrzebie ciągłości i zróżnicowania funkcji nagrody, co nie tylko nie jest wymagane, ale zwykle tak nie jest. O wiele bardziej prawdopodobne jest znalezienie prostego +1 dla sukcesu lub ustalonego -1 na krok czasu podjętego w literaturze, niż znalezienie starannie skonstruowanej heurystyki różnicowalnej.
Neil Slater
Dzięki @NeilSlater, masz rację. Prawdopodobnie powinienem był powiedzieć „konstruowanie” funkcji nagrody zamiast jej znajdowania. Jeśli chodzi o „funkcję wartości”, zwykle rezerwuję ten termin dla mapowania wartości stanu lub akcji-wartości, tj. Funkcji, której agent używa do oszacowania przyszłej nagrody. Zatem „wartość” jest związana z „nagrodą”, ale nagroda jest częścią problemu, a nie algorytmu rozwiązującego problem. Być może nacisk na sztuczną inteligencję kładziono na popisywanie się algorytmem uczenia się poprzez ustalanie binarnych, dystalnych, rzadkich nagród - ale jeśli masz kontrolę nad funkcją nagrody, życie jest łatwiejsze, jeśli jest „miłe”.
Sanjay Manohar,
4

Projektowanie funkcji premiowych jest naprawdę trudnym problemem. Ogólnie rzecz biorąc, rzadsze funkcje nagrody są łatwiejsze do zdefiniowania (np. Zdobądź +1, jeśli wygrasz grę, w przeciwnym razie 0). Jednak rzadkie nagrody spowalniają naukę, ponieważ agent musi podjąć wiele działań, zanim odbierze jakąkolwiek nagrodę. Ten problem jest również znany jako problem przypisania kredytu .

Zamiast mieć tabelę reprezentującą nagrody, możesz również używać funkcji ciągłych (takich jak wielomian). Dzieje się tak zwykle, gdy przestrzeń stanu i przestrzeń akcji są ciągłe, a nie dyskretne.

erensezener
źródło