콘텐츠로 이동

12. 강화학습

이 장의 질문과 목표

Reinforcement Learning, RL은 정답 레이블이 주어진 샘플을 맞히는 문제와 다르다. 에이전트가 환경과 상호작용하면서 현재 행동뿐 아니라 이후에 이어질 보상까지 고려해 행동 전략을 학습한다.

이 장은 RL 알고리즘을 구현하거나 수렴 이론을 익히는 과정이 아니다. 다음 관계 지도를 만드는 것이 목표다.

  1. MDP가 상호작용 문제를 어떻게 표현하는가
  2. Value와 정책이라는 두 관점이 어떻게 갈라지는가
  3. Q-learning, DQN, 정책 기울기, actor-critic, PPO가 지도에서 어디에 놓이는가
  4. Deep RL에서도 역전파가 어떤 역할을 하는가
읽기 수준과 선수지식 확인

미리 알아볼 말

  • Conditional probability와 expectation: 다음 상태와 기대 return을 표현하는 데 쓰인다.
  • 신경망과 function approximation: 큰 상태 공간에서 value나 정책을 근사한다.
  • 역전파와 optimization: 2장과 3장에서 본 매개변수 갱신이 deep RL에도 쓰인다.
  • 순차적 의사결정: 현재 행동이 미래의 관측과 보상에 영향을 준다.

1. 학습 문제를 이루는 요소

에이전트는 시간 \(t\)에 상태 \(s_t\)를 관측하고 행동 \(a_t\)를 선택한다. 환경은 보상 \(r_{t+1}\)과 다음 상태 \(s_{t+1}\)을 돌려준다. 이 반복을 trajectory라고 한다.

