logo

심층 강화학습

강화학습과 딥러닝의 결합

  • 표 기반(tabular) 강화학습: 상태 또는 상태-행동마다 가치를 표의 한 칸에 저장
    • 바둑, 비디오 게임, 로봇처럼 상태가 거대하거나 연속적이면 표를 만들 수 없음
    • 처음 보는 상태에 대해서는 아무것도 알 수 없음
  • 함수 근사(function approximation): 표 대신 함수로 가치나 정책을 표현
    • 비슷한 상태는 비슷한 값을 갖도록 일반화
    • 일부 상태의 경험만으로 처음 보는 상태에도 대응 가능
  • 심층 강화학습(deep reinforcement learning): 함수 근사에 딥러닝(심층 신경망)을 사용하는 강화학습
    • 화면 픽셀, 센서 값 같은 원시 입력에서 직접 특징을 추출
    • 사람이 상태의 특징을 따로 설계할 필요가 줄어듦

신경망이 맡는 역할

  • 강화학습의 구성 요소 중 하나 이상을 신경망으로 표현
신경망이 표현하는 것 입력 출력 대표 알고리즘
가치 함수 상태 각 행동의 가치 DQN
정책 상태 각 행동을 고를 확률 REINFORCE
정책과 가치 함수 모두 상태 행동 확률과 상태의 가치 Actor-Critic, PPO

지도학습과 다른 어려움

  • 정답 레이블이 없음: 보상이라는 약한 신호만 주어짐
    • 어떤 행동이 좋았는지는 한참 뒤에야 드러나는 경우가 많음
  • 데이터가 서로 독립적이지 않음: 연속된 시점의 경험은 서로 비슷함
    • 신경망이 최근 경험에 치우쳐 학습하기 쉬움
  • 데이터가 정책에 따라 바뀜: 정책이 바뀌면 행위자가 겪는 상황도 바뀜
    • 학습 대상이 계속 움직이므로 학습이 불안정해지기 쉬움
  • 아래 알고리즘들은 이 어려움을 각자의 방식으로 완화

DQN: 가치를 신경망으로 배우기

  • DQN(Deep Q-Network): Q 학습의 행동 가치 표를 신경망으로 바꾼 방법
    • 2015년 아타리(Atari) 게임 화면만 보고 여러 게임에서 사람 수준의 점수를 냄
    • 심층 강화학습이 주목받는 계기
  • 기본 아이디어
    • 신경망에 상태를 넣으면 행동마다 "앞으로 받을 보상의 합"을 예측
    • 예측값이 가장 큰 행동을 선택
    • 실제로 받은 보상과 다음 상태의 예측값으로 현재 예측을 조금씩 고침
  • 학습을 안정시키는 두 가지 장치
    • 경험 리플레이(experience replay): 경험을 저장해 두었다가 무작위로 꺼내 학습
      • 연속된 경험 사이의 상관을 끊고, 같은 경험을 여러 번 재사용
    • 목표 신경망(target network): 학습 목표를 계산하는 신경망을 따로 두고 가끔만 갱신
      • 쫓아가는 목표가 매번 흔들리지 않도록 고정
  • 한계
    • 행동 수만큼 출력을 만들어야 하므로 행동이 이산적일 때 적합
    • 로봇 팔의 관절 각도처럼 연속적인 행동에는 그대로 적용하기 어려움

REINFORCE: 정책을 직접 배우기

  • 정책 경사(policy gradient): 가치를 거치지 않고 정책 자체를 신경망으로 학습
    • 신경망이 상태를 받아 각 행동의 확률을 출력
    • REINFORCE는 가장 기본적인 정책 경사 알고리즘
  • 기본 아이디어: "결과가 좋았던 행동은 더 자주, 나빴던 행동은 덜 자주"
    • 현재 정책으로 에피소드를 끝까지 진행
    • 에피소드에서 얻은 수익(보상의 합)이 크면 그 과정의 행동 확률을 높임
    • 수익이 작으면 그 행동 확률을 낮춤
  • 장점
    • 확률을 출력하므로 탐색이 자연스럽게 이뤄짐
    • 연속적인 행동도 확률 분포(예: 정규분포의 평균과 표준편차)로 표현 가능
  • 한계
    • 에피소드가 끝나야 학습 가능
    • 운이 좋아 높은 수익을 얻은 경우에도 모든 행동이 좋았다고 평가
    • 결과의 변동(분산)이 커서 학습이 느리고 불안정

Actor-Critic: 행동하는 신경망과 평가하는 신경망

  • Actor-Critic: 정책과 가치 함수를 함께 학습하는 방법
    • 행위자(actor): 상태를 보고 행동을 고르는 정책
    • 비평가(critic): 상태가 얼마나 좋은지 예측하는 가치 함수
  • 기본 아이디어: 비평가가 기준선을 제공
    • 비평가는 "이 상태라면 보통 이 정도 보상을 받는다"는 기대치를 예측
    • 실제 결과가 기대보다 좋으면 그 행동 확률을 높이고, 나쁘면 낮춤
    • 기대 대비 얼마나 좋았는지를 이점(advantage)이라고 함
  • REINFORCE와 비교
    • 절대적인 수익 대신 기대 대비 차이로 평가하므로 분산이 줄어듦
    • 에피소드가 끝나기 전에도 비평가의 예측을 이용해 학습 가능
  • 비유
    • 행위자: 경기를 뛰는 선수
    • 비평가: 매 장면마다 "평소보다 잘했다/못했다"를 알려 주는 코치

PPO: 조금씩, 안정적으로

  • PPO(Proximal Policy Optimization): Actor-Critic 구조에서 정책을 안정적으로 개선하는 알고리즘
    • 2017년 OpenAI가 발표
    • 현재 가장 널리 쓰이는 기본 선택지 중 하나
  • 해결하려는 문제: 정책을 한 번에 크게 바꾸면 성능이 무너질 수 있음
    • 정책이 나빠지면 나쁜 데이터를 모으고, 다시 더 나빠지는 악순환
  • 기본 아이디어: 새 정책이 이전 정책에서 너무 멀어지지 않도록 제한
    • 행동 확률의 변화가 일정 범위(예: ±20%)를 넘으면 더 이상 그 방향으로 밀지 않음(clip)
    • 한 번 모은 데이터로 여러 번 안전하게 학습할 수 있어 데이터 효율이 좋아짐
  • 장점
    • 구현이 비교적 단순하고 하이퍼파라미터에 덜 민감
    • 이산 행동과 연속 행동 모두에 적용 가능
    • 게임, 로봇 제어, 대형 언어 모형의 인간 피드백 강화학습(RLHF) 등에 폭넓게 사용

정리

알고리즘 무엇을 학습하나 핵심 아이디어 주요 한계
DQN 행동 가치 경험 리플레이와 목표 신경망으로 안정화 이산 행동에 적합
REINFORCE 정책 결과가 좋았던 행동의 확률을 높임 분산이 크고 느림
Actor-Critic 정책 + 가치 비평가의 기대치와 비교해 평가 두 신경망을 함께 맞춰야 함
PPO 정책 + 가치 정책 변화 폭을 제한해 안정적으로 개선 데이터를 계속 새로 모아야 함
  • 발전 흐름
    • 가치 기반(DQN)과 정책 기반(REINFORCE)이 각각 발전
    • 두 방식을 결합한 Actor-Critic 등장
    • 안정성을 높인 PPO가 실무의 기본 선택지로 자리 잡음
Previous
Q 학습