courses
전통적인 강화 학습은 환경이 너무 커져서 사람이 일일이 추적할 수 없게 되면 제대로 동작하지 않습니다. 이유는 모든 상태가 테이블의 고유한 항목을 가져야 하고, 각 상태에서 가능한 모든 행동도 각각의 값을 가져야 하기 때문입니다.
예를 들어, 게임 화면은 수백만 가지의 픽셀 조합을 만들어 내는데, 이는 순회 가능한 테이블에 담을 수 없습니다. 에이전트는 비슷해 보이는 상태들을 바탕으로, 한 번도 본 적 없는 상태의 가치를 추정해야 합니다.
딥 강화 학습은 이러한 테이블을 신경망으로 대체해, 직접 접해보지 못한 상황에서도 상태의 가치나 최적 행동을 추정합니다. 이 덕분에 에이전트가 바둑을 마스터하고 시뮬레이션 드론을 조종할 수 있습니다. 둘 다 고전적인 RL 알고리즘을 무너뜨릴 만한 과제입니다.
이 글에서는 딥 RL의 핵심 개념, DQN과 PPO 같은 주요 알고리즘 계열, 그리고 실제 세계에서의 활용을 살펴보겠습니다.
강화 학습이 처음이시라면, 주말 동안 기초를 다질 수 있도록 Reinforcement Learning in Python 트랙에 등록해 보세요.
딥 강화 학습이란?
딥 강화 학습은 룩업 테이블 자리에 신경망을 세운 강화 학습입니다.
강화 학습은 에이전트가 행동을 시도하고, 결과를 관찰하고, 보상에 따라 조정하는 기본 루프를 제공합니다. 딥 러닝은 원시 입력을 에이전트가 활용할 수 있는 표현으로 바꾸는 네트워크를 추가합니다. 이 둘을 결합하면, 에이전트는 상태의 의미를 사람이 일일이 코딩하지 않아도 원시 데이터로부터 바로 어떤 행동이 가장 효과적인지 학습합니다.
예를 들어, Breakout 같은 게임을 하도록 에이전트를 학습시킨다고 상상해 보세요. 에이전트는 \"공 위치\"나 \"패들 위치\" 같은 깔끔한 목록을 받지 않고, 화면의 원시 픽셀을 받습니다. 표 기반 방법은 가능한 모든 픽셀 조합마다 별도의 행이 필요하지만, 그 수는 감당할 수 없습니다. 신경망은 픽셀을 직접 보고, 한 번도 본 적 없는 정확히 그 화면이더라도 취해야 할 행동이나 각 행동의 가치를 출력합니다.
요약하면, 표 기반 방법은 암기하고, 네트워크는 일반화합니다.
이 점이 딥 RL이 테이블로는 다룰 수 없을 만큼 크거나 복잡한 환경에서 작동하게 만드는 이유입니다.
딥 강화 학습은 어떻게 작동하나요
어떤 알고리즘이 바닥에서 돌아가든, 모든 딥 RL 시스템은 동일한 루프를 실행합니다.
흐름은 다음과 같습니다:
- 관찰: 에이전트가 화면이나 센서 판독값 등 환경의 현재 상태를 입력으로 받습니다
- 행동: 관찰을 바탕으로 에이전트가 행동을 선택합니다
- 전이: 그 행동에 반응해 환경의 상태가 변화합니다
- 보상: 그 행동이 얼마나 좋았는지 알려주는 보상 신호를 에이전트가 받습니다
- 학습: 그 경험을 바탕으로 에이전트가 이후 의사결정을 조정합니다
아래 다이어그램은 이 루프가 어떻게 순환하는지 보여줍니다:

