【/強化學習7日打卡營-世界冠軍帶你從零實踐/課程摘要和調參心得-No.3】基於神經網絡方法求解RL

一、學習內容

3.基於神經網絡方法求解RL

3.1函數逼近與神經網絡

當狀態空間非常龐大的時候,用Q表格來對Q-value進行評估,內存方面非常不現實。

因此可以加個w參數,改用值函數擬合的方法:

一個簡單的例子如圖所示,神經網絡輸出動作,定義損失函數,進行優化:

Q-learning的流程:

用神經網絡:

3.2DQN算法解析

DQN的2大創新點在於:經驗回放,和固定Q目標。分別是爲了解決樣本關聯性和訓練非平穩性問題。

經驗回放,舉個形象例子,前臺小兵採樣預測,S、A、R、S放入經驗池,後臺軍師從經驗池中進行學習

固定Q目標,就是隔一段時間拷貝一次到target網絡,而不是每次都更新,增強訓練的穩定性。

DQN算法整體流程如下:

畫成流程圖更方便理解:

寫代碼的時候則可以參考這個架構:

3.3PARL中DQN代碼

DQN中agent的model可以這麼定義:

DQN的算法可以這麼來操作model,定義超參數:

固定Q目標、隔段時間同步,則可以定義sync函數:

predict()

learn()

agent的learn和build_programm()函數:

用於學習的sample()和predict()函數:

3.4DQN訓練展示、總結

CartPole訓練的例子:

訓練流程:

訓練代碼:

測試代碼:

PARL常用的API:

第3課的總結~~~

課後練習,Montain-Car的例子:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章