딥살사 2

[강화학습] 12 - DQN 알고리즘(Cartpole)

개요 강화학습을 더 깊이 공부하려면 그리드월드만이 아닌 다양한 환경에서 강화학습을 적용시켜 봐야합니다. 오픈에이아이는 짐이라는 환경을 통해서 강화학습을 적용시킬 수 있는 여러 환경을 제공하는데, 저희는 이 중에서 카트폴이라는 예제에 강화학습을 적용시키며 공부할 것입니다. 저희가 이전에 배웠던 딥살사 알고리즘은 살사의 큐함수 업데이트 방법을 사용했습니다. 이번 포스팅에서는 큐러닝의 큐함수 업데이트 방법을 경험 리플레이라는 것과 함께 사용하여 인공신경망을 학습시키는 DQN 알고리즘에 대해서 알아보도록 하겠습니다. 카트폴 DQN 알고리즘을 공부하기에 앞서 저희는 카트폴 예제에 대해서 알아야합니다. 위의 그림처럼 카트폴 예제는 검은색 사각형의 카트와 황색 막대인 폴로 이루어져 있습니다. 카트는 검은색 수평선을 ..

[강화학습] 10 - 딥살사(DeepSARSA)

개요 이전 포스팅에서는 인공신경망의 개념과 학습 방법에 대해서 알아봤습니다. 저희는 이 인공신경망을 이용한 코드를 작성하기 위해서 인공신경망을 구현해놓은 딥러닝 프레임워크를 사용하면 됩니다. 현재 가장 널리 쓰이는 딥러닝 프레임워크는 텐서플로 2.0입니다. 텐서플로 2.0 내부에는 인공신경망을 훨씬 더 직관적이고 효율적인 코드로 설계할 수 있게 도와주는 케라스 모듈이 포함돼 있습니다. 이 책에서는 텐서플로 2.1 버전과 케라스 모듈을 사용하여 코드를 작성하였습니다. 이번 포스팅에서는 새로운 그리드월드 예제에서 인공신경망을 이용하여 최적 정책을 학습하는 딥살사에 대해서 코드 예시와 함께 알아보도록 하겠습니다. 딥살사 새로운 그리드월드 예제는 아래와 같습니다. 이제 장애물인 초록색 삼각형 3개가 한 타임스템..