1. 개요[편집]
정책경사(policy gradient)는 가치함수를 거쳐 정책을 유도하는 대신, 정책 자체를 파라미터 로 직접 표현하고 기대수익 의 경사를 따라 를 올려버리는 강화 학습 계열이다. 목적함수는 단순하다.
즉 강화학습을 확률적 경사하강법 문제로 갈아 넣는 것. 문제는 의 경사가 “환경의 전이확률로 정의된 기댓값”의 미분이라는 점인데, 환경을 미분할 수는 없으니 여기서 마법 같은 항등식 하나가 등장한다.
2. 왜 정책을 직접 파라미터화하나[편집]
Q러닝류 가치기반 방법은 를 매 스텝 풀어야 한다. 행동이 유한개면 그냥 훑으면 되지만, 관절 토크 7개를 실수로 뱉어야 하는 로봇 팔이나 제어 입력이 연속인 공학 문제에서는 이 최대화 자체가 매 스텝짜리 비선형 최적화가 된다. 정책경사는 가 곧바로 행동을 뱉으므로 이 문제가 사라진다. 정리하면,
- 연속 행동공간을 자연스럽게 다룬다. 가우시안 정책 처럼 분포를 직접 출력하면 끝.
- 확률적 정책이 필요한 문제가 있다. 관측이 불완전해 서로 다른 상태가 같아 보이는 경우(부분관측 마르코프 결정 과정), 최적 정책이 확률적일 수 있는데 탐욕적 가치기반 방법은 이걸 표현하지 못한다. 가위바위보에서 결정론적 정책은 곧 패배다.
- 정책이 가치보다 단순한 경우가 흔하다. “벽에 가까우면 감속” 같은 규칙은 파라미터 몇 개인데, 그 상황의 정확한 가치를 재현하려면 훨씬 복잡한 함수가 필요하다.
- 갱신이 에 대해 매끄러워 수렴이 얌전하다. 가치기반은 값이 아주 조금 바뀌어도 가 튀면서 정책이 통째로 점프한다.
단점도 분명하다. 표본 효율이 나쁘고, 대체로 지역 최적해에 수렴하며, 경사 추정의 분산이 크다. 아래 절반은 그 분산과 싸우는 이야기다.
3. 정책 경사 정리와 로그미분 트릭[편집]
로그미분 트릭(likelihood-ratio trick)은 라는 한 줄짜리 항등식이다. 이걸 궤적 분포에 적용하면, 궤적 확률 에서 환경 항 이 에 의존하지 않으므로 로그미분에서 통째로 사라진다. 모델을 몰라도 경사를 표본으로 추정할 수 있는 이유가 바로 이것.
여기에 인과성(현재 행동은 과거 보상에 영향을 못 준다)을 반영해 정리한 것이 정책 경사 정리다.
는 정책 하의 (할인된) 상태 방문 분포다. 핵심은 항이 결과에 나타나지 않는다는 것 — 정책을 바꾸면 방문하는 상태 분포도 바뀌는데, 그 미분을 계산할 필요가 없다.
이 추정량을 그대로 몬테카를로로 구현한 것이 REINFORCE다. 에피소드를 굴려 를 모으고
로 갱신한다. 직관은 명료하다 — 수익이 좋았던 궤적에서 취한 행동의 로그확률을 올리고, 나빴으면 내린다. 구현은 자동 미분 프레임워크에서 손실 를 정의하고 역전파하면 끝이라 열 줄이면 된다.1
4. 기준선과 분산 감소[편집]
REINFORCE는 불편추정량이지만 분산이 지옥이다. 보상이 전부 +1000 근처인 환경에서는 잘한 행동과 못한 행동 모두 로그확률이 올라간다. 그래서 상태에만 의존하는 기준선 를 뺀다.
빼도 되는 이유는 이기 때문. 편향은 0인데 분산은 줄어든다는 공짜 점심이다. 로 잡으면 괄호 안이 어드밴티지
가 된다. “이 상태의 평균보다 이 행동이 얼마나 나았나”만 남기므로, 보상의 절대 스케일이 사라진다.
5. 액터-크리틱[편집]
나 를 모르니 그것도 학습한다. 정책을 굴리는 액터와 가치를 추정하는 크리틱을 함께 돌리는 구조가 액터-크리틱이다. 크리틱은 시간차 학습으로 를 맞추고, 액터는 크리틱이 준 어드밴티지 추정으로 갱신한다. 가장 싼 추정은 TD 오차 그 자체다.
즉 크리틱이 정확하다면 TD 오차는 어드밴티지의 불편추정량이다. 한 스텝만 쓰면 분산은 작지만 크리틱 편향을 그대로 먹고, 끝까지 쓰면(=REINFORCE) 편향은 없지만 분산이 폭발한다. 이 다이얼을 하나로 연속 조절하는 것이 일반화 어드밴티지 추정(GAE)이며, 사실상 어드밴티지판 TD(λ)다.
6. 자연 경사와 신뢰 영역[편집]
보통의 경사 상승은 파라미터 공간에서 유클리드 거리로 스텝을 재는데, 이게 정책에는 맞지 않는다. 가우시안 정책에서 를 0.5에서 0.4로 바꾸는 것과 0.05에서 0.04로 바꾸는 것은 파라미터 변화량은 비슷해도 분포 변화는 하늘과 땅 차이다. 그래서 거리를 분포 공간에서 재는 자연 정책 경사를 쓴다. 피셔 정보 행렬
는 KL 발산의 국소 2차 근사()에 해당하는 계량이고, 자연 경사는 다. 파라미터화 방식을 바꿔도 갱신 방향이 변하지 않는다는 불변성이 핵심 장점.2 는 헤세 행렬 자리를 대신하지만 항상 양반정부호라는 점에서 다루기가 더 낫다.
여기서 두 갈래가 나온다.
- TRPO — 대리 목적함수를 KL 제약 아래에서 최대화한다. 딱 신뢰 영역 방법의 구조 그대로이며, 제약 안에서 단조 개선 보장을 이론적으로 유도한다. 실제로는 를 명시적으로 만들지 않고 공액경사법(헤세-벡터 곱만 필요)으로 방향을 구한 뒤 백트래킹 라인서치로 제약을 만족시킨다.
- PPO — 위 절차가 너무 무거워서, 확률비 를 클리핑하는 것으로 신뢰 영역을 흉내 낸다.
가 관례. 이론적 보장은 헐거워졌는데 구현이 몇 줄이고 성능은 비슷해서, 사실상 업계 기본값이 됐다.
7. 결정론적 정책 경사와 공학 응용[편집]
행동이 연속이면 정책을 아예 결정론적 함수 로 두는 선택지도 있다. 이때 경사는 연쇄법칙으로
가 된다. 행동공간에 대한 기댓값 적분이 사라져 분산이 크게 줄지만, 크리틱 를 행동에 대해 미분할 수 있어야 하고 탐험을 외부 잡음으로 따로 넣어줘야 한다. 이를 심층망과 경험 재생으로 구현한 것이 DDPG이며, 과대추정을 잡은 TD3, 엔트로피 정규화를 넣은 SAC로 이어진다.
공학 시뮬레이션에서의 쓰임새는 대체로 두 부류다.
- 제어기 학습 — 플랜트 시뮬레이터를 환경으로 두고 정책을 학습한다. PID 제어처럼 구조가 고정된 제어기의 이득만 정책 파라미터로 두면 탐색 공간이 작아 표본 효율이 크게 좋아지고, 학습 결과를 사람이 해석할 수 있다는 실무적 장점이 크다. 모델이 정확하고 제약이 명시적이면 모델 예측 제어가 여전히 강력한 경쟁자다.
- 설계 최적화 루프 — 형상 최적화나 메시·격자 적응처럼 “결정을 순차적으로 내리고 마지막에 성능을 평가하는” 문제에 붙인다. 다만 매 표본이 CFD 해석 한 번이라 표본 효율이 곧 예산이다. 이럴 땐 대리 모델이나 베이지안 최적화가 더 현실적인 선택인 경우가 많고, 감도가 계산되는 문제라면 민감도 해석의 수반법이 압도적으로 싸다. 정책경사가 이기는 지점은 미분 불가능하거나 순차적 의사결정 구조가 본질적인 문제다.3
8. 관련 문서[편집]
- 강화 학습 · 마르코프 결정 과정
- 시간차 학습 · Q러닝
- 신뢰 영역 방법 · 확률적 경사하강법
- 자동 미분 · 헤세 행렬
- 심층 학습 · 합성곱 신경망
- 형상 최적화 · 베이지안 최적화
- 액터-크리틱 · 엔트로피 정규화
9. Footnotes[편집]
-
그래서 “손실이 내려가는데 성능은 그대로”라는 현상이 정책경사에서 특히 흔하다. 저 손실은 최소화 대상이 아니라 경사를 뽑아내려고 만든 대리 함수라서, 값 자체에는 의미가 거의 없다. 학습 곡선은 반드시 에피소드 수익으로 봐야 한다. ↩
-
Kakade (2001). 같은 정책을 로짓으로 파라미터화하든 다른 좌표로 하든 자연 경사 방향은 같다. 좌표계를 갈아탈 때마다 학습률을 다시 튜닝하는 삽질에서 해방시켜 주는 성질인데, 대가로 매 스텝 을 다뤄야 한다. ↩
-
경험칙: 목적함수가 미분 가능하고 시뮬레이터에 수반해석이 붙어 있으면 정책경사를 꺼낼 이유가 별로 없다. 수천 번의 롤아웃 대신 수반 해석 한 번이면 같은 방향을 훨씬 정확하게 알려준다. 강화학습이 만능이라는 착각은 대체로 청구서가 도착하기 전까지만 유지된다. ↩