5. 이번 발표는
마치 여행을 떠날 때 밖의 경치를 보듯이
Reinforcement Learning 의 개념들을 훑어본다는 느낌으로
봐주시면 감사하겠습니다.
오늘 우리가 여행할 명소들
Policy
Value
Model-based
On-Policy vs Off-Policy
…
Proximal Policy Optimization Algorithm (PPO)
9. Policy, Value, Model
Action 1, Reward 1
Action 2, Reward 2
Action 3, Reward 3
Action 4, Reward 4
State 1
State 2
State 3
State 4
10. Policy, Value, Model
Action 1, Reward 1
Action 2, Reward 2
Action 3, Reward 3
Action 4, Reward 4
State 1
State 2
State 3
State 4
어떤 행동을 할까?
Policy
이번 행동에 따른
보상과 기존
행동들에 의한
결과를 모두
반영했을 때의
가치는?
Value
행동을 통해
미래의 상태를
예측할 수 있는가?
Model
11. 1. Policy 기반 방법론
• REINFORCE
• Neural Network 기반
• 입력: 현재 상태 (State)
• 출력: 행동 (Action)
1. Policy 기반 방법론
12. Environment
Agent
Episode
• 시뮬레이션 중 종료 상태 만날 때 까지의 경로
• 게임이라면 게임을 클리어 하던지 혹은 실패하던지
• 시작 상태 (s0) > 행동 (a1, r1) > 상태(s1) > … > 종료상태 (s_n)
s0
a1
s1 s2
a2 a_n
s_n
하나의 에피소드
13. REINFORCE 방법론 약점
• 매 Episode마다 정책을 학습
• 이 경우 Episode 2 에서 경험한 데이터로는 Policy 0 를 학습 불가
• 지정된 Policy에만 사용될 수 있는 형태의 학습을 On-Policy라고 부름
Episode 0
Policy 0 Policy 1
Episode 1
Policy 2
Episode 2
1. Policy 기반 방법론
14. 2. Value 기반 방법론
• Q-Learning
• (State, Action) 조합에 대한 가치의 기대 값을 계산해두자.
• 현금흐름할인법(DCF)와 유사한 개념
• 미래에 있을 보상(reward)에 할인율을 적용
• 여러 방법이 있음
• 현대의 Classic: Markov Decision Process (MDP)
• 현대의 Modern: Deep Q-Learning (DQL)
• Value 기반의 특징
• Reward가 발생한 State가 있을 경우 인접한 State에 해당 값이 전파
• 학습 시 현재 상태의 Q-Value는 다음에 도달한 상태의 Value를 가져와 discount 후 반영하기에 바로
인접한 상태에 대해서만 가치 전달 가능
• 이를 temporal difference 학습이라 부름
• 자세한 설명은 다음 슬라이드의 내용 참조
2. Value 기반 방법론
16. 2. Value 기반 방법론
• Deep Q-Learning (DQN)
• Deep Neural Network 기반
• 입력: 현재 상태 및 행동 (State, Action)
• 출력: 그 상태와 행동에서의 가치 (Value)
• 그래서 학습이 완료되면 특정 State에서 행할 수 있는 모든 Action 중 가치를 최대화
할 수 있는 행동 선택
• 특징
• Off-Policy
• 따라서 모든 Episode의 데이터를 학습에 활용 가능
• DQN에서 Episode의 데이터가 On-Policy의 제약이 걸리지 않도록 설계
• Experience Replay memory
• Off-Policy를 위해 Episode 데이터를 저장하는 메모리를 위와 같이 부름
2. Value 기반 방법론
17. 3. Model 기반 방법론
• Monte Carlo Tree Search (MCTS) 가 그 중 하나
• AlphaGo에서도 사용된 방법론
• 마치 바둑에서 몇 수 앞을 내다보듯이 현재 상태에서 앞으로 어떤 일이 일어날지
추정해보는 것
• 실제 상태를 변경하진 않음
• 즉, Environment를 변경하지 않으며 알고 있는 정보내에서 행동에 따른 결과를 미리 짐작
• 이것을 사용하는 경우는 체스나 바둑처럼 중간 과정에 보상을 주기 어려운 경우
• 행동을 선택해도 보상이 바로 주어지지 않고 한참을 진행해야 승리 혹은 패배를 알 수 있음
• 즉, 환경에서 reward를 주기 어려울 때 이를 보완하기 위함이라고 이해
3. Model 기반 방법론
18. 향상된 DQN
• 목표 신경망 도입
• 매 Episode마다 목표가 되는 Q 값이 바뀌니 학습이 제대로 되지 않음
• 매 Episode마다 목표 Q를 변경하지 말고 일정 Batch 단위마다 변경하자
• > 목표가 안정화되어 일정한 학습 가능
• 이중 DQN
• Q값은 자신이 행할 수 있는 행위 중 max 값을 취하게 됨
• 이로 인해 과대 추정 문제 발생
• 이를 방지하기 위해 두개의 DQN을 학습하자
• 누렁소는 일을 잘하고 검은소는 놀기를 잘하고 …
• 한 DQN은 행동을 선택하는데 사용하고, 다른 녀석은 그 행동에 대한 가치를 판단하는데 사용하자
• 두개를 분리하니 과대 추정 문제가 완화되었다
• 우선 순위가 있는 Experience Replay memory
• DQN에서 Experience Replay memory 도입으로 학습 시 재미가 있었는데 이를 좀 더 잘 쓸 수 없을까?
• 답) 있다. 현재 Episode와 차이가 큰 (정보량이 많은) 경험을 우선적으로 샘플링 해보자 (이를 Importance Sampling이라 부름)
2. Value 기반 방법론
20. 다른 방법은 없는가?
• 답) 있다. 각 방법론들의 장점을 섞으면 된다.
• Advantage Actor-Critic (A2C) 가 업계 표준이 된 것 같긴한데… 이것도 좀 시간이
지나서 현재는 모르겠음
• 여기서 좀 멋진 Generalized Advantage Estimation (GAE)라는 용어를 씀
• 그런데 앞의 방법들 정리하다 보니 지쳐서 이건 다음 기회에 공유하겠음
4. 그 외의 방법들
21. 혹시 Neural Network 사용시 근본적인 문제는 없는가?
• 답) 있다.
• 우리가 현재 학습하는 것은 Neural Network의 Embedding Space이다.
• 그런데 말입니다, NN이 최적화 되는 방향으로 간다고 그게 강화학습에 도움이 되진
않는다.
• NN의 Embedding Space와 강화학습이 배워야 하는 Value 혹은 Policy는 NN과 다른
공간에 놓여있기에 NN이 좀 움직이면 Value 혹은 Policy가 깨지는 경우가 있음
• 이를 Performance Collapse라고 함
• 강화학습 모델을 학습하다 보면 강화되지 않고 깨지는 경우가 자주 있다.
• 마치 MMORPG에서 장비 강화하다 깨지는 느낌?
근본적인 문제
22. 그럼 이를 해결할 방법은 없는가?
• 답) 있다.
• Proximal Policy Optimization (PPO)가 이런 연유로 생겨났다.
• 요즘 이거 안 쓰면 트렌드에 뒤쳐짐
• 그렇다면 PPO는 무엇인가?
• PPO 개념을 구현하기 위한 여러가지 방법들이 출현했는데 간단하게 설명하면 학습 시 새
정책의 변화를 일정 범위내로 제한하는 것이다.
• “간단하게”라고 했는데 이게 전부이다.
• 아래 수식의 clip 부분이 PPO가 적용된 내용
근본적인 문제