핵심 : DIAYN은 다양한 Skill을 비지도로 학습하기 위한 파이프라인이며 학습된 Skill들 중 어떤 것을 선택하고 조합할지는 그 이후의 추가 학습 (Hierarchical RL, Fine-tuning, Imitation Learning)에서 결정된다.
Abstract
지능적인 생명체는 감독 없이도 환경을 탐색하고 유용한 기술을 스스로 학습할 수 있다. 본 논문에서는 보상 함수 없이 유용한 기술(useful skills)을 학습할 수 있도록 하는 방법인 DIYAN을 제안한다. 제안하는 방법은 Maximum entropy policy를 기반으로 정보 이론적 목적함수를 최대화함으로써 기술들을 학습한다. 다양한 시뮬레이션 로봇 과제에서 이 단순한 목표만으로도 걷기, 점프하기 등의 다양한 기술이 비지도 방식으로 자율적으로 등장함을 확인했다. 여러 강화학습 벤치마크 환경에서도 본 방법은 실제 보상을 전혀 받지 않고도 해당 과제를 해결하는 기술을 학습할 수 있었다. 또한 사전에 학습된 기술들이 후속 과제를 위한 좋은 초기화 파라미터로 작용할 수 있으며, 계층적 방식으로 구성되어 복잡하고 희소한 보상 환경의 문제도 해결할 수 있음을 보였다. 이런 결과는 비지도 학습 기반의 기술 발굴 (unsupervised discovery of skills)이 강화학습의 탐색성과 데이터 효율성 문제를 해결하는 효과적인 사전학습 수단이 될 수 있음을 시사한다.
Introduction
심층 강화학습은 다양한 보상 기반 기술을 학습하는 데 효과적임이 입증되어 왔다. 예를 들어 게임 플레이, 로봇 제어, 복잡한 환경에서의 탐색 등에서 그러하다. 그러나 지능적인 생명체는 감독이 없어도 환경을 탐색하고 유용한 기술을 학습할 수 있으며, 이후 특정 목표가 주어졌을 때 이런 기술을 이용해 빠르고 효율적으로 그 목표를 달성할 수 있다.
보상 없이 기술을 학습하는 것은 여러 실용적인 응용에서 유리하다. 예를 들어 Sparse reward를 가진 환경에서는 에이전트가 목표 상태에 우연히 도달하기 전까지는 사실상 아무런 보상을 받지 못한다. 감독 없이 유용한 기술을 학습하는 것은 이런 환경에서 탐색 문제를 해결하는 데 도움이 될 수 있다. 또한 Long-horizon task의 경우 보상 없이 발견된 기술들은 Hierarchical RL의 기본 단위로 사용되어 에피소드의 길이를 실질적으로 줄일 수 있다.
long-horizon task에서 강화학습은 탐색 실패가 많고 보상은 마지막에만 주어지므로 학습이 어려운 경우가 많다. 그래서 여기서 말하는 Unsupervised skill learning이란 보상 없이 상태 공간을 다양하게 커버하도록 학습된 정책들을 묶어서 사용하면 하나의 기술이 여러 스텝의 행동이 되므로 최종 과제에서는 실질적으로 더 짧은 에피소드로 학습할 수 있게 된다고 말하는 것 같다.
실제 환경에서는 환경과의 상호 작용은 자유롭지만, 보상 평가에는 사람의 피드백이 필요한 경우가 많다. 이런 상황에서 비지도 기술 학습은 감독의 필요성을 줄이는 데 기여할 수 있다. 물론 사람이 개입하지 않고도 보상 함수를 설계할 수 있지만, 그 보상 함수가 에이전트로부터 원하는 행동을 유도하도록 만드는 것은 매우 어렵다. 마지막으로 낯선 환경에 들어갔을 때 에이전트가 어떤 과제를 학습해야 할지 결정하는 것도 어렵다. Unsupervised skill discovery는 이런 질문에 대한 부분적인 해답을 제공할 수 있다.
보상 신호 없이 유용한 기술을 자율적으로 습득하는 것은 매우 도전적인 문제이다. 기술(Skill)이란 환경의 상태를 일정한 방식으로 변화시키는 잠재 조건 정책(Latent-conditional Policy)을 의미한다. 우리는 보상 함수가 알려지지 않은 상황을 가정하며, 기술 집합의 유용성을 최대화하도록 기술들을 학습하고자 한다. 이 문제를 해결하려면 각 기술이 서로 구별 가능하도록 학습되고, 기술 전체가 상태 공간을 넓게 커버하도록 하는 학습 목표가 필요하다. 본 논문에서는 상호 정보량(Mutual Information)에 기반한 간단한 목적 함수를 통해, RL 에이전트가 그런 기술들을 자율적으로 발견할 수 있음을 보인다. 이 기술들은 계층적 강화학습이나 Imitation Learning 등 다양한 응용에 활용될 수 있다.
우리는 보상 없이도 다양한 기술을 학습할 수 있는 심층 강화학습 방법을 제안한다. 유용한 기술을 획득하기 위해서는 가능한 행동들의 집합을 최대한 넓게 커버하도록 기술들을 학습해야 한다고 가정한다. 예를 들어 어떤 기술은 Random Dithering(무작위로 떨리는 행동)처럼 무의미한 행동을 할 수도 있지만, 다른 기술들은 이와 구별되는 행동을 수행함으로써 더 유용하게 작용할 수 있다. 이 논문의 핵심 아이디어는 기술들 사이의 구별 가능성(Discriminability)을 학습 목표로 사용하는 것이다.
하지만 구별 가능한 기술들이 항상 의미 있게 다양한 것은 아니다. 예를 들어 상태가 조금만 달라져도 기술을 구별할 수는 있지만, 그것이 의미론적으로 서로 다른 행동은 아닐 수 있다. 이 문제를 해결하기 위해 우리는 단순히 구별 가능할 뿐 아니라 의미적으로도 가능한 다양한 기술을 학습하고자 한다. 즉, 구별 가능하면서도 최대한 무작위성(entropy)을 지닌 기술들을 학습함으로써, 각 기술이 서로 멀리 떨어지도록 유도하고, 외란에 강건하며 환경을 효과적으로 탐색할 수 있도록 만든다.
이런 목표를 극대화함으로써 우리는 앞으로 달리기, 뒤로 건너뛰기, 뒤로 재주넘기, 얼굴로 넘어지기 (face flop) 등 다양한 기술을 학습할 수 있다.
Related Work
본 논문에서는 비지도 강화학습 패러다임을 다룬다. 이 프레임워크에서는 에이전트가 먼저 감독 없이 탐색하는 단계를 수행하고, 그 다음에 감독이 있는 단계로 넘어간다. 우리는 이 비지도 단계에서의 목표를 최종적으로 과제 보상을 극대화하는 데 도움이 될 수 있는 기술들을 학습하는 것으로 정의한다. 중요한 점은 이 기술들은 과제에 대한 사전 지식 없이 학습되므로 다양한 과제에 범용적으로 활용 가능하다는 것이다.
3.1 How It Works
우리의 Unsupervised Skill Discovery 방법인 DIAYN은 세 가지 핵심 아이디어에 기반한다.
1. 기술이 유용하려면, 기술은 에이전트가 방문하는 상태들을 결정해야 한다. 즉, 서로 다른 기술들은 서로 다른 상태를 방문해야 하며, 따라서 서로 구별 가능(distinquishable)해야 한다.
2. 기술 간의 구별은 행동이 아닌 상태를 기준으로 해야 한다. 어떤 행동이 환경에 영향을 주지 않는 경우, 외부 관찰자는 그 행동을 관측할 수 없다.
3. 기술은 가능한 한 무작위성을 가지도록 유도해야 한다. 기술들이 높은 엔트로피를 유지하면서도 구별 가능하게 되면 각 기술은 다른 기술과 겹치지 않도록 환경의 서로 다른 영역을 탐색하게 되고, 그 결과 각 기술은 외란에 강건하고 환경 전체를 효과적으로 탐색하게 된다.
S : state A : action Z ~ p(z) : latent skill I(;) : mutual information H[] : Shannon entropy
DIAYN은 다음과 같은 목적함수를 최대화한다.
핵심 목표는 "Skill z를 주면 해당 skill은 그에 맞는 state s를 만들어야 하고, 각 skill은 서로 최대한 다르게 행동해야 한다"는 것이다.
I(S;Z) : Skill과 State 사이의 Mutual Information. 이 항이 커지면 Skill 간의 Discriminability가 좋아짐
H[A|S] : State 기준 Action의 Entropy. Skill이 정해지지 않은 상태에서 Action의 분포가 다양한 State가 되도록 유도.
I(A;Z|S) : 동일한 State에서는 Action으로 Skill을 추론할 수 없어야 함. Skill은 State를 통해 드러나야 하고, Action 자체는 랜덤일 수 있음.
근데 Mutual Infromation에서 p(z|s)를 직접 계산하기 어려우므로 Discriminator를 학습해서 Variational Lower Bound로 사용.
3.2 Implementation
우리는 DIAYN을 Soft Actor Critic 알고리즘 기반으로 구현한다. 이 알고리즘은 Latent variable z에 조건화된 Policy를 학습한다. 우리는 G의 기댓값을 최대화하기 위해 기존 강화학습에서 사용하는 Task reward 대신 다음과 같은 Pseudo-reward를 사용한다.
q는 Discriminator가 예측한 Skill의 확률, p는 Skill의 사전 분포이다. 에이전트는 Discriminator가 기술을 잘 구분할 수 있는 상태에 도달할 수록 더 높은 보상을 받게 되며, Discrminator는 기술 z를 상태 s로부터 더 잘 예측하도록 업데이트된다.
3.3 Stability
이전의 Adversarial 비지도 강화학습 방법들은 정책과 보상 신호를 동시에 최적화해야 하기 때문에 학습이 불안정해질 위험이 있다. 반면 DIAYN은 협력적 게임을 구성하므로 이런 불안정성이 훨씬 줄어든다.
예를 들어, Gridworld 환경에서는 DIAYN 최적화 문제의 유일한 해가 존재하며, 이는 각 기술이 상태 공간을 균등하게 분할하고 그 기술이 자신에게 할당된 영역 안에서 균일한 Stationary distribution을 유지하는 경우이다.
Question 2. 학습 도중의 기술의 분포는 어떻게 변화하는가?
DIAYN은 보상 함수 없이 기술을 학습하지만 외부 관찰자의 입장에서 학습 중 기술들이 어떻게 변화하는지 분석해볼 수 있다.
Figure 2는 환경에서 기술들이 학습 과정 동안 점점 더 다양해지는 양상을 보여준다. DIAYN은 진짜 과제 보상을 사용하지 ㅇ낳고, 기술을 학습하므로 일부 기술은 낮은 보상을 얻게 되고, 다른 기술은 높은 보상을 얻게 되는 건 자연스러운 현상이다.
Question 3. Does dicriminating on single states rescrict DIAYN to learn skills that visit disjoint sets of states?
DIAYN의 Discriminator는 trajectory 전체가 아닌, 개별 상태에 대해서만 작동한다. 이 때문에 DIAYN은 Skill들이 서로 완전히 분리된 (disjoint) 상태 집합만을 방문하도록 강제하는 것이 아니냐는 우려가 있을 수 있다. 하지만 실험 결과 그런 제한은 없다는 것을 알 수 있다. Figure 2b는 간단한 실험 결과를 보여주는데 환경은 복도가 연결된 방 구조이며, 에이전트는 초기 위치 (녹색 별)에서 출발해 복도를 지나 넓은 공간으로 이동할 수 있다. 비록 초기에는 보상을 못 받을 수 있지만, 이후 구별 가능한 상태에 도달하기 위해 장기적인 행동 시퀀스를 선택할 수 있다. 즉, DIAYN은 중간 경로가 겹치더라도 결과적으로 서로 다른 상태를 방문하게 만드는 기술을 학습할 수 있다.
4.2 Harnessing Learned Skills
보상 함수 없이도 다양한 기술들을 발견할 수 있다는 사실은, 강화학습에서 여러 문제를 해결하기 위한 Building block으로 활용될 수 있다는 점에서 의미가 크다. 예를 들어 어떤 과제에서 높은 보상을 얻는 정책을 찾는 데 있어 이미 학습된 기술 중 하나를 선택하는 것만으로도 과제를 해결할 수 있다.
여기서는 다음과 같은 세 가지 응용 사례를 소개한다.
1. 학습된 기술을 새로운 과제에 Fine-tune하여 보상 극대화 2. 학습된 기술을 활용한 Hierarchical RL 3. 학습된 기술을 통한 Imitation Learning