본문 바로가기

Reinforcement Learning/Practice

[Part 5] Visualizing an Agent’s Thoughts and Actions

스팅에 앞서 Reference의 contents를 review하는 글임을 밝힙니다.


이번 포스팅에서는 앞서 Part 4에서 다루었던 grid world agent의 학습 과정을 다룬 interface에 대해 다룰 것입니다. Deep learning에서 black box라고만 여겨졌던 학습 과정을 조금이나마 들여다보기위해 loss나 accuracy등의 수치를 찍어봅니다. Reinforcement learning에서도 action과, reward, 그리고 현재 state까지 볼 수 있으면, agent가 학습하는 것을 조금 더 잘 이해할 수 있겠다는 생각각이 듭니다. 이러한 흐름에서, agent의 learning information을 보여주는 웹 인터페이스, Reinforcement learning control center에 대해 알아보겠습니다.



The Control Center Interface

<Fig1. The Reinforcement Learning Control Center interface>


Control Center가 design된 이유는 Agent가 학습하는 과정을 보기 위함입니다. 이 interface는 Part 4의 network(Double-Dualing DQN)에 맞춰져 있습니다. 위 그림을 보시면 왼쪽 편의 episode마다 얻은 Reward와 terminal state까지의 Episode length가 나타나 있습니다. 오른쪽은 기존 포스팅에서는 5x5의 gridworld를 다루었지만 이 interface는 3x3 환경에서 구현되어있습니다. 오른쪽 아래에는 해당 state에서의 action에 따른 advantage와 value function가 원의 크기로 나타나 있습니다. 초록색 사각형은 +1의 reward를, 그리고 빨간색 사각형은 -1의 reward를 주고 매 step마다 -0.1의 reward를 받습니다.



<Video1. grid world agent simulation>


위 영상을 보시면 각 state에서의 value function과 action에 따른 advantage function에 맞게 agent가 빨간색 사각형을 피해 초록색 사각형으로 잘 도달하는 것을 볼 수 있습니다. 다시 언급하자면, Dueling DQN은 agent가 당장 있는 state가 가능한 action에 관계없이 valuable하냐 아니냐를 판단할 수 있고(value function), action에 따라 그 action이 얼마나 valuable한지(advantage function)를 알 수 있게 합니다. 위 interface를 보면, 제대로 학습이 되어있다는 것을 느낄 수 있습니다.  

Getting inside Our Agent's Head

우리가 training시킨 agent가 제대로 된 학습을 했는지 확인하기 위해서 3가지 상황을 부여하고 agent가 어떻게 action을 취하는 지 살펴볼 수 있습니다. 1) 초록색 사각형만 있는 환경 2) 빨간색 사각형만 있는 환경 3) 아무것도 없는 환경에서 각각 어떻게 agent가 행동하는지를 test할 수 있습니다. 들어가기전에, 각 환경에서 이상적인 agent의 action은 무엇인지 생각해보면 좋을 것 같습니다.


Only Green Squares


초록색 사각형만 있는 경우에는 agent가 제대로 초록색 사각형에 도달하는 것을 볼 수 있습니다. 다만, 본래 블로그에 있는 영상을  가져왔지만, 궁금한점은 episode길이가 길수록 reward가 적을텐데 굳이 먼 초록색 사각형까지 가는 게 아쉽습니다. 물론 -0.1차이뿐이겠지만 말이지요. advantage function도 주목할 부분이지만 value function부분도 초록색 사각형까지 이동하면서 이에 가까울 수록 증가하는 것도 눈여겨볼 부분입니다.

Only Red Squares


다음은 빨간색 사각형만 있는 환경입니다. 두 개의 빨간색 사각형에 가까워지지 않으려고 구석에 갇힌 것을 볼 수 있습니다. 빨간색 사각형에 조금이라도 가까워지면 value function이 낮아지는 것도 확인할 수 있습니다.

No Squares


이번에는 어떠한 사각형도 없는 환경입니다. agent는 의미없는 action을 취하고 이것이 계속 반복됩니다. 만약 어떠한 action을 취하지 않는 것도 선택지에 있다면, agent는 가만히 있는 것이 최적의 행동일 것입니다.


앞서 살펴본 3가지 환경에서 agent는 사람이 생각했을 때와 비슷한 action을 취하고 있습니다. 이는 사람과 비슷하게 반응한다는 것을 시사하므로 올바르게 learning이 되었다고 할 수 있습니다. 특히, 강화학습 분야에서는 이렇게 agent를 학습시키고 나서 점검하는 과정이 필요한 것 같습니다. 하지만 무엇보다도, agent가 학습할 수 있게 environment 환경을 잘 구성하고 보상구조를 잘 정의하는 것 또한 중요합니다. 강화학습으로 잘 풀 수 있게 문제 정의를 하는 것이 첫 걸음이자, 후에 accuracy를 좌우할 수 있다고 생각합니다. 


마치며

강화학습 분야에서 agent의 학습결과를 눈으로 확인할 수 있는 interface를 만들었다는 것이 꽤 흥미있었습니다. agent가 직접 어떤 value들을 가지고 어떤 action을 취하는지 투명하게 보는 것은 분명 agent를 design한 사람에게 큰 도움이 될 것이라고 생각합니다. 다음 포스팅은 Part.6  Partial Observability and Deep Recurrent Q-Networks에 대해 다루겠습니다. 


오탈자나 잘못 언급된 부분이 있으면 댓글로 지적해 주세요 :)

Reference

[1] https://medium.com/@awjuliani/simple-reinforcement-learning-with-tensorflow-part-5-visualizing-an-agents-thoughts-and-actions-4f27b134bb2a


[2] http://ishuca.tistory.com/397