Markov Decision Process, MDP는 보통 다음 요소로 표현한다.

  • 상태 집합 \(\mathcal{S}\)
  • 행동 집합 \(\mathcal{A}\)
  • Transition dynamics \(P(s'\mid s,a)\)
  • 보상 function
  • 미래 보상의 비중을 조절하는 discount factor \(\gamma\)

Markov property는 현재 상태가 미래를 예측하는 데 필요한 정보를 충분히 담는다는 가정이다. 실제 문제에서 observation이 완전한 상태가 아닐 수 있다. 이 경우 partially observable MDP라는 더 넓은 설정이 필요하지만, 이 장에서는 이름과 문제의 존재만 알아둔다.

상태에서 행동을 선택하고 보상과 다음 상태를 받는 마르코프 결정 과정
상태, 행동, 전이, 보상을 연결한 마르코프 결정 과정. 출처: Dive into Deep Learning, CC BY-SA 4.0, 변경 없음.

에이전트가 최대화하려는 대상은 즉시 보상 하나가 아니라 누적된 return이다. 한 가지 정의는 다음과 같다.

\[ G_t=r_{t+1}+\gamma r_{t+2}+\gamma^2r_{t+3}+\cdots \]

정책 \(\pi(a\mid s)\)는 상태에서 어떤 행동을 선택할지 정한다. RL의 핵심은 장기적인 expected return을 높이는 정책을 찾는 것이다.

2. 가치 함수로 행동의 장기 효과를 요약하기

상태 value \(V^\pi(s)\)는 정책 \(\pi\)를 따를 때 상태 \(s\)에서 기대할 수 있는 return이다. 행동 value \(Q^\pi(s,a)\)는 상태 \(s\)에서 행동 \(a\)를 선택한 뒤 정책을 따를 때의 expected return이다.

Bellman equation은 현재 value를 즉시 보상과 다음 상태의 value로 연결한다. 행동 value에 대한 관계는 다음 직관으로 읽으면 된다.

\[ Q^\pi(s,a)=\mathbb{E}\left[r_{t+1}+\gamma Q^\pi(s_{t+1},a_{t+1})\right] \]

여기서 다음 행동은 \(a_{t+1}\sim\pi(\cdot\mid s_{t+1})\)로 정책 \(\pi\)를 따라 선택되며, expectation은 transition과 다음 행동의 불확실성을 함께 평균한다. 이 식은 value를 한 번에 최종 return으로 맞히지 않고 한 step 뒤의 추정값을 이용해 갱신할 수 있다는 아이디어로 이어진다. 이를 temporal-difference, TD learning이라고 한다.

3. Q-학습의 위치

Q-learning은 optimal 행동 value \(Q^*(s,a)\)를 학습하는 대표적인 model-free, value-based, off-policy 알고리즘이다. 표 형태로 value를 저장하는 tabular 설정에서 update는 다음과 같다.

\[ Q(s_t,a_t)\leftarrow Q(s_t,a_t)+\alpha\left[r_{t+1}+\gamma\max_a Q(s_{t+1},a)-Q(s_t,a_t)\right] \]

대괄호 안은 TD error다. 현재 추정과 보상 + 다음 상태에서 가능한 최대 value 사이의 차이를 줄인다.

  • Model-free: transition 모형을 명시적으로 학습하거나 알고 있다고 가정하지 않는다.
  • Value-based: 정책을 직접 parameterize하기보다 Q 값으로 행동을 고른다.
  • Off-policy: data를 모은 behavior 정책과 학습 대상인 target 정책이 달라도 된다.

SARSA는 다음에 현재 정책을 따라 실제로 선택한 \(a_{t+1}\)의 Q 값을 update 목표값에 사용한다. 따라서 대표적인 on-policy TD control 방법이다. Q-learning과 SARSA의 차이는 이름 암기보다 어떤 다음 행동의 value를 목표값으로 쓰는가에 있다.

Q-learning은 RL 전체가 아니다. RL에는 정책을 직접 학습하는 방법, 환경 모형을 사용하는 방법, offline data로 학습하는 방법 등 여러 branch가 있다.

더 깊이 살펴보기: 탐험, DQN, 정책 계열 알고리즘

4. 탐험과 활용

현재 가장 좋아 보이는 행동만 반복하면 아직 시도하지 않은 더 좋은 행동을 놓칠 수 있다. 반대로 무작위 행동을 계속하면 보상을 충분히 얻지 못한다.

  • Exploitation은 현재 지식을 이용해 좋은 행동을 고른다.
  • Exploration은 불확실한 행동을 시도해 정보를 얻는다.

\(\epsilon\)-greedy는 일정 확률로 무작위 행동을 선택하고 나머지 경우에 가장 큰 Q 값을 가진 행동을 고르는 단순한 방법이다. 실제 탐색에는 entropy bonus, optimistic exploration, uncertainty 기반 방법 등 더 많은 선택지가 있다. 어떤 방식도 모든 환경에서 탐색 문제를 자동으로 해결하지 않는다.

5. DQN은 무엇을 바꾸었는가

상태가 이미지처럼 크면 모든 state-action pair를 표에 저장할 수 없다. Deep Q-Network, DQN은 신경망 \(Q_\theta(s,a)\)로 행동 value를 근사한다. 신경망은 TD 목표값과 현재 예측의 차이를 줄이도록 역전파로 학습된다.

연속된 interaction data는 서로 강하게 상관되고, update 중인 신경망이 자기 자신의 목표값도 바꾸기 때문에 학습이 불안정해질 수 있다. DQN은 두 장치를 사용해 이를 완화했다.

  • Experience replay: 과거 transition을 buffer에 저장하고 섞어서 mini-batch로 샘플링한다.
  • Target 신경망: TD 목표값 계산에 쓰는 매개변수를 일정 기간 고정하거나 천천히 갱신한다.

DQN의 experience replay는 과거 behavior 정책이 모은 data로도 학습할 수 있는 off-policy Q-learning과 자연스럽게 연결된다. 반면 현재 정책이 만든 trajectory 분포를 전제로 하는 on-policy 정책 기울기에는 과거 transition을 그대로 섞어 순진하게 재사용할 수 없다. 정책 차이를 보정하거나 그에 맞게 설계된 별도 알고리즘이 필요하다.

DQN은 Q-learning + 신경망이라고 요약할 수 있지만 단순히 신경망을 붙인 것만으로 안정적인 학습이 보장되지는 않는다. Replay 분포, 보상 scale, exploration, target 신경망 update 등 여러 선택이 결과에 영향을 준다. 또한 기본 DQN은 discrete 행동을 전제로 한다.

6. 정책을 직접 학습하기

Policy-based 방법은 parameterized 정책 \(\pi_\theta(a\mid s)\)를 직접 최적화한다. 행동이 continuous하거나 stochastic 정책이 필요한 문제에서 자연스러운 선택이 될 수 있다.

정책 기울기의 핵심 형태는 다음과 같이 읽을 수 있다.

\[ \nabla_\theta J(\theta)=\mathbb{E}\left[\sum_t\gamma^t\nabla_\theta\log\pi_\theta(a_t\mid s_t)\,G_t\right] \]

Expectation은 정책이 만든 trajectory에 대해 계산되며, 기울기에는 한 시점만이 아니라 trajectory의 여러 시점에서 나온 항이 함께 기여한다. Return이 큰 행동의 log probability를 높이는 방향으로 매개변수를 바꾼다는 뜻이다. REINFORCE는 이 아이디어를 Monte Carlo return으로 구현한 대표적인 알고리즘이며, 일반적인 형태는 on-policy다. 개념은 단순하지만 기울기 estimate의 variance가 클 수 있다.

여기서도 실제 매개변수 갱신에는 역전파와 옵티마이저가 쓰인다. 정책 기울기는 역전파의 대안이 아니라, 정책 매개변수에 대해 어떤 objective의 기울기를 계산할지 정하는 방법이다.

7. 액터-크리틱과 어드밴티지

Actor-critic은 두 역할을 결합한다.

  • Actor는 정책을 나타내고 행동을 선택한다.
  • Critic은 상태나 행동의 value를 추정해 actor의 update를 돕는다.

Critic을 이용하면 전체 return만 기다리지 않고 더 낮은 variance의 학습 신호를 만들 수 있다. Advantage \(A(s,a)\)는 특정 행동이 그 상태에서 평균적인 선택보다 얼마나 나은지 나타낸다.

\[ A^\pi(s,a)=Q^\pi(s,a)-V^\pi(s) \]

Actor는 positive advantage를 가진 행동의 확률을 높이고 negative advantage를 가진 행동의 확률을 낮추는 방향으로 학습할 수 있다. 하지만 critic의 value estimate에 편향이나 error가 있으면 actor도 잘못된 방향으로 update될 수 있다.

Actor-critic은 actor와 critic을 함께 쓴다는 구조를 가리키며, 그것만으로 on-policy 여부가 정해지지는 않는다. Data를 모으고 update에 사용하는 방식에 따라 on-policy actor-critic도 있고 off-policy actor-critic도 있다.

8. PPO의 위치

Proximal Policy Optimization, PPO는 정책 기울기와 actor-critic 계열에서 널리 알려진 알고리즘이며, 일반적인 형태는 on-policy다. Update 직전 정책으로 rollout을 모은 뒤 그 data로 여러 번 update할 때 probability ratio가 지나치게 변하지 않도록 clipped objective를 사용하고, update가 끝나면 새 정책으로 다시 data를 모은다.

핵심 직관은 한 번의 update에서 정책을 너무 크게 바꾸지 않도록 제한한다는 것이다. 이것이 모든 환경에서 안정성이나 최적 성능을 보장한다는 뜻은 아니다. PPO 결과는 보상 설계, rollout 길이, advantage 추정, normalization, hyperparameter에 민감할 수 있다.

입문 지도에서 PPO는 다음 위치에 놓으면 된다.

정책 기울기 -> Actor-critic -> Advantage를 사용한 update -> PPO의 clipped update

세부 surrogate objective 유도와 Generalized Advantage Estimation은 후속 심화 주제다.

9. 강화학습 알고리즘 지도를 한 번에 보기

  • Tabular value learning: TD learning, SARSA, Q-learning
  • Deep value learning: DQN과 그 변형
  • 직접 정책 최적화: REINFORCE와 정책 기울기
  • Value와 정책의 결합: actor-critic
  • 제한된 정책 update의 한 예: PPO
  • 별도의 축: model-based RL, offline RL, imitation learning, multi-agent RL

이 분류는 상호 배타적인 완전한 분류표가 아니다. 현대 알고리즘은 여러 아이디어를 결합한다. 논문을 읽을 때는 이름보다 정책, value, 모형, data collection 방식, on-policy 또는 off-policy 여부를 확인한다.

핵심으로 가져갈 내용

  • RL은 행동이 미래 상태와 보상을 바꾸는 sequential decision 문제다.
  • Value-based 방법은 행동의 장기 가치를 추정하고, policy-based 방법은 행동 분포를 직접 학습한다.
  • Q-learning은 RL의 한 유형이고, DQN은 Q 값을 신경망으로 근사한다.
  • Actor-critic은 정책과 value estimator를 함께 사용하며 PPO는 이 branch의 대표적인 정책 optimization 방법이다.
  • Deep RL의 신경망 매개변수는 보통 역전파로 학습된다.

이름과 위치만 알아둘 내용

  • Partially observable MDP
  • Model-based RL
  • Offline RL과 분포 변화
  • Generalized Advantage Estimation
  • Entropy regularization
  • Continuous control 알고리즘
  • 보상 모형과 preference-based RL
자주 하는 혼동과 한계

자주 생기는 혼동과 한계

보상이 레이블을 대신하는가

부분적으로 학습 신호라는 역할은 비슷하지만 구조가 다르다. 보상은 지연되고 희소할 수 있으며 에이전트의 행동에 따라 모이는 data 자체가 달라진다.

높은 훈련 보상이면 문제가 해결되었는가

아니다. 에이전트가 의도하지 않은 shortcut을 찾는 보상 hacking이 생길 수 있다. 여러 seed, held-out condition, safety constraint, 실제 목표와의 정합성을 평가해야 한다.

환경 interaction은 독립 동일분포 data인가

아니다. 연속된 샘플은 상관되어 있고 정책이 변하면 data 분포도 변한다. Supervised learning의 고정 dataset과 다른 어려움이다.

PPO는 항상 안전하고 안정적인가

아니다. Clipping은 update를 제어하는 heuristic 장치이며 안정성과 성능을 보장하는 증명은 아니다.

RL은 생성모델의 다음 단계인가

아니다. RL은 보상 기반 decision making이라는 별도 branch다. 생성모델과 결합할 수 있지만 선수관계는 아니다.

앞뒤 챕터와 연결하기

  • 1장: 출력은 정답 예측이 아니라 행동이고 학습 신호는 sequential 보상이다.
  • 2장과 3장: DQN, 정책 신경망, critic 신경망도 역전파와 옵티마이저를 사용한다.
  • 7장: Transformer가 정책이나 value backbone으로 사용될 수 있지만 RL과 Transformer는 같은 개념이 아니다.
  • 13장: 과학에서는 실험 조건 선택, 제어, inverse design과 연결될 수 있다. 단, 14장과 15장의 필수 선수는 아니다.

스스로 확인하기

  • Q-learning이 RL 전체가 아니라 value-based branch의 한 방법이라고 말하는 이유는 무엇인가?
  • DQN과 tabular Q-learning은 Q 값을 어떻게 표현하며, DQN의 두 안정화 장치는 무엇을 완화하려는가?
  • 정책 기울기와 actor-critic은 value-based 행동 selection과 어떤 점에서 다른가?
  • 높은 훈련 보상과 실제 목표 달성을 구분하려면 무엇을 검증해야 하는가?

원전과 공식 읽을거리

처음에는 Sutton과 Barto의 agent-environment diagram과 Q-learning, DQN, PPO 논문의 abstract 및 algorithm 위치를 확인한다. 증명과 구현 세부는 후속 학습으로 남겨도 된다.