原標題:你該知道的深度強化學習相關知識

如今,機器學習(Machine Learning,ML)和人工智能(Artificial Intelligence,AI)的相關算法越來越深度地融合到了我們的社會與生活中,並且在金融科技、醫療保健、以及交通運輸等各個方面起到了關鍵性的驅動與促進作用。如果說20世紀下半葉,人類得益於以互聯網爲基礎架構的計算力和連通性總體進步的話,那麼人類在21世紀正在逐步走向由智能計算和智能機器的迭代。其中,以深度學習(Deep Learning,DL)爲首的此類新型的計算範式通常屬於“監督學習(supervised learning)”的範疇。其對應的應用--深度神經網絡(Deep Neural Networks,DNN),在疾病分類、圖像分割、以及語音識別等高科技系統和應用方面,都取得了令人興奮進步和驚人的成功。

不過,深度神經網絡系統往往需要大量的訓練數據,以及已知答案的帶標籤樣本,才能正常地工作。並且,它們目前尚無法完全模仿人類學習和運用智慧的方式。幾乎所有的AI專家都認爲:僅僅增加基於深度神經網絡系統的規模和速度,是永遠不會產生真正的“類人(human-like)”AI系統的。

因此,人們開始轉向那些“監督學習”以外的ML和AI計算範式和算法,試圖順應人類的學習過程曲線。該領域研究的最廣泛的當屬--強化學習(Reinforcement Learning,RL)。在本文中,我們通過相關知識和算法的介紹,和您簡要地討論瞭如何將深度學習和強化學習融合在一起,產生所謂深度強化學習(Deep Reinforcement Learning,DRL),這一強大的AI系統。

什麼是深度強化學習?

衆所周知,人類擅長解決各種挑戰性的問題,從低級的運動控制(如:步行、跑步、打網球)到高級的認知任務(如:做數學題、寫詩、交談)。而強化學習則旨在使用軟、硬件之類的代理(具體含義請見下文),通過明確的定義、合理的設計等相關算法,來模仿人類的此類行爲。也就是說,這種學習範式的目標不是以簡單的輸入/輸出方式(如:獨立的深度學習系統),來映射帶有標籤的示例,而是要建立一種策略,通過幫助智能化的代理,以某種順序進行動作(具體含義請見下文),從而實現某項最終目標。

