![]()
![]()
목차
01 Cartpole environment
02 DQN algorithm & code
03 A2C algorithm & code
본문내용
OpenAI gym의 CartPole은 카트 위에 막대기가 고정되어 있고 막대기는 중력에 의해 바닥을 향해 자연적으로 기울게 되는 환경을 제공한다. CartPole의 목적은 카트를 좌, 우로 움직이며 막대기가 기울지 않고 서 있을 수 있도록 유지시켜 주는 것이 목적인데, 강화 학습 알고리즘을 이용하여 막대기를 세울 수 있는 방법을 소프트웨어 에이전트가 스스로 학습할 수 있도록 한다. 다음은 CartPole 환경에서 사용되는 observation, action, reward, episode의 시작과 종료에 대한 설명이다.
Observation: cart의 현재 위치, cart의 속도, pole의 기울기, pole의 속도를 의미한다. Action: 오른쪽(1) 또는 왼쪽(0) reward: 매 타임스텝마다 +1씩 보상을 받는다. Episode Termination: 막대가 중심에서 2.4deg이상 기울어지거나, 멀리 떨어지면 종료된다.
step function을 통해 랜덤한 움직임에 대한 action을 한번 수행하고, action이 실행된 이후의 상태(observation)와, 보상(reward), 막대가 쓰러졌는지의 여부(done) 등의 정보가 반환된다.
Code:
코드는 제가 직접 작성한 것이 아님을 밝힙니다. 산업정보시스템전공 딥러닝 수업을 듣고 프로젝트도 수행했던터라 딥러닝과 강화학습을 조합한 알고리즘에 자연스럽게 관심이 생겼습니다. 따라서 실제 구현된 DQN network와 A2C(Advantage Actor-Critic) network의 코드를 실행시키고 분석했습니다.
출처 : 해피캠퍼스