創作內容

0 GP

本日RL(Value based)學習#3

作者:夢│2018-06-24 02:35:02│巴幣:0│人氣:140
其實我一直在想一個問題

就算大概了解了這些東西的涵義

那為什麼實作的時候就是卡的不得了

到底是哪裡出了問題

是因為程式新接觸的不會用嗎

還是因為沒有上過實驗課之類的

沒人示範,所以不太清楚從何開始

還是import的包不會用

還是根本就沒有了解這些東西

還是單純腦袋有問題就是不會

這讓我異常的煩惱

每每重新看了幾次影片教程

覺得又好像了解一點的時候

開始想要自己打碼就卡在那邊不知道要幹麻

今天又重新看了一遍

然後搭配一些網路文章觀賞

policy gradient跟後續的方法之後再來看唉


主要就是整理一些Value based的部分

我也不知道是不是對的

算法再去下面網站看



Policy based: 學習動作函數(決定action)
Value based: 預估在某個state,做某動作會得到的reward
Model based: 學習transfer function、Reward function

Dynamic programming methods
Model free:
Monte Carlo methods
Temporal difference
多使用TD
動態規劃需要環境模型之轉移機率,當前狀態值函數更新需要根據已知之其他狀態函數決定
蒙地卡羅不需要環境模型,狀態值函數的估計相互獨立,但只能用於episode tasks



Monte Carlo Methods

統計估算的概念
經歷完整的episode來學習狀態價值,通常情況下某狀態的價值等於多個episode中以該狀態算得到的所有收穫的平均
蒙地卡羅策略估計
1.first visit :只根據每episode第一次遇到狀態s返回的值,狀態價值為狀態s後面所有reward的總和
2.every visit:每次episode遇到的所有狀態
不需要對所有狀態值進行估計時可用,RL中使用的情況較少


Temporal difference approach

On-policy: Sarsa,state-action-reward-state-action,考慮了下一個state的action
Off-policy: Q-learning,直接選擇下一個Q值最大的情況,並無決定下一狀態action,與當前執行的策略選取之action無關
Q-learning為比較貪婪(greedy)的做法,並無考慮其他非maxQ的結果,而Sarsa相對較於保守,在乎每一步決策且對錯誤較敏感,若比較在乎損害可使用Sarsa
優勢:變異較小,不需要完整跑完episode即可更新,可用於連續的事件


Deep Q Network

在state數量很大的時候不能使用table存取Q值,隨著深度學習興起且成熟,將Q learning中的價值函數使用深度神經網路近似

做法:
Experience Replay: 監督學習中樣本間有關聯不容易收斂,最好是獨立。記錄曾經走過的(s,a,r,s’),透過隨機抽樣去除相關性。
Target Network: 樣本與目標是利用同一個神經網路,target會一直變動,模型發散與震盪可能性變大,因此建構一個比主要估計的神經網路慢的神經網路來估計目標值(target),增加穩定性。


Advance methods

Double DQN:  減少q value被高估的情況,若高估情況不平均會使非最優action的Q值高於最優action的Q值。與target network架構相同,一個負責選擇action,一個評估動作,會更新的主要神經網路選擇action,target網路來決定value,loss的算法不同。

Dueling DQN: 更改神經網路架構,原先輸出的Q值拆解成A(s,a)與V(s),A代表在狀態中選擇action的優勢函數(state-dependent action advantage function) ,V代表靜態的狀態本身具有的價值(state value function),用此方法可以學到哪個狀態為有價值的,而不必學習每個action對於state的影響。

Prioritized Reply:  原先DQN會uniform的從buffer取樣資料,有一些資料的TD-error特別大,故加大那些訓練不佳的資料被取樣的機率,可加速最優策略的學習。

Multi-step: 在MC跟TD做平衡,buffer中記錄了後N步,以N步後的狀態輸入target network之中來當target,由於中間的state皆是經歷過的非預測的,估測的影響較小,在變異與步數中做平衡。

Noisy Net: 在Q上面加上noise,每個episode使用的神經網路之參數也一樣的,在同樣或相似的state會採取相同的動作,不會像使用−greedy的策略而有機會採取隨機的動作,比較符合現實並且是比較一致的。

Distributional Q-function: 原本的概念算法為找出期望的Q值,有可能reward分布不同但期望值是相同進而漏掉了一些訊息,於是想直接輸出reward的分布,先設定一範圍,找出某一state採取某action於不同地方的機率,可觀測分布了解選擇的動作風險(variance)進而規避風險,此方法不會過度估計reward。


有一些東西需搭配圖來看

都參考於一些簡體網站

還有對於深度學習的不熟悉

感覺神經網路的部分不是很懂為啥那樣設定要幾層還有CNN怎用

機器學習感覺之後要再額外學了

好麻煩阿


參考文章








夢的自言自語幻想世界。
2018.6.24
引用網址:https://home.gamer.com.tw/TrackBack.php?sn=4033747
All rights reserved. 版權所有,保留一切權利

相關創作

留言共 0 篇留言

我要留言提醒:您尚未登入,請先登入再留言

喜歡★daydreamer60 可決定是否刪除您的留言,請勿發表違反站規文字。

前一篇:黑客松體驗遊記... 後一篇:熟的朋友才嘴砲...

追蹤私訊切換新版閱覽

作品資料夾

dhreekingdon幸運看見的你
給你一顆紅心~讓你能保有一整天的好心情~祝你有個愉快的一天喲(<ゝω・)~❤看更多我要大聲說2小時前


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】