본문 바로가기
인공지능

OpenAI Gym 활용해보기 | 모두를 위한 RL강좌

by judy@ 2025. 1. 16.

강의 출처

RL 수업소개 (Introduction)

What I learnt

- actor(agent)가 environment 내에서 state를 가지고 action(행동)을 하고 매 라운드는 아니더라도, reward (보상)을 받는 방식으로 모델링할 수 있는 문제를 강화 학습 문제라고 함.

- Deepmind 의 벽돌 깨기를 시작으로, 한 agent가 재학습 없이 픽셀 정보만으로 사람보다 훨씬 나은 성능을 보이는 경우도 있었으며, 알파고 또한 강화 학습의 결과. game, finance, e-commerce 등의 분야에서 RL을 활용해 다양한 문제(자동 투자, 광고 및 제품 추천)를 해결할 수 있음.

What I wondered

- 강화 학습의 정의: 아래 내용에 따르면, 강화학습은 agent가 reward을 최대화(maximize)하기 위한 목적으로, 변화하는 환경(environment)과 상호작용하며 행동을 방식을 학습하는 알고리즘을 말함.

   - 어떤 환경 안에서 정의된 에이전트가 현재의 상태를 인식하여, 선택 가능한 행동들 중 보상을 최대화하는 행동 혹은 행동 순서를 선택하는 방법 (위키 백과)

   - Reinforcement learning (RL) is an interdisciplinary area of machine learning and optimal control concerned with how an intelligent agent should take actions in a dynamic environment in order to maximize a reward signal. (wiki)

 

Lecture 2: Playing OpenAI GYM Games

What I learnt

- 강화학습의 환경(env)을 개인이 매번 생성하는 데에는 너무 많은 시간이 소요됨. 다행히도, openAI의 GYM이라는 프레임워크에서 다양한 게임 등의 환경을 만들어 제공하고 있음.

- 파이썬(다른 언어도 있을 듯) 기준, 패키지 설치 후 import 하여 환경을 선언하고, 초기화한 뒤 action_space 내의 action을 agent가 실행하면, 환경의 변화, 보상, 게임종료여부, 추가 정보 등을 얻을 수 있음.

What I wondered

- openAI gym 에 내가 게임을 만들어서 넣는 것도 가능한가? 만약 롤이라면, 복잡하고 변화하는 환경과 보상을 어떻게 시뮬레이션하여 에이전트가 이해하도록 할까? 궁금궁금

- 다음으로 넘어가기 전에 설치해서 한 번 실행해보기

- 2021년 이후로는 gym 패키지 대신, gymnasium 으로 바뀜!! https://github.com/Farama-Foundation/Gymnasium 이걸로 실행하기. 로컬에 설치 중인데 자꾸 box2d-py 설치?에서 오류남!

    - 오류 해결: https://github.com/openai/spinningup/issues/32 Failed to build box2d-py 오류 (brew install swig 로 해결)

- gymnasium에는 frozenlake는 없는 것 같고, 공식 docs 에 있는 basic usage의 예시인 LunarLander-v3 를 통해 동작을 테스트해봄. 아래와 같은 창이 뜨면서, while loop으로 도는 계속된 action에 의해 게임이 종료되면 창이 꺼짐 intriguing!

gymnasium lunarlander

반응형