ݺߣ

ݺߣShare a Scribd company logo
강화학습 & Unity ML Agents
https://youtu.be/KjWF8VIMGiY
이 발표 주제의 시작은 추천 영상 때문이었다고 한다.
TROP와 PPO의 개념이 무엇인지 어렴풋하게 접한 첫 인상은?
완벽히 이해한 발표자에게 자유롭게 질문
이번 발표는
마치 여행을 떠날 때 밖의 경치를 보듯이
Reinforcement Learning 의 개념들을 훑어본다는 느낌으로
봐주시면 감사하겠습니다.
오늘 우리가 여행할 명소들
Policy
Value
Model-based
On-Policy vs Off-Policy
…
Proximal Policy Optimization Algorithm (PPO)
강화학습
• 순차적인 의사결정 문제를 해결하는 방법
Unity ML Agents 예제부터
• Python 3.9.16
• Unity 2020.3.25f1
• Unity ml-agents repo의 release_19 branch
• https://github.com/Unity-Technologies/ml-agents.git
Environment, Agent
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
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
1. Policy 기반 방법론
• REINFORCE
• Neural Network 기반
• 입력: 현재 상태 (State)
• 출력: 행동 (Action)
1. Policy 기반 방법론
Environment
Agent
Episode
• 시뮬레이션 중 종료 상태 만날 때 까지의 경로
• 게임이라면 게임을 클리어 하던지 혹은 실패하던지
• 시작 상태 (s0) > 행동 (a1, r1) > 상태(s1) > … > 종료상태 (s_n)
s0
a1
s1 s2
a2 a_n
s_n
하나의 에피소드
REINFORCE 방법론 약점
• 매 Episode마다 정책을 학습
• 이 경우 Episode 2 에서 경험한 데이터로는 Policy 0 를 학습 불가
• 지정된 Policy에만 사용될 수 있는 형태의 학습을 On-Policy라고 부름
Episode 0
Policy 0 Policy 1
Episode 1
Policy 2
Episode 2
1. Policy 기반 방법론
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 기반 방법론
Q-Learning (MDP)
/hyunjonglees/qlearning-257058513
2. Value 기반 방법론
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 기반 방법론
3. Model 기반 방법론
• Monte Carlo Tree Search (MCTS) 가 그 중 하나
• AlphaGo에서도 사용된 방법론
• 마치 바둑에서 몇 수 앞을 내다보듯이 현재 상태에서 앞으로 어떤 일이 일어날지
추정해보는 것
• 실제 상태를 변경하진 않음
• 즉, Environment를 변경하지 않으며 알고 있는 정보내에서 행동에 따른 결과를 미리 짐작
• 이것을 사용하는 경우는 체스나 바둑처럼 중간 과정에 보상을 주기 어려운 경우
• 행동을 선택해도 보상이 바로 주어지지 않고 한참을 진행해야 승리 혹은 패배를 알 수 있음
• 즉, 환경에서 reward를 주기 어려울 때 이를 보완하기 위함이라고 이해
3. Model 기반 방법론
향상된 DQN
• 목표 신경망 도입
• 매 Episode마다 목표가 되는 Q 값이 바뀌니 학습이 제대로 되지 않음
• 매 Episode마다 목표 Q를 변경하지 말고 일정 Batch 단위마다 변경하자
• > 목표가 안정화되어 일정한 학습 가능
• 이중 DQN
• Q값은 자신이 행할 수 있는 행위 중 max 값을 취하게 됨
• 이로 인해 과대 추정 문제 발생
• 이를 방지하기 위해 두개의 DQN을 학습하자
• 누렁소는 일을 잘하고 검은소는 놀기를 잘하고 …
• 한 DQN은 행동을 선택하는데 사용하고, 다른 녀석은 그 행동에 대한 가치를 판단하는데 사용하자
• 두개를 분리하니 과대 추정 문제가 완화되었다
• 우선 순위가 있는 Experience Replay memory
• DQN에서 Experience Replay memory 도입으로 학습 시 재미가 있었는데 이를 좀 더 잘 쓸 수 없을까?
• 답) 있다. 현재 Episode와 차이가 큰 (정보량이 많은) 경험을 우선적으로 샘플링 해보자 (이를 Importance Sampling이라 부름)
2. Value 기반 방법론
향상된 DQN
• 결론: 좋다.
2. Value 기반 방법론
다른 방법은 없는가?
• 답) 있다. 각 방법론들의 장점을 섞으면 된다.
• Advantage Actor-Critic (A2C) 가 업계 표준이 된 것 같긴한데… 이것도 좀 시간이
지나서 현재는 모르겠음
• 여기서 좀 멋진 Generalized Advantage Estimation (GAE)라는 용어를 씀
• 그런데 앞의 방법들 정리하다 보니 지쳐서 이건 다음 기회에 공유하겠음
4. 그 외의 방법들
혹시 Neural Network 사용시 근본적인 문제는 없는가?
• 답) 있다.
• 우리가 현재 학습하는 것은 Neural Network의 Embedding Space이다.
• 그런데 말입니다, NN이 최적화 되는 방향으로 간다고 그게 강화학습에 도움이 되진
않는다.
• NN의 Embedding Space와 강화학습이 배워야 하는 Value 혹은 Policy는 NN과 다른
공간에 놓여있기에 NN이 좀 움직이면 Value 혹은 Policy가 깨지는 경우가 있음
• 이를 Performance Collapse라고 함
• 강화학습 모델을 학습하다 보면 강화되지 않고 깨지는 경우가 자주 있다.
• 마치 MMORPG에서 장비 강화하다 깨지는 느낌?
근본적인 문제
그럼 이를 해결할 방법은 없는가?
• 답) 있다.
• Proximal Policy Optimization (PPO)가 이런 연유로 생겨났다.
• 요즘 이거 안 쓰면 트렌드에 뒤쳐짐
• 그렇다면 PPO는 무엇인가?
• PPO 개념을 구현하기 위한 여러가지 방법들이 출현했는데 간단하게 설명하면 학습 시 새
정책의 변화를 일정 범위내로 제한하는 것이다.
• “간단하게”라고 했는데 이게 전부이다.
• 아래 수식의 clip 부분이 PPO가 적용된 내용
근본적인 문제
Unity ML Agents 예제 다시 한번?
완벽히 이해한 발표자에게 자유롭게 질문
하지 말아주세요. 너무 쉬워서 답변하기 어렵습니다.

