며칠전부터 Policy gradient 알고리즘들 밑바닥부터 짜는 중에 A3C 개발하며 느낀점들 1. 구현체 github.com/keep9oing/PG-Family keep9oing/PG-Family Basic PG Reinforcement algorithms. Contribute to keep9oing/PG-Family development by creating an account on GitHub. github.com 2. multi processing A3C를 구현하려면 멀티 프로세싱을 해야했는데, 뭐 어떻게 하는지 전혀 몰라서 python 의 multi processing packag관련 튜토리얼을 먼저 봐야했다. 2-1) 튜토리얼 docs.python.org/ko/3/library/multipr..
keras만 사용하다가 pytorch를 사용할 때 autograd를 사용하는 것이 익숙하지 않아서 고역이다. pytorch에서는 tensor에 대한 자동미분을 loss.backward()같은 기능을 이용해서 해주게 되는데 supervised learning같은 신경망을 학습할때에는 그렇게 신경쓰지않고 예제에 있는대로 가져다 써도 괜찮았다. 그러나 신경망 업데이트 타이밍이 알고리즘마다 제각각인 강화학습을 사용할때 autograd에 대한 이해를 잘해놓지 않으니 코딩할 때마다 매번 혼란에 빠진다. 오늘은 헷갈려서 시간을 쓴부분에 대한 정리. Pytorch를 이용한 REINFORCE 알고리즘을 구현할때 손실함수를 아래처럼 정의하고 써야했다. $$ loss = -\sum_{t=0}^{T}(log \pi (u_{t..