logo

정책 경사

정책 경사

정책경사 Policy Gradient

  • DQN 등 가치 기반 강화학습은 가치를 정확히 추정하는 것이 목표
    • 여러 행동 중에 가치가 가장 높은 행동을 하는 것이 사용
  • 강화학습의 목표는 정책의 발견이므로, 굳이 가치를 정확히 추정할 필요는 없음
  • 또한 가치 기반 강화학습은 행동 공간이 연속적인 경우에는 사용이 어려움
  • 확률론적 정책의 학습이 어려움
  • 예) 가위 바위 보:
    • 모든 손의 가치는 같음
    • 예측 불가능하게 내는 것이 중요
  • 정책 경사는 가치를 추정하지 않고 성능이 극대화되도록 정책을 직접 개선
  • 수익이 높은 행동의 확률을 높이고, 수익이 낮은 행동의 확률을 낮춤

파라미터화된 정책 parameterized policy

  • 정책: 한 상태에서 할 행동을 정해놓은 것
  • 확률적 정책: 행동이 결정되어 있지 않고 각각의 행동이 확률 π(as,θ)을 따름
  • 확률은 파라미터 θ에 따라 달라짐
  • 인공신경망 모형으로 구현할 경우 출력층에 소프트맥스 함수를 적용, 각 행동의 확률을 출력

파라미터화된 정책의 장점

  • 행동을 결정하기 쉬움
    • 가치 기반 강화학습에서는 각각의 행동에 대해 가치를 계산해야 하므로, 비용이 큼
    • 정책 기반 강화학습에서 정책은 학습가능한 함수이므로 행동이 바로 도출됨
  • 매끄러운 변화
    • 가치를 추정할 경우, 가치가 가장 높은 행동을 선택
    • 가치 추정 결과의 작은 변화로도 정책이 급격하게 변할 수 있음
    • 파라미터화된 정책은 파라미터의 변화에 따라 매끄럽게 변함
  • 탐색
    • 강화학습이 이루어지려면 다양한 행동을 탐색해봐야 함
    • 확률론적 정책은 탐색 매커니즘을 내재
    • 결정론적 정책은 항상 동일한 행동을 선택. 탐색이 불가능
    • ϵ-greedy와 같은 별도의 탐색 방법이 필요 → ϵ-greedy 자체가 가치 추정을 방해

목표 함수 objective function

J(θ)=vπθ(s0)
  • 파라미터화된 정책의 학습은 목표 함수 J(θ)를 최대화하는 방식으로 이루어짐
  • vπθ(s0): 정책 πθ를 따를 때의 상태 가치
    • 상태 가치 state value: 한 상태에서 얻을 수 있는 수익의 기대값
  • s0: 시작 상태
  • 시작 상태의 상태 가치에는 이후 모든 행동의 보상이 할인되어 포함되어 있으므로 전체 수익의 기대값과 같음
  • 경사상승법을 이용하여 목표 함수가 증가하는 방향으로 파라미터 업데이트

정책 경사 정리 policy gradient theorem

  • 목표함수의 미분과 정책의 미분의 관계에 대한 정리
J(θ)sμ(s)aqπ(s,a)θπ(as,θ)
  • μ(s): 각 상태 s의 확률
  • qπ(s,a): 상태 s에서 행동 a의 가치
  • 함의:
    • 목표 함수를 개선하기 위해서 정책의 경사만 고려하면 됨
    • 가치 함수는 미분가능하지 않아도 됨(자유로운 형태를 취할 수 있음)
    • 다양한 종류의 보상에 적용할 수 있음

REINFORCE 알고리즘

  1. 하나의 에피소드(episode)를 현재 정책에 따라 시행한다
  2. 궤적(trajectory)을 기록한다
  3. 에피소드가 끝난 후, 각 시점 t의 수익 Gt를 계산한다
  4. 파라미터 업데이트를 한다
  • 에피소드: 강화학습에서 시작에서 끝까지 한 번의 과정
    • 예: 바둑 한 판, 문장 하나
  • 궤적: 하나의 에피소드에서 거쳐간 행동과 상태들

REINFORCE 알고리즘에서 파라미터 업데이트

θθ+Gtθlogπθ(as)
  • 수익 Gt가 클수록 확률이 높아지는 방향으로 파라미터를 더 많이 업데이트
  • 기존의 확률이 낮으면 파라미터를 더 많이 업데이트
θlogπθ(as)=πθ(as)θπθ(as)

퀴즈

문제 1 / 8맞음: 0힌트: 0틀림: 0채점중: 0남음: 8

정책 경사의 핵심 설명으로 가장 알맞은 것은 무엇입니까?

  • 가치를 정확히 추정하지 않고 성능이 극대화되도록 정책을 직접 개선한다
  • 항상 모든 행동의 가치를 정확히 계산한 뒤 최댓값만 선택한다
  • 전이 함수를 알고 있을 때만 사용할 수 있다
  • 연속적인 행동 공간에서는 사용할 수 없다

퀴즈를 풀려면 대화형 기능을 불러와야 합니다.

Previous
경험 리플레이