이 글은 논문 Decision Transformer: Reinforcement Learning via Sequence Modeling에 대한 설명입니다. 논문 원본에 대한 링크는 아래에 적어놓았습니다.
논문 원본 : https://arxiv.org/abs/2106.01345
Decision Transformer는 Causally masked Transformer를 활용하여 최적의 Action을 출력한다. 이 모델은 Return(Reward), Past States, Actions에 대한 Autoregressive model을 조절함으로써 원하는 Return 값을 갖는 미래의 Actions를 생성할 수 있다.
위 그림은 Decision Transformer의 Architecture이다. Return-to-go, States, Actions를 입력으로 취해 다음 step의 Action을 예측한다.
Causally Masked Transformer란?[3]
Causal Language Models를 사용한 Transformer라는 뜻으로, 이는 왼쪽에 나타나는 단어만을 고려하는 모델이다. (단방향 모델)
Autoregressive Model[4]
변수의 과거 값의 선형 조합을 이용하여 관심 있는 변수를 예측하는 방법
이 논문에서 고려하는 Paradigm의 변화는 다음과 같다.
Sequence modeling objective를 사용하여 수집된 경험을 바탕으로 Transformer Model을 훈련시킨다. 이 방법으로 Long term credit assignment를 위한 Bootstrapping에 대한 필요를 피할 수 있다. 따라서 "Deadly triad" 중 하나를 회피하여 Discounting factor를 사용하지 않아도 된다.
Transformer는 긴 Sequence를 모델링하는데 장점을 가지고 있으며, Self-Attention을 거쳐 시행했던 Action들이 결과에 어떤 영향을 미쳤는지 알 수 있다.
이 논문에서는 Offline RL을 고려하여 가설을 탐구한다.
State, Action, Return의 Sequence에 대해 Autoregressive model을 훈련함으로써, Autoregressive generative modeling으로 Policy sampling을 줄인다.
Online RL이 실제로 매번 예측을 수행하며 다음 상태를 탐색하는 것이라면, Offline RL은 고정된 Dataset으로 최적의 Policy를 찾는 것이다.
Offline RL에 대해 부가적으로 더 설명하자면, 어떠한 Rollout Policy를 이용하여 Suboptimal dataset을 수집한다. 이후 이 Dataset만을 이용하여 Policy를 학습하는 것이다.
이 논문에서 설명하기를 MDP = (S, A, P, R)이라 정의하고, 하나의 Trajectory(Sequence of states, actions, and rewards)를 아래와 같이 설명하고 있다.
아래의 식은 하나의 Trajectory에 time stpe t에 따른 Return 값이다.
강화학습의 목표는 위 Rt 값의 기대값인 아래의 Expected Return 값을 최대화하는 Policy를 학습하는 것이다.
Vaswani et al[1]이 제안한 Transformer는 Sequential data를 효과적으로 modeling하기 위한 Architecture이다.
Transformer는 Multi-head Attention으로 구성되어 있으며, 각각의 Self-Attention layer는 입력 토큰에 해당하는 n개의 임베딩을 수신하고, 입력 차원을 보존하는 n개의 임베딩을 출력한다.
i번째 토큰은 Linear Transformation을 통해 Key, Query, Value로 Mapping된다. 그리고 각 Self-Attention layer의 i번째 출력은 Query와 Key 사이의 정규화된 Dot product로 Value 값을 가중치로 부여하여 주어진다.
이 연구에서는 위에서 설명한 Transformer를 응용하여 개발된 GPT Architecture[2]를 사용한다.
Decision Transformer의 전체적인 Pseudocode(for continuous actions)는 다음과 같다.
Transformer는 의미 있는 패턴을 학습할 수 있어야하고, Test할 때, 조건부로 Action을 생성할 수 있어야한다. 또한, 모델이 미래의 Rewards를 기반으로 Actions를 생성하기를 원하기 때문에 Reward를 Modeling하는 것은 중요하지 않다. 따라서 우리는 모델에 Return-to-go를 넣어준다.
그리고 Trajectory representation은 다음과 같다.
Test를 할 때에는 Environment의 Starting State와 원하는 Performance(성공(1) or 실패(0))를 미리 정할 수 있다. 그리고, 현재 State에 따른 Action을 실행한 후 받은 Reward만큼 Target Return을 줄여나가는 것을 Episode 종료 시까지 반복한다.
논문에서 설명하는 Decision Transformer의 Architecture는 아래 그림과 같다.
모델의 입력은 K time-steps만큼의 Return-to-go, State, Action, Time-step index로 구성된다.
각 토큰들의 Embedding을 위해서는 Linear layer를 학습하며, 이미지 입력이 있는 경우에는 Convolution Encoder를 사용한다.
또한, 각 Time-steps에 대한 Embedding이 학습되고, 각 토큰에 추가된다. 여기서 Time-stpe에 대한 Embedding은 기존 Transformer의 Positional embedding과 다른, 세 개의 토큰에 대응되는 하나의 Time-step에 대한 것이다.
이 후, 토큰들은 GPT 모델에 의해 처리되며, 이 모델은 Autoregressive modeling을 통해 미래의 Action을 예측한다.
Offline trajectories에 대한 Dataset이 제공된다. 그리고 Dataset에서 K 길이 만큼의 Mini-batches를 샘플링한다.
입력 토큰의 s(t)에 해당하는 예측 토큰 a(t)는 이산 Action일 경우에는 Cross-entropy loss, 연속 Action일 경우에는 Mean-squared-error로 예측하도록 훈련되며 각 Time-step의 loss는 평균화하여 최종 loss로 계산한다.
이 논문에서는 이산 제어 작업(Atari 게임)과 연속 제어 작업(Open AI Gym) 모두를 평가한다.
Atari 게임은 고차원의 Observation spaces를 포함하고, Long-term credit assignment를 요구하는 반면에, Open AI Gym은 연속 제어를 요구하여 다양한 Task set를 나타낸다.
Atari 환경에서는 Breakout, Qbert, Pong, Seaquest에서 Benchmark를 진행했으며, 비교군으로는 CQL, REM, QR-DQN, BC를 사용했다. Qbert에서는 SOTA인 CQL에 많이 뒤쳐졌지만, 다른 환경에서는 비슷한 성능을 낸 것을 알 수 있다.
Medium : Expert policy의 1/3정도 점수에 도달한 Medium policy로 생성된 100만개의 time-step
Medium-Replay : Medium policy로 학습된 Agent의 Replay-buffer (25K-400K)
Medium-Expert : Medium으로 생성된 100만개의 time-step과 Expert policy로 생성된 100만개의 time-step을 함께 사용
Open AI 환경에서는 HalfCheetah, Hopper, Walker, Reacher에서 Benchmark를 진행했으며, 비교군으로는 CQL, BEAR, BRAC-v, AWR, BC를 사용했다. 거의 모든 환경에서는 비슷한 성능을 낸 것을 알 수 있다.
[1] Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez,Lukasz Kaiser, and Illia Polosukhin. Attention is all you need. In Advances in Neural Information Processing Systems, 2017.
(https://arxiv.org/abs/1706.03762)
[2] Alec Radford, Karthik Narasimhan, Tim Salimans, and Ilya Sutskever. Improving language understanding by generative pre-training. 2018.(https://www.cs.ubc.ca/~amuham01/LING530/papers/radford2018improving.pdf)
[3] https://ichi.pro/ko/nlpui-mlm-gamyeon-eon-eo-model-mich-clm-ingwa-eon-eo-model-ihae-1738411038373