강화 학습 루프
이 루프를 충분히 반복하면, 에이전트의 행동은 보상을 극대화하는 방향으로 점차 이동합니다.
딥 강화 학습의 핵심 개념
모든 딥 RL 알고리즘은 같은 일곱 가지 아이디어 위에서 구축됩니다. 이 개념들에 익숙해지면, 나머지 내용이 훨씬 잘 이해될 것입니다.
방을 청소하는 로봇 진공청소기를 떠올려 보세요. 아래의 모든 용어에 이 예시를 적용하겠습니다.
에이전트와 환경
에이전트는 의사결정자입니다. 우리 예시에서는 로봇 청소기입니다. 환경은 그것이 상호작용하는 모든 것, 즉 방, 가구, 먼지, 부딪힐 수 있는 벽 등을 말합니다.
에이전트는 환경을 통제하지 못하지만, 행동을 선택하고, 그다음에 무슨 일이 일어날지는 환경이 결정합니다.
상태와 관측
상태는 특정 시점에서 환경의 전체 조건을 설명합니다. 예를 들어, 모든 먼지의 정확한 위치와 청소기의 위치입니다. 실제 에이전트는 이를 확실하게 알 수 있는 경우가 드뭅니다.
대신 카메라 피드나 근접 센서처럼 에이전트가 실제로 볼 수 있는 것, 즉 관측을 바탕으로 행동합니다.
단순한 환경에서는 관측과 상태가 거의 동일합니다. 더 복잡할수록 에이전트는 불완전한 정보를 가지고 빈칸을 채워야 합니다.
행동
행동은 특정 순간에 에이전트가 취할 수 있는 선택입니다. 청소기의 경우 전진, 좌회전, 우회전, 흡입 작동 등이 될 수 있습니다.
행동은 고정된 목록에서 고르는 이산형일 수도 있고, 조향 각도처럼 연속 구간에서 값을 고르는 연속형일 수도 있습니다. 이 구분은 뒤에서 설명할 알고리즘 계열에 도달하면 매우 중요해집니다.
보상
보상은 행동 후에 에이전트가 받는 수치형 피드백입니다. 새로운 바닥 면을 청소하면 +1, 벽에 부딪히면 -1을 받을 수 있습니다.
에이전트의 목표는 단일 행동의 보상만이 아니라, 시간에 따른 총보상을 최대화하는 것입니다.
정책
정책은 상태(또는 관측)를 행동으로 매핑하는 에이전트의 전략입니다. 다음에 무엇을 할지 결정하는 규칙집입니다.
정책은 결정론적일 수도 있고(같은 상태에서 항상 같은 행동), 확률적일 수도 있습니다(확률 분포에 따라 행동 선택). 딥 RL 알고리즘은 종종 신경망으로 이 정책을 표현합니다.
가치 함수와 Q-가치 함수
가치 함수는 특정 상태에서 현재 정책을 계속 따른다고 가정할 때, 앞으로 기대할 수 있는 보상의 총량을 추정합니다.
Q-가치 함수는 상태-행동 쌍에 대해 같은 일을 합니다. 특정 상태에서 특정 행동을 취한 뒤, 그 이후에 정책을 따른다고 할 때의 미래 보상을 추정합니다.
이런 함수는 신경망이 근사하기에 적합합니다. 앞서 룩업 테이블을 신경망으로 바꿨을 때 이야기한 것과 같은 개념입니다.
에피소드
에피소드는 시작 상태부터 어떤 종료 조건까지, 에이전트가 환경을 한 번 완주하는 구간입니다. 청소기의 경우 방이 완전히 깨끗해지거나 배터리가 닳는 순간이 될 수 있습니다.
에피소드가 끝나면 환경이 리셋되고, 새로운 에피소드가 시작됩니다.
탐색과 활용의 균형
이미 효과가 있었던 것만 반복하는 에이전트는 더 나은 것을 절대 발견하지 못합니다.
청소기 예시를 다시 떠올려 보세요. 방의 꽤 큰 부분을 청소할 수 있는 경로를 우연히 찾았고, 매번 그 경로만 반복합니다. 소파 뒤 구석은 결코 확인하지 않습니다. 이것이 강화 학습의 중심에 있는 트레이드오프입니다:
- 탐색: 더 나은 전략을 발견하기 위해 다양한 행동을 시도
- 활용: 현재 가장 좋다고 믿는 행동을 선택
두 가지를 균형 있게 맞추는 흔한 방법이 엡실론-그리디 탐색입니다. 각 단계에서 작은 수(예: 0.1)에 해당하는 확률 엡실론로 무작위 행동을 선택하고, 그렇지 않으면 현재 최선이라고 믿는 행동을 택합니다. 많은 알고리즘은 시간이 지남에 따라 엡실론을 감소시켜, 초반에는 탐색을 많이 하고, 충분히 학습된 뒤에는 활용을 더 강하게 합니다.
모든 환경에 통하는 고정된 엡실론은 없습니다.
탐색이 지나치면 계속 실패하는 행동에 시간을 낭비합니다. 탐색이 부족하면 바로 옆에 더 나은 전략이 있어도 발견하지 못한 채 그럭저럭 괜찮은 전략에 안주하게 됩니다. 환경이 복잡해질수록 이 균형을 맞추기는 더 어려워집니다. 특히 초반의 나쁜 행동의 진짜 대가가 여러 단계 뒤에야 드러나는 경우에는 더욱 그렇습니다.
주요 딥 강화 학습 알고리즘
모든 딥 RL 알고리즘은 학습 대상에 따라 세 가지 계열로 나뉩니다. 가치 함수, 정책, 또는 둘 다를 동시에 학습합니다.
딥 Q-네트워크(DQN)
DQN은 이 글 앞부분의 Q-가치 함수를 가져와 룩업 테이블을 신경망으로 대체합니다. 네트워크는 상태를 입력받아 가능한 모든 행동에 대한 Q-가치를 출력하며, 일반적인 신경망처럼 학습합니다.
이 네트워크를 바로 학습시키는 것은 권장되지 않습니다. 연속된 경험들이 상관되어 있어 네트워크가 방금 본 것에 과적합하기 쉽고, 네트워크가 업데이트될 때마다 목표값 자체가 바뀌기 때문입니다.
DQN은 두 문제를 이렇게 해결합니다:
- 경험 재현(리플레이): 과거 전이를 버퍼에 저장해 두고, 도착 순서대로가 아니라 무작위 샘플을 뽑아 학습합니다
- 타깃 네트워크: 더 천천히 업데이트되는 별도의 네트워크로 목표값을 계산해, 매 스텝마다 움직이는 목표를 쫓지 않도록 합니다
DQN은 동일한 아키텍처와 하이퍼파라미터로 다양한 아타리 게임에서 원시 픽셀만으로도 제어 정책을 학습한 첫 알고리즘이라는 점에서 중요했습니다. 2015년 DeepMind가 이를 발표했을 때, 딥 러닝과 강화 학습이 게임마다 손수 특징을 만들지 않고도 규모 있게 함께 작동할 수 있음을 증명했습니다.
정책 경사 방법
가치 함수를 학습하고 그에 따라 행동을 고르는 대신, 정책 경사 방법은 정책 자체를 학습합니다. 네트워크는 상태를 입력으로 받아 행동 확률을 출력하고, 에이전트는 그 분포에서 행동을 샘플링합니다.
이 접근은 연속형 또는 확률적 행동에 적합합니다.
가치 기반 방법은 최선의 행동을 찾기 위해 가능한 모든 행동을 확인해야 하므로, 행동 공간이 연속형이 되는 순간 무너집니다. 무한한 조향 각도를 순회할 수는 없기 때문입니다. 정책 경사 방법은 가능한 행동 수와 관계없이 분포에서 샘플링만 하면 됩니다.
REINFORCE가 이 분야의 기초 알고리즘입니다. 전체 에피소드를 실행한 뒤, 높은 총보상으로 이어진 행동의 확률은 높이고 낮은 총보상으로 이어진 행동의 확률은 낮춥니다. 단점은 에피소드가 끝난 뒤에야 업데이트하며, 전체 반환값에 의존해 업데이트가 시끄럽고 에피소드마다 일관성이 떨어진다는 점입니다.
액터-크리틱 방법
액터-크리틱 방법은 두 번째 네트워크를 추가해 REINFORCE의 노이즈 문제를 해결합니다.
액터는 정책입니다. 정책 경사 방법처럼 행동을 선택합니다. 크리틱은 가치 함수로, 에피소드가 끝나기를 기다리지 않고 각 행동 직후 그 행동을 평가합니다.
이는 가치 기반 접근과 정책 기반 접근이 함께 작동하는 방식입니다. 액터는 여전히 정책을 학습하지만, REINFORCE가 의존하는 지연되고 시끄러운 반환값이 아니라, 크리틱의 즉각적인 평가를 바탕으로 업데이트됩니다.
A2C와 A3C가 대표적입니다. A2C는 여러 환경 복사본을 병렬로 실행하고, 각 배치가 끝날 때 액터와 크리틱을 함께 업데이트합니다. A3C는 이를 비동기적으로 실행해, 각 복사본이 다른 것들을 기다리지 않고 자체 일정에 따라 공유 네트워크를 업데이트합니다.
근접 정책 최적화(PPO)
정책 경사 업데이트는 크기가 너무 크면 문제가 생길 수 있습니다. 충분히 큰 업데이트는 잘 작동하던 정책을 망가뜨릴 수 있고, 일단 일어나면 되돌릴 방법이 없습니다.
PPO는 각 업데이트의 크기를 제한해 이를 피합니다. 다음은 최적화하는 클리핑된 목적 함수입니다:

