Jak dopasować ciężarki do wartości Q z aproksymacją funkcji liniowej

12

W uczeniu się zbrojenia aproksymacja funkcji liniowej jest często stosowana, gdy występują duże przestrzenie stanu. (Kiedy tabele wyszukiwania stają się niewykonalne.)

Postać wartości z aproksymacji liniowej funkcji jest przezQ

Q(s,a)=w1f1(s,a)+w2f2(s,a)+,

gdzie są ciężarki i f I są funkcje.wifi

Funkcje są wstępnie zdefiniowane przez użytkownika. Moje pytanie brzmi: w jaki sposób przypisywane są wagi?

Przeczytałem / pobrałem kilka slajdów z wykładów na temat uczenia się z przybliżeniem funkcji. Większość z nich ma kolejne slajdy dotyczące regresji liniowej. Ponieważ są to tylko slajdy, wydają się być niekompletne. Zastanawiam się, jaki jest związek / relacja między tymi dwoma tematami.Q

cgo
źródło

Odpowiedzi:

11

Przybliżenie funkcji jest zasadniczo problemem regresyjnym (w ogólnym sensie, tj. W przeciwieństwie do klasyfikacji, w której klasa jest dyskretna), tj. Próbuje się nauczyć mapowania funkcji z danych wejściowych (w twoim przypadku f(s,a) ) na wartość rzeczywistą wyjście Q(s,a) . Ponieważ nie mamy pełnej tabeli wszystkich wartości wejściowych / wyjściowych, ale jednocześnie uczymy się i szacujemy Q(s,a) w tym samym czasie, parametrów (tutaj: wagi w ) nie można obliczyć bezpośrednio z danych. Powszechnym podejściem jest tutaj opadanie gradientu .

Oto ogólny algorytm uczenia się Q(s,a) z aproksymacją funkcji wartości

  • Inicjalizacja parametr wektor w=(w1,w2,....,wn) losowo (np [0,1])
  • Dla każdego odcinka:

    1. s stan początkowy odcinka
    2. a akcja podana przez policyπ (polecam:ϵ -greedy)
    3. Podejmij akcję a , obserwuj nagrodę r następny stan s
    4. ww+α(r+γmaxaQ(s,a)Q(s,a))wQ(s,a)
    5. ss

    s

gdzie ...

  • α[0,1]
  • γ[0,1]
  • maxaQ(s,a)asQ(s,a)
  • wQ(s,a)Q(s,a)w(f1(s,a),...,fn(s,a))

Aktualizacja parametrów / wag (4. krok) można odczytać w następujący sposób:

  • (r+γmaxaQ(s,a))(Q(s,a))Q(s,a)Q(s,a)r γmaxaQ(s,a)
  • wQ(s,a)α

Główne źródło:

Q(s,a)V(s)e

Więcej referencji

steffen
źródło
2
Zepsuty link do Barto i Sutton! Teraz tutaj -> niekompletne.net/book/the-book.html :) i jako ebook niekompletne.net / book
Book
1
Czy gradient Q (s, a) w stosunku do wektora kolumny wa, gdzie każdy element jest fi (s, a), nie jest gradientem zamiast sumowania wszystkich fi, jak powiedziałeś? Celem jest, aby każda waga była zmieniana zgodnie z wartością funkcji, do której się mnożą.
Miguel Saraiva
@MiguelSaraiva Tak, naprawiono. Dziękuję Ci bardzo.
steffen