본문 바로가기
영상 리뷰/공부·교육 영상 리뷰

홍콩과기대 김성훈 교수님의 OpenAI GYM 게임

by W.H. 2023. 1. 13.
반응형

홍콩과기대 김성훈 교수님의 OpenAI GYM 게임 해보기

 

OpenAI GYM이라는 프레임을 쓰게 되면 환경을 제공해주기 때문에 그 안에서 알고리즘만 짜면 된다.

게임 Frozen Lake
- S(start)에서 agent가 시작!
- F(frozen)는 얼음 있는 곳
- H(hole)는 구멍! (Agent가 죽는다)
- G(goal)는 도착점

Agent가 action 취하면 environment(S, F, H, G)는 state나 reward를 제공한다.

Agent를 S에서 F로 움직이게 되면 sate는 1, reward는 0이 된다. 
- 이런 환경을 제공하는 것이 OpenAI GYM

 

반응형




OpenAI 사용법(매우 간단!)
import gym
env = gym.make("Taxi-v1")  여기서 Taxi-v1은 주어진 환경을 나타냄
observation = env.reset()  이렇게 하면 환경이 초기화됨
for _ in range(1000):  한 번만 시행할 게 아니라 1000번 정도 루프를 돌리는 개념
  env.render()  render는 환경을 화면으로 출력하는 것!
  action = env.action_space.sample()  오른쪽 부분은 아직 몰라도 됨. 환경에 따른 action 선정
  observation, reward, done, info = env.step(action)  action 부분에 원하는 action 넣기. 이 action의 결과로 observation이 변한다. 이 때 상(reward)이 주어질 수도 있다. done은 구멍에 빠지거나 목표에 도달했을 때 게임이 끝났는지를 보여주는 것이고 info는 추가정보가 있을 경우에 추가정보를 알려주게 되는 것!

Frozen Lake의 예시
import GYM
env = gym.make("FrozenLake-v0")
observation = env.reset()
for _ in range(1000):
  env.render()
  action = env.action_space.sample()
  observation, reward, done, info = env.step(action)

Agent가 목표(G)에 도착하면 done이 True로 세팅되고 아니면 False가 된다. 

Agent가 취할 수 있는 액션은 (Right, left, up, down)
우리는 환경을 보고 S에서 G로 가는 solution을 볼 수 있지만 agent는 환경을 볼 수 없다.
한 걸음 움직여봐야 그게 얼음판인지 구멍인지를 알 수 있다.

다음시간 학습 내용: 이걸 어떻게 Q learning이라는 알고리즘으로 풀 것인가

 

영상 확인: https://www.youtube.com/watch?v=xgoO54qN4lY 

홍콩과기대 김성훈 교수님의 OpenAI GYM 게임

 

반응형

댓글