強化學習的十大原則
原則一:評估方法驅動研究進展
David Silver 指出,客觀、量化的評估方法是強化學習進展的重要驅動力:
評估指標的選擇決定了研究進展的方向;
-
這可以說是強化學習項目中最重要的一個決定。
David Silver 介紹了兩種評估方法:
-
排行榜驅動的研究
-
確保評估指標緊密對應最終目標;
-
避免主觀評估(如人類評估)。
-
假設驅動的研究
形成一個假設:
Double-Q 學習優於 Q 學習,因為前者減少了向上偏誤(upward bias);
-
在寬泛的條件下驗證該假設;
-
對比同類方法,而不是只與當前最優方法進行對比;
-
尋求理解,而不是排行榜表現。
原則二:可擴展性是成功的關鍵
David Silver 認為可擴展性是強化學習研究成功的關鍵。
-
算法的可擴展性指與資源相關的算法的性能變化;
-
資源包括計算量、內存或數據;
-
算法的可擴展性最終決定算法成功與否;
-
可擴展性比研究的起點更加重要;
-
優秀的算法在給定有限資源的條件下是最優的。
原則三:通用性(Generality)支持算法的長遠有效性
算法的通用性指它在不同強化學習環境中的性能。研究者在訓練時要避免在當前任務上的過擬合,並尋求可以泛化至未來未知環境的算法。
我們無法預測未來,但是未來任務的復雜度可能至少和當前任務持平;在當前任務上遇到的困難在未來則很有可能增加。
因此,要想使算法可以泛化至未來的不同強化學習環境,研究者必須在多樣化且真實的強化學習環境集合上測試算法。
原則四:信任智能體的經驗
David Silver 指出經驗(觀察、動作和獎勵)是強化學習的數據,公式可以寫作:
h_t=o_1,r_1,a_2,o_2,r_2,...,a_t,o_t,r_t
經驗流隨智能體在環境中學習時間的延長而累積。
他告誡我們,要把智能體的經驗作為知識的唯一來源。人們在智能體學習遇到問題時傾向於添加人類的專業知識(人類數據、特征、啟發式方法、約束、抽象、域操控)。
他認為,完全從經驗中學習看起來似乎不可能。也就是說,強化學習的核心問題非常棘手。但這是 AI 的核心問題,也值得我們付出努力。從長遠來看,從經驗中學習一直是正確的選擇。
原則五:狀態是主觀的
David Silver 指出:
-
智能體應該從它們的經驗中構建屬於自己的狀態,即:s_t=f(h_t)
-
智能體狀態是前一個狀態和新觀察的函數:s_t=f(s_t-1,a_t-1,o_t,r_t)
如下圖所示:
它是循環神經網絡的隱藏狀態。
永遠不要根據環境的「真實」狀態來定義狀態(智能體應該是一個部分可觀察馬爾可夫鏈模型)。
原則六:控制數據流
智能體存在於豐富的感覺運動(sensorimotor)數據流中:
-
觀測結果的數據流輸入到智能體中;
-
智能體輸出動作流。
智能體的動作會影響數據流:
-
特征控制 => 數據流控制
-
數據流控制 => 控制未來
-
控制未來 => 可以最大化任意獎勵
原則七:用價值函數對環境建模
David Silver 首先給出了使用價值函數的三個原因:
-
高效地對未來進行總結/緩存;
-
將規劃過程簡化為固定時間的查找,而不是進行指數時間量級的預測;
-
獨立於時間步跨度進行計算和學習。
他指出,學習多個價值函數可以高效地建模環境的多個方面(控制狀態流),包括隨後的狀態變量;還能在多個時間尺度上學習。他還提醒我們避免在過於簡化的時間步上建模環境。
原則八:規劃:從想象的經驗中學習
David Silver 提出了一種有效的規劃方法,並將其分為兩步。首先想象下一步會發生什麽,從模型中采樣狀態的軌跡;然後利用我們在真實經驗中用過的 RL 算法從想象的經驗中學習。他提醒我們從現在開始關註價值函數逼近。
原則九:使用函數近似器
David Silver 認為,可微網絡架構是一種強大的工具,可以豐富狀態表示,同時使可微記憶、可微規劃以及分層控制更加便利。他提出將算法復雜度引入網絡架構,以減少算法復雜度(指參數的更新方式),增加架構的表達性(指參數的作用)。
原則十:學會學習
AI 史是一個進步史:
-
第一代:舊式的 AI
-
手動預測:此時的人工智能只能執行手動預測
-
什麽也學不會
-
第二代:淺層學習
-
手動構建特征:研究人員需要耗費大量時間、精力手動構建特征
-
學習預測
-
第三代:深度學習
-
手動構建的算法(優化器、目標、架構……)
-
端到端學習特征和預測
-
第四代:元學習
-
無需手工
-
端到端學習算法和特征以及預測
強化學習的十大原則