본문 바로가기

트렌드 한눈에 보기/학계 트렌드

PyTorch를 활용한 Actor-Critic Tutorial 1탄

DQN의 형편없는 performance에 굴하지 않고,

actor-critic을 활용해서 cartpole 문제를 풀어보기로 했다.

 

마찬가지로, 오늘은 실행해보는데 의의를 뒀으며

정확히 어떤 알고리즘인지 파악하지는 못했다.

 

colab.research.google.com/drive/1od7-cpNDHKUBdn8A-zL8da7tgVL3DYrf?usp=sharing

 

Google Colaboratory

 

colab.research.google.com

그럼에도 불구하고 코드는 상당히 간결하고

결과물은 상당히 좋았다.

오히려 DQN보다도 코드가 짧았던 것 같다.

 

Actor-Critic 방법을 적용한 결과

 

 

DQN으로 풀어본 Cartpole

 

에피소드가 1000번이 넘도록 풀리지 않던 문제가

꼴랑 400회 만에 너끈히 풀린 것이다.

또한 최대 reward가 200에 묶여있다는 사실도 알게 되었다.

DQN에서는 200 근처에 가질 못해서 알지 못했던 것이다.

 

그 문제는 단순히 cartpole 버전을 바꿔줌으로써 해결 가능했고

결과물 동영상(무려 10초)은 아래와 같다.

 

 

이 정도라면 cartpole 예제는 해결했다고 간주해도 될 듯 하지만,

400회의 에피소드는 아직 너무 많다.

내일 Actor Critic의 원리를 파헤친 뒤에는

더 빠른 학습을 가능케 하는 알고리즘을 적용해봐야겠다.