4장에서 공부한 REINFORCE 알고리즘은 개별적인 정책 함수가 필요하지 않다는 장점을 가지지만, 복잡한 환경의 강화학습에는 잘 작동하지 않는다. 또한 심층 Q 신경망은 이산적인 동작 공간에서 효율적이지만, 개별적인 정책 함수가 필요하다.
⇒ REINFORCE 알고리즘 장점 + 심층 Q 신경망 장점 = 행위자-비평자 모형
- REINFORCE 알고리즘: 일화적 알고리즘(몬테카를로 방식)
- 심층 Q 신경망:
- 온라인 학습
- 학습 효율성과 안정성 위해 경험 재현 기법 필요(메모리 과다 사용).
- 주어진 상태에서의 한 동작의 가치를 직접적으로 모형화
- 상태와 보상만 관찰하면 된다는 점에서 MDP 해법.
- 분산 이익 행위자-비평자(DA2C) 정책 기울기 방법
- 온라인 학습의 장점을 가지지만, 경험 재현이 필요하지 않음.
- 직접 동작을 선택하여 별도의 정책 함수가 필요하지 않음.
가치 함수와 정책 함수의 결합
정책망 학습 개선 방안
- 표본 효율성 개선하기
- 일화적으로 학습되므로 표본 효율성이 낮다.(정책망은 한 번 수집한 trajectory을 가지고 그 에피소드가 끝난 뒤에 학습한다.)
- 표본을 반복 사용하지 않는다.
- 갱신 빈도를 높이자.
- 보상 분산 줄이기
- 정책 경사 추정의 분산이 크면 학습이 불안정하고 느리게 수렴한다.
- 이를 완화하기 위해 Baseline 기법을 사용하여 보상(R)의 기준선(을 빼줌으로써 분산을 감소시킨다.
- $loss = \overbrace{-log(\pi(a|S))}^{ 동작 로그 확률}*\overbrace{(R-\underbrace{V_\pi(S)}_{상태가치})}^{benefit}$
- 어떤 상태에서 동작 1을 수행하였을 때, 보상이 +10이고, 상태 가치가 +4라면, 동작 1의 이익(benefit)은 +6이다.
- 이는 주어진 상태에서 동작 1을 선택했을 때의 보상이 그 상태에서의 기존 보상들로 예측한 기대 보상보다 상당히 크다는 뜻.
부트스트래핑
- 부트스트래핑이란 현재 상태에 기초하여 향후 상태의 가치를 예측하는 것.
- 보상이 희박한 상황(e.g GridWorld)에서도 적절한 보상을 줄 수 있음.
- 편향(bias)의 근원
- 편향이란 예측 값이 그 참값과 얼마나 벗어났는지를 나타내는 체계적 오차.
- 누적적으로 오차가 발생함으로 편향이 증가함.
- 분산(Variance) 감소
- 분산이란 값들이 얼마나 퍼져 있는지를 나타내는 지표.
- 예측값으로 다른 예측을 하므로 자기 일관성이 생겨 분산이 낮아짐.
- 분산이 크고, 편향이 작으면 Overfitting(과대 적합)
행위자-비평자 방법
-
두 개의 신경망을 동시에 훈련
- 정책 신경망(행위자, actor) : 동작 결정, 큰 분산 & 작은 편향
- 상태 가치 신경망(비평자, critic) : 동작 평가, 작은 분산 & 큰 편향
⇒ 편향과 분산이 둘 다 적당한, 따라서 온라인 학습 방식에도 잘 동작하는 에이전트를 만들 수 있음.
-
이익(R - V(S))를 사용하므로, 이익 행위자-비평자 방법
-
행위자(정책망)가 동작 → 비평자(상태 가치 신경망)가 동작 평가.
-
가끔씩만 보상 신호를 받는 환경에서도 적절한 피드백을 받을 수 있음.
