深度強化學習(英語:Deep reinforcement learning,簡稱 Deep RL 或 DRL)是機器學習的一個子領域,結合了強化學習和深度學習。強化學習探討如何在嘗試錯誤的過程中讓智慧型代理人學習做更好的決策。深度強化學習採用了深度學習的方法,讓智慧型代理人可以直接基於非結構化資料來做決策,而不需要人為設計的狀態空間。深度強化學習演算法可以讀取非常大的輸入資料(像是電玩畫面上的每個像素),來判斷哪個動作可以達到最好的目標(像是最高的遊戲分數)。深度強化學習已經有了廣泛的應用,包括機器人學、電動遊戲、自然語言處理、電腦視覺、教育、交通運輸、金融、醫療衛生等等。[1]
此條目需要擴充。 (2018年6月25日) |
概述
深度學習是機器學習的一種,訓練人工神經網路來將一組輸入轉換成一組特定的輸出。深度學習常常以監督式學習的形式,用帶有標籤的資料集來做訓練。深度學習的方法可以直接處理高維度、複雜的原始輸入資料,相較於之前的方法更不需要人為的特徵工程從輸入資料中提取特徵。因此,深度學習已經在電腦視覺、自然語言處理等領域上帶來突破性的進展。
強化學習是讓智慧型代理人和環境互動,從中嘗試錯誤以學習做出更好的決策。這類的問題在數學上常常用馬可夫決策過程表示:在每個時間點,代理人處在環境的一個狀態 ,在代理人採取了一個動作 之後,會收到一個獎勵 ,並根據環境的狀態轉移函數 轉移到下一個狀態 。代理人的目標是學習一組策略 (也就是一組從當前的狀態到所要採取的動作之間的對應關係),使得獲得到的總獎勵最大。與最佳控制不同,強化學習的演算法只能透過抽樣的方式來探測狀態轉移函數 。
在很多現實中的決策問題裡,馬可夫決策過程的狀態 的維度很高(例如:相機拍下的照片、機器人感測器的串流),限制了傳統強化學習方法的可行性。深度強化學習就是利用深度學習的技術來解決強化學習中的決策問題,訓練人工神經網路來表示策略 ,並針對這樣的訓練場景開發特化的演算法。[2]
演算法
如今已經有不少深度強化學習演算法來訓練決策模型,不同的演算法之間各有優劣。粗略來說,深度強化學習演算法可以依照是否需要建立環境動態模型分為兩類:
- 模型基底深度強化學習演算法:建立類神經網路模型來預測環境的獎勵函數 和狀態轉移函數 ,而這些類神經網路模型可以用監督式學習的方法來訓練。在訓練好環境模型之後,可以用模型預測控制的方法來建立策略 。然而,因為環境模型不一定能完美地預測真實環境,代理人和環境互動的過程中常常需要重新規劃動作。另外,也可以用蒙地卡羅樹搜尋或交叉熵方法來依據訓練好的環境模型規劃動作。
- 無模型深度強化學習演算法:直接訓練類神經網路模型來表示策略 。這裡的「無模型」指的是不建立環境模型,而非不建立任何機器學習模型。這樣的策略模型可以直接用策略梯度(policy gradient)[3]訓練,但是策略梯度的變異性太大,很難有效率地進行訓練。更進階的訓練方法嘗試解決這個穩定性的問題:可信區域策略最佳化(Trust Region Policy Optimization,TRPO)[4]、近端策略最佳化(Proximal Policy Optimization,PPO)[5]。另一系列的無模型深度強化學習演算法則是訓練類神經網路模型來預測未來的獎勵總和 或 [6],這類演算法包括時序差分學習、深度Q學習、SARSA。如果動作空間是離散的,那麽策略 可以用枚舉所有的動作來找出 函數的最大值。如果動作空間是連續的,這樣的 函數無法直接建立策略 ,因此需要同時訓練一個策略模型[7][8][9],也就變成一種「演員-評論家」演算法。
應用
- 機器人規劃
- 室內定位[10]
- 智能運輸
參閱
參考文獻
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.