higgsfield / RL-Adventure

Pytorch Implementation of DQN / DDQN / Prioritized replay/ noisy networks/ distributional values/ Rainbow/ hierarchical RL
2.99k stars 587 forks source link

Noisy bugfix #17

Closed minzzzy closed 6 years ago

minzzzy commented 6 years ago

noisy network 안 움직이는 문제 원인 및 해결 방법 (원인) 1) learning_rate 가 우리껀 1e-5로 되어 있었는데 원래 code에는 1e-4로 되어 있었어요. 그리고 1e-3으로 바꿨더니 더 잘 움직이네요. 2) 그리고 생각해보면 noisy는 그냥 greedy로 action을 선택하자나요. 그래서 초반에 weight 값이 초기화되는 값에 따라서 greedy로 1개의 값을 계속 선택하게 되니까 안 움직이는 거죠. 근데 우리가 10000 step 이후에 학습하도록 해놔서 여기 원래 코드도 보니까 저렇게 이후에 학습 안하고 32 step이후에 학습하도록 했더라구요. epsilon greedy처럼 초반에 random을 할 필요가 없으니까 replay_init 값을 줄여야 될 것 같습니다. 3) compute_td_loss함수에서 noise_reset 하는 부분이 빠져 있었습니다.

(해결방법) 1) learning rate 1e-5 -> 1e-4로 변경 2) replay_init = 10000 -> 32로 변경 3) compute_td_loss에서 current, target model에 대해 noise_reset 추가