論文筆記:Dyna, an Integrated Architecture for Learning, Planning, and Reacting

文章基本概況

標題:Dyna, an Integrated Architecture for Learning, Planning, and Reacting

作者:Richard S. Sutton,強化學習教父,被認爲是現代計算的強化學習創立者之一。他爲該領域做出了許多重大貢獻,包括:時間差分學習(temporal difference learning)、策略梯度方法(policy gradient methods)、Dyna 架構(就是本文)。這裏可以看到他的專訪:https://www.sohu.com/a/122803825_465975

來源:AAAI 1991(想不到AAAI這個組織歷史這麼悠久)還有ICML。不知道哪個來源最早。

背景與目的

在A Berkeley View of Systems Challenges for AI這篇論文中,提到,除了我們提出新的算法來減少訓練所需的樣本之外,更通用的做法是構建一個Simulated Reality(SR)架構,在這個架構中,代理可以持續模擬和預測下一步要採取的行動。另外,在深度強化學習路在何方中提到,在強化學習中還有建模與否的爭議,Dyna是結合這兩者的一個工作。

 

Dyna簡介

Dyna架構嘗試着去結合:(1)通過試錯優化從場景到行爲的映射。(2)學習領域知識。(3)計劃:在有領域知識的基礎上找到優化解。(4)在場景和行爲間沒有計劃干預。

該架構主要專爲代理沒有完整的對於行爲的知識的情況,以及行爲的影響不確定的情況設計的。

Dyna處理的問題的形式如下(就是一個強化學習的場景):

算法描述如下:

這個算法極其簡單易懂,在現實中做一遍,在虛擬環境中做K遍,正所謂"trying things in your head".

Dyna架構的組成元素

1. 動作模型的結構和學習算法

2. 選擇假設狀態和動作的算法

3. 強化學習算法

Dyna的優點與缺點

優點:等待時間越長,模型表現越好,而且模型會在使用過程中不斷變好。

缺點:極其佔用內存。

Dyna潛在的問題

 

1. 因爲Dyna需要相關領域的知識,因此它依賴於有監督學習還有知識的表示。

2. 層次式的計劃。按照原文給的例子,你學會了對肌肉建模,學習,但是這些知識無法幫助你完成一次旅行,有時候你需要從底層向上一步步的構建。

3. 有些狀態是不確定的,或者說根本無法觀察得到結論。比如一個機器人站在兩個完全一樣的門面前,它該進哪個門呢?當然後很多提出的算法解決一個又一個特定的類似問題,但是始終沒有一個通用的算法,理論去指導這種工作。

4. 行爲的多樣性。機器做出行動的選擇肯定是有優先級的,機器每次肯定會選優先級最高的那個行爲,但是因爲環境是不斷在變化的,過去環境中的最優不代表現在環境中的最優,因此我們不能每次都選優先級最高的行爲。有兩種方法解決這個問題,但是這兩種方法都有其缺陷。(1)有一小部分行爲採用隨機的方式。這有時候是十分危險的,但是在很多情況下,這足夠了。(2)讓選取行爲的方式滿足某一個分佈,比如大部分選比較優的行爲,少部分選不怎麼好的行爲。

5. Dyna模型是針對特定任務,特定目標的,一旦目標改變,整個模型推倒重來。

6. 強化學習學到的行爲和先驗知識不一定是相吻合的。

 

總結

這篇文章應該算是相當經典的文獻了,裏面很多的想法沒有完全理解,似乎很簡單,但是總覺得自己理解的不大對。裏面講的很多東西和概念感覺和強化學習裏面的好像是一樣的。本文獻志在提出一個高層次的框架,解決一個智能體應當如何決策,如何模擬的問題。

 

 

 

 

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