圖片來源:《機器學習有哪些類型》(請參見-- https://towardsdatascience.com/what-are-the-types-of-machine-learning-e2b9e5d1756f)

其實,強化學習是一些面向目標(goal-oriented)的算法,它們能夠學習如何實現複雜的目標,或通過多個步驟沿着某個特定維度來實現目標的最大化。下面是強化學習在實際應用中的三種示例:

  • 讓一個棋盤遊戲的獲勝率最大化。
  • 讓財務模擬某筆交易的最大收益。
  • 在複雜的環境中,保障機器人在移動過程中的錯誤行徑最小。

如下圖所示,其基本想法是:代理通過傳感器接收來自所處環境中的輸入數據,使用強化學習的算法對其進行處理,然後採取相應的行動以達到預定的目標。可見,這與人類在日常生活中的行爲非常相似。

資料來源:《強化學習的簡介》(請參見--http://incompleteideas.net/book/bookdraft2017nov5.pdf)

深度強化學習中的基本定義

我們在開展後續討論之前,瞭解強化學習中所涉及和使用到的各種關鍵術語是非常實用的。其中包括:

  • 代理(Agent):一種軟、硬件機制。它通過與周圍環境的交互,來採取相應的措施。例如:一架正在送貨的無人機,或是視頻遊戲中引導超級瑪麗前進的程序。當然,算法本身也屬於代理。
  • 動作(Action):代理可以採取的各種可能性動作。雖然動作本身具有一定的不言自明性(self-explanatory),但是我們仍需要讓代理能夠從一系列離散的、且可能的動作中予以選擇。
  • 環境(Environment):外界環境與代理之間存在着相互作用,以及做出響應的關係。環境將代理當前的狀態和動作作爲輸入,並將代理的獎勵(具體含義請見下文)和下一個狀態作爲輸出。
  • 狀態(State):狀態是代理自行發現的、具體且直接的情況,包括:特定的地點、時刻、以及將代理與其他重要事物相關聯的瞬時配置。例如:一個棋盤在某個特定時刻的棋子佈局。
  • 獎勵(Reward):獎勵是一種反饋,我們可以據此衡量代理在給定狀態下各種動作的成敗。例如:在下棋遊戲中,喫掉對手的象這一重要的動作會得到某種獎勵,而贏得整個遊戲則會獲得更大的獎勵。負獎勵(Negative rewards)有着相反的含義,例如:下輸了一盤棋。
  • 折扣因子(Discount factor):折扣因子是一個乘數。由代理發現的未來獎勵乘以該因子,以減弱此類獎勵針對代理當前動作選擇的累積影響。這是強化學習的核心,也就是通過逐漸降低未來獎勵的值,以便對最近的動作給予更多的權值。這對於基於“延遲動作(delayed action)”原理的範式而言,是至關重要的。
  • 策略(Policy):它是代理用來根據當前狀態確定下一步動作的策略。它能夠將不同的狀態映射到各種動作上,以承諾最高的獎勵。
  • 值(Value):它被定義爲在特定的策略下,當前狀態帶有折扣的長期預期獎勵(並非短期獎勵)。
  • Q值(Q-value)或動作值(action-value):與“值”的不同之處在於,Q值需要一個額外的參數,也就是當前的動作。它是指一個動作在特定的策略下,由當前狀態產生的長期獎勵。

常見的數學(算法)框架

在解決強化學習的相關問題時,我們經常會用到如下的數學框架:

馬爾可夫決策過程(Markov Decision Process,MDP):幾乎所有的強化學習問題都可以被構造爲MDP。MDP中的所有狀態都具有“馬爾可夫”屬性,即:未來僅取決於當前狀態,而非狀態的歷史,這一事實。

Bellman方程(Bellman Equations):它是一組將值函數分解爲即時獎勵加上折扣未來值的方程。

動態編程(Dynamic Programming,DP):如果當系統模型(代理+環境)完全已知時,根據Bellman方程,我們就可以使用動態編程,來迭代評估值函數,並改進相應的策略。

值迭代(Value iteration):這是一種算法,它通過迭代式地改進對於值的估計,以計算出具有最佳狀態值的函數。該算法先將值函數初始化爲任意隨機值,然後重複更新Q值和值函數的各個值,直到它們收斂爲止。

策略迭代(Policy iteration):由於代理僅關注尋找最優的策略,而最優策略有時會在價值函數之前就已經收斂了。因此,策略迭代不應該重複地改進值函數的估算,而需要在每一步上重新定義策略,並根據新的策略去計算出值來,直到策略收斂爲止。

Q學習(Q-learning):作爲一種無模型(model-free)學習算法的示例,它並不會假定代理對於狀態的轉換和獎勵模型已經瞭如指掌,而是“認爲”代理將通過反覆的試驗,來發現正確的動作。因此,Q學習的基本思想是:在代理與環境交互過程中,通過觀察Q值函數的樣本,以接近“狀態-動作對(state-action pairs)”的Q函數。這種方法也被稱爲時分學習(Time-Difference Learning)。

上圖是一個通過Q學習(即:嘗試和錯誤觀察),來解決強化學習問題的示例(請參見-- https://gym.openai.com/envs/MountainCar-v0)。在示例所處環境中,動力學和模型,即運動的整體物理原理,都是未知的。

Q學習所存在的問題

Q學習是解決強化學習相關問題的一種簡單而強大的方法。從理論上講,我們可以在不引入其他數學複雜性的情況下,將其延伸到各種大而複雜的問題上。其實,Q學習可以藉助遞歸方程來完成,其中:

Q(s,a):Q值函數

s:狀態

s',s'':未來狀態

a:動作

γ:折現率

對於小的問題,我們可以從對所有的Q值(Q-values)做出任意假設開始,通過反覆的試驗,Q表(Q-table)不斷得以更新,進而讓政策逐漸趨於一致。由於更新和選擇動作是隨機執行的,因此最優的策略可能並不代表全局最優,但它可以被用於所有實際的目的。

不過,隨着問題規模的增加,針對某個大問題所構造並存儲一組Q表,將很快成爲一個計算性的難題。例如:在象棋或圍棋之類的遊戲中,可能的狀態數(即移動的順序)與玩家需要提前計算的步數,成指數式的增長。因此:

  • 保存和更新該表所需的內存量,將隨着狀態數的增加而增多。
  • 探索每個狀態,進而創建Q表所需的時間,將變得無法預知。

針對上述問題,我們需要用到諸如深度Q學習(Deep-Q learning)之類的技術,並使用機器學習來試着解決。

深度Q學習

顧名思義,深度Q學習不再維護一張大型的Q值表,而是利用神經網絡從給定的動作和狀態輸入中去接近Q值函數。在一些公式中,作爲輸入的狀態已經被給出,而所有可能的動作Q值都作爲輸出被產生。此處的神經網絡被稱爲Deep-Q–Network(DQN),其基本思想如下圖所示:

圖片來源:在Python中使用OpenAI Gym進行深度Q學習的入門(請參見--https://www.analyticsvidhya.com/blog/2019/04/introduction-deep-q-learning-python/)

不過DQN在使用的時候有一定的難度。而在傳統的深度學習算法中,由於我們對輸入樣本進行了隨機化處理,因此輸入的類別在各種訓練批次之間,都是非常均衡且穩定的。在強化學習中,搜索會在探索階段(exploration phase)不斷被改進,進而不斷地更改輸入和動作的空間。此外,隨着系統逐漸加深對於環境的瞭解,Q的目標值也會自動被更新。簡而言之,對於簡單的DQN系統而言,輸入和輸出都是經常變化的。

爲了解決該問題,DQN引入了體驗重播(experience replay)和目標網絡(target network)的概念來減緩變化,進而以受控且穩定的方式逐步學習Q表。

其中,體驗重播在特定的緩衝區中存儲一定量的狀態動作獎勵值(例如,最後有一百萬個)。而對於Q函數的訓練,它使用來自緩衝區的隨機樣本的小批量來完成。因此,訓練樣本不但是隨機的,並且能夠表現得更接近傳統深度學習中監督學習的典型情況。這有點類似於系統具有高效的短期記憶,我們在探索未知環境時可以用到它。

此外,DQN通常使用兩個網絡來存儲Q值。一個網絡不斷被更新,而另一個網絡(即:目標網絡)與第一個網絡以固定的間隔進行同步。我們使用目標網絡來檢索Q值,以保證目標值的變化波動較小。

深度強化學習的實際應用

進行Atari遊戲

成立於2010年的DeepMind(請參見--https://deepmind.com/)是一家位於倫敦的初創公司。該公司於2014年被Google的母公司Alphabet所收購,併成功地將卷積神經網絡(CNN)和Q學習結合起來用於訓練。它爲深度強化學習領域做出了開拓性貢獻。例如:某個代理可以通過原始像素的輸入(如某些感知信號),來進行Atari遊戲。欲知詳情,請參見--https://deepmind.com/research/publications/playing-atari-deep-reinforcement-learning)

圖片來源:DeepMind在arXiV上有關Atari的文章(2013年)(請參見--https://arxiv.org/pdf/1312.5602v1.pdf)。

Alpha Go和Alpha Go Zero

3000多年前起源於中國的圍棋,憑藉着其複雜性,被稱爲AI最具挑戰性的經典遊戲。標準的AI處理方法是:使用搜索樹(search tree)來測試所有可能的移動和位置。但是,AI無法處理大量棋子的可能性移動,或評估每個可能性棋盤位置的強度。

藉助深度強化學習的技術和新穎的搜索算法,DeepMind開發了AlphaGo,這是第一個擊敗了人類職業圍棋選手的計算機程序,第一個擊敗了圍棋世界冠軍的程序,也可以說是歷史上最強的圍棋選手。

圖片來源:https://medium.com/point-nine-news/what-does-alphago-vs-8dadec65aaf

Alpha Go的升級版本被稱爲Alpha Go Zero。該系統源於一個對圍棋規則一無所知的神經網絡。該神經網絡通過與功能強大的搜索算法相結合,不斷和自己下棋,與自己進行對抗。在重複進行遊戲的過程中,神經網絡會通過持續調整和更新,來預測下棋的步驟,並最終成爲遊戲的贏家。通過不斷的迭代,升級後的神經網絡與搜索算法重新組合,以提升系統的性能,並不斷提高與自己對弈的水平。

圖片來源:從零開始的Alpha Go Zero(請參見--https://deepmind.com/blog/article/alphago-zero-starting-scratch)

在石油和天然氣行業中的應用

荷蘭皇家殼牌公司一直在其勘探和鑽探工作中通過強化學習的部署,以降低高昂的天然氣開採成本,並改善整個供應鏈中的多個環節。那些經過了歷史鑽探數據訓練的深度學習算法,以及基於物理學的高級模擬技術,讓天然氣鑽頭在穿過地表後,能夠智能地移動。深度強化學習技術還能夠實時地利用來自鑽頭的機械數據(如:壓力和鑽頭的溫度),以及地表下的地震勘測數據。欲知詳情,請參見--https://www.forbes.com/sites/bernardmarr/2019/01/18/the-incredible-ways-shell-uses-artificial-intelligence-to-help-transform-the-oil-and-gas-giant/#187951c42701。

自動駕駛

雖然不是主流應用,但是深度強化學習在自動駕駛汽車的各種挑戰性問題上,也發揮着巨大的潛力。其中包括:

  • 車輛控制
  • 坡道合併
  • 個人駕駛風格的感知
  • 針對安全超車的多目標強化學習

欲知詳情,請參見-- https://arxiv.org/pdf/1901.01536.pdf。

總結

深度增強學習是真正可擴展的通用人工智能(Artificial general intelligence,AGI),是AI系統的最終發展方向。在實際應用中,它催生了諸如Alpha Go之類的智能代理,實現了自行從零開始學習遊戲規則(也就是人們常說的:外部世界的法則),而無需進行明確的訓練和基於規則的編程。我們樂觀地認爲,深度增強學習的未來和前景將是一片光明。

相關文章