Systemy agentowe Uczenie ze wzmocnieniem Jędrzej Potoniec
Uczenie ze wzmocnieniem (ang. Reinforcement learning) dane Środowisko, w którym można wykonywać pewne akcje, które są nagradzane lub karane, ale nie koniecznie od razu.
Uczenie ze wzmocnieniem (ang. Reinforcement learning) dane Środowisko, w którym można wykonywać pewne akcje, które są nagradzane lub karane, ale nie koniecznie od razu. zadanie Znaleźć politykę, która w długiej perspektywie czasowej maksymalizuje nagrody.
Przykładowe środowiska, kary i nagrody A. Ge ron, Hands-On Machine Learning with Scikit-Learn and TensorFlow 2017
Polityka (ang. policy) Dowolny algorytm, który mówi, jaką akcję wykonać.
Polityka (ang. policy) Dowolny algorytm, który mówi, jaką akcję wykonać. Polityka stochastyczna jeżeli jest w tym aspekt losowości.
Przykład polityki A. Géron, Hands-On Machine Learning with Scikit-Learn and TensorFlow 2017
Toy example: cart pole
Toy example: cart pole Cel: wózek na środku, wahadło w pionie
Toy example: cart pole Cel: wózek na środku, wahadło w pionie Akcje: siła 1 w lewo, siła 1 w prawo A. Géron, Hands-On Machine Learning with Scikit-Learn and TensorFlow 2017
Polityka za pomocą sieci neuronowej A. Géron, Hands-On Machine Learning with Scikit-Learn and TensorFlow 2017
Obliczanie nagrody A. Géron, Hands-On Machine Learning with Scikit-Learn and TensorFlow 2017
Policy gradient: REINFORCE 1 Zagraj w grę kilkukrotnie, w każdym kroku oblicz gradient wzmacniający wybraną akcję (tj. tak, jakby wybrana akcja była najlepsza możliwa)
Policy gradient: REINFORCE 1 Zagraj w grę kilkukrotnie, w każdym kroku oblicz gradient wzmacniający wybraną akcję (tj. tak, jakby wybrana akcja była najlepsza możliwa) 2 Oblicz nagrodę każdej akcji:
Policy gradient: REINFORCE 1 Zagraj w grę kilkukrotnie, w każdym kroku oblicz gradient wzmacniający wybraną akcję (tj. tak, jakby wybrana akcja była najlepsza możliwa) 2 Oblicz nagrodę każdej akcji: 1 Uwzględnij przyszłe nagrody przez discount ratio
Policy gradient: REINFORCE 1 Zagraj w grę kilkukrotnie, w każdym kroku oblicz gradient wzmacniający wybraną akcję (tj. tak, jakby wybrana akcja była najlepsza możliwa) 2 Oblicz nagrodę każdej akcji: 1 Uwzględnij przyszłe nagrody przez discount ratio 2 Dokonaj normalizacji odejmując średnią i dzieląc przez odchylenie standardowe (po wszystkich zdyskontowanych nagrodach)
Policy gradient: REINFORCE 1 Zagraj w grę kilkukrotnie, w każdym kroku oblicz gradient wzmacniający wybraną akcję (tj. tak, jakby wybrana akcja była najlepsza możliwa) 2 Oblicz nagrodę każdej akcji: 1 Uwzględnij przyszłe nagrody przez discount ratio 2 Dokonaj normalizacji odejmując średnią i dzieląc przez odchylenie standardowe (po wszystkich zdyskontowanych nagrodach) 3 Pomnóż gradienty przez odpowiadające im znormalizowane nagrody
Policy gradient: REINFORCE 1 Zagraj w grę kilkukrotnie, w każdym kroku oblicz gradient wzmacniający wybraną akcję (tj. tak, jakby wybrana akcja była najlepsza możliwa) 2 Oblicz nagrodę każdej akcji: 1 Uwzględnij przyszłe nagrody przez discount ratio 2 Dokonaj normalizacji odejmując średnią i dzieląc przez odchylenie standardowe (po wszystkich zdyskontowanych nagrodach) 3 Pomnóż gradienty przez odpowiadające im znormalizowane nagrody 4 Uśrednij i zaaplikuj gradienty
Proces decyzyjny Markowa A. Géron, Hands-On Machine Learning with Scikit-Learn and TensorFlow 2017
Q-Value iteration Q k (s, a) wartość akcji a w stanie s w kroku k T (s, a, s ) prawdopodobieństwo przejścia s s przy akcji a R(s, a, s ) nagroda za przejście s s przy akcji a γ discount ration
Q-Value iteration Q k (s, a) wartość akcji a w stanie s w kroku k T (s, a, s ) prawdopodobieństwo przejścia s s przy akcji a R(s, a, s ) nagroda za przejście s s przy akcji a γ discount ration Q k+1 (s, a) s T (s, a, s ) [ ] R(s, a, s ) + γ max Q k (s, a ) a
Q-Value iteration Q k (s, a) wartość akcji a w stanie s w kroku k T (s, a, s ) prawdopodobieństwo przejścia s s przy akcji a R(s, a, s ) nagroda za przejście s s przy akcji a γ discount ration Q k+1 (s, a) s T (s, a, s ) [ ] R(s, a, s ) + γ max Q k (s, a ) a π (s) = arg max Q (a) a
Q-Value iteration Q k (s, a) wartość akcji a w stanie s w kroku k T (s, a, s ) prawdopodobieństwo przejścia s s przy akcji a R(s, a, s ) nagroda za przejście s s przy akcji a γ discount ration Q k+1 (s, a) s T (s, a, s ) [ ] R(s, a, s ) + γ max Q k (s, a ) a π (s) = arg max Q (a) a Eleganckie, ale kompletnie niepraktyczne
Q-Learning ( ) Q k+1 (s, a) (1 α)q k (s, a) + α r + γ max Q k (s, a ) a
Approximate Q-Learning Funkcja celu w uczeniu: y(s, a) = r + γ max a Q(s, a ) Q(s, a) to funkcja, której się uczymy (realizowana np. przez sieć neuronową) s to stan do którego przejdziemy po wykonaniu a w s
DeepMind Deep Q-Learning to samo co przed chwilą (prawie)
DeepMind Deep Q-Learning to samo co przed chwilą (prawie) replay memory
DeepMind Deep Q-Learning to samo co przed chwilą (prawie) replay memory dwie sieci: online i target
DeepMind Deep Q-Learning to samo co przed chwilą (prawie) replay memory dwie sieci: online i target online się uczy
DeepMind Deep Q-Learning to samo co przed chwilą (prawie) replay memory dwie sieci: online i target online się uczy target oblicza Q(s, a )
DeepMind Deep Q-Learning to samo co przed chwilą (prawie) replay memory dwie sieci: online i target online się uczy target oblicza Q(s, a ) okresowo kopiujemy online do target