강화학습 시작하기 (CartPole 게임)


CartPole 게임


CartPole 게임 환경.

CartPole 게임에 대해 소개합니다.

마찰이 없는 트랙에 카트 (cart)가 하나 있습니다.

카트에는 막대기 (pole)가 하나 연결되어 있고, 이 연결부는 조작되지 않습니다. 대신, 카트에 +1 또는 -1의 힘을 인가함으로써 조절됩니다.

막대기가 세워진 상태로 게임이 시작되며, 목표는 넘어지지 않도록 하는 것입니다.

막대기가 제대로 서있으면 매 시간 스텝마다 +1의 보상 이 주어집니다.


에피소드가 종료되는 조건 은 아래와 같습니다.

  • 막대기가 수직으로부터 12도 이상 기울어짐 (-12도 ~ 12도).

  • 카트가 중심으로부터 2.4 이상 벗어남 (-2.4 ~ 2.4).

  • 시간 스텝이 200보다 커짐 (CartPole-v1의 경우 500).


또한 100 번의 연속적인 시도에서 평균 195.0 이상의 점수 (보상)을 얻으면, CartPole-v0 게임을 해결했다고 정의합니다. (참고 - OpenAI Wiki)


Gym 라이브러리

Gym은 강화학습 알고리즘을 개발하고 비교하기 위한 툴킷입니다. agent의 구조에 대해서 어떠한 가정을 하지 않으며, TensorFlow와 Theano와 같은 라이브러리와 호환 가능합니다.

Gym 라이브러리는 우리의 강화학습 알고리즘을 적용할 테스트 문제 (환경)들의 모음입니다. 이러한 환경들은 인터페이스를 공유하며, 일반적인 알고리즘을 시도할 수 있도록 해줍니다.


Gym 설치하기

Python 3.5+ 버전을 필요로 합니다. pip를 이용해서 설치를 진행합니다.

pip install gym

또는 아래와 같이 Source를 이용해서 설치할 수 있습니다.

git clone https://github.com/openai/gym
cd gym
pip install -e .

모든 환경 (environment)을 설치하기 위해서는 pip install -e .[all] 을 실행하세요.

이제 시작할 준비가 되었습니다.



다음글