關於增強學習你應該了解的五件事兒

摘要: 本文主要是講解了機器學習中的增強學習方法的基本原理,常用演算法及應用場景,最後給出了學習資源,對於初學者而言可以將其作為入門指南。

強化學習(Reinforcement Learning)是當前最熱門的研究課題之一,它在AlphaGo中大放光彩,同時也變得越來越受科研人員的喜愛。本文主要介紹關於增強學習5件有用的事兒。

1.強化學習是什麼?與其它機器學習方法有什麼關係?

強化學習是一種機器學習方法,它使Agent能夠在互動式環境中年通過試驗並根據自己的行動和經驗反饋的錯誤來進行學習。雖然監督學習和強化學習都使用輸入和輸出之間的映射關係,但強化學習與監督學習不同,監督學習提供給Agent的反饋是執行任務的正確行為,而強化學習使用獎勵和懲罰作為積極和消極行為的信號。

與無監督學習相比而言,強化學習在目標方面有所不同。雖然無監督學習的目標是找出數據點之間的相似性和不同性,但是在強化學習中,其目標是找到一個合適的動作模型,能夠最大化Agent的累積獎勵總額。下圖表示了強化學習模型中涉及的基本思想和要素。

圖1 增強學習模型框圖

2.如何創建一個基本的強化學習問題?

在介紹本節內容之前,先介紹下增強學習問題中的一些關鍵術語:

環境(Environment):Agent操作的現實世界

狀態(State):Agent的現狀

獎勵(Reward):來自環境的反饋

策略(Policy):將Agent的狀態映射到動作的方法

價值(Value):Agent在特定狀態下採取行動所得到的報酬

可以通過遊戲很好地解釋強化學習問題,以PacMan遊戲為例,Agent的目標是在網路中吃掉食物,同時也要躲避幽靈。網格世界就是Agent的交互環境,如果PacMan吃掉食物,則獲得獎勵;但如果被幽靈殺死(輸掉遊戲),則受到懲罰。PacMan在網格中的位置就是其所處的狀態,達到累積獎勵總額則PacMan贏得比賽。

為了建立一個最優策略,Agent需要不斷探索新的狀態,同時最大化其所獲獎勵累積額度,這也被稱作試探和權衡

馬爾可夫決策過程(MDPs)是用來描述增強學習環境的數學框架,幾乎所有的增強學習問題都可以轉化為MDps。MDP由一組有限環境狀態S、每個狀態中存在的一組可能行為A(s)、一個實值獎勵函數R(s)以及一個轉移模型P(s,s|a)組成。然而,現實世界環境可能更缺乏對動態環境的任何先驗知識。在這種情況下,Model-free很有效。Model-free一直在每一步中去嘗試學習最優的策略,在多次迭代後就得到了整個環境最優的策略(Q-learning)。

Q-learning是一種常用的模型,能夠用於構建自己玩PacMan的Agent,它始終圍繞著更新Q值,Q值表示在狀態s時執行動作a的值,價值更新規則是Q-learning演算法的核心。

圖2 增強學習更新規則

圖3 PacMan遊戲

3.最常用的強化學習演算法有哪些?

Q-learning和SARSA(State-Action-Reward-State-Action)是兩種常用的model-free強化學習演算法。雖然它們的探索策略不同,但是它們的開發策略卻相似。雖然Q-learning是一種離線(off-policy)學習方法,其中Agent根據從另一個策略得到的行動a*學習價值,但SARSA是一個在線(on-policy)學習方法,它從目前的策略中獲得當前行動的價值。這兩種方法實施起來很簡單,但缺乏一般性,因為無法估計出不可見狀態的價值。

但以上問題可以通過更先進的演算法來克服,比如使用神經網路估計Q值的Deep Q-Networks(DQN)。但是DQN只能處理離散、低維動作空間,因此對於高維、連續動作空間,科研人員發明了一種名為Deep Deterministic Policy Gradient(DDPG)的演算法,該演算法是一個model-free、離線演員評判家演算法(Actor-critic algorithm)。

圖4 Actor-critic algorithm

4.強化學習有哪些實際應用?

由於增強學習需要大量的數據,因此它最適用於模擬數據領域,比如遊戲、機器人等。

在電腦遊戲中,增強學習被廣泛地應用於人工智慧的構建中。AlphaGo Zero是圍棋界第一個擊敗世界冠軍的計算機程序,類似的還有ATARI遊戲、西洋雙陸棋等。

在機器人和工業自動化領域,增強學習被用於使機器人為其自身創建一個高效的自適應控制系統,從而能夠從自己的經驗和行為中學習。DeepMind在深度增強學習上的成果也是一個很好的例子。

增強學習的其它應用包括文本摘要引擎、對話代理(文本、語言),它們可以從用戶交互中學習,並隨著時間的推移而不斷改進。此外,對於醫療保健和在線股票交易而言,基於增強學習的性能也是最佳的。

5.如何開始學習增強學習?

以下有一些相關的學習資源:

1.強化學習第二版(Reinforcement Learning-An Introduction),增強學習之父RicharSutton和其導師Andrew barto所寫的書籍,一本不錯的權威資料,在線閱讀鏈接:incompleteideas.net/boo

2.教材,David Sliver老師的視頻講座,是一份很好的增強學習入門課程。

3.其它關於增強學習的技術教程,由Pieter Abbeel和John Schulman所寫(Open AI/Berkeley人工智慧實驗室)

4.從構建和測試增強學習agent開始學習之旅

5.該鏈接的博客能夠幫助你使用僅僅130行Python代碼啟動並運行自己的第一個深度增強學習模型

6.DeepMind Lab是公開的一款開源立體遊戲平台,專門為研究通用人工智慧和機器學習系統而設計。

7.Project Malmo是微軟公司開源的人工智慧項目,也是支持人工智慧領域的基礎研究。

8.OpenAI Gym是開發和比較強化學習演算法的工具包。

作者信息

Shweta Bhatt,人工智慧研究員,數據科學家

個人主頁:linkedin.com/in/shweta-

本文由阿里云云棲社區組織翻譯,文章原標題《5 Things You Need to Know about Reinforcement Learning》,作者:Shweta Bhatt,譯者:海棠,審閱:袁虎。

文章為簡譯,更為詳細的內容,請查看原文

更多技術乾貨敬請關注云棲社區知乎機構號:阿里云云棲社區 - 知乎


推薦閱讀:

好好玩的螺旋演算法No.69
fibo數列第n項
最大子數組查找問題
027 Remove Element[E]
動態規劃求解最長不重疊子串

TAG:演算法 | 人工智慧 | 機器人 |