Paper review - Learning latent representations to influence multi-agent interaction
17 Jan 2022세 번째 논문 리뷰입니다. 2020년 CoRL에서 Best paper award를 거머쥔 멋진 논문입니다. 사실 Preference based RL은 아니지만 1) Human interaction을 고려한다는점, 2) 실험을 아주 잘 설계하고 멋진 결과를 이끌어 냈다는 점, 에서 이 논문을 리뷰해보려 합니다.
우리가 로봇을 학습시키더라도, 그 로봇과 상호작용하는 사람과 다른 로봇들이 다수 존재합니다. 이러한 Agent들은 계속해서 전략을 update 할텐데, 이전의 행동으로부터 다음 행동전략을 예측하고, 이를 바탕으로 ego agent의 behavior또한 계속 update 하겠다는 것이 이 연구의 핵심입니다. 이를 이용하면 상대 agent가 특정 행동을 하도록 유도할 수도 있다고 주장하였습니다.
Table of contents
- Introduction
- Related works
- Repeated Interactions with Non-stationary agents
- Learning and Influencing Latent Intent (LILI)
- Experiments
- Conclusion
Introduction
아주 훌륭한 Insight가 담긴 이야기로부터 이 논문이 시작됩니다. (굉장히 인상깊은 논문의 시작이고, 눈길을 끌기 좋다고 개인적으로 생각합니다.)
. The first time you encounter this autonomous car, your intention is to act cautiously: when the autonomous car slows, you also slow down. But when it slowed without any apparent reason, your strategy changes: the next time you interact with this autonomous car, you drive around it without any hesitation. The autonomous car — which originally thought it had learned the right policy to slow your car — is left confused and defeated by your updated behavior
실제로 일어날 법한 일이죠. 자율주행 차량에 사람들이 적응하기 시작하면, “어차피 알아서 잘 피하겠지”라는 생각에 주변에서 난폭하게 끼어들기를 시도할겁니다. 이런 상황을 해결하기 위해서 다른 Agent들의 의도를 파악하는 것은 중요합니다. 다만 본 논문은 이 의도가 계속해서 변화하는 상황에 집중한 연구로, 위 예시와는 약간의 거리가 있습니다.
실제로 도로 위에서 한 차량과 interaction을 반복해서 하는 경우는 없죠. 단 한 번의 episode만이 존재하기 때문에, general 한 의도인 human preference를 파악하는 것이 실제로는 더 중요하다고 생각합니다.
본 연구에서 대표적으로 나타나는 시나리오는 아래 그림과 같습니다.
- i 번째에 Opponent가 오른쪽으로 하키공을 날렸고, ego agent가 성공적으로 방어합니다.
- i+1 번째에 Opponent는 오른쪽이 안된다고 생각하고 가운데로 날렸으나, 또 다시 방어합니다.
- i+2 번째에 Opponent는 둘 다 아닌 왼쪽을 선택하고, ego agent는 이 사실을 미리 예측하고 방어합니다. i, i+1 번째의 시도로부터 상대의 strategy를 latent vector의 형태로 예측한 것입니다.
이제 본격적인 내용을 살펴보기에 앞서, 정확히 어떤 연구가 수행된 것인지 contribution을 살펴보죠. 본 논문에서 주장한 contribution은 다음과 같습니다.
- Learning latent representation
Opponent agent들의 strategy를 latent vector의 형태로 배울 수 있다. - Influencing other agents
Opponent agent들이 특정 strategy를 가지도록 유도할 수 있다. - Testing in multi-agent settings
실제 real world 7 DoF 로봇으로 검증하였다.
Related works
Opponent modeling
MARL (Multi-Agent Reinforcement Learning)에서 자주 사용하는 방법입니다. Agent 간 communication이 없다면, 다른 agent가 정확히 어떤 행동을 할 것인지 예측하는 수밖에 없습니다. 왜냐하면 transition probability가 다른 agent의 action에 좌우되기 때문에, 이를 알지 못한다면 어떤 action을 내리는 것이 optimal인지 알 수 있는 방법이 없습니다.
이 내용을 처음으로 주장한 논문은 2017년 OpenAI에서 발표한 Multi-agent actor-critic for mixed cooperative-competitive environment 논문입니다.
다만 다른 agent 들의 strategy가 static 하다고 가정하기 때문에, 본 논문과는 차이가 있습니다.
MARL
일반적으로는 centralized training framework를 사용하고, communication이 가능하다고 가정합니다. 본 논문은 decentralized에 non-communication환경을 사용합니다.
이게 가능한 이유는 other agents have predictable strategies which can be captured by latent representations 라는 아주 강력한 가정을 바탕으로 하고 있기 때문입니다. 사실 이게 사실인지는 명확하지 않습니다.
Influence through interactions
In particular, robots have demonstrated influence over humans by leveraging human trust [18, 32], generating legible motions [33], and identifying and manipulating structures that underlie human-robot teams [34]. Other works model the effects of robot actions on human behavior in driving [35, 36] and hangover [37] scenarios in order to learn behavior that influences humans
굉장히 많은 연구들이 진행된 부분입니다. 이 내용들은 추후 리뷰하도록 하겠습니다. 쟁점은, 여기서 소개된 연구들의 경우 opponent agent의 strategy recovery나 reward function recovery에 집중하고 있으나, 본 논문은 latent vector의 형태로 표현함으로써 더욱 general하게 동작할 수 있다는 점입니다.
POMDP
MARL 문제 답게, POMDP를 가정합니다. MPD라고 해버리면 상대의 state도 알아야 하니까 성립이 안되겠죠. 더욱 신기한 것은 상대가 Non-Markovian strategy를 가지고 있어도 예측이 가능하다고 주장하고 있습니다. 이건 실험적으로 그렇다는 거고 이론적으로 증명을 하지는 않았네요.
Repeated Interactions with Non-stationary agents
MARL을 가정하고 있으나 우선은 2개의 Agent로 구성된 환경을 다룹니다. Scalable 하다고는 하지만, 실험적으로 보이지는 않았습니다. 실제로도 Scalability가 높다고 생각됩니다. Linear하게 증가하거든요.
우선 이 문제는 HiP-MDP (Hidden Parameter Markov Decision Process) 로 정의됩니다. Parameter라는 것은, 실제로 무슨 의미를 가지고 있는지는 알 수 없는 값이 MDP에 포함된다는 것이겠고, 바로 Latent vector of opponent strategy가 되겠습니다. 우리는 i-step의 latent vector를 \(z^i\)로 정의합니다.
이 Latent vector에 영향을 받는 것은 2가지 입니다. Transition probability와 Reward function으로 직관적으로도 이해가 가능합니다.
우리는 ego agent의 trajectory를 이용하여 다음 step의 opponent latent strategy를 예측할 수 있습니다. 자차의 trajectory는 다음과 같이 정의됩니다.
결론적으로 우리가 학습하고자 하는 모델은 Markovian latent dynamics는,
입니다. \(z^i\)는 \(\tau^i\)에 녹아들어 있다고 가정하는 것이죠.
Learning and Influencing Latent Intent (LILI)
사실 모든 것은 그림에 잘 표현되어 있습니다. (Best paper를 받으려면 역시 그림을 잘 그려야 되는 것 같아요)
우리의 목적은 Latent strategy를 예측하는 \(\mathcal{E}_\phi\)를 찾는 것입니다. 그런데 \(z^i\)가 뭔지 알 수 없으니 supervised learning을 할 수가 없습니다. 따라서 그림 우측의 representation learning 부분의 AutoEncoder 구조를 사용하여 latent vector를 배우게 됩니다.
아주 간단한 구조입니다. \(\tau^{k-1},\tau^k\)는 각각 \((s,a,r,s')\)의 tuple로 이루어져 있습니다.
- \(\mathcal{E}_\phi\)는 \(\tau^{k-1}\)의 \((s,a,r,s')\)을 입력으로 받아 \(z^k\)를 내놓습니다.
- \(\mathcal{D}_\phi\)는 \(z^k\)를 입력으로 받아 Transition probability와 Reward를 예측합니다. 즉, \((z^k,s,a)\)를 입력으로 받고 \((r,s')\)을 내놓습니다.
이 Autoencoder를 학습하기 위한 objective function은 다음과 같습니다.
전체 encoder, decoder, RL networks를 학습시키는 과정은 아래 알고리즘에 자세히 설명되어 있습니다. 아주 간단한 알고리즘입니다. RL networks의 경우 SAC (Soft Actor Critic)을 사용하였고, \(\mathcal{J}_\pi,\mathcal{J}_Q\)는 각각 actor, critic loss를 의미합니다.
Encoder와 Decoder는 2 fully-connected layers of size 128을 사용하였고, Actor와 Critic은 2 fully-connected layers of size 256을 사용했다고 합니다. 또한 latent strategy \(z^i\) size는 8 입니다. 간단한 문제들을 해결하는 것이므로 충분합니다.
Influencing by optimizing for long-term rewards
Experience buffer를 살펴보면 뭔가 이상한 점을 발견할 수 있습니다. Latent strategy가 계속해서 update 될테니 아마도 on-policy learning을 해야 할텐데, off-policy learning의 형태를 취하고 있다는 것입니다. 이상하지 않나요?
실제로 저자는 2가지 방식을 분리해서 설명합니다.
- LILI (No influence) : on-policy
실제로 현재 가지고 있는 latent strategy predictor에 기반하여 최대한의 return을 이끌어내는 방식입니다. 즉, 학습을 할 때, 모든 trajectory를 보는 것이 아니라, 바로 직전의 trajectory만 가지고 학습을 하는 거겠죠. - LILI : off-policy
모든 trajectory를 다 사용합니다. 이는 무엇을 의미하냐면, Non-Markovian strategy를 가정하고, 모든 interaction에서 발생하는 최종 return을 최대화 하겠다는 것입니다. 식으로 표현하자면 아래와 같습니다.$$\max _{\theta} \sum_{i=1}^{\infty} \gamma^{i} \mathbb{E}_{\rho_{\pi_{\theta}}^{i}}\left[\sum_{t=1}^{H} R\left(s, z^{i}\right)\right]$$
결론부터 말하자면 LILI는 초반 학습이 느리지만 최종적으로 Opponent의 strategy를 ego agent에게 유리하도록 유도하는 특징을 보여줍니다.
Experiments
실험은 3가지 가상환경 실험과, 실제 로봇실험으로 구성되었습니다.
Simulated environments
- Point Mass
Target point를 잡는 task, 그러나 target point의 위치는 모른다. Episode가 끝나면 target point는 ccw나 cw로 한칸 이동한다. - Lunar Lander
도착 지점이 계속 바뀌고, 그곳으로 landing해야 한다. 도착지점의 위치는 알 수 없다. - Driving (2D, CARLA)
차량을 추월하려 하는데, 앞 차량이 추월직전 차선을 변경한다.
Baseline은 4가지가 사용되었습니다.
- Soft Actor Critic
- SLAC : Opponent strategy가 고정되어 있다고 가정
- LILAC : Opponent strategy가 env에 따라서 변한다고 가정
- Oracle : Opponent의 state와 policy를 안다고 가정
결과를 한 번 볼까요?
일단 모든 부분에서 압도적인 성능을 보이고 있습니다. 또한 Point Mass task의 경우 LILI는 point의 behavior를 유도하여 가둬버리는 결과를 도출하였습니다.
Air Hockey result
실제 로봇을 가지고 실험을 진행하였습니다. 게임은 다음과 같이 구성됩니다.
- Opponent는 왼쪽,가운데,오른쪽 중 하나로 puck을 날림
- Ego agent는 왼쪽, 가운데, 오른쪽 중 하나로 action을 취함
- input은 puck의 vertical position (가까이 오고 있는지만 알 수 있음)
- 왼쪽으로 방어하면 +2점, 나머지로 방어하면 +1점, 못막으면 0점
Opponent의 Policy는 아래와 같습니다.
아래는 실험 결과입니다. 결과 동영상
놀랍게도 LILI는 Opponent가 왼쪽으로 puck을 던지도록 유도하는 것을 볼 수 있습니다.
Playing against a Human Expert
사람을 상대로도 latent strategy를 뽑아낼 수 있는지 실험하였습니다. 사실 직관적으로는 안될 거라고 생각했습니다. 사람이 생각없이 랜덤하게 던진다면 그걸 막아낼 수 없을거라고 생각하거든요. 그치만 가정이 하나 들어가 있었습니다.
Like the robot striker, this human aims away from where the ego agent blocked during the previous interaction
이런 가정이라면 학습할 수 있겠죠. 실제로 SAC가 45%를 막아내는 동안 LILI는 73%를 막아내었습니다.
Conclusion
사람, 혹은 로봇과의 interaction 도중에 상대편의 latent strategy 변화를 예측하고, 그에 맞추어 나의 policy를 update하는 연구에 대해 알아보았습니다. 저자는 Human interaction의 경우 아직은 한계가 많았다고 서술하고 있는데요, 재미있는 주제라는 생각이 들었습니다. 실제로 Preference도 비슷한 방법을 통해서 녹여낼 수 있지 않을까 하는 생각이 듭니다.