Open AI Gym 소개
강화학습을 공부하기 위하여 여기서는 OpenAI Gym 을 이용할 예정입니다. OpenAI Gym 을 간략하게 소개하면 강화학습 알고리즘을 비교해보고 테스트 해볼 수 있도록 돕는 도구 입니다.
강화학습은 환경이 주어지고 환경에서 행동할수 있는 액션을 취하고 환경을 변화 시키면서 학습하는 방법이라고 했습니다. 따라서 강화학습을 테스트 해보기 위해서는 강화학습을 위한 환경 자체가 필요한 것이죠.
이를테면 Deep Q Learning 으로 유명한 아타리 벽돌깨기 게임의 경우를 생각해보죠.
벽돌깨기 게임에서 환경은 벽돌의 상태, 공의 상태, 점수, 하단 막대 등이 될것이고 프로그램 내에서 취할수 있는 액션은 Left, Right 방향키 일 것입니다. 어쩌면 벽돌깨기 게임에서 환경은 현재 시점에서의 스크린 이미지 일수도 있습니다.
벽돌깨기 게임에서 특정액션(방향키)를 입력했을때 벽돌, 막대, 점수, 공 등을 변화하는 것을 직접 프로그래밍 하는 것은 간단한 일이 아닙니다. 만약 특정 입력에 따라 환경을 직접 변화하는 것을 직접 구현한다면, 그것은 아타리 벽돌깨기 게임을 구현하는것과 별반 차이가 없을 것입니다. 게다가 아타리 벽돌깨기 게임을 구현하는 부분은 강화학습 알고리즘의 원리를 익히는 부분의 핵심이 아니기도 합니다.
OpenAI Gym 은 위의 문제를 해결해주는 툴킷입니다. OpenAI gym 에서 강화학습 알고리즘을 테스트 해볼수 있도록 다양한 게임 환경을 제공하는 것이죠.
강화학습을 위한 환경을 만드는 것이 강화학습 원리를 이해하는데 핵심은 아니라고 하지만 "OpenAI Gym 에서 제공하지 않는 환경은 어떻게 테스트하는가?" 에 대한 물음표가 생길 수 있습니다. 물론 강화학습을 응용하고 실생활에 적용하기 위해서는 강화학습을 위한 환경 자체도 설계할 필요가 있을 것입니다.
그렇지만 강화학습 자체의 원리를 이해하기 전에 두가지를 모두 익히려면 어려우므로 먼저 OpenAI Gym 을 이용하여 강화학습의 원리를 익히고 추후 환경설계는 어떻게 할 것인가에 대해 고민하도록 하겠습니다.
OpenAI Gym 에 대한 보다 자세한 정보는 다음 사이트에서 얻을 수 있습니다.
다음 장에서는 OpenAI Gym 을 설치해보고 간단한 실습을 해보도록 하겠습니다.