時序差分學習(英語:Temporal difference learning,TD learning)是一類無模型強化學習方法的統稱,這種方法強調通過從當前價值函數的估值中自舉的方式進行學習。這一方法需要像蒙特卡羅方法那樣對環境進行取樣,並根據當前估值對價值函數進行更新,宛如動態規劃演算法。[1]
和蒙特卡羅法所不同的是,時序差分學習可以在最終結果出來前對其參數進行不斷地調整,使其預測更為準確,而蒙特卡羅法只能在最終結果產生後進行調整。[2]這是一種自舉式的演算法,具體的例子如下:
假設你需要預測星期六的天氣,並且手頭上正好有相關的模型。按照一般的方法,你只有到星期六才能根據結果對你的模型進行調整。然而,當到了星期五時,你應該對星期六的天氣有很好的判斷。因此在星期六到來之前,你就能夠調整你的模型以預測星期六的天氣。[2]
數學模型
表格法是最簡單的時序差分學習法之一,為隨即近似法的一個特例。這種方法用於估計在策略之下有限狀態馬爾可夫決策過程的狀態價值函數。現用表示馬爾可夫決策過程的狀態價值函數,其中涉及到狀態、獎勵、學習折扣率以及策略[8]:
為了方便起見,我們將上述表達式中表示動作的符號去掉,所得滿足哈密頓-雅可比-貝爾曼方程:
因此乃是的無偏估計,基於這一觀察結果可以設計用於估計的演算法。在這一演算法中,首先用任意值對表格進行初始化,使馬爾可夫決策過程中的每個狀態都有一個對應值,並選擇一個正的學習率。我們接下來要做的便是反覆對策略進行評估,並根據所獲得的獎勵按照如下方式對舊狀態下的價值函數進行更新[9]:
其中和分別表示新舊狀態,而便是所謂的TD目標(TD target)。
TD-λ演算法
TD-λ演算法是理查德·S·薩頓基於亞瑟·李·塞謬爾的時序差分學習早期研究成果而創立的演算法,這一演算法最著名的應用是傑拉爾德·特索羅開發的TD-Gammon程式。該程式可以用於學習雙陸棋對弈,甚至能夠到達人類專家水準。[10]這一演算法中的值為跡線衰減參數,介於0和1之間。當越大時,很久之後的獎勵將越被重視。當時,將會變成與蒙特卡羅強化學習演算法並列的學習演算法。[11]
在神經科學領域
時序差分學習演算法在神經科學領域亦得到了重視。研究人員發現腹側被蓋區與黑質中多巴胺神經元的放電率和時序差分學習演算法中的誤差函數具有相似之處[3][4][5][6][7],該函數將會回傳任何給定狀態或時間步長的估計獎勵與實際收到獎勵之間的差異。當誤差函數越大時,這意味着預期獎勵與實際獎勵之間的差異也就越大。
多巴胺細胞的行為也和時序差分學習存在相似之處。在一次實驗中,研究人員訓練一隻猴子將刺激與果汁獎勵聯絡起來,並對多巴胺細胞的表現進行了測量。[12]一開始猴子接受果汁時,其多巴胺細胞的放電率會增加,這一結果表明預期獎勵和實際獎勵存在差異。不過隨着訓練次數的增加,預期獎勵也會發生變化,導致其巴胺細胞的放電率不再顯著增加。而當沒有獲得預期獎勵時,其多巴胺細胞的放電率會降低。由此可以看出,這一特徵與時序差分學習中的誤差函數有着相似之處。
目前很多關於神經功能的研究都是建立在時序差分學習的基礎之上的[13][14],這一方法還被用於對精神分裂症的治療及研究多巴胺的藥理學作用。[15]
參考文獻
延伸閱讀
外部連結
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.