순환 신경망 기반 심층 강화 학습: DRQN을 이용한 부분 관측 환경 해결

부분 관측 문제를 극복하는 DRQN 아키텍처

심층 강화 학습 분야에서, 전통적인 DQN(Deep Q-Network)은 완전한 상태 정보를 가정하기 때문에 현실 세계의 많은 상황에 적용하기 어렵다. 예를 들어 자율주행 차량이 센서의 시야 제한으로 인해 전체 도로 상황을 파악하지 못하거나, 로봇이 장애물에 의해 일부 영역을 관측할 수 없는 경우가 있다. 이러한 부분 관측 마르코프 결정 프로세스(POMDP)에서는 과거의 관측 정보를 통합하여 잠재 상태를 추론하는 능력이 필수적이다.

DRQN의 구조적 혁신

DRQN(Deep Recurrent Q-Network)은 이 문제를 해결하기 위해 순환 신경망(RNN), 특히 LSTM(Long Short-Term Memory)을 Q-함수 근사기에 통합한다. 네트워크는 다음과 같은 계층 구조를 갖는다:

  • 입력 처리기: 원시 픽셀 데이터를 처리하는 컨볼루션 층들
  • 시계열 메모리 모듈: CNN 출력을 입력으로 받아 시간적으로 연결된 정보를 유지하는 LSTM 셀
  • 액션 평가기: LSTM의 은닉 상태를 기반으로 각 행동에 대한 Q값을 예측하는 완전 연결층

LSTM은 내부적으로 기억 게이트와 유입/유출 게이트를 통해 중요한 과거 정보를 유지하고 불필요한 정보는 버리는 메커니즘을 제공하므로, 단일 프레임에 의존하지 않고 일련의 관측 결과로부터 의미 있는 상태 표현을 구성할 수 있다.

시간 일관성 보존을 위한 트레이스 리플레이

DQN의 경험 리플레이 방식은 샘플 간 독립성을 가정하지만, DRQN에서는 시간적 연속성이 중요하다. 따라서 ReplayMemory 클래스는 연속된 경험 조각(trace)을 함께 저장하고 샘플링한다. 아래 코드는 길이 n의 시퀀스를 추출하는 핵심 로직이다:

def sample_trace(self, batch_size, trace_len):
    sampled_sequences = []
    for _ in range(batch_size):
        episode = random.choice(self.storage)
        start_idx = random.randint(0, len(episode) - trace_len)
        sequence = episode[start_idx:start_idx + trace_len]
        sampled_sequences.extend(sequence)
    return np.stack(sampled_sequences)

이러한 트레이스 기반 리플레이는 역전파 시 정확한 그래디언트 흐름을 보장하며, RNN의 상태 전달을 자연스럽게 구현한다.

그리드월드 기반 검증 실험

본 구현은 gridworld.py를 통해 부분 관측 환경을 시뮬레이션한다. 에이전트는 9x9 그리드에서 목표 지점(초록색)까지 이동해야 하며, 함정(빨간색)은 부정적 보상을 유도한다. partial 모드 활성화 시, 에이전트는 주변 3x3 영역만 인식 가능하다.

실행 절차

  1. 저장소 복제:
    git clone https://gitcode.com/gh_mirrors/de/DeepRL-Agents
    cd DeepRL-Agents
    
  2. Jupyter 노트북 실행:
    jupyter notebook Deep-Recurrent-Q-Network.ipynb
    
  3. 환경 초기화:
    env = gameEnv(partial=True, size=9)
    
  4. 학습 설정:
    • 트레이스 길이: 8
    • LSTM 은닉 크기: 512
    • 배치 크기: 4
    • 탐험 감쇠: ε=1.0 → 0.1 (선형)

성능 비교: DRQN 대 DQN

동일한 환경에서 두 알고리즘을 비교하면 DRQN이 우수한 성능을 보인다:

  • 목표 도달률 약 40% 향상
  • 학습 안정성 증가 (보상 변동성 감소)
  • 센서 노이즈 및 관측 누락에 대한 내성 확보

이는 과거 상태를 기억함으로써 일시적인 정보 손실에도 불구하고 일관된 정책을 유지할 수 있기 때문이다.

응용 가능성과 심화 학습

DRQN의 패러다임은 다음과 같은 분야로 확장될 수 있다:

  • 비전 기반 로봇 탐색 (센서 지연 보정)
  • 대화 시스템 (이전 발화 맥락 이해)
  • 시계열 게임 AI (Atari 등 비완전 시야 게임)

이론적 배경을 깊이 있게 이해하려면 원본 논문 *"Deep Recurrent Q-Learning for Partially Observable MDPs"* 및 프로젝트 레포지터리의 문서를 참고하라.

태그: DRQN POMDP LSTM TensorFlow 강화학습

6월 7일 19:54에 게시됨