지난 내용 복습하기 :
강화학습 정의 : 주어진 환경(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가 수렴이 잘됨
PPO는 TRPO처럼 "어떻게 하면 우리가 현재 가지고 있는 데이터를 효과적으로 사용하여, 퍼포먼스를 감소하지 않으면서 학습을 진행할 수 있을까?" 그리고 "이러한 방법을 만들기 위해서 어떠한 정책을 만들면될까?"에서 시작 되었습니다. ... PPO는 새로운 정책을 이전 정책에 가깝게 유지하기 위해 몇 가지 다른 트릭을 학습 방식입니다. 쉬운 구현과 적어도 TRPO이상의 성능을 가지고 있습니다. -OpenAI에서 내린 정의의역-