연속 제어를 위한 딥 강화학습 (DDPG)
DQN의 경험 재생 · 타깃 네트워크를 결정론적 정책 경사에 옮겨 연속 행동을 학습
먼저 알아야 할 것
다루는 내용
DDPG는 결정론적 액터가 행동을 내고, Q 크리틱의 행동 기울기를 연쇄 법칙으로 액터에 전달해 연속 행동 정책을 학습하는 오프폴리시 액터-크리틱입니다. DQN의 경험 재생 버퍼와 타깃 네트워크(τ=0.001의 부드러운 업데이트), 배치 정규화, OU 탐색 잡음을 더해 신경망 학습을 안정시켰습니다. 같은 구조와 하이퍼파라미터로 20개 넘는 MuJoCo 과제를 250만 걸음 안에 풀었고 일부는 픽셀 입력만으로 플래너(iLQG)를 넘었으며, 이후 TD3 · SAC의 뼈대가 됐습니다.
초록
이 논문은 딥 Q-러닝의 성공을 이끈 아이디어를 연속 행동 영역으로 옮깁니다. 결정론적 정책 경사에 기반한, 연속 행동 공간에서 동작하는 모델 없는(model-free) 액터-크리틱 알고리즘을 제시합니다. 같은 학습 알고리즘 · 신경망 구조 · 하이퍼파라미터로, 이 알고리즘은 카트폴 스윙업 같은 고전 문제, 정교한 물체 조작, 다리 달린 로봇의 보행, 자동차 운전을 포함한 20개 넘는 물리 시뮬레이션 과제를 안정적으로 풉니다. 이 알고리즘이 찾은 정책은, 환경의 동역학과 그 도함수에 완전히 접근할 수 있는 계획(planning) 알고리즘이 찾은 정책과 견줄 만한 성능을 냅니다. 나아가 많은 과제에서 원시 픽셀 입력으로부터 곧바로, 즉 처음부터 끝까지(end-to-end) 정책을 학습할 수 있음을 보입니다.
해설
연속 제어를 위한 딥 강화학습 (DDPG)
DQN의 두 가지 안정화 장치(경험 재생 · 타깃 네트워크)를 결정론적 정책 경사(DPG)에 옮겨, 관절 토크처럼 연속적인 행동을 내는 문제를 딥러닝으로 푼 논문입니다. 같은 신경망 · 같은 하이퍼파라미터로 20개가 넘는 물리 시뮬레이션 과제를 풀었고, 일부는 화면 픽셀만 보고 학습했습니다. 이후 TD3 · SAC로 이어지는 오프폴리시 액터-크리틱의 출발점입니다.
| 항목 | 내용 |
|---|---|
| 원제 | Continuous control with deep reinforcement learning |
| 저자 | Timothy P. Lillicrap 외 7명 (Google DeepMind) |
| 발표 | 2015 (학회 발표 2016) · ICLR · arXiv 1509.02971 |
| 트랙 · 수준 | 강화학습 · 심화 |
| 먼저 알면 좋은 것 | Q-러닝 · 벨만 방정식, DQN(경험 재생 · 타깃 네트워크), 액터-크리틱, 연쇄 법칙, 배치 정규화 |
들어가기 전에
이 해설은 아래 내용을 안다고 보고 씁니다. 처음이라면 먼저 읽고 오면 수식과 손계산을 훨씬 쉽게 따라올 수 있습니다.
- 딥 강화학습으로 아타리 게임하기 (DQN) — 픽셀만 보고 아타리 게임을 배운 첫 딥 강화학습 모델 — Q-네트워크와 경험 재생
- OpenAI Spinning Up: 딥 강화학습 입문 — 로그 미분 트릭으로 정책 경사를 유도하고 reward-to-go · 기준값 · 액터-크리틱까지 손계산하는 수업
한눈에 보기
- DQN을 연속 행동 문제에 그대로 쓸 수 없는 이유(최댓값 찾기 · 이산화의 차원 폭발)를 압니다.
- "크리틱 의 기울기를 따라 액터를 민다"는 결정론적 정책 경사를 연쇄 법칙으로 손계산해 봅니다.
- 경험 재생 · 부드러운(soft) 타깃 업데이트 · 배치 정규화 · 시간 상관 탐색 잡음이 각각 왜 필요한지 이해합니다.
- 20여 개 MuJoCo 과제와 TORCS에서의 결과, 플래너(iLQG) 대비 점수를 압니다.
초록 (번역)
이 논문은 딥 Q-러닝의 성공을 이끈 아이디어를 연속 행동 영역으로 옮깁니다. 결정론적 정책 경사에 기반한, 연속 행동 공간에서 동작하는 모델 없는(model-free) 액터-크리틱 알고리즘을 제시합니다. 같은 학습 알고리즘 · 신경망 구조 · 하이퍼파라미터로, 이 알고리즘은 카트폴 스윙업 같은 고전 문제, 정교한 물체 조작, 다리 달린 로봇의 보행, 자동차 운전을 포함한 20개 넘는 물리 시뮬레이션 과제를 안정적으로 풉니다. 이 알고리즘이 찾은 정책은, 환경의 동역학과 그 도함수에 완전히 접근할 수 있는 계획(planning) 알고리즘이 찾은 정책과 견줄 만한 성능을 냅니다. 나아가 많은 과제에서 원시 픽셀 입력으로부터 곧바로, 즉 처음부터 끝까지(end-to-end) 정책을 학습할 수 있음을 보입니다.
무엇을 풀었나
DQN은 화면 픽셀 같은 고차원 관측은 다룰 수 있었지만, 행동은 이산적이고 개수가 적어야 했습니다. Q-러닝의 핵심이 매 걸음 , 즉 "가장 좋은 행동 찾기"이기 때문입니다. 행동이 연속값(관절 토크 2.37 N·m 같은)이면 이 최댓값을 찾으려고 매 걸음 따로 최적화를 돌려야 해서 너무 느립니다.
가장 쉬운 우회로는 행동을 잘게 나누는(이산화) 것입니다. 하지만 차원의 저주가 기다립니다. 논문의 예처럼 사람 팔 같은 7자유도 시스템에서 관절마다 세 값만 허용해도 행동 조합이 개가 됩니다. 섬세한 제어를 위해 더 잘게 나누면 개수가 폭발하고, 그런 큰 행동 공간은 탐색하기도 어렵습니다. 게다가 "토크 1과 1.1은 비슷하다" 같은 행동 공간의 구조 정보도 버리게 됩니다.
한편 연속 행동에 맞는 결정론적 정책 경사(DPG) 알고리즘은 이미 있었지만, 신경망과 그냥 합치면 어려운 문제에서 불안정했습니다. 질문은 "DQN을 안정시킨 장치들을 DPG에 옮기면 신경망으로 연속 제어를 풀 수 있을까?"였습니다.
핵심 아이디어
flowchart LR
S[상태 s] --> A["액터 μ(s): 행동 출력"]
A --> N[+ OU 탐색 잡음]
N --> E[환경 실행 → r, s']
E --> R[(경험 재생 버퍼)]
R --> C["크리틱 Q 학습: y = r + γQ'(s', μ'(s'))"]
R --> P["액터 학습: ∇a Q · ∇θ μ"]
C --> T[타깃 네트워크 천천히 따라가기 τ]
P --> T1. 결정론적 정책 경사 — 크리틱의 기울기를 따라 액터를 민다
직관: 크리틱 는 "이 상황에서 이 행동이 얼마나 좋은가"를 매기는 언덕 지도입니다. 액터는 지금 서 있는 자리(지금 행동)에서 지도의 오르막 방향을 보고, 그쪽으로 행동을 조금 옮기도록 자기 파라미터를 고칩니다. 최댓값을 직접 찾지 않고 기울기만 따라 올라갑니다.
단계:
- 액터 는 상태를 받아 행동 하나를 곧바로 냅니다(확률 분포가 아님).
- 크리틱 는 Q-러닝처럼 벨만 방정식으로 학습합니다.
- 크리틱에 액터의 행동을 넣고, 그 값을 행동에 대해 미분합니다().
- 연쇄 법칙으로 그 기울기를 액터 파라미터까지 흘려보냅니다.
| 기호 | 뜻 |
|---|---|
| 액터 — 상태 에서 낼 행동 | |
| 크리틱 — 상태 · 행동의 가치 | |
| 행동을 조금 바꾸면 가치가 얼마나 변하나(언덕의 기울기) | |
| 액터 파라미터를 조금 바꾸면 행동이 얼마나 변하나 | |
| 시작 분포에서의 기대 수익(최대화할 성능) |
이것이 실제 정책 경사라는 것은 Silver 등(2014)이 증명했습니다.
숫자로 해 보기(해설용 예): 크리틱이 를 배웠다고 합시다(최적 행동은 ). 액터는 이고 , 이라 지금 행동은 입니다.
- — 행동을 키우면 가치가 오른다
- 기울기 , 학습률 0.1이면 , 새 행동은 1.2
한 번에 최적 행동 2로 점프하지 않고, 기울기를 따라 한 걸음씩 다가갑니다.
왜 이렇게 했나: 연속 행동에서는 를 매번 풀 수 없으니, 그 최댓값 찾기를 "액터라는 신경망이 대신 배우게" 한 것입니다. 확률적 정책 경사와 달리 행동에 대한 적분(평균)이 필요 없어 계산도 단순합니다.
2. 크리틱 학습 — Q-러닝의 손실
크리틱은 DQN처럼 목표값과의 제곱 오차를 줄입니다. 다만 다음 행동을 대신 (타깃) 액터가 정합니다.
- , : 타깃 크리틱 · 타깃 액터(아래 3절)
- : 할인율(논문 0.99)
3. DQN에서 빌린 두 장치 + 부드러운 타깃 업데이트
경험 재생 버퍼: 탐색 중 겪은 를 크기가 정해진 버퍼에 쌓고(가득 차면 가장 오래된 것부터 버림), 매 걸음 무작위 미니배치를 뽑아 액터 · 크리틱을 학습합니다. 연속으로 겪은 데이터의 상관이 끊기고, GPU에 맞는 미니배치 학습도 할 수 있습니다. DDPG는 오프폴리시라 버퍼를 크게 둘 수 있습니다(논문 ).
부드러운 타깃 업데이트: 크리틱을 학습하는 목표값 에 바로 그 크리틱이 들어가면, 목표가 학습과 함께 계속 움직여 발산하기 쉽습니다. DQN은 일정 간격으로 가중치를 통째로 복사했지만, DDPG는 매 걸음 아주 조금씩 따라가게 합니다.
숫자로 해 보기(해설용 예, 논문의 ): 학습 중인 가중치가 10, 타깃 가중치가 0이면 한 걸음 뒤 타깃은 입니다. 학습 가중치가 10에 머문다면 타깃이 그 절반(5)까지 따라오는 데 약 693걸음이 걸립니다(). 목표값이 이렇게 천천히 변하니 크리틱 학습이 지도학습에 가까워집니다.
왜 이렇게 했나: 저자들은 타깃 네트워크 때문에 가치 추정이 퍼지는 속도는 느려지지만, 안정성 이득이 훨씬 크다고 보고합니다. 실험에서도 타깃 네트워크를 빼면(원래 DPG처럼) 많은 환경에서 학습이 매우 나빴습니다.
4. 배치 정규화 — 단위가 다른 관측 다루기
저차원 관측은 위치(m) · 속도(m/s)처럼 단위와 범위가 제각각이고, 환경마다 크기도 다릅니다. 그러면 한 벌의 하이퍼파라미터로 여러 환경을 학습하기 어렵습니다. 논문은 배치 정규화로 미니배치 안에서 각 차원을 평균 0 · 분산 1로 맞추고, 테스트(탐색 · 평가) 때는 이동 평균 통계를 씁니다. 덕분에 단위를 손으로 맞추지 않고도 여러 과제를 같은 설정으로 학습했습니다.
숫자로 해 보기(해설용 예): 미니배치에서 어떤 위치 값이 , 속도 값이 이면 둘 다 정규화 후 이 됩니다. 신경망 입장에서는 두 특징의 크기가 비슷해집니다.
5. 탐색 — 시간 상관이 있는 OU 잡음
오프폴리시 알고리즘의 장점은 탐색을 학습과 따로 설계할 수 있다는 점입니다. 액터의 행동에 잡음 과정 을 더해 탐색 정책을 만듭니다.
관성이 있는 물리 시스템에서는 매 걸음 독립적인 잡음보다 앞뒤가 이어진 잡음이 효율적입니다. 논문은 마찰 있는 브라운 운동의 속도를 본뜬 오른슈타인-울렌벡(OU) 과정(, )을 썼습니다.
숫자로 해 보기(해설용 단순화): OU 과정을 한 걸음씩 쓰면 대략 입니다. , 이번 무작위 값 이면 . 잡음이 갑자기 0으로 튀지 않고 천천히 0쪽으로 돌아가므로, 로봇이 한 방향으로 한동안 밀어 보는 탐색이 됩니다.
6. 실험 설정 (논문 기준)
- Adam 학습률: 액터 , 크리틱 . 크리틱에 L2 가중치 감쇠 . , .
- 저차원 입력: 은닉층 2개(400 · 300 유닛, 약 13만 파라미터). 크리틱에는 행동을 둘째 은닉층에서 넣습니다. 액터 출력층은 tanh로 행동 범위를 묶습니다.
- 픽셀 입력: 합성곱 3층(각 32필터, 풀링 없음) + 완전연결 200 유닛 2층(약 43만 파라미터). 64×64 픽셀, 행동 반복 3번(3장의 RGB → 9채널)으로 속도를 추론하게 했습니다.
- 미니배치: 저차원 64, 픽셀 16. 재생 버퍼 .
결과
전체 경향
- 20개 넘는 과제 모두에서 저차원 관측으로 경쟁력 있는 정책을 학습했고, 많은 과제에서 픽셀만으로도 좋은 정책을 얻었습니다. 모두 같은 신경망 구조와 하이퍼파라미터입니다.
- 거의 모든 문제를 250만 걸음 안에(보통 훨씬 적게) 풀었습니다. 저자들은 DQN이 아타리에서 좋은 해를 얻는 데 필요한 걸음보다 20배 적다고 말합니다.
- 타깃 네트워크와 배치 정규화는 둘 다 필요했고, 특히 타깃 네트워크가 결정적이었습니다.
- 간단한 과제에서는 픽셀 학습이 저차원 상태 학습만큼 빨랐습니다. 저자들은 행동 반복이 문제를 쉽게 만들었거나 합성곱 층이 다루기 쉬운 상태 표현을 주었을 가능성을 듭니다.
점수 예시 (무작위 정책 0, 동역학을 다 아는 플래너 iLQG 1로 정규화, 5회 평균 · 최고)
| 환경 | 저차원 평균 | 저차원 최고 | 픽셀 평균 | 픽셀 최고 | 원래 DPG 평균 |
|---|---|---|---|---|---|
| cartpole | 0.844 | 1.115 | 0.482 | 1.138 | 0.244 |
| pendulum | 0.946 | 1.021 | 0.663 | 1.055 | 0.099 |
| cheetah | 0.903 | 1.206 | 0.457 | 0.792 | −0.008 |
| hardCheetah | 1.311 | 1.990 | 1.204 | 1.431 | −0.031 |
| walker2d | 0.705 | 1.573 | 0.944 | 1.476 | 0.393 |
| hopper | 0.676 | 0.936 | 0.112 | 0.924 | 0.078 |
| gripper | 0.655 | 0.972 | 0.406 | 0.790 | 0.461 |
(표의 '원래 DPG'는 재생 버퍼와 배치 정규화를 쓴 DPG로, 타깃 네트워크가 없습니다.) 1을 넘는 값은 플래너보다 나은 정책이라는 뜻이며, 일부 반복은 픽셀만 보고도 플래너를 넘었습니다.
가치 추정의 정확도: 학습된 와 테스트 에피소드의 실제 수익을 비교하니, 진자 · 카트폴 같은 간단한 과제에서는 체계적 편향 없이 정확했고, 어려운 과제에서는 덜 정확했지만 그래도 좋은 정책을 배웠습니다.
TORCS 자동차 경주: 가속 · 제동 · 조향을 같은 구조로 학습했습니다(탐색 잡음만 바꿈). 저차원 · 픽셀 모두 일부 반복은 트랙 한 바퀴를 완주했지만, 다른 반복은 실패했습니다.
왜 중요한가 · 이후 영향
- 연속 제어용 딥 강화학습의 기본 틀을 만들었습니다. "결정론적 액터 + Q 크리틱 + 재생 버퍼 + 부드러운 타깃"은 이후 TD3 · SAC가 그대로 물려받은 뼈대입니다.
- 오프폴리시라 데이터를 재사용할 수 있어, 같은 시기 TRPO 같은 온폴리시 방법보다 데이터 효율이 좋을 수 있음을 보였습니다(논문은 TRPO가 Q 함수를 배우지 않아 데이터 효율이 상당히 낮아 보인다고 평가).
- 부드러운 타깃 업데이트()는 이후 많은 값 기반 · 액터-크리틱 알고리즘의 표준 기법이 됐습니다.
- 픽셀에서 바로 로봇 제어를 배우는 '끝에서 끝까지' 학습의 가능성을 연속 행동에서 보여 줬습니다.
한계 · 주의할 점
- 저자 스스로 밝히듯, 대부분의 모델 없는 방법처럼 학습 에피소드가 많이 필요합니다.
- 비선형 함수 근사를 쓰므로 수렴 보장이 없습니다. 실제로 같은 설정에서도 반복마다 결과 편차가 큽니다(평균과 최고 점수 차이, TORCS의 성공 · 실패).
- 어려운 과제에서는 추정이 부정확했습니다. Q-러닝의 과대평가 경향이 남아 있으며, 이를 정면으로 다룬 것이 TD3입니다.
- 결정론적 정책 + 외부 잡음 탐색은 잡음 설계(OU 파라미터, TORCS에서 바꾼 것처럼)에 민감할 수 있습니다. 이후 SAC는 확률적 정책과 엔트로피로 탐색을 정책 안에 넣었습니다.
이어서 읽을 것
- 앞: 딥 강화학습으로 아타리 게임하기 (DQN) — 경험 재생 · 타깃 네트워크의 원조
- 뒤: 액터-크리틱의 함수 근사 오차 줄이기 (TD3) — DDPG의 과대평가 문제 해결
- 뒤: 소프트 액터-크리틱 (SAC) — 확률적 정책 + 최대 엔트로피
- 비교: 신뢰 영역 정책 최적화 (TRPO) · 일반화 어드밴티지 추정 (GAE) — 같은 시기 온폴리시 연속 제어
용어 정리
| 용어 | 쉬운 뜻 |
|---|---|
| 연속 행동 공간 | 행동이 정해진 몇 개가 아니라 실수 값(예: 토크 크기)인 경우 |
| 결정론적 정책 | 같은 상태에서 늘 같은 행동을 내는 정책(확률 분포가 아님) |
| 액터 / 크리틱 | 행동을 내는 신경망 / 그 행동의 가치를 매기는 신경망 |
| 경험 재생 버퍼 | 지난 경험을 저장해 두고 무작위로 뽑아 학습하는 메모리 |
| 타깃 네트워크 | 목표값 계산용으로 천천히 따라오는 신경망 사본 |
| 부드러운 업데이트() | 타깃 가중치를 매 걸음 아주 조금씩 학습 가중치 쪽으로 옮기는 것 |
| 배치 정규화 | 미니배치 안에서 각 특징을 평균 0 · 분산 1로 맞추는 기법 |
| OU 과정 | 평균으로 천천히 돌아가는, 앞뒤가 이어진 무작위 잡음 |
| iLQG | 동역학과 그 도함수를 알고 최적 궤적을 계산하는 계획 알고리즘 |
스스로 점검
- DQN을 연속 행동에 그대로 못 쓰는 이유는? — 매 걸음 를 찾아야 하는데, 행동이 연속이면 그 자체가 매번 최적화 문제입니다. 이산화하면 7자유도에서 세 값만 써도 2,187가지로 폭발합니다.
- 액터는 무엇을 기준으로 학습하나? — 크리틱 를 행동에 대해 미분한 기울기 를, 연쇄 법칙으로 액터 파라미터까지 전달해 가 커지는 방향으로 행동을 옮깁니다.
- 타깃 네트워크를 로 천천히 바꾸는 이유는? — 크리틱의 목표값에 크리틱 자신이 들어가므로, 목표가 빨리 움직이면 발산하기 쉽습니다. 천천히 바꾸면 목표가 거의 고정되어 학습이 지도학습처럼 안정됩니다.
다음에 볼 것
이 글을 이해했다면 이어서 보면 좋은 항목입니다.
- 액터-크리틱의 함수 근사 오차 줄이기 (TD3) — 크리틱 둘 중 작은 값 · 정책 지연 갱신 · 목표 잡음으로 DDPG의 과대추정을 줄인 TD3
출처
- 원문: arxiv.org/abs/1509.02971 (2015 · Timothy P. Lillicrap 외)
AI 원리부터 이해하기 · 강화학습 모듈
강화학습 모듈 학습
이 글은 강화학습 모듈의 학습 자료입니다. 전체 31개 자료 중 20번째입니다.
출처·원문
원문 보기요약만