HuggingFace Deep RL Course - 4. Policy Gradient

jihyelee·2023년 5월 26일
1

참고 링크: https://huggingface.co/learn/deep-rl-course/unit4/introduction?fw=pt

강화학습

  • 누적 리워드(reward) 기댓값을 최대화하는 최적의 policy를 찾는 것이 목표

Value-based

  • 최적의 policy를 찾기 위한 중간 단계로 value function을 측정하는 방식
    • value function을 학습
    • 최적의 value function이 최적의 policy로 이어진다는 아이디어에서 출발
  • 실제 action-value function을 근사하기 위해 예측값과 타겟값 사이의 loss를 최소화
  • policy는 action value를 측정하기 위한 단순한 함수 (e.g. greedy-policy)
    • value function으로부터 직접적으로 생성됨
  • value-based deep reinforcement learning
    • 어떤 상태(state)에서 가능한 행동(action)에 대한 각기 다른 Q-value를 근사하기 위해 deep neural network를 사용

Policy-based

  • 최적의 policy를 직접 학습
    • value function을 학습하지 않음
  • policy를 파라미터화 (parameterized)
    • e.g. policy를 neural network로 표현해 action에 대한 확률분포를 생성
  • gradient descent를 활용해 파라미터로 표현된 policy의 성능을 최대화
    • objective function(=cumulative reward)을 최대화할 수 있는 파라미터 theta를 찾고자 함

Policy-based vs. Policy-gradient

  • policy-gradient는 policy-based의 부분집합
    • policy-based method에서 최적화는 대부분 on-policy
      • 가장 최근 버전의 policy에 의해 수집된 데이터를 활용해 업데이트
    • policy-based, policy-gradient는 모두 최적의 policy를 직접 찾는 방식
  • policy-based는 파라미터를 간접적으로 최적화
    • e.g. hill climbing, simulated annealing, evolution strategy, ...
  • policy-gradient는 파라미터를 직접적으로 최적화
    • e.g. gradient ascent

Policy-gradient

장점

  • 추가적인 데이터(=action value)를 저장할 필요 없이 policy를 직접 측정
  • stochastic(=확률적) policy 학습 가능
    • value function은 불가능
      • quasi-deterministic policy (e.g. greedy epsilon)
    • exploration/exploitation trade-off를 사람이 직접 구현할 필요가 없음
    • perceptual aliasing(=두 state가 동일해보이나 다른 action을 필요로 하는 경우)의 문제가 사라짐
      • 확률적으로 action이 결정되기 때문
  • 고차원의 action space나 연속적인 action space에 효과적
    • value-based의 경우 가능한 모든 action에 대해 Q-value를 리턴해야 하며, 그 중 최대값을 가진 action을 고르는 것은 복잡한 최적화 문제가 됨
    • policy-gradient는 action에 대한 확률분포를 리턴하면 됨
  • 수렴(convergence)이 용이
    • value-based는 Q-estimate에서 최대값을 취함으로써 value function을 변화시킴
      • 측정된 action value의 작은 변화에도 action을 취할 확률이 급격하게 변할 수 있음
    • 반면 policy-gradient에서 action을 선택할 가능성은 시간이 지남에 따라 부드럽게 변화

단점

  • global optimum이 아니라 local optimum으로 수렴하는 경우가 많음
  • 학습 시 시간이 오래 걸림 (step by step)
  • variance가 높음

기본 개념

  • policy gradient
    • 기댓값을 최대화하기 위한 파라미터를 찾는 방법
      • 파라미터를 가진 확률적 policy를 가정 (parameterized stochastic policy)
      • 리턴을 최대화하는 좋은 action이 미래에 더욱 자주 샘플링되도록 policy를 튜닝
  • action preference
    • 각 action을 취할 확률
  • stochastic policy
    • 파라미터 theta를 가진 policy π를 가정
    • state가 주어지면 action에 대한 확률분포를 output으로 리턴

목적함수 (objective function)

  • 어떠한 policy가 좋은 것인지 측정하기 위한 방법
  • trajectory(=state action sequence)가 주어지면 누적 리워드의 기댓값을 결과로 리턴
  • 기댓값은 [임의의 trajectory의 누적 리워드 X 해당 trajectory의 확률을 곱한 값]의 전체합으로 표현 가능
  • trajectory의 확률 P는 특정 timestep t에서 state, action이 주어졌을 때 다음 state가 나올 확률(=state distribution)과 해당 timestep t에서 특정 action을 취할 확률로 표현할 수 있음
  • 우리의 목표는 objective function J를 최대화하는 weight(=parameter) theta를 찾는 것

gradient ascent

  • 목적함수 J를 최대화하는 theta를 찾고자하기 때문에 gradient-ascent 필요
  • gradient-descent와는 반대로, 기울기가 가장 가파른 증가를 보이는 방향으로 파라미터 학습
    • θ←θ+α∗∇θJ(θ)
  • J 미분 계산의 어려움
    • 가능한 모든 trajectory의 확률을 계산하는 것은 많은 연산을 요구 (expensive)
      • 몇 개의 trajectory를 모아 계산하는 sample-based 측정으로 gradient estimation 진행
    • 목적함수를 미분하기 위해서는 state distribution (=Markov Decision Process dynamics)를 미분해야 하는데, 이를 모르기 때문에 미분이 어려움
      • policy gradient theorem을 활용해 목적함수를 state distribution의 미분이 필요하지 않은 형태로 재구성
      • policy gradient theorem 설명 링크 (link)

Reinforce 알고리즘 (Monte Carlo Reinforce)

  • policy 파라미터를 업데이트하기 위해 전체 에피소드로부터 측정된 리턴값을 사용하는 policy-gradient 알고리즘
    • 위 그림의 보라색 부분은 state t에서 action을 선택하는 확률의 가장 가파른 증가 방향을 나타냄
      • 즉, 확률을 높이거나 낮추기 위해 policy의 weight을 어떻게 바꿀 수 있는지를 알 수 있음
    • 위 그림의 초록색 부분은 점수 함수
      • 리턴값이 높다면 (state, action) 조합의 확률을 높임

profile
Graduate student at Seoul National University, majoring in Artificial Intelligence (NLP). Currently AI Researcher and Engineer at LG CNS AI Lab

0개의 댓글

관련 채용 정보