a) Choose one algorithm from REINFORCE with baseline、Q Actor-Critic、A2C, A3C or other advance RL algorithms and implement it.
b) Please explain the difference between your implementation and Policy Gradient
c) Please describe your implementation explicitly (If TAs can’t understand your description, we will check your code directly.
(a)我實作 DQN 算法
(b)Please explain the difference between your implementation and Policy Gradient
在 DQN 的算法中,比 policy gradient 多實作了 Replay experience memory 的機制,就像是 Q learning 一樣,這邊 replay memory 扮演記憶池的功能,在訓練的過程中隨機加入之前的經驗,讓 policy model 學習;另外在 DQN 的 agent 中實作兩個一模一樣的 model,main_q_network 和 target_q_network,其中 main_q_network 就像是 policy gradient 裡面的 policy model 一樣,使用的是最新的參數,而 target_q_network 則是在迭代一定次數後,有實作一個 synchronized 的 function,將 main network 的參數複製給 target q network。
(c)
這次實作中,最重要的 module 有以下三個: