Skip to content

yoonseokham/Reinforcement-learning

Repository files navigation

Reinforcement-learning

Dueling DQN으로 해결한 CartPole,MountainCar,LunraLander environment

1.CartPole

  • cart를 좌우로 움직여서 막대기가 아래로 떨어지지 않게 하는 문제

2. MountainCar

  • 협곡에 빠진 자동차를 꺼내는 문제

3.Lunar Lander

  • spaceShip을 깃발사이에 안전하게 착지시키는 문제

  • actionSpace
    • 아무 부스터도 쓰지않는다.
    • 좌,우,하 를 향한 부스터를 쓰는 조합
  • rewardFunction
    • 착륙에 성공할 수 있도록 보상을 정해준다.
    • spaceShip의 x축 속도와 y축 속도를 원소로 가지는 벡터와 spaceShip의 위치벡터의 코사인 유사도 가 높으면 적절히 높은 보상
    • spaceShip의 각속도가 낮을수록 적절히 높은 보상
    • 안정적으로 착지하면 높은 reward,착지하지 못하고 crash시 매우 낮은 reward 학습
    • 빠른 착륙을 유도시키기 위해 discount factor(할인률)를 설정
  • training
    • 학습초기(낮은 episode)에는 e greedy알고리즘을 따라 랜덤적인 action을 취한다.
    • 충돌을 반복하며 낮은 보상을 가진다. 낮은 보상중 그나마 높은 보상을 얻기위한 행동을 취한다.(spaceShip의 속도벡터와 위치벡터의 코사인 유사도를 높이려고 노력한다...등등)
    • 어쩌다 한번 착륙에 성공하서부터 높은 보상이 DDQN모델에 학습되고 점점 착륙을 성공하는 경우가 많아진다 .
    • 600 episode 정도 설정하였고 학습 후반에는 90퍼센트 이상 착륙에 성공한다.
  • test
    • 초반 30프레임정도 랜덤 액션을 통해 agent의 위치와 속도, 각도와 각속도를 일부러 불안정하게 설정
    • 30프레임 이후부터 DDQN모델에 자신의 state를 입력하여 해당 state에서 취할수 있는 액션들의 가치를 계산
    • 가장 높은 가치를 가지는 action을 취해 안정적으로 착지하는 모습을 보임

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published