13. 강화학습 ?
ref : Reinforcement Learning: An Introduction, 2nd ed (Sutton and Barto)
Reinforcement learning is what to do - how to map situations to actions -
so as to maximize a numerical reward signal
14. 강화학습 ?
● 강화학습 (Reinforcement Learning)
- 보상(Reward)를 통해 학습.
- 보상은 현재 상태(State)에서 컴퓨터(Agent)가 선택한 행동
(Action)을 선택했을 때 환경(Environment)의 반응
- 보상을 최대화하는 행동을 하도록 학습.
ref : Reinforcement Learning: An Introduction, 2nd ed (Sutton and Barto)
16. 강화학습의 특성
➢ Trial-and-error search
○ 학습의 주체(Agent)가 상황에 가장 적합한 행동을 찾기까지 수많은 시행
착오가 필요.
➢ Delayed reward
○ 복잡한 상황에서는 현재 선택한 행동이 현재의 보상뿐 아니라 미래의
보상에도 영향을 줌.
● 강화학습의 특성
17. 강화학습의 특성
● Trial-and-error search
➢ Exploitation (이용)
➢ Exploration (탐험)
- 학습된 policy를 이용해 action을 선택
- 탐험을 위해 무작위로 action 선택
18. 탐험과 이용
< 맛집 > < 새로운 음식점 >
Exploitation Exploration
< Exploitation & Exploration >
19. 강화학습의 특성
● Delayed reward
- 현재의 행동이 미래의 보상에 영향을 주기 때문에 단기적인 보상(reward)
으로는 현재 행동의 가치를 알기 어렵다.
- 행동에 대한 장기적인 보상을 고려해보자 !
Return !
28. 최적 정책 찾기
어떤 함수가 goodness 함수가 될 수 있을까?
→ Value function !
29. Value function
● Value function
➢ Policy π 를 따를 때의 상태와 행동에 대한 미래 가치
- 특정 정책(Policy)에서 모든 상태(행동)의 좋은 정도를 평가.
- 좋은 정도의 기준 : 상태 s에서의 Return의 기대값.
- 가치함수를 이용해 정책을 평가 할 수 있다 !
30. Value function
● State value function
➢ 정책 π 를 따를 때 어떤 state에 대한 가치를 표현
○ 가치 : 보상의 총 합에 대한 기댓값
38. FrozenLake-v0
[State]
S : starting point, safe
F : frozen surface, safe
H : hole, fall to your doom
G : goal
[Action]
LEFT = 0
DOWN = 1
RIGHT = 2
UP = 3
S F F F
F H F H
F F F H
H F F G
39. Q-Learning
S F F F
F H F H
F F F H
H F F G
0
0 0
0
0
0 0
0
0
0 0
0
0
0 0
0
0
0 0
0
0
0 0
0
0
0 0
0
Reward : 1
( 𝛾가 1이라 가정 )
40. Q-Learning
S F F F
F H F H
F F F H
H F F G
0
0 0
0
0
0 0
0
0
0 0
0
0
0 0
0
0
0 0
0
0
0 1
0
0
0 0
0
Reward : 1
( 𝛾가 1이라 가정 )
41. Q-Learning
S F F F
F H F H
F F F H
H F F G
0
0 0
0
0
0 0
0
0
0 0
0
0
0 0
0
0
0 0
1
0
0 1
0
0
0 0
0
Reward : 1
( 𝛾가 1이라 가정 )
42. Q-Learning
S F F F
F H F H
F F F H
H F F G
0
0 1
0
0
0 1
0
0
0 0
1
0
0 0
1
0
0 0
1
0
0 1
0
0
0 0
0
Reward : 1
( 𝛾가 1이라 가정 )
43. Greedy policy의 문제
- 탐험을 하지 않아 near optimal policy로 학습되는 경우 더이상 발전하지
않음.
S F F F
F F F H
F F F H
H F F G
44. ϵ - greedy Policy
- ϵ 값에 따라 exploration 과 exploitation 을 적절히 선택
< 맛집 > < 새로운 음식점 >
Exploitation Exploration
60 % 40 %
45. ϵ - greedy Policy
S F F F
F F F H
F F F H
H F F G
46. What we have learned?
ref : 가깝고도 먼 DeepRL(이웅원)
https://tykimos.github.io/warehouse/2018-2-7-ISS_Near_and_Far_DeepRL_4.pdf
- 각 state, action에 해당하는 Q 값을 전부 저장 후 업데이트
● Tabular method
49. Tabular method의 한계
- 실제 문제의 환경 → Large state space
- 비슷한 state는 비슷한 output을 내는 함수 만들면? (Generalization !)
- parameter를 이용해 함수를 추정해보자. → Function Approximation
- How? Neural Net + Deep Learning !!
51. Tabular vs Function Approximation
- 모든 state, action에 대한 Q 값을 table에 저장하고 업데이트.
- state, action의 범위가 커질수록 space complexity 문제로 적용이 어려움
- parameter를 이용해 Q 값을 추정.
- 최근엔 주로 인공신경망을 이용.
● Tabular method
● Function Approximation method
54. Function Approximation
- Function Approximation example
S F F F
F H F H
F F F H
H F F G
Function
Approximator
(w)
Q(s, Left)
Q(s, Right)
Q(s, Up)
Q(s, Down)
< Current State s >
55. Tabular vs Function Approximation
- Tabular : state, action에 대한 Q 값을 업데이트한다.
● ' 학습한다. ' 의 의미
- F.A. : parameter를 gradient descent로 업데이트한다.
60. DQN - CNN
- 이미지(pixel) 데이터를 입력 데이터로 사용.
- 환경에 따라 state의 도메인을 크게 바꾸지 않고 적용 가능하게 해줌.
- ex. 자동차 게임 : 현재 속력, 가속도, … → 자동차 게임 이미지
인형뽑기 게임 : 집게 위치, 집게 속도, … → 인형뽑기 게임 이미지
● Convolution Neural Network
62. DQN - Experience Replay
ref: 강화학습기초부터DQN까지 (박진우)
https://www.slideshare.net/CurtPark1/dqn-reinforcement-learning-from-basics-to-dqn
● Challenge 1 - Correlation between samples
- 강화학습에서의 sample은 시간에 따라 순차적으로 수집되기 때문에 correlation이
높다
- Sample간의 correlation이 높으면 학습이 불안정해진다.
63. DQN - Experience Replay
- transition(S, A, R, S’)을 memory(buffer)에 저장하고 batch 단위로 학습하자.
- data(transition)간의 correlation을 없앰.
- batch 단위로 학습 가능.
● Experience replay
64. DQN - Experience Replay
DQN Agent Environment
State, Reward
Action
Replay Buffer
[S, A, R, S’]
[S, A, R, S’]
batch만큼 sampling
N개의 Transition 저장
65. DQN - Target Network
● Challenge 2 - Non-stationary targets
- Loss function에서 target 과 current value 가 모두 파라미터 w를 통해
계산됨.
- w가 업데이트 되면 target도 바뀌어 버림.
target
=
66. DQN - Target Network
- 일정 step마다 업데이트 되는 network를 추가하여 update시의 target으로 사용
k step 마다
copy
Main Network Target Network
● Target network
67. DQN - 추가 변화
● Gradient Clipping
- Loss function의 기울기의 절대값이 1 이상인 경우 1이 되도록 Clipping
ref: wiki
https://en.wikipedia.org/wiki/Huber_loss
90. Prioritized Replay
- 우선순위를 임의로 지정해서 sampling 했기 때문에
- 실제 환경에서의 transition의 분포와 sampling 된 transition의 분포 사이에
차이가 발생. → 학습시 bias가 발생
- 신경망 update 시 Importance-sampling weight로 보정 !
논문에서 제시하는 PER 적용시 문제점
99. Dueling Networks
Sum :
- But, 단순 sum 식으로는 Q에 대한 V와 A 값이 unique 하지 않음
- ex. Q = 4라면 V + A가 (1, 3), (2, 2), (3, 1) 과 같은 경우의 수가 존재
● Dueling Network에서의 Q 표현 방법
109. Distributional RL
- Target value distribution과 현재 value distribution간의 차이를 줄이는
방향으로 학습
- KL-Divergence
● Loss function
: Target value distribution
110. Distributional RL
1. 다음 state에 대한 value 분포를 구함 :
2. Target atom을 구함
● Target value distribution
124. Noisy Network
1. Independent Gaussian noise
- noise를 weight, bias size 만큼 만든 후 weight에 연산
- noise를 만들기 위한 연산: (p x q) + q
● Gaussian noise를 만드는 방법
p x q q
125. Noisy Network
2. Factorised Gaussian noise
- input size(p)의 noise와 output size(q)의 noise를 만듦
- 두 noise를 이용해 (p x q) size의 noise를 만듦
- noise를 만들기 위한 연산: p + q
p
q
127. Reference
● Sutton, R. and Barto, A., Reinforcement Learning: An Introduction, 2nd ed., MIT Press, 2018.
● V. Mnih et al., "Human-level control through deep reinforcement learning." Nature, 518 (7540):529–533, 2015.
● van Hasselt et al., "Deep Reinforcement Learning with Double Q-learning." arXiv preprint arXiv:1509.06461, 2015.
● T. Schaul et al., "Prioritized Experience Replay." arXiv preprint arXiv:1511.05952, 2015.
● Z. Wang et al., "Dueling Network Architectures for Deep Reinforcement Learning." arXiv preprint arXiv:1511.06581, 2015.
● M. Fortunato et al., "Noisy Networks for Exploration." arXiv preprint arXiv:1706.10295, 2017.
● M. G. Bellemare et al., "A Distributional Perspective on Reinforcement Learning." arXiv preprint arXiv:1707.06887, 2017.
● M. Hessel et al., "Rainbow: Combining Improvements in Deep Reinforcement Learning." arXiv preprint arXiv:1710.02298, 2017.
● 이웅원, “가깝고도 먼 DeepRL”, https://tykimos.github.io/warehouse/2018-2-7-ISS_Near_and_Far_DeepRL_4.pdf
● David Silver, “Lecture 6 in UCL Course on RL” , http://www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching_files/FA.pdf
● RLKorea 민규식, “A Distributional Perspective on Reinforcement Learning”, https://reinforcement-learning-kr.github.io/2018/10/02/C51/