Decision Transformer 통합 in Hugging Face Transformers

TL;DR

Hugging Face는 transformers 라이브러리와 Hugging Face Hub에 Decision Transformer를 통합했습니다. 이 통합을 통해 연구자들은 의사결정을 시퀀스 모델링 문제로 취급함으로써 훈련 중 실시간 환경 상호작용 없이 오프라인 강화 학습(RL)을 적용할 수 있게 되었습니다.

오프라인 강화 학습 vs. 온라인 RL

오프라인 강화 학습은 에이전트가 다른 에이전트나 인간 시연으로부터 수집된 정적 데이터셋을 사용해 최적 정책을 학습하도록 합니다. 즉, 환경과의 시도와 오류를 통한 상호작용 없이 학습합니다.

반면 온라인 RL은 에이전트가 직접 환경으로부터 데이터를 수집해야 합니다. 이 접근 방식은 고충실도 시뮬레이터나 실제 세계와의 직접적인 상호작용을 필요로 하는데, 이는 비용이 많이 들고 구축이 복잡하거나 시뮬레이터 결함을 에이전트가 악용할 경우 보안 위험이 발생할 수 있습니다.

오프라인 RL은 이러한 위험을 회피하지만, 훈련 세트에 존재하지 않는 상태나 행동에 대해 에이전트가 마주치는 "반사실적 질문 문제"에 직면합니다.

Decision Transformer 아키텍처

Decision Transformer는 강화 학습을 조건부 시퀀스 모델링 문제로 추상화합니다. 누적 보상(리턴)을 최대화하기 위해 가치 함수를 맞추는 전통적인 RL 방법 대신, Transformer 아키텍처를 사용해 원하는 리턴, 과거 상태, 과거 행동을 기반으로 미래 행동을 생성합니다.

기술 워크플로우

  1. 입력 시퀀스: 모델은 마지막 K 타임스텝을 입력으로 받으며, 이는 Return-to-go, State, Action의 세 구성 요소로 이루어집니다.
  2. 임베딩: 이러한 입력은 선형 레이어(벡터 상태용) 또는 CNN 인코더(이미지 프레임용)를 통해 처리됩니다.
  3. 자기회귀 예측: GPT-2 기반 모델이 토큰들을 처리해 미래 행동을 자기회귀적으로 예측하며, 이는 상태·행동·보상의 결합 분포를 효과적으로 모델링합니다.

보상 최대화에서 생성적 궤적 모델링으로 패러다임을 전환함으로써, Decision Transformer는 특정 목표 리턴을 달성하도록 설계된 일련의 행동을 생성합니다.

🤗 Transformers에서의 구현

Decision Transformer는 이제 transformers 라이브러리에서 사용할 수 있으며, Gym 환경 내 연속 제어 작업(예: Hopper, Walker2D, HalfCheetah)을 위한 9개의 사전 학습된 모델 체크포인트와 함께 제공됩니다.

모델 로딩 및 사용법

사용자는 DecisionTransformerModel 클래스를 이용해 사전 학습된 모델을 로드할 수 있습니다:

from transformers import DecisionTransformerModel

model_name = "edbeeching/decision-transformer-gym-hopper-expert"
model = DecisionTransformerModel.from_pretrained(model_name)

자기회귀 행동 예측

모델이 자기회귀적이기 때문에, 시간 단계 t에서의 예측은 이전 시간 단계의 출력에 조건화됩니다. 구현 시 입력(상태, 행동, Return-to-go, 타임스텝)을 준비하고 이를 모델의 max_length에 맞게 패딩한 뒤 모델에 전달해 다음 행동을 예측해야 합니다.

목표 리턴을 통한 성능 제어

리턴-조건부 오프라인 RL의 주요 장점 중 하나는 목표 리턴을 조정함으로써 정책 성능을 제어할 수 있다는 점입니다. 이를 통해 에이전트 난이도를 동적으로 조정할 수 있어, 멀티플레이어 환경에서 상대 봇을 만드는 데 특히 유용합니다.

Hugging Face의 Deep RL 향후 로드맵

Hugging Face는 다음과 같은 이니셔티브를 통해 Deep Reinforcement Learning 생태계 지원을 확대할 계획입니다:

  • RL-baselines3-zoo 통합
  • rl-trained-agents(stable-baselines3 사용)에서 사전 학습된 RL 에이전트 컬렉션을 Hub에 업로드
  • 추가 Deep RL 라이브러리 통합
  • Atari 환경을 위한 Convolutional Decision Transformer 구현

Sources