Intro to Deep Reinforcement Learning
-
Upload
spbdatascience -
Category
Data & Analytics
-
view
60 -
download
1
Transcript of Intro to Deep Reinforcement Learning
![Page 1: Intro to Deep Reinforcement Learning](https://reader030.fdocuments.us/reader030/viewer/2022032505/55c52f4dbb61eb66638b47b5/html5/thumbnails/1.jpg)
Deep Reinforcement Learning
Как научить нейросеть играть в игры вместо нас
Марат Зайнутдинов @tsundokum
![Page 2: Intro to Deep Reinforcement Learning](https://reader030.fdocuments.us/reader030/viewer/2022032505/55c52f4dbb61eb66638b47b5/html5/thumbnails/2.jpg)
Моя попытка вопроизвести DQN
https://github.com/tsundokum/DQN
[6]
![Page 3: Intro to Deep Reinforcement Learning](https://reader030.fdocuments.us/reader030/viewer/2022032505/55c52f4dbb61eb66638b47b5/html5/thumbnails/3.jpg)
Human-level control through deep reinforcement learning
Volodymyr Mnih, Koray Kavukcuoglu,David Silver, Andrei A. Rusu, Joel Veness, Marc G. Bellemare, Alex Graves, Martin Riedmiller, Andreas K. Fidjeland, Georg Ostrovski, Stig Petersen, Charles Beattie, Amir Sadik,Ioannis Antonoglou, Helen King,Dharshan Kumaran, Daan Wierstra,Shane Legg & Demis Hassabis
Nature
![Page 4: Intro to Deep Reinforcement Learning](https://reader030.fdocuments.us/reader030/viewer/2022032505/55c52f4dbb61eb66638b47b5/html5/thumbnails/4.jpg)
[6]
![Page 5: Intro to Deep Reinforcement Learning](https://reader030.fdocuments.us/reader030/viewer/2022032505/55c52f4dbb61eb66638b47b5/html5/thumbnails/5.jpg)
Задача
● Универсальный алгоритм, способный научиться делать что угодно на основе данных о среде и подкреплении (ИИ)○ Алгоритм, способный играть в видеоигры,
получая на входе видеоизображение и информацию об изменении очков. Цель алгоритма — набрать максимальное количество очков.
![Page 6: Intro to Deep Reinforcement Learning](https://reader030.fdocuments.us/reader030/viewer/2022032505/55c52f4dbb61eb66638b47b5/html5/thumbnails/6.jpg)
[5] [2]
![Page 7: Intro to Deep Reinforcement Learning](https://reader030.fdocuments.us/reader030/viewer/2022032505/55c52f4dbb61eb66638b47b5/html5/thumbnails/7.jpg)
Что мы умеем
● X → Y○ закономерность нелинейная○ X высокой размерность (например, картинка)
● Дифференцируемая ошибка (относительно параметров алгоритма)
● Быстро обрабатывать много данных
![Page 8: Intro to Deep Reinforcement Learning](https://reader030.fdocuments.us/reader030/viewer/2022032505/55c52f4dbb61eb66638b47b5/html5/thumbnails/8.jpg)
[3]
![Page 9: Intro to Deep Reinforcement Learning](https://reader030.fdocuments.us/reader030/viewer/2022032505/55c52f4dbb61eb66638b47b5/html5/thumbnails/9.jpg)
[3]
![Page 10: Intro to Deep Reinforcement Learning](https://reader030.fdocuments.us/reader030/viewer/2022032505/55c52f4dbb61eb66638b47b5/html5/thumbnails/10.jpg)
Мы можем научить НС играть?
![Page 11: Intro to Deep Reinforcement Learning](https://reader030.fdocuments.us/reader030/viewer/2022032505/55c52f4dbb61eb66638b47b5/html5/thumbnails/11.jpg)
Мы можем научить НС играть?
У вас нет и не будет модели!
![Page 12: Intro to Deep Reinforcement Learning](https://reader030.fdocuments.us/reader030/viewer/2022032505/55c52f4dbb61eb66638b47b5/html5/thumbnails/12.jpg)
Динамическое программирование
0 1 5 0
0 1 1 7
10 9 7 0
1 6 9 0
![Page 13: Intro to Deep Reinforcement Learning](https://reader030.fdocuments.us/reader030/viewer/2022032505/55c52f4dbb61eb66638b47b5/html5/thumbnails/13.jpg)
Динамическое программирование
0 1 5 5 0 0
0 1 17 7
10 9 7 0
1 6 9 0
![Page 14: Intro to Deep Reinforcement Learning](https://reader030.fdocuments.us/reader030/viewer/2022032505/55c52f4dbb61eb66638b47b5/html5/thumbnails/14.jpg)
Динамическое программирование
01 6 5 5 0 0
0 1 17 7
10 9 7 0
1 6 9 0
![Page 15: Intro to Deep Reinforcement Learning](https://reader030.fdocuments.us/reader030/viewer/2022032505/55c52f4dbb61eb66638b47b5/html5/thumbnails/15.jpg)
Динамическое программирование
01 6 5 5 0 0
0 11 6 7 7
10 9 7 0
1 6 9 0
![Page 16: Intro to Deep Reinforcement Learning](https://reader030.fdocuments.us/reader030/viewer/2022032505/55c52f4dbb61eb66638b47b5/html5/thumbnails/16.jpg)
Динамическое программирование
01 6 5 5 0 0
0 11 6 7 7
10 9 70 7
1 6 9 0
![Page 17: Intro to Deep Reinforcement Learning](https://reader030.fdocuments.us/reader030/viewer/2022032505/55c52f4dbb61eb66638b47b5/html5/thumbnails/17.jpg)
Динамическое программирование
0 6 1 6 5 5 0 00
1 7 1 6 7 710 9
7 13 0 71 6 9
0 7
![Page 18: Intro to Deep Reinforcement Learning](https://reader030.fdocuments.us/reader030/viewer/2022032505/55c52f4dbb61eb66638b47b5/html5/thumbnails/18.jpg)
Динамическое программирование
0 6 1 6 5 5 0 00 6 1 7 1 6 7 710
9 18 7 13 0 71 6
9 16 0 7
![Page 19: Intro to Deep Reinforcement Learning](https://reader030.fdocuments.us/reader030/viewer/2022032505/55c52f4dbb61eb66638b47b5/html5/thumbnails/19.jpg)
Динамическое программирование
0 6 1 6 5 5 0 00 6 1 7 1 6 7 710
16 9 18 7 13 0 71
6 22 9 16 0 7
![Page 20: Intro to Deep Reinforcement Learning](https://reader030.fdocuments.us/reader030/viewer/2022032505/55c52f4dbb61eb66638b47b5/html5/thumbnails/20.jpg)
Динамическое программирование
0 6 1 6 5 5 0 00 6 1 7 1 6 7 710
16 9 18 7 13 0 7
1 17 6 22 9 16 0 7
![Page 21: Intro to Deep Reinforcement Learning](https://reader030.fdocuments.us/reader030/viewer/2022032505/55c52f4dbb61eb66638b47b5/html5/thumbnails/21.jpg)
Action-Value function (Bellman Eq)
Q(s, a) = Es’[r + ɣ maxa’Q(s’, a’) | s,a]
s — текущее состояниеa — действие на текущее состояниеs’ — состояние, последовавшее s после совершения действия ar — подкрепление на действие a
![Page 22: Intro to Deep Reinforcement Learning](https://reader030.fdocuments.us/reader030/viewer/2022032505/55c52f4dbb61eb66638b47b5/html5/thumbnails/22.jpg)
Action-Value function (Bellman Eq)
Q(s, a) = Es’[r + ɣ maxa’Q(s’, a’) | s,a]
Q(s, a; θ) ≅ Q(s, a)
![Page 23: Intro to Deep Reinforcement Learning](https://reader030.fdocuments.us/reader030/viewer/2022032505/55c52f4dbb61eb66638b47b5/html5/thumbnails/23.jpg)
Q(s, a; θ)[6]
![Page 24: Intro to Deep Reinforcement Learning](https://reader030.fdocuments.us/reader030/viewer/2022032505/55c52f4dbb61eb66638b47b5/html5/thumbnails/24.jpg)
Функция ошибки
Li(θi)=Es,a,s’,r[(r+ɣmaxa’Q(s’,a’,θ-i) - Q(s,a,θi))
2]
![Page 25: Intro to Deep Reinforcement Learning](https://reader030.fdocuments.us/reader030/viewer/2022032505/55c52f4dbb61eb66638b47b5/html5/thumbnails/25.jpg)
Функция ошибки
Li(θi)=Es,a,s’,r[(r+ɣmaxa’Q(s’,a’,θ-i) - Q(s,a,θi))
2]
critic
![Page 26: Intro to Deep Reinforcement Learning](https://reader030.fdocuments.us/reader030/viewer/2022032505/55c52f4dbb61eb66638b47b5/html5/thumbnails/26.jpg)
Функция ошибки
Li(θi)=Es,a,s’,r[(r+ɣmaxa’Q(s’,a’,θ-i) - Q(s,a,θi))
2]
critic actor
![Page 27: Intro to Deep Reinforcement Learning](https://reader030.fdocuments.us/reader030/viewer/2022032505/55c52f4dbb61eb66638b47b5/html5/thumbnails/27.jpg)
Q-learning
Watkins, C.J.C.H. (1989). Learning from
Delayed Rewards. PhD thesis, Cambridge
University, Cambridge, England.
![Page 28: Intro to Deep Reinforcement Learning](https://reader030.fdocuments.us/reader030/viewer/2022032505/55c52f4dbb61eb66638b47b5/html5/thumbnails/28.jpg)
Мы можем научить НС играть?
![Page 29: Intro to Deep Reinforcement Learning](https://reader030.fdocuments.us/reader030/viewer/2022032505/55c52f4dbb61eb66638b47b5/html5/thumbnails/29.jpg)
Мы можем научить НС играть?
Ваша сетка слишком сильно раскачивается!
![Page 30: Intro to Deep Reinforcement Learning](https://reader030.fdocuments.us/reader030/viewer/2022032505/55c52f4dbb61eb66638b47b5/html5/thumbnails/30.jpg)
Стабильность
● База переходов U(D)● Запаздывающее обновление сети
![Page 31: Intro to Deep Reinforcement Learning](https://reader030.fdocuments.us/reader030/viewer/2022032505/55c52f4dbb61eb66638b47b5/html5/thumbnails/31.jpg)
База переходов U(D)
Каждый раз сохраняем (s, a, s’, r)Держим в уме 1 млн переходовДанные для батча выбираются из U(D)
![Page 32: Intro to Deep Reinforcement Learning](https://reader030.fdocuments.us/reader030/viewer/2022032505/55c52f4dbb61eb66638b47b5/html5/thumbnails/32.jpg)
Запаздывающее обновление сети
Li(θi)=Es,a,s’,r[(r+ɣmaxa’Q(s’,a’,θ-i) - Q(s,a,θi))
2]
critic actor
Каждый новые C (=50k) переходов критик обновляется critic := actor
![Page 33: Intro to Deep Reinforcement Learning](https://reader030.fdocuments.us/reader030/viewer/2022032505/55c52f4dbb61eb66638b47b5/html5/thumbnails/33.jpg)
Другие тонкости
● ε-greedy выбор действия (с ε=1→0.1 за 1млн кадров)● Видео сжимается с 210x160 до 84x84● Состояние запоминается в виде 4х кадров● Сглаживание картинок (особенность Atari)● Все подкрепления имеют значения {-1, 0, 1}● Разница между критиком и актором обрезается до
[-1, 1]
![Page 34: Intro to Deep Reinforcement Learning](https://reader030.fdocuments.us/reader030/viewer/2022032505/55c52f4dbb61eb66638b47b5/html5/thumbnails/34.jpg)
Пример обучения в реальном времени
REINFORCE.js
![Page 35: Intro to Deep Reinforcement Learning](https://reader030.fdocuments.us/reader030/viewer/2022032505/55c52f4dbb61eb66638b47b5/html5/thumbnails/35.jpg)
Рекомендуемые ресурсы1. Andrew Ng. Machine Learning (лучшее введение в нейросети)2. Nando de Freitas. Deep Learning (лекции 15-16 про RL и DeepMind)3. Sergey Levine. Deep Learning for Decision Making and Control (другой
подход к Deep RL)4. Peter Norvig. Artificial Intelligence: A Modern Approach. 3ed.5. David Silver. Deep Reinforcement Learning (презентация)6. Mnih at al. Human-level control through deep reinforcement learning7. Andrej Karpathy. REINFORCE.js
![Page 36: Intro to Deep Reinforcement Learning](https://reader030.fdocuments.us/reader030/viewer/2022032505/55c52f4dbb61eb66638b47b5/html5/thumbnails/36.jpg)
Спасибо за внимание!