근접 정책 최적화
r_t(θ)는 새로운 정책이 특정 행동에 할당한 확률과 이전 정책이 같은 행동에 할당한 확률의 비율입니다. Â_t는 어드밴티지로, 그 행동이 크리틱의 기준 기대치에 비해 얼마나 더 좋았는지를 나타냅니다. clip() 함수는 비율을 1 주변의 좁은 구간에 묶어, 단일 스텝에서 정책이 너무 멀리 이동하지 못하게 합니다. 이어서 min()가 두 추정치 중 더 보수적인 값을 택해, 비정상적으로 큰 어드밴티지 추정치가 클리핑 한계를 넘도록 업데이트를 밀어붙이지 못하게 합니다.
OpenAI는 2017년에 PPO를 소개했으며, 곧바로 기본 선택지로 자리 잡았습니다. 이전의 트러스트-리전 방법보다 구현과 튜닝이 쉬우면서도, 과제별 미세 조정 없이도 다양한 환경에서 안정적으로 작동합니다.
DDPG와 SAC
DDPG와 Soft Actor-Critic(SAC)은 모두 로봇 관절 각도나 조향 값처럼 연속 제어 문제를 겨냥합니다. 여기서는 분포에서 고르는 대신 구체적인 수치를 출력해야 합니다.
DDPG는 액터-크리틱 방법으로, 액터가 분포가 아닌 단일 결정론적 행동을 출력하며, DQN의 경험 재현과 타깃 네트워크를 차용합니다.
SAC는 같은 아이디어 위에 엔트로피 항을 추가해 정책이 어느 정도 무작위성을 유지하도록 보상합니다. 이로써 탐색을 더 오래 유지하고, 일반적으로 DDPG보다 학습을 더 안정적으로 만듭니다.
가치 기반 vs 정책 기반 vs 액터-크리틱
DQN 같은 가치 기반 방법은 Q-가치 함수를 학습하고, 그 함수가 가장 높게 평가한 행동을 선택합니다. 이산형 행동 공간에서 잘 작동하고 경험 재현 덕분에 시료 효율도 좋지만, 추가 작업 없이는 연속형 행동으로 확장하기 어렵습니다.
REINFORCE 같은 정책 기반 방법은 정책을 직접 학습하고, 확률 분포에서 행동을 샘플링합니다. 덕분에 연속형과 확률적 행동에 적용되지만, 순수한 정책 경사 업데이트는 노이즈가 크고 매 업데이트마다 새로운 데이터가 필요합니다.
A2C/A3C, PPO, DDPG, SAC를 포함한 액터-크리틱 방법은 두 아이디어를 결합합니다. 크리틱의 빠른 피드백이 액터의 업데이트를 안정화하며, 오늘날 실무에서 쓰이는 알고리즘 대부분이 이 범주에 속하는 이유입니다.
좀 더 시각적인 비교는 다음과 같습니다:
| 무엇을 학습하나 | 행동 선택 방식 | 이산 vs 연속 | 안정성 | 시료 효율 | 대표 알고리즘 | |
|---|---|---|---|---|---|---|
| 가치 기반 | Q-가치 함수 | 최고 점수 행동 | 이산 | 안정성 유지를 위해 타깃 네트워크와 리플레이 필요 | 경험 재현 덕분에 우수 | DQN |
| 정책 기반 | 정책 | 정책 분포에서 샘플링 | 둘 다 가능, 연속형에 특히 적합 | 노이즈 크고 분산 높은 업데이트 | 부족, 매 업데이트에 신규 데이터 필요 | REINFORCE |
| 액터-크리틱 | 정책과 가치 함수 | 액터에서 샘플링, 크리틱이 지도 | 둘 다 | 순수 정책 기반보다 더 안정적 | 순수 정책 기반보다 더 우수 | A2C/A3C, PPO, DDPG, SAC |
딥 강화 학습 방법 비교
딥 강화 학습의 과제
지도 학습은 각 예시에 대해 정답 레이블을 받습니다. 딥 RL은 보상이 늦게 나타나고, 이전 행동들과 얽히며, 때로는 유용한 형태로 전혀 주어지지 않는 신호에서 무엇이 효과적이었는지 스스로 파악해야 합니다.
시료 비효율
딥 RL 에이전트는 흔히 유용한 것을 배우기까지 수백만 스텝의 환경 상호작용이 필요합니다. 고정 데이터셋에서 비슷한 정확도를 내는 지도 모델이 훨씬 적은 데이터로 학습하는 것과 대조적입니다.
이는 에이전트가 행동을 통해 스스로 학습 데이터를 만들어야 하고, 초반의 대부분 행동은 거의 무작위에 가깝기 때문입니다. 지도 모델은 같은 레이블된 데이터셋을 반복해서 사용할 수 있습니다. RL 에이전트는 거의 모르는 환경을 한 걸음씩 탐색해야 합니다.
학습 불안정성
RL 학습은 종종 불안정합니다.
문제의 일부는 가치 함수가 자기 자신의 추정치에 기대는 부트스트래핑에 있습니다. 오늘의 Q-가치 타깃이 어제의 Q-가치 추정에 의존합니다. 그 추정이 틀리면, 오류가 스스로 교정되는 대신 누적됩니다. 게다가 에이전트의 정책은 학습하면서 계속 변하고, 따라서 수집하는 데이터도 계속 바뀝니다.
즉, 네트워크는 두 가지 측면에서 동시에 움직이는 목표를 쫓는 셈입니다.
희소하고 지연된 보상
일부 환경은 아주 끝에서야 보상을 줍니다. 긴 게임 후 승패 신호가 대표적입니다. 에이전트는 그 단 하나의 숫자에서 거꾸로 거슬러 올라가, 자신이 취한 수십 개의 행동 중 실제로 무엇이 중요했는지 알아내야 합니다.
이를 신용 할당 문제라고 하며, 행동과 그 결과 사이의 지연이 길어질수록 더 심각해집니다.
보상 설계
보상 설계는 쉬워 보이지만 막상 해보면 그렇지 않습니다.
유명한 예가 있습니다. OpenAI가 학습시킨 보트 레이싱 에이전트는 체크포인트를 통과할 때 보상을 받았는데, 재생성되는 파워업이 있는 석호를 찾아 그곳을 무한 루프 돌며 점수만 올리고 결승선을 결코 통과하지 않았습니다. 보상 함수는 지시받은 대로 정확히 동작했지만, 에이전트는 \"이기는 것\"의 의미를 배우지 못했습니다. 보상과 실제 목표의 불일치로 인한 이러한 현상을 보상 해킹이라 하며, 거의 모든 보상 함수에서 어떤 형태로든 나타납니다.
재현성
같은 알고리즘이라도 난수 시드가 다르면 결과가 달라질 수 있습니다.
원 논문의 코드베이스, 하이퍼파라미터, 시드를 그대로 사용하지 않으면 발표된 결과를 재현하기 어렵습니다. 관측 정규화 방식이나 리플레이 버퍼 초기화 같은 작은 구현상의 차이가, 어떤 알고리즘을 썼는지보다 성능에 더 큰 영향을 미치기도 합니다.
안전과 실제 환경 탐색
시뮬레이터에서는 에이전트가 실패를 무한히 반복해도 비용이 들지 않습니다. 현실 세계는 다릅니다.
예를 들어, 고속도로에서 나쁜 행동을 탐색하는 자율주행 정책은 사람을 위험에 빠뜨립니다. 시뮬레이터는 현실을 완벽히 포착하지 못하며, 시뮬레이터가 모델링하지 않은 엣지 케이스는 정책이 연구실 밖을 나서는 순간 등장합니다. 시뮬레이션에서 훌륭해 보인 정책이 실제 환경을 만나면 누구도 예상치 못한 방식으로 실패할 수 있습니다. 그래서 게임과 시뮬레이터 밖에서 딥 RL을 배포할 때는 벤치마크 수치가 암시하는 것보다 훨씬 더 많은 주의가 필요합니다.
딥 강화 학습 vs 다른 머신러닝 접근
이제 딥 강화 학습과 보다 전통적인 접근 방식의 차이를 간단히 강조하겠습니다.
딥 RL vs. 지도 학습
지도 학습은 각 입력에 이미 정답이 달린 레이블된 예시로 학습합니다. 딥 RL은 그런 정답을 받지 못하고, 행동 이후에야 보상을 받으며, 그 보상에 실제로 기여한 행동이 무엇인지 스스로 파악해야 합니다.
딥 RL vs. 모방 학습
모방 학습은 보상 신호 없이 전문가 시연을 복제하도록 정책을 학습합니다. 딥 RL은 시행착오를 통해 행동을 발견합니다.
모방 학습은 정책을 빠르게 가동시킬 수 있지만, 시연의 품질에 성능 상한이 있고, 전문가가 보여주지 않은 상황에 처하는 순간 어려움을 겪습니다. 딥 RL은 이론상 어떤 교사보다도 뛰어날 수 있지만, 훨씬 더 많은 상호작용과, 원하는 행동을 제대로 가리키는 보상 함수가 필요합니다.
딥 RL vs. 진화 알고리즘
진화 알고리즘은 기울기를 전혀 계산하지 않고, 후보 집단을 변이시키고 성능이 가장 좋은 개체를 유지하는 방식으로 정책을 최적화합니다. 딥 RL은 보상 신호로부터 기울기를 계산해 단일 정책을 업데이트합니다.
진화 방법은 집단의 각 후보가 독립적으로 실행될 수 있어 병렬화에 강하지만, 동일한 성능 수준에 이르기 위해 기울기 기반 딥 RL보다 훨씬 더 많은 환경 상호작용을 필요로 하는 경향이 있습니다.
딥 강화 학습 베스트 프랙티스
딥 RL은 다른 분야보다 지름길을 더 가차 없이 벌줍니다. 이를 염두에 두고, 다음 프로젝트에서 기억할 베스트 프랙티스를 정리했습니다:
- 간단한 기준선부터 시작: 고급 기법에 손대기 전에 무작위 정책과 기본 알고리즘을 먼저 실행해, \"최소한의 성과\"가 어떤지 파악하세요
- 관측과 보상 정규화: 원시 픽셀 값이나 수천 단위의 보상처럼 스케일이 맞지 않는 입력은 학습을 훨씬 불안정하게 만듭니다
- 여러 난수 시드로 평가: 단 한 번의 실행으로는 알고리즘이 정말로 동작하는지 거의 알 수 없습니다
- 누적 보상만 보지 않기: 에피소드 길이나 행동 분포 같은 지표도 추적하세요. 보상만으로는 보상 해킹이나 막힌 정책을 감출 수 있습니다
- 검증된 구현부터 사용: 잘 테스트된 라이브러리를 사용하면 알고리즘과 환경을 동시에 디버깅하는 상황을 피할 수 있습니다
- 보상 함수 신중히 설계: 의도한 바가 아니라, 실제로 어떤 행동을 유도하는지까지 충분히 고민하세요
- 학습 조건 밖에서 정책 테스트: 훈련 중에 깔끔하고 좁은 조건만 본 정책은 무엇이든 조금만 달라져도 무너집니다
맺음말
딥 강화 학습은 RL의 시행착오 루프에, 룩업 테이블로는 감당할 수 없는 상태를 처리하는 신경망을 결합합니다.
이 글의 모든 알고리즘은 세 가지 계열 중 하나에 속합니다. DQN 같은 가치 기반 방법은 Q-가치 함수를 학습하고 가장 높은 평가를 받은 행동을 고릅니다. REINFORCE 같은 정책 기반 방법은 정책을 직접 학습합니다. PPO를 포함한 액터-크리틱 방법은 둘을 결합하며, 오늘날 대부분의 알고리즘이 이 조합을 사용합니다.
다만 이 모든 것이 공짜는 아니라는 점을 잊지 마세요.
테이블에서 네트워크로 넘어가는 순간, 학습 안정성, 시료 효율, 보상 설계, 재현성은 모두 더 어려워집니다. 더 깊이 파고들고 싶다면, 이 글의 토대를 다루는 Q-learning과 reinforcement learning을 먼저 살펴보시고, 알고리즘 자체로는 DQN과 PPO가 좋은 다음 단계입니다.
딥 강화 학습 자주 묻는 질문
딥 강화 학습이란 무엇인가요?
딥 강화 학습은 과거 방법들이 의존했던 룩업 테이블을 신경망으로 대체한 강화 학습입니다. 에이전트는 여전히 시행착오와 보상으로 학습하지만, 신경망 덕분에 테이블로 담을 수 없을 만큼 크거나 복잡한 상태를 다룰 수 있습니다. 이로써 원시 픽셀이나 센서 데이터만으로도 제어 정책을 학습할 수 있습니다.
딥 RL은 일반적인 머신러닝과 무엇이 다른가요?
지도 학습은 각 입력에 정답이 붙은 레이블된 예시로 학습합니다. 딥 RL은 행동 이후에야 보상을 받으며, 그 보상으로 이어진 행동이 무엇인지(종종 상당히 늦게 나타나는 보상임에도) 스스로 파악해야 합니다.
딥 RL 알고리즘의 주요 유형은 무엇인가요?
딥 RL 알고리즘은 가치 기반, 정책 기반, 액터-크리틱의 세 계열로 나뉩니다. DQN 같은 가치 기반 방법은 Q-가치 함수를 학습하고 가장 높은 평가의 행동을 고릅니다. REINFORCE 같은 정책 기반 방법은 정책을 학습합니다. PPO를 포함한 액터-크리틱 방법은 둘을 결합하며, 실무에서 쓰이는 대부분의 알고리즘이 이 세 번째 그룹에 속합니다.
왜 PPO가 널리 사용되나요?
PPO는 단일 업데이트에서 정책이 변화할 수 있는 폭을 제한해, 초기 정책 경사 방법에서 종종 발생하던 붕괴를 방지합니다. 또한 이전의 트러스트-리전 방법보다 구현과 튜닝이 더 쉽습니다.
딥 RL 에이전트가 시뮬레이션에서는 잘되는데 현실에서 실패하는 이유는 무엇인가요?
시뮬레이터에서는 에이전트가 무료로 원하는 만큼 실패할 수 있고, 현실을 완벽하게 재현하지도 못합니다. 센서 노이즈나 시뮬레이터가 모델링하지 않은 엣지 케이스는 정책이 연구실을 떠나는 순간 나타납니다. 로봇 암이나 자율주행 정책이 현실에서 나쁜 행동을 탐색하면 실제 피해가 발생합니다. 그래서 게임과 시뮬레이터 밖으로 배포할 때는 벤치마크 수치가 암시하는 것보다 훨씬 더 많은 주의가 필요합니다.