Skip to content

5. Experiments

SONG edited this page Jul 19, 2021 · 4 revisions

Experiments

Brain에서는 Unreal Engine 제어와 DQN 알고리즘을 수행하고 Python 구현하였다.
UR Game은 벽에 부딪치면 게임이 종료되는 자동차 게임이고 Unreal Engine을 이용하였다.
Brain과 UR Game은 socket을 이용해 통신한다. 이런 환경으로 실험을 진행하였다.

액션은 좌, 우, 그대로 있기로 설정하였고
state는 자동차 앞부분을 기준으로 9개의 센서 측정값이다.

UR Game

action이 오면 0.1초간 action을 수행한 후 현재 state를 float배열로 가공 후 byte로 시리얼라이즈 해서 brain으로 보낸다.

Brain

state_buffer 의 크기 설정을 한다. 여기서는 4로 하였다.
0.1 초 마다 통신을 하였기 때문에 버리는 data없이 모든 data를 활용해야 했다.
state_buffer는 모든 state를 저장하였고 queue를 이용하였다.

이런 UR Game과의 통신은 Game Master 라는 Class를 이용하였는데 gym의 environment와 비슷한 역할을 한다.

byte데이터를 받은 brain은

  1. float list로 변환 후 노말라이즈 시킨다.
  2. state_buffer에 변환한 데이터를 stack 시킨다.
  3. DQN 알고리즘 적용
Clone this wiki locally