안녕하세요.
이번에 '1st 함께하는 딥러닝 컨퍼런스'에서 "안.전.제.일. 강화학습"이란 주제로 발표한 이동민이라고 합니다.
컨퍼런스 관련 링크는 다음과 같습니다.
https://tykimos.github.io/2018/06/28/ISS_1st_Deep_Learning_Conference_All_Together/
그리고 대략적인 개요는 다음과 같습니다.
1. What is Artificial Intelligence?
2. What is Reinforcement Learning?
3. What is Artificial General Intelligence?
4. Planning and Learning
5. Safe Reinforcement Learning
또한 이 자료에는 "Imagination-Augmented Agents for Deep Reinforcement Learning"이라는 논문을 자세히 설명하였습니다.
많은 분들이 보시고 도움이 되셨으면 좋겠습니다~!
2. 이동민
• 한양대학교 컴퓨터공학 전공
• RLI Study 리더
- 2017.12 : 김성훈 교수님의 ‘모두의 RL’
- 2018. 1 ~ 3 : ‘파이썬과 케라스로 배우는 강화학습’
- 2018. 4 ~ 6 : ‘Reinforcement Learning: An Introduction’
written by Richard S. Sutton and Andrew G. Barto
• RL KOREA, 피지여행 프로젝트
- REINFORCE 부터 PPO 까지 7개의 논문 정리
8. 1. What is Artificial Intelligence?
2. What is Reinforcement Learning?
3. What is Artificial General Intelligence?
4. Planning and Learning
5. Safe Reinforcement Learning
안.전.제.일. 강화학습!
Outline
9. 1. What is Artificial Intelligence?
2. What is Reinforcement Learning?
3. What is Artificial General Intelligence?
4. Planning and Learning
5. Safe Reinforcement Learning
Outline
제가 왜 강화학습을 공부하는지
or
왜 강화학습을 알아야 하는지
10. 1. What is Artificial Intelligence?
2. What is Reinforcement Learning?
3. What is Artificial General Intelligence?
4. Planning and Learning
5. Safe Reinforcement Learning
Outline
최근에는 어디에 집중하고 있는지
12. 딥러닝을 공부하다가 문뜩 이런 생각을 하게 되었습니다.
‘나는 이 분야를 왜 공부할까?’, ‘단지 학습되는 것이 재밌기 때문일까?’,
‘AI의 궁극적인 목적은 무엇일까?’,
’이 분야에 계시는 분들은 왜 AI에 대해서 공부하고 연구할까?’,
‘이 분야에서 내가 할 수 있는 것은 무엇일까?’
15. 인공지능에 대한 3가지 정의
출처 : Deepmind StarCraft 2 AI
이미지 출처 : https://www.slideshare.net/NaverEngineering/deepmind-starcraft-ii-ai
16. 인공지능에 대한 3가지 정의
출처 : Deepmind StarCraft 2 AI
이미지 출처 : https://www.slideshare.net/NaverEngineering/deepmind-starcraft-ii-ai
17. 출처 : Deepmind StarCraft 2 AI
이미지 출처 : https://www.slideshare.net/NaverEngineering/deepmind-starcraft-ii-ai
The Turing Test
18. The Turing Test
출처 : Deepmind StarCraft 2 AI
이미지 출처 : https://www.slideshare.net/NaverEngineering/deepmind-starcraft-ii-ai
19. 인공지능에 대한 3가지 정의
출처 : Deepmind StarCraft 2 AI
이미지 출처 : https://www.slideshare.net/NaverEngineering/deepmind-starcraft-ii-ai
20. Model of The Mind
출처 : Deepmind StarCraft 2 AI
이미지 출처 : https://www.slideshare.net/NaverEngineering/deepmind-starcraft-ii-ai
21. 인공지능에 대한 3가지 정의
출처 : Deepmind StarCraft 2 AI
이미지 출처 : https://www.slideshare.net/NaverEngineering/deepmind-starcraft-ii-ai
‘너무 추상적인데..좀 더 명확한 정의가 없을까?’
22. 인공지능에 대한 3가지 정의
출처 : Deepmind StarCraft 2 AI
이미지 출처 : https://www.slideshare.net/NaverEngineering/deepmind-starcraft-ii-ai
23. Optimal Decision Maker
출처 : Deepmind StarCraft 2 AI
이미지 출처 : https://www.slideshare.net/NaverEngineering/deepmind-starcraft-ii-ai
24. Optimal Decision Maker
출처 : Deepmind StarCraft 2 AI
이미지 출처 : https://www.slideshare.net/NaverEngineering/deepmind-starcraft-ii-ai
‘나도 지능을 얻을 때 어떠한 환경이 있었고,
그 환경과 계속 상호작용하면서
특정한 값(or anything good)을 최대화하는 것 같은데..?!’
25. Optimal Decision Maker
출처 : Deepmind StarCraft 2 AI
이미지 출처 : https://www.slideshare.net/NaverEngineering/deepmind-starcraft-ii-ai
이 정의가 바로 강화학습!
29. 강화학습이란?
출처 : [카카오AI리포트]알파고를 탄생시킨 강화학습의 비밀
이미지 출처 : https://brunch.co.kr/@kakao-it/73
- Agent는 환경의 상태(State)를 통해 행동(Action)을 한다.
- 환경은 Agent에게 그 행동에 대한 다음 상태와 보상(Reward)을 준다.
- Agent는 행동의 결과로 나타나는 보상을 통해 학습한다.
- 따라서 Agent는 보상을 얻게 하는 행동을 점점 많이 하도록 학습한다.
30. 강화학습이란?
출처 : [카카오AI리포트]알파고를 탄생시킨 강화학습의 비밀
이미지 출처 : https://brunch.co.kr/@kakao-it/73
- Agent는 환경의 상태(State)를 통해 행동(Action)을 한다.
- 환경은 Agent에게 그 행동에 대한 다음 상태와 보상(Reward)을 준다.
- Agent는 행동의 결과로 나타나는 보상을 통해 학습한다.
- 따라서 Agent는 보상을 얻게 하는 행동을 점점 많이 하도록 학습한다.
31. 강화학습이란?
출처 : [카카오AI리포트]알파고를 탄생시킨 강화학습의 비밀
이미지 출처 : https://brunch.co.kr/@kakao-it/73
- Agent는 환경의 상태(State)를 통해 행동(Action)을 한다.
- 환경은 Agent에게 그 행동에 대한 다음 상태와 보상(Reward)을 준다.
- Agent는 행동의 결과로 나타나는 보상을 통해 학습한다.
- 따라서 Agent는 보상을 얻게 하는 행동을 점점 많이 하도록 학습한다.
32. 강화학습이란?
출처 : [카카오AI리포트]알파고를 탄생시킨 강화학습의 비밀
이미지 출처 : https://brunch.co.kr/@kakao-it/73
- Agent는 환경의 상태(State)를 통해 행동(Action)을 한다.
- 환경은 Agent에게 그 행동에 대한 다음 상태와 보상(Reward)을 준다.
- Agent는 행동의 결과로 나타나는 보상을 통해 학습한다.
- 따라서 Agent는 보상을 얻게 하는 행동을 점점 많이 하도록 학습한다.
33. 출처 : [카카오AI리포트]알파고를 탄생시킨 강화학습의 비밀
이미지 출처 : https://brunch.co.kr/@kakao-it/73
강화학습이란?
- 상태(State) : 정적인 요소 + 동적인 요소(ex. 속도, 가속도 등)
- 행동(Action) : 어떠한 상태에서 취할 수 있는 행동(ex. 상, 하, 좌, 우)
- 보상(Reward) : Agent가 학습할 수 있는 유일한 정보
(다른 머신러닝 기법과 다르게 만들어주는 가장 핵심적인 요소!)
- 정책(Policy) : 모든 상태에 대해 Agent가 어떤 행동을 해야 하는지 정해놓은 것
강화학습의 목적 : 최적의(Optimal) 정책을 찾는 것!
64. Model-based RL
Model
환경이 어떻게 agent의 행동(action)에 반응할 것인지를 예측하기 위해 만든 것.
다시 말해 imagination(simulation)을 하기 위해 만든 것.
65. Model-based RL
환경이 어떻게 agent의 행동(action)에 반응할 것인지를 예측하기 위해 만든 것.
다시 말해 imagination(simulation)을 하기 위해 만든 것.
Transition function : 𝑷(𝒔′
|𝒔, 𝒂)
Reward function : 𝑹(𝒔, 𝒂, 𝒔′
)
Model
66. Model-based RL
낙하한 거리 ℎ =
1
2
𝑔𝑡2 (𝑔: 중력가속도 9.81 𝑚/𝑠2, 𝑡: 시간 sec)
공의 초기 높이가 50m이다. 공을 낙하시키는 경우 2초 뒤 공의 높이는??
50𝑚 − 0.5 × 9.81𝑚/𝑠2
× 2𝑠 2
≈ 30.38𝑚
공을 직접 낙하시키지 않아도 높이를 알 수 있다!
Ex) 공의 자유 낙하 운동
74. 대표적인 Model-free RL Algorithm
출처 : 파이썬과 케라스로 배우는 강화학습 저자특강, RLCode와 A3C 쉽고 깊게 이해하기
이미지 출처 : https://www.slideshare.net/WoongwonLee/ss-78783597, https://www.slideshare.net/WoongwonLee/rlcode-a3c
DQN(Deep Q-Network)
A3C
(Asynchronous Advantage
Actor-Critic)
76. Model-based RL vs. Model-free RL
Model-based RL Model-free RL
Good 같은 환경에서 다양한 task 가능
Sample efficiency
No Model
Complex task에 대한 해결 능력
Bad Model Error
Planning을 함으로써
Computation cost 증가
엄청난 양의 training data
같은 환경에서 다양한 task의 어려움
83. Convolutional Neural Network (CNN)
출처 : Deep Learning CNN’s in Tensorflow with GPUs
이미지 출처 : https://hackernoon.com/deep-learning-cnns-in-tensorflow-with-gpus-cba6efe0acc2
113. Rollout Algorithm
출처 : TRPO (Trust Region Policy Optimization) : In depth Research Paper Review
이미지 출처 : https://www.youtube.com/watch?v=CKaN5PgkSBc
114. Rollout Algorithm
출처 : TRPO (Trust Region Policy Optimization) : In depth Research Paper Review
이미지 출처 : https://www.youtube.com/watch?v=CKaN5PgkSBc
115. Rollout Algorithm의 목적
‘내가 지금 있는 상태에서 어떠한 행동을 해야 좋을까?’를
Simulation을 통해 구하는 것.
출처 : TRPO (Trust Region Policy Optimization) : In depth Research Paper Review
이미지 출처 : https://www.youtube.com/watch?v=CKaN5PgkSBc
116. Rollout Algorithm
출처 : TRPO (Trust Region Policy Optimization) : In depth Research Paper Review
이미지 출처 : https://www.youtube.com/watch?v=CKaN5PgkSBc
Monte-Carlo control 기반으로써
레드카펫을 쭉 밀어서 끝까지 펴는 것과 같다.
Simulated trajectories의 return 값들을
평균을 냄으로써 각각의 행동의 가치를 평가한다.
최적의 policy를 찾는 것이 아니라 그저
빠르게 simulation을 하는 것이 목적이다.
117. Rollout Algorithm
출처 : TRPO (Trust Region Policy Optimization) : In depth Research Paper Review
이미지 출처 : https://www.youtube.com/watch?v=CKaN5PgkSBc
Monte-Carlo control 기반으로써
레드카펫을 쭉 밀어서 끝까지 펴는 것과 같다.
Simulated trajectories의 return 값들을
평균을 냄으로써 각각의 행동의 가치를 평가한다.
최적의 policy를 찾는 것이 아니라 그저
빠르게 simulation을 하는 것이 목적이다.
118. Rollout Algorithm
출처 : TRPO (Trust Region Policy Optimization) : In depth Research Paper Review
이미지 출처 : https://www.youtube.com/watch?v=CKaN5PgkSBc
Monte-Carlo control 기반으로써
레드카펫을 쭉 밀어서 끝까지 펴는 것과 같다.
Simulated trajectories의 return 값들을
평균을 냄으로써 각각의 행동의 가치를 평가한다.
최적의 policy를 찾는 것이 아니라 그저
빠르게 simulation을 하는 것이 목적이다.
𝐺𝑡 = 𝑅𝑡+1 + 𝛾𝑅𝑡+2 + 𝛾2 𝑅𝑡+3 + ⋯ = σ 𝑘=0
∞
𝛾 𝑘 𝑅𝑡+𝑘+1
119. Rollout Algorithm
출처 : TRPO (Trust Region Policy Optimization) : In depth Research Paper Review
이미지 출처 : https://www.youtube.com/watch?v=CKaN5PgkSBc
Monte-Carlo control 기반으로써
레드카펫을 쭉 밀어서 끝까지 펴는 것과 같다.
Simulated trajectories의 return 값들을
평균을 냄으로써 각각의 행동의 가치를 평가한다.
최적의 policy를 찾는 것이 아니라 그저
빠르게 simulation을 하는 것이 목적이다.
122. Rollout
출처 : TRPO (Trust Region Policy Optimization) : In depth Research Paper Review
이미지 출처 : https://www.youtube.com/watch?v=CKaN5PgkSBc
기존의 Rollout I2A의 Rollout
123. Rollout
출처 : TRPO (Trust Region Policy Optimization) : In depth Research Paper Review
이미지 출처 : https://www.youtube.com/watch?v=CKaN5PgkSBc
기존의 Rollout I2A의 Rollout
차이점!
124. 2-2. encode
CNN + LSTM 사용
2-1. imagine future
Unsupervised 방식의 recurrent한 architecture
125. CNN + LSTM 사용
각각의 Encoder는 하나의 imagined trajectory를
순차적으로 다루는 LSTM Cell을 사용한다.
각각의 Encoder는 Bellman backup operation을 흉내 내듯이
반대순서로 LSTM에 넣어진다.
imagined rollout을 처리하는 rollout encoder를 사용하여
“learn to interpret”(해석하여 학습)을 한다.
다시 말해 agent의 결정에 대해 어떠한 유용한 정보들을
추출하거나 or 필요하다면 그 정보를 무시한다.
126. CNN + LSTM 사용
각각의 Encoder는 하나의 imagined trajectory를
순차적으로 다루는 LSTM Cell을 사용한다.
각각의 Encoder는 Bellman backup operation을 흉내 내듯이
반대순서로 LSTM에 넣어진다.
imagined rollout을 처리하는 rollout encoder를 사용하여
“learn to interpret”(해석하여 학습)을 한다.
다시 말해 agent의 결정에 대해 어떠한 유용한 정보들을
추출하거나 or 필요하다면 그 정보를 무시한다.
127. CNN + LSTM 사용
각각의 Encoder는 하나의 imagined trajectory를
순차적으로 다루는 LSTM Cell을 사용한다.
각각의 Encoder는 Bellman backup operation(?)을 흉내 내듯이
반대순서로 LSTM에 넣어진다.
imagined rollout을 처리하는 rollout encoder를 사용하여
“learn to interpret”(해석하여 학습)을 한다.
다시 말해 agent의 결정에 대해 어떠한 유용한 정보들을
추출하거나 or 필요하다면 그 정보를 무시한다.
129. Bellman backup operation
코딩에서의 등호의 의미와 같이
오른쪽의 식을 왼쪽에 대입한다는 개념이다.
다시 말해 미래의 값(nest state-value function)
으로 현재의 value function을 구한다는 것이다.
130. CNN + LSTM 사용
각각의 Encoder는 하나의 imagined trajectory를
순차적으로 다루는 LSTM Cell을 사용한다.
각각의 Encoder는 Bellman backup operation을 흉내 내듯이
반대순서로 LSTM에 넣어진다.
imagined rollout을 처리하는 rollout encoder를 사용하여
“learn to interpret”(해석하여 학습)을 한다.
다시 말해 agent의 결정에 대해 어떠한 유용한 정보들을
추출하거나 or 필요하다면 그 정보를 무시한다.
131. CNN + LSTM 사용
각각의 Encoder는 하나의 imagined trajectory를
순차적으로 다루는 LSTM Cell을 사용한다.
각각의 Encoder는 Bellman backup operation을 흉내 내듯이
반대순서로 LSTM에 넣어진다.
imagined rollout을 처리하는 rollout encoder를 사용하여
“learn to interpret”(해석하여 학습)을 한다.
다시 말해 agent의 결정에 대해 어떠한 유용한 정보들을
추출하거나 or 필요하다면 그 정보를 무시한다.
132. 2-2. encode
CNN + LSTM 사용
2-1. imagine future
Unsupervised 방식의 RNN 사용
2. Single Imagination rollout
139. Sokoban Experiment
Sokoban은 agent가 주어진 target 위치로 box들을 밀어야 하는 고전 planning 게임!
Box를 미는 것 밖에 안되기 때문에 action을 되돌릴 수 없다.
새로운 단계마다 random한 episode를 생성하기 때문에
구체적인 puzzle의 위치를 기억할 수 없다.
사람도 해결하기 힘들다..
140. Sokoban Experiment
Sokoban은 agent가 주어진 target 위치로 box들을 밀어야 하는 고전 planning 게임!
Box가 벽에 닿아있거나 2개가 연속으로 있을 경우 Box를 밀지 못한다.
새로운 단계마다 random한 episode를 생성하기 때문에
구체적인 puzzle의 위치를 기억할 수 없다.
사람도 해결하기 힘들다..
141. Sokoban Experiment
Sokoban은 agent가 주어진 target 위치로 box들을 밀어야 하는 고전 planning 게임!
Box가 벽에 닿아있거나 2개가 연속으로 있을 경우 Box를 밀지 못한다.
새로운 단계마다 random한 episode를 생성하기 때문에
구체적인 target의 위치를 기억할 수 없다.
사람도 해결하기 힘들다..
142. Sokoban Experiment
Sokoban은 agent가 주어진 target 위치로 box들을 밀어야 하는 고전 planning 게임!
Box가 벽에 닿아있거나 2개가 연속으로 있을 경우 Box를 밀지 못한다.
새로운 단계마다 random한 episode를 생성하기 때문에
구체적인 target의 위치를 기억할 수 없다.
∴ 사람도 해결하기 힘들다..
146. I2A의 장점
1. 단독으로 쓰인 Model-free baseline들보다 성능이 우수하다.
2. Imagination을 통해 agent가 좀 더 나은 길을 갈 수 있도록 한다.
3. “learn to interpret”하기 때문에 불완전한 환경의 모델도 다룰 수 있다.
4. 하나의 환경의 모델로 여러 task들을 해결하는 데에 사용될 수 있다.
147. I2A의 단점
1. 환경과 상호작용을 할 때마다 simulation을 하기 때문에
model-free baseline보다 느리다.
2. Imagination의 계산량은 rollout의 깊이와 수에 linear하게 증가한다.
3. Simulation을 할 수 없는 환경이라면 I2A를 쓸 수 없다.
4. 굳이 환경의 모델을 Network로 써야 될 필요가 없을 수도 있다.
148. 더 자세한 내용은 제 블로그를 참고 해주세요!
http://dongminlee.tistory.com/6
157. References
- DeepMind StarCraft 2 AI (YouTube Link, SlideShare Link)
- 딥러닝 ‘DQN’ 알고리즘의 놀라운 학습 능력 (Link)
- 파이썬과 케라스로 배우는 강화학습 저자특강 (Link)
- RLCode와 A3C 쉽고 깊게 이해하기 (Link)
- Reinforcement Learning: An Introduction (Link)
- Planning and Learning with Tabular Methods (reviewed by D. Lee, Link)
- Paper: Imagination-Augmented Agents for Deep Reinforcement Learning (Link)
- Paper: A Comprehensive Survey on Safe Reinforcement Learning (Link)