[HUFS RL] 강화학습 : Reinforcement Learning: Policy Gradient (REINFORCEMENT)

Uomnf97·2022년 2월 23일
0

강화학습

목록 보기
3/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을 말합니다.

지난 Q-Learning 살펴보기

  • Q learning이란 : Q -learning이란 벨만 방정식을 이용하여 미래가치를 예상하여 주어진 환경(Envionment)에서 에이전트(Agent)가 Action을 정하는 방법으로 Model-Free Reinforcement / Value based Learning의 한 종류입니다.
  • 학습 방식 :
    벨만방정식을 통해서 Q-table을 업데이트 합니다.
  • KeyWord :
    - Epsilon Greedy: Exploration을 가능하게 해주는 방법으로 새로운 방법을 시도해서 학습의 성능을 높여주는 방식입니다. 예를 들면 epsilon이 0.9라면 1의 보상값을 얻을 방법을 있지만 학습할 때마다 0.1정도에 해당하는 학습 에피소드에서는 1보다 큰 보상을 얻을 수 있도록 새로운 방법을 찾아봅니다!
    - Discount Factor : : 0~1사이의 값을 적용하여 Q값에 곱해주어 현재 즉각적 보상의 가치를 미래의 가치보다 높여 줍니다. 예를들어 gamma가 0.9이고 현재 t,t+1,t+2의 즉각적인 가치가 1이라고 가정했을 때, t시점에서 얻을 수 있는 가치는 시간이 1단위 증가할때마다 gamma값을 곱해주어 값을 계산해주게 되고, 각각 1, 0.9, 0.81로 측정됩니다. 즉 0-1사이의 값을 곱함으로서 현재시점부터 먼 미래일수록 미치는 영향이 감소하는갓

-학습 예시 예) 경로찾기

Q-Learning의 한계

1. 만약 State space와 Action Space가 무수히 많다면?

  • 무수히 많은 경우의 ActionSet에 대해서 Q-Table을 만들어줄 수 없음
  • 만약 무수히 많지 않더라도, 10000개의 State Space, 10000개의 Action Space가 존재할 경우 학습에 필요한 데이터 시간등이 많이 소요되는 등 학습 효율이 떨어지고, 성능이 떨어짐

2. Epsilon Greedy의 값이 보완해주지만 계속 우선 순위가 높은 것만 추천하는 문제 발생

  • 우선순위가 높은 action을 계속 동일하게 추천하다가, 차순위가 우선순위가 될 경우 그 액션만 추천함.
    • 우선 순위가 비슷한 action이 필요할 경우 해당 되는 문제점 발생
    • 추천되는 action이 극단적으로 변하게 됨으로 학습에 어려움이 생김 ( 예측 불가능, 학습 포인트를 갖기 힘들어짐 / Value Based 방식의 한계)

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
profile
사회적 가치를 실현하는 프로그래머

0개의 댓글