강화 학습(Reinforcement Learning)

강화학습(Reinforcement Learning) 코드작성을 위한 OpenAI GYM 라이브러리 설치

coding art 2022. 1. 3. 17:58
728x90

게임의 지능적 학습을 목표로 하는 강화학습(Reinforcement Learning)은 수많은 인공지능 연구가의 흥미를 끌고 있다. 대표적인 예로서 수년 전 엄청난 흥행을 보여 주었던 영국의 딥마인드사와 이세돌 기사와의 정상급 바둑 대국을 생각할 수 있을 것이다. 이 즈음에 구글에 1조 가량의 거금으로 딥마인드사가 팔리는 과정에서 딥마인드사의 프로그래머가 실리콘벨리를 방문하여 데모로 보여 주었던 RL 게임이 바로 벽돌격파 게임이었다.

벽돌깨기를 비롯한 수많은 게임이 있지만 개인들이 코드를 다루기 쉽지않은데 그 이유는 알고리듬 연구 이전에 게임 그래픽을 컴퓨터 화면에 띄우는 단계에서 99% 실패함으로서 많은 개발자들을 좌절하게 만들고 있는 것이 현실이다. 특히 OpenAI GYM  홈페이지에 언급된 설치 방법 해설에 따라 윈도우즈 아나콘다에서 아무리 해봐도 제대로 작동하지 않는다는 점을 지적한다. 

OpenAI 홈페이지 해설을 간단히 살펴보도록 하자. 오른편에 CartPole 을 비롯한 다양한 게임 애니메이션을 보여주고 있다. 이런 게임을 다루기 위해서는 무엇보다 제대로 된 OpenAI GYM 라이브러리 설치서 부터 시작해야 할 것이다.

 

 

본 블로그의 주안점은 윈도우즈10에 설치된 아나콘다에서 OpenAI GYM 라이브러리를 설치하고 OpenAI 홈페이지에 기술된 아래와 같이 가장 간단한 애니메이션 코드를 실행시킬 수 있느냐에 달려 있을 것이다.

OpenAI GYM 을 제대로 사용하기 위한 아나콘다에서의 설치 방법은 과거의 conda... 명령을 사용한다는 점을 독자 여러분에게 상기 시키고자 한다. Yahoo 에서 openai gym anaconda 를 검색해보자.

Gym::Anaconda.org 를 열어보자. 하부에 아나콘다에서 GYM 설치를 위한 특별한 conda 명령이 있음을 알 수 있다.

이 명령을 Cntr+C 로 복사한 다음 아나콘다 Navigator에서 자신이 설치를 원하는 가상환경을 지정하여 Open Terminal 작업을 한다.

터미널이 뜨면 앞서 복사했던 conda... 명령을 Cntr+V 즉 붙이기 작업을 하고 실행시키자. 

수분 정도 시간이 소요된다. 완료되면 command line 방식으로 python gym_01.py  명령을 실행해 보자.

아울러 카트 위의 막대가 잘 넘어지지 않는 애니메이션도 관찰해 보자. 

이와 같이 게임 그래픽을 볼 수 있으면 성공적으로 강화학습 알고리듬 코드 작성을 시작할 수 있을 것이다.

한편 atari 게임으로 알려진 블록 격파나 갤로그와 같은 게임 라이브러리를 OpenAI GYM 설치 시에 설치하려면 아래와 같이 또 다른 명령을 사용해야 한다. 하지만 주의해야 할 점은 atari 게임 라비브러리 내 게임 종류가 다양하고 다운로드에 엄청난 시간이 걸리므로 주의하기 바란다. 차라리 앞에서 처럼 간단한 규모의 GYM 라이브러리만 설치하여 알고리듬 연구를 권고하는 바이다.