[HUFS RL] 강화학습 : Reinforcement Learning: TRPO (Trust Region Policy Algorithm )

Uomnf97·2022년 3월 2일
0

강화학습

목록 보기
4/6

지난 내용 복습하기 :

강화학습 정의 : 주어진 환경(environment)에서 에이전트(Agent)가 최대 보상(Reward)를 받을 수 있는 활동(Action)을 할 수 있도록 Policy를 학습하는 것!

  • 환경(Environemt) : 에이전트가 액션을 취하는 환경을 말합니다. 슈퍼마리오 게임을 예를 든다면 버섯, 현재 마리오의 위치, 아이템, 구조물, 점수 등등 모든 것들이 환경이 됩니다.
  • 상태(State) : 상태(State)는 Agent의 상태를 말하며 시간 t에서의 상황을 나타내며 상황이 어떠한지 나타내는 집합입니다. 가능한 모든 상태를 state space라고 부릅니다.
  • 에이전트(Agent) : 에이전트는 학습 대상을 말합니다. 환경안에서 학습을 하는 주체로 보상을 최대로 받는 방식으로 학습을 합니다
  • 보상(Reward) : 에이전트가 한 번 학습했을 때 주어지는 값입니다. 사용자가 설정한 결과를 만들어냈을때(최고점 획득,최소경로 학습, 최적경로 학습 등) 높은 값의 보상값을 얻을 수 있습니다.
  • 행동(Act) : Agent가 취하는 행동으로 환경에 따라 다른 action 집합을 가지고 있습니다. 주로 앞으로가기, 뒤로가기와 같은 것들을 벡터형태 혹은 매트릭스 형태로 표현합니다. 그리고 이 가능한 모든 행동 집합을 Action Space라고 부르고 행동의 유한성에 따라 유한할 경우 Discrete Action set을 갖고, 무한한 경우 continuous Action Set을 갖고 있습니다.
    • Ex) Discrete Action Set 예시 : 마리오게임에서 점프, 앞으로 가기
    • Ex) Continuous Action Set 예시 : 자율주행 자동차에서 회전각도
  • 정책(Policy) : 궁극적으로 학습을 통해 구하려는 것으로 특정 상황에서의 action 혹은 action의 확률을 정의합니다.
  • Exploitation : 학습을 한 결과를 바탕으로 탐색을 하는 방법
  • Exploration : 새로운 학습을 위해 학습이 제시한 가이드라인 밖을 벗어난 방법으로 탐색을 하는 방법
  • Episode : initial state부터 terminal state까지의 cycle을 말하며 보통 epoch과 같은 강화학습의 학습 단위로 쓰입니다. 여러 step으로 이루어져있습니다.
  • Step: t번째 state에서 t+1 state까지 이동하는 cycle을 말합니다.

지난 Policy Gradient Learning ( REINFORCEMENT) 살펴보기

Policy Gradient Learning

REINFORCE

REward Increment = Nonnegative Factor Offset Reinforcement Characteristic Eligibility

  • Model Free Based Learning의 한 방식으로 Policy Gradient 방식으로 Q-learning의 한계점을 보완한 학습 방법, Q-table의 Value based 학습의 방식과 다르게 신경망을 이용하여 Softmax Regression 방식으로 action들의 확률을 구하고 분포를 얻어 학습하는 방식
  • 장점 :
    • Continuous Action space, Continuous State Space에서 활용가능
    • Policy가 수렴이 잘됨

      Policy Gradient 학습방식

Q-Learning VS REINFORCEMENT

학습방법Q-LearningREINFORCE
학습 유형Value BasedPolicy Based
학습 방식모든 state별로 각 액션들의 Vale를 학습state를 입력받아 신경망에서 액션들의 확률을 학습
Action ChoiceArgmaxSoftmax

TRPO

TRPO (Trust Region Policy Algorithm)

  • Model Free Based Learning의 한 방식으로 Policy Gradient 방식으로 기존의 Policy Gradient의 한계점을 보완한 강화학습 방법입니다. Minorize-Maximization (MM 알고리즘)을 활용하여 Gradient 속도가 일정할 수 있도록 조절해주는 알고리즘

Policy Gradient의 문제점

  1. Gradient가 매우 가파를 경우 : 어떠한 행동을 추천할지 예상이 불가능 함. 서로 다른 행동을 하게 됨.

  2. Gradient가 매우 완만할 경우 학습을 제대로 진행할 수 없음

알고리즘

  • OpenAI에 Spinning Algorithm에서 튜토리얼과 Spinning Up Algorithm을 제공함. 또한 stable_baselines에서 TRPO알고리즘을 제공함
    +) 튜토리얼 보러가기
profile
사회적 가치를 실현하는 프로그래머

0개의 댓글