AI VIDEO BRIEFING
딥 Q 네트워크(DQN) 쉽게 이해하기 — Q 테이블의 한계와 경험 재현, 타깃 네트워크
강화학습의 Q 테이블이 상태가 많아지면 감당하지 못하는 이유와, 이를 신경망 Q 네트워크로 대체하는 딥 Q 네트워크(DQN)의 작동 원리를, 경험 재현 버퍼와 타깃 네트워크를 중심으로 데이터 수집과 학습 두 단계로 풀어 설명한다.

핵심 메시지
쉽게 이해하기
강화학습에서 에이전트는 환경을 돌아다니며 어떤 상황(상태)에서 어떤 행동을 해야 하는지를 배운다. Q 러닝은 모든 상태마다 각 행동의 가치를 적어 둔 'Q 테이블'을 일종의 양심처럼 사용해, 상태가 주어지면 그 표를 보고 가장 좋은 행동을 고른다. 문제는 격자 아홉 칸처럼 상태가 적을 때는 표가 작지만, 상태가 많아지면 표가 감당할 수 없을 만큼 커져 메모리에 담을 수 없다는 점이다.
그래서 표 대신 '함수'를 양심으로 쓴다. 이 함수는 상태와 행동을 입력받아 그 행동이 얼마나 좋은지를 나타내는 값, 즉 Q 값을 출력한다. AI에서 이 함수는 보통 신경망이며, 이렇게 신경망의 파라미터를 학습하는 방식이 바로 딥 Q 러닝이고 그 신경망이 Q 네트워크다.
DQN은 두 개의 신경망을 둔다. 무작위로 초기화된 Q 네트워크는 에이전트의 현재 양심이고, 같은 구조의 타깃 네트워크는 이상적인 양심 역할을 한다. 현재 양심이 내놓은 값과 이상적 기준이 내놓은 값을 비교해 손실(평균제곱오차)을 구하고, 이 손실을 Q 네트워크에 역전파해 파라미터를 갱신한다. 타깃 네트워크는 한동안 고정해 두었다가 몇 배치마다 Q 네트워크와 같게 맞춘다.
학습은 두 단계로 진행된다. 데이터 수집 단계에서는 Q 네트워크의 출력층 뉴런 수가 가능한 행동 수와 같아, 각 뉴런이 해당 행동의 Q 값을 내놓는다. 입실론-그리디 방식으로 행동을 고르고, 환경에서 그 행동을 실행해 보상과 다음 상태를 얻은 뒤 (상태·행동·보상·다음 상태)를 경험 재현 버퍼에 저장한다. 이 과정을 반복해 데이터를 쌓는다.
학습 단계에서는 버퍼에서 데이터를 한 묶음(배치) 꺼낸다. 현재 상태를 Q 네트워크에 넣어 해당 행동의 Q 값을 얻고, 같은 상태를 타깃 네트워크에 넣어 가장 큰 Q 값을 구한 뒤 보상을 더해 목표 값을 만든다. 두 값의 평균제곱오차를 손실로 삼아 Q 네트워크를 갱신하면, 에이전트의 판단이 점점 나아진다.
주요 인사이트
- 테이블에서 함수(신경망)로 옮겨 가는 것이 DQN의 핵심이다. 이렇게 하면 상태 공간이 커도 모든 값을 일일이 저장하지 않고 함수로 근사할 수 있다.
- 타깃 네트워크를 따로 두고 잠시 고정하는 이유는 학습의 기준점을 안정시키기 위해서다. 기준이 매 순간 흔들리면 학습이 불안정해진다.
- 출력층 뉴런 하나가 행동 하나에 대응하므로, 한 번의 순전파로 모든 행동의 Q 값을 동시에 얻을 수 있다.
- 경험 재현 버퍼는 수집된 경험을 무작위로 섞어 꺼내므로, 연속된 경험끼리의 상관관계를 끊어 학습을 안정시킨다.
자주 묻는 질문
Q 러닝과 딥 Q 러닝의 차이는 무엇인가요?
Q 러닝은 Q 테이블에 들어갈 값을 직접 학습하고, 딥 Q 러닝은 그 표를 대신하는 Q 네트워크(신경망)의 파라미터를 학습합니다. 상태가 많아 표가 너무 커질 때 신경망으로 대체하는 것이 딥 Q 러닝입니다.
타깃 네트워크는 왜 필요한가요?
현재 Q 네트워크가 학습할 때 비교 기준이 되는 이상적 값을 제공하기 위해서입니다. 타깃 네트워크를 한동안 고정해 두면 기준이 안정되어 학습이 더 안정적으로 진행되며, 몇 배치마다 Q 네트워크와 같게 갱신합니다.
경험 재현 버퍼가 주는 이점은 무엇인가요?
(상태·행동·보상·다음 상태) 묶음을 저장했다가 무작위로 꺼내 학습에 쓰는 저장소입니다. 연속된 경험 사이의 시간적 상관관계를 끊어 학습의 안정성을 높여 줍니다.
원문과 출처
이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.
YouTube 원본 영상 보기 ↗