5. Deep Reinforcement Learning 정리
DQN 계열과 Policy Gradient, REINFORCE, Actor-Critic, A3C, A2C의 핵심 아이디어를 연결해 정리한다.
1. RL에서 DRL로 넘어가는 이유
기본 RL은 상태-행동 값을 table로 저장하는 방식에서 출발한다. 하지만 이미지, 로봇 센서값, 자율주행 상태처럼 입력 차원이 커지면 가능한 상태를 모두 table에 담을 수 없다. DRL은 이 자리에 neural network를 넣어 가치 함수나 정책을 근사한다.
2. Naive DQN과 불안정성
Naive DQN은 Q-Learning의 Q-table을 신경망으로 바꾼 가장 단순한 형태다. 그러나 연속된 경험은 서로 강하게 상관되어 있고, Q target도 같은 네트워크가 만들기 때문에 학습 목표가 계속 흔들린다.
3. DQN의 안정화 장치
DQN은 experience replay와 target network를 도입해 Naive DQN의 불안정성을 줄였다.
3.1 Experience Replay
경험을 replay buffer에 저장한 뒤 무작위 mini-batch로 꺼내 쓰면 샘플 간 상관성이 줄고, 한 번 얻은 경험을 여러 번 재사용할 수 있다.
3.2 Target Network
target network는 Q target을 만드는 네트워크를 일정 주기 동안 고정해 학습 목표가 급격히 움직이지 않도록 한다.
3.3 Multi-Step Learning
n-step return은 한 step 보상만 보지 않고 여러 step의 보상을 묶어 target을 만든다. MC와 TD 사이의 절충으로 볼 수 있다.
4. Double DQN과 Prioritized Replay
DQN은 max 연산 때문에 Q값을 과대평가할 수 있다. Double DQN은 행동 선택과 가치 평가를 분리해 이 편향을 줄인다.
Prioritized Replay는 TD error가 큰 경험을 더 자주 샘플링한다. 대신 sampling bias가 생기므로 importance sampling weight로 보정한다.
5. Dueling DQN
Dueling DQN은 Q값을 state value와 advantage로 나누어 표현한다. 어떤 상태가 좋은지와, 그 상태에서 특정 행동이 평균보다 얼마나 나은지를 분리해 학습한다.
6. Policy Gradient와 REINFORCE
Value-based 방법이 행동의 가치를 비교한다면, Policy Gradient는 정책 자체의 파라미터를 직접 업데이트한다.
REINFORCE는 episode return을 이용해 실제로 높은 return을 만든 action의 log-probability를 키우는 가장 기본적인 policy gradient 방법이다.
7. Actor-Critic, A3C, A2C
Actor-Critic은 policy를 업데이트하는 actor와 가치 함수를 추정하는 critic을 함께 둔다. critic은 actor에게 더 낮은 분산의 학습 신호를 제공한다.
A3C는 여러 worker가 비동기적으로 경험을 모으고 global network를 업데이트한다. A2C는 이 흐름을 동기식으로 정리해 구현과 재현성을 높인다.
정리하면 DRL의 큰 흐름은 Q함수를 신경망으로 근사한 DQN 계열과, 정책을 직접 학습하는 Policy Gradient 계열로 나눌 수 있다. 이후 PPO 같은 알고리즘은 이 두 흐름의 안정화 아이디어를 함께 가져간다.


