More Related Content

강화학습 & Unity ML Agents

  • 2. https://youtu.be/KjWF8VIMGiY 이 발표 주제의 시작은 추천 영상 때문이었다고 한다.
  • 3. TROP와 PPO의 개념이 무엇인지 어렴풋하게 접한 첫 인상은?
  • 5. 이번 발표는 마치 여행을 떠날 때 밖의 경치를 보듯이 Reinforcement Learning 의 개념들을 훑어본다는 느낌으로 봐주시면 감사하겠습니다. 오늘 우리가 여행할 명소들 Policy Value Model-based On-Policy vs Off-Policy … Proximal Policy Optimization Algorithm (PPO)
  • 6. 강화학습 • 순차적인 의사결정 문제를 해결하는 방법
  • 7. Unity ML Agents 예제부터 • Python 3.9.16 • Unity 2020.3.25f1 • Unity ml-agents repo의 release_19 branch • https://github.com/Unity-Technologies/ml-agents.git
  • 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 기반 방법론
  • 19. 향상된 DQN • 결론: 좋다. 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가 적용된 내용 근본적인 문제
  • 23. Unity ML Agents 예제 다시 한번?
  • 24. 완벽히 이해한 발표자에게 자유롭게 질문 하지 말아주세요. 너무 쉬워서 답변하기 어렵습니다.