내 안드로이드폰이 강화학습을 위한 environment가 되게 해 주는 멋진 플랫폼이 나왔다니!! 역시 딥마인드!!

AndroidEnv라는 이름을 보자마자 무릎을 탁 치게 되었다. 게임 밖의 현실 세계에 적용하기가 너무나 어렵던 강화학습이 내 손안에 잡히는 구체적인 현실 문제에 적용 가능해 지는 무한한 가능성이 상상되지 않는가?

하지만 흥분은 잠시, 5초만에 몇가지 의문점들이 밀려온다.

강화학습이라고? environment가 게임이 아니라면 reward는 어떻게 정의하지?

그리고 action과 observation은 어떻게 정의되는 거지? agent는 사람처럼 행동하는 건가? 아니면 정말 마블의 자비스나 her의 사만다 같이 사람과 interaction할 수 있는 강화학습 agent를 만들 수 있는 건가?

결론부터 얘기하자면, AndroidEnv는 OpenAI Universe같이 강화학습 agent를 다양한 task에 최적화되도록 훈련시킬 수 있는 범용 environment platform이다. 정말 대강 후려쳐 정리하자면 OpenAI Universe같은 것을 Android 환경에서 돌릴 수 있게 한 것인데, 그렇기 때문에 훨씬 실용적일 수 있고, 모바일이라는 UI특성 때문에 action space가 터치스크린 이벤트 방식으로 구현되어 있다 정도의 차이가 있다. (하지만 논문을 읽어보면 행간에 많은 고민들이 녹아 있음을 알수 있다)

이 표 하나의 의미만 파악하면 AndroidEnv의 의미를 절반쯤 이해할 수 있다. 절반인 이유는, 이 표만 봐서는 AndroideEnv가 OpenAI Universe와 뭐가 다른지 알수 없기 때문이다.

이 표 하나의 의미만 파악하면 AndroidEnv의 의미를 절반쯤 이해할 수 있다. 절반인 이유는, 이 표만 봐서는 AndroideEnv가 OpenAI Universe와 뭐가 다른지 알수 없기 때문이다.

그럼 AndroidEnv를 소개한 논문을 흐름에 따라 눈에 띄는 점만 정리하면서 이것의 의미를 좀더 생각해 보자.

I. Introduction


AndroidEnv에서 agent와 environment의 관계는 안드로이드폰의 유저(user)와 안드로이드 기기(device)의 관계와 같다.