- AI自動化測試:技術原理、平臺搭建與工程實踐
- 騰訊TuringLab團隊
- 1641字
- 2020-08-13 13:47:04
3.1 基本理論
強化學習(Reinforcement Learning)是近年來人工智能領域最受關注的方向之一,其使用人類學習過程中的試錯機制,通過智能體(Agent)與環境(Environment)的交互,利用評價性的反饋信號實現決策的優化。尤其是在深度學習與強化學習結合后,我們可以直接從高維感知數據中學習控制智能體的行為模式,為解決復雜系統的感知決策問題提供思路。
強化學習的基本過程是一個馬爾可夫決策過程(Markov Decision Process),可以用狀態(State)、動作(Action)、狀態轉移概率(Possibility)和狀態轉移獎勵(Reward)構成的四元組{s,a,p,r}表示,如圖3-1所示。
在離散時間的馬爾可夫決策過程中,每一個狀態表示為si,狀態的集合稱為狀態空間S,si∈S。相應地,每一個動作表示為ai,動作的集合稱為動作空間A,ai∈A。如果在馬爾可夫決策過程中,在第t步根據概率P(at|st)選擇了動作at,狀態st會根據狀態轉移概率P(s(t+1)|st,at)轉移到狀態st+1,并且在狀態轉移之后獲得一個狀態轉移獎勵r(st,at,st+1)。為了便于描述,下文將狀態轉移獎勵r(st,at,st+1)簡單記為Rt。那么,從第t步到馬爾可夫決策過程結束,累積獎勵Gt的計算方式為:

其中,γ∈[0,1]為折扣因子,用于降低遠期決策的獎勵。

圖3-1 馬爾可夫決策過程
圖3-2展示了強化學習的過程。首先智能體從環境中觀測其當前所處的狀態,然后根據觀測到的狀態進行決策并在環境中采取相應的動作,最后由環境以獎勵的形式對智能體的動作做出相應的反饋,同時根據智能體的動作改變自身的狀態。當上述一個循環結束之后,智能體又開始新一輪的觀測,直到智能體進入結束狀態。

圖3-2 強化學習過程
在強化學習過程中,針對所有的狀態、動作和獎勵,智能體將會以“狀態-動作-獎勵”三元組的形式保存下來,生成一條強化學習的軌跡τ:

這條軌跡τ上保存的三元組(st,at,rt)將作為強化學習的訓練樣本。智能體采取行動時依據的策略表示為函數π(at|st)。強化學習的目標就是優化π(at|st)這個函數,使智能體根據策略產生的動作在環境中取得較高的獎勵,即找到一個最優策略π*,使得智能體在任意狀態都能獲得最大的累積獎勵:

強化學習經過多年的研究和發展已經有多種類型方法,這些方法可分為兩類:一類是根據狀態轉移概率是否已知,分為基于模型(Model-based)的強化學習方法和無模型(Model-free)的強化學習方法;另一類是根據優化目標的不同,分為基于值函數(Value Function)的強化學習方法和基于策略梯度(Policy Gradient)的強化學習方法。如果智能體在學習過程中優化的策略與正在使用的策略是同一個策略,則稱為同步策略學習(On-policy Learning)。如果智能體在學習過程中優化的策略與正在使用的策略是不同的策略,則稱為異步策略學習(Off-policy Learning)。
在早期的強化學習中有一個經典問題——軌跡規劃,目標就是從給定的初始位置到給定的終點位置訓練模型,最終能夠自適應地選擇移動策略。這個問題可以歸結為離散時間的最優控制問題,可以通過高斯混合模型對移動策略進行建模,并將專家示例樣本軌跡作為訓練集,求解高斯混合模型的參數來解決。
之后由于強化學習引入了智能體和環境的概念,并且使用即時的獎勵函數對最優控制問題中稀疏的目標獎勵進行補充,使強化學習中的最優控制問題拓展成更普遍、更廣義上的序列決策問題。一方面,智能體在與環境的交互過程中還原了具有自主性的決策學習過程,這種學習方式與生物的學習方式一致。另一方面,智能體可以與環境進行交互,不斷獲取訓練樣本更新策略,因而不再依賴有限的專家樣本。
強化學習的目標是使用函數對策略進行建模或擬合,并且在一定約束條件下優化這個函數。早期的強化學習都是使用凸函數對策略進行建模,只能在一些簡單的決策問題上進行效果驗證。在深度學習與強化學習結合后,強化學習得到極大的發展。一方面,深度神經網絡允許使用非凸函數對策略進行建模,擴大了強化學習的應用范圍。另一方面,深度神經網絡強大的特征提取和函數擬合能力允許強化學習應用在非常復雜的決策問題上。例如,在一些以視覺信息為觀測狀態的問題中,深度神經網絡與強化學習的結合使端到端的訓練成為可能,大幅節省了觀測狀態數據處理的時間。目前,強化學習已經廣泛地應用于游戲、自動駕駛、機器人、對話系統和信號燈控制等領域。