強化學習和馬爾可夫過程的基本概念

2021-02-08 果殼機動

作者的話: 本文是關於馬爾可夫理論的一些學習筆記和思考,請帶著批判的眼光閱讀。


機器學習一共有三個分支,有監督學習、無監督學習和強化學習。強化學習是系統從環境學習以使得獎勵最大的機器學習。強化學習和有監督學習的不同在於教師信號。強化學習的教師信號是動作的獎勵,有監督學習的教師信號是正確的動作。


強化學習算法理論的形成可以追溯到上個世紀七八十年代,近幾十年來強化學習算法一直在默默地不斷進步,真正火起來是最近幾年。代表性的事件是DeepMind 團隊於2013年12月首次展示了機器利用強化學習算法在雅達利遊戲中打敗人類專業玩家,其成果在2015年發布於頂級期刊《自然》上;2014年,谷歌將DeepMind 團隊收購。2016年3月,DeepMind開發的AlphaGo程序利用強化學習算法以4:1擊敗世界圍棋高手李世石,至此強化學習算法引起更多學者的關注。如今,強化學習算法已經在如遊戲,機器人等領域中開花結果。各大科技公司,如谷歌,facebook,百度,微軟等更是將強化學習技術作為其重點發展的技術之一。可以說強化學習算法正在改變和影響著這個世界,掌握了這門技術就掌握了改變世界和影響世界的工具。


現在網上有一些強化學習的教程,這些教程都來自世界頂尖名校,如2015年David Silver的經典課程Teaching ,2017年加州大學伯克利分校Levine, Finn, Schulman的課程 CS 294 Deep Reinforcement Learning, Spring 2017 ,卡內基梅隆大學的2017 春季課程Deep RL and Control 。吳恩達的Deep learning 也很棒,可以在網易公開課或者它的官網看到。


那麼,在自動駕駛領域,強化學習如何應用呢?在之前的文章中,我曾經提過道路使用者之間動態博弈的問題,這個問題在一定程度上可以簡化成一個馬爾可夫決策過程,而強化學習可以通過大量的數據訓練,給這個馬爾可夫決策過程求最優解,使得車輛能夠獲得更好的路徑規劃策略。對於靜態目標,因為「狀態」並不會隨著自車的動作變化,所以個人理解並不適用馬爾可夫模型。


馬爾可夫理論由俄國數學家A.A.馬爾可夫於1907年提出,這個理論包括一些基本概念和衍生的理論,簡稱馬爾可夫全家桶(啊哈哈),包括:


- 馬爾可夫性質(Markov Property)

- 馬爾可夫過程/馬爾可夫鏈(Markov Process/ Markov Chain)

- 馬爾可夫決策過程(Markov Decision Process/ MDP)

- 隱馬爾可夫模型 (Hidden Markov Model/ HMM)

- 不完全可觀察馬爾可夫決策過程( Partially Observable Markov Decision Process/ POMDP)


馬爾可夫理論和其他理論結合還有大量的應用,在此不一一羅列。


馬爾可夫性質

馬可夫性質(英語:Markov property)是概率論中的一個概念,因為俄國數學家安德雷·馬爾可夫得名。當一個隨機過程在給定現在狀態及所有過去狀態情況下,其未來狀態的條件概率分布僅依賴於現在狀態;換句話說,在給定現在狀態時,它與過去狀態(即該過程的歷史路徑)是條件獨立的,那麼此隨機過程即具有馬爾可夫性質。


用數學來表示就是:

假設X為變化過程中的某個狀態,那麼隨機變量 X1, … , Xn 的數列被稱為「狀態空間」, Xn  的值是在時間 n 的狀態。如果 Xn+1 對於過去狀態的條件概率分布P僅是 Xn 的一個函數,與Xn-1, ... , X1均無關,即

則上面這個恆等式可以被看作是馬爾可夫性質。


馬爾科夫決策過程

馬爾可夫決策過程是基於馬爾可夫過程理論的隨機動態系統的最優決策過程。馬爾可夫決策過程是序貫決策的主要研究領域。它是馬爾可夫過程與確定性的動態規劃相結合的產物,故又稱馬爾可夫型隨機動態規劃,屬於運籌學中數學規劃的一個分支。

馬爾可夫決策過程可以用一個五元數(s,a,P,R,γ) 來描述,其中:

s 是一組有限的狀態集(a finite set of states); 

a 是一組有限的動作集(a finite set of actions or As is the finite set of actions available from states) ;

Pa(s,s′)=Pr(st+1=s′|st=s,at=a) 表示在時間 t 狀態s 採取動作a 可以在時間 t+1 轉換到狀態 s′ 的概率;

Ra(s,s′) 表示通過動作a 狀態從 s 轉換到s′ 所帶來的及時收益(或者是預期及時收益) 

γ∈[0,1] 是折扣因子(discount factor),表示未來收益和當前收益之前的差別,就是各個時間的收益所佔的比重不同。


馬爾可夫決策過程並不要求S 或者A 是有限的,但基礎的算法中假設它們由有限的。

MDP 的動態過程如下:某個智能體(agent)的初始狀態為s0,然後從 a中挑選一個動作a0執行,執行後,agent 按P(s1| s0,a0)概率隨機轉移到了下一個s1狀態,s1∈ P(s0,a0)。然後再執行一個動作a1,就轉移到了s2,接下來再執行a2…,我們可以用下面的圖表示狀態轉移的過程。

如果回報rn是根據狀態s和動作a得到的,則MDP還可以表示成下圖:

‍‍MDP的關鍵問題在於尋找一個策略:在狀態 s 選擇策略π(s), 組成一個策略函數π,我們的目的在於選擇一個策略函數π 可以最大化累積收益R(T):‍‍


       求解R(T)max,需要用到最優貝爾曼方程。而尋找最優策略的具體算法,包括了價值迭代、策略迭代、蒙特卡洛算法和Q學習算法等,後面再慢慢研究.

 

隱馬爾可夫模型 

隱馬爾可夫模型 (Hidden Markov Model) 是另一種統計模型,用來描述一個含有隱含未知參數的馬爾可夫過程。其難點是從可觀察的參數中確定該過程的隱含參數,然後利用這些參數來作進一步的分析。下圖是一個三個狀態的隱馬爾可夫模型狀態轉移圖,其中x 表示隱含狀態,y 表示可觀察的輸出,a 表示狀態轉換概率,b 表示輸出概率。

下圖顯示了天氣的例子中隱藏的狀態和可以觀察到的狀態之間的關係。我們假設隱藏的狀態是一個簡單的一階馬爾科夫過程,並且他們兩兩之間都可以相互轉換。

  對 HMM 來說,有如下三個重要假設,儘管這些假設是不現實的。

  假設1:馬爾可夫假設(狀態構成一階馬爾可夫鏈)

  假設2:不動性假設(狀態與具體時間無關)

  假設3:輸出獨立性假設(輸出僅與當前狀態有關)

  隱藏的狀態和可觀察到的狀態之間有一種概率上的關係,也就是說某種隱藏狀態 H 被認為是某個可以觀察的狀態 O1 是有概率的,假設為 P(O1 | H)。如果可以觀察的狀態有3種,那麼很顯然 P(O1 | H)+P(O2 | H)+ P(O3 | H) = 1。

這樣,我們也可以得到一個另一個矩陣,稱為混淆矩陣 (confusion matrix)。這個矩陣的內容是某個隱藏的狀態被分別觀察成幾種不同的可以觀察的狀態的概率,在天氣的例子中,這個矩陣如下圖:

上邊的圖示都強調了 HMM 的狀態變遷。而下圖則明確的表示出模型的演化,其中綠色的圓圈表示隱藏狀態,紫色圓圈表示可觀察到狀態,箭頭表示狀態之間的依存概率,一個 HMM 可用一個5元組 { N, M, π,A,B } 表示,其中:

-  N 表示隱藏狀態的數量,我們要麼知道確切的值,要麼猜測該值

- M 表示可觀測狀態的數量,可以通過訓練集獲得,

- π={πi} 為初始狀態概率

- A={aij} 為隱藏狀態的轉移矩陣 Pr(xt(i) | xt-1(j))

- B={bik} 表示某個時刻因隱藏狀態而可觀察的狀態的概率,即混淆矩陣,Pr(ot(i) | xt(j))。

在狀態轉移矩陣和混淆矩陣中的每個概率都是時間無關的,即當系統演化時,這些矩陣並不隨時間改變。對於一個 N 和 M 固定的 HMM 來說,用 λ={ π, A, B } 表示 HMM 參數。

在正常的馬爾可夫模型中,狀態對於觀察者來說是直接可見的。這樣狀態的轉換概率便是全部的參數。而在隱馬爾可夫模型中,狀態並不是直接可見的,但受狀態影響的某些變量則是可見的。每一個狀態在可能輸出的符號上都有一概率分布。因此輸出符號的序列能夠透露出狀態序列的一些信息。

從上面的原理中可以看出,HMM並不特別適合自動駕駛,實際上它也更多的被應用於智能翻譯和語義識別。


部分可觀察馬爾可夫決策過程

部分可觀察馬爾可夫決策過程是一個「通用化」的馬爾可夫決策過程,POMDP模擬程序決策過程,其中假設系統動態由MDP確定,但程序不能直接觀察基礎狀態。相反,它必須基於一組觀察和觀察概率以及基礎MDP來維持可能狀態集合的概率分布。POMDP在自動駕駛和機器人的路徑規劃上有著應用。

POMDP可以對車輛或自身所處的環境進行建模,也可以用一個七元數(S,A,P,R,Ω,O,γ) 來描述:


S 是一組有限狀態集;

A 是一組有限動作集;

P 是狀態轉移矩陣,Pa(s′|s)=P(s′|s,a) 表示在時間 t 狀態 s 採取動作 a 可以在時間 t+1 轉換到狀態s′ 的概率;

R:S×A→R 是收益函數,R(s,a) 表示在狀態 s 執行動作 a 帶來的收益;

Ω 是一組觀察結果集,就是傳感器獲得的環境數據; 

O 是條件觀察概率,就是在觀察到環境數據 o 時,有多大概率確定自己處於狀態s; 

γ∈[0,1] 是折扣因子


上面的描述有些過於抽象,舉個例子,比如下面這個場景:

黑色的自車直行,藍色的目標車有向右移動的橫向速度


我們可以這麼理解POMDP在這個場景下的應用:


S - 目標車輛左轉(向自車右方轉向)

A - 自車直行

P - 自車直行,目標車輛向右移動,且下一步繼續向右移動的概率

R - 自車直行的收益函數

O - 觀測到目標車輛向右移動,目標車輛的意圖為左轉的概率

γ - 折扣因子


「目標車輛向右移動」是一個可以被傳感器感知到的「表象」,但我並不知道它下一步是不是真的想要左轉,還是僅僅為了避讓它旁邊的行人或是地上的坑,「左轉」是一個意圖,無法直接被傳感器感知,但左轉這個狀態會決定下一步自車應該如何做出動作,而自車的動作又會產生「收益」,比如是否會發生碰撞和駕駛員的舒適感,又比如對向車輛是否可以通行(涉及到整體交通效率,如果在一個窄路上對向車輛無法通行,可能導致自車也無法通行,反而影響到自車收益)。


這個模型是否有效的關鍵,在於是否正確的設計了S,A,P的定義,比如S和A應該是車輛縱向和橫向動態兩個狀態向量組成的矩陣,它們不僅僅是左轉右轉這麼簡單,還應當和動作幅度有關。而P顯然涉及到人類駕駛員的認知習慣,需要大量的數據來進行統計。對於R,O,γ,則可以通過數據的訓練和參數調整來優化。另外個人比較好奇的是,馬爾可夫性質的核心是「無記憶」,但如果對向車輛在連續的幾個cycle持續向某一個方向移動,且達到了一定的幅度,那麼它左轉的可能性顯然要大於小幅度的橫向移動或者單幀的移動(這裡還涉及到傳感器測量精度和信號濾波等問題),這明顯的存在著「記憶性」,那麼這樣應用馬爾可夫模型是否可以取得良好的效果需要測試,可能的優化也是存在的。


總的來說,馬爾可夫模型是理論基礎,但實際在自動駕駛路徑規劃上的應用,還需要很多「改良」。另外自車需要對多個目標同時進行路徑規劃和仲裁,做一個完善的應用依然需要大量的研究。


看看果殼機動的其他文章


汽車電控系統(二)- 轉向系統

自動駕駛相關的實時定位技術

汽車電控系統(一) - 制動系統

量子計算機詳解(下)

量子計算機詳解(上)

自動駕駛的數據融合到底融合了什麼?(續)

自動駕駛的數據融合到底融合了什麼?

禁止混水摸魚 - SAE J3016新版解讀

當談論架構的時候,我們在談什麼

好的需求文檔怎麼寫?

高能預警!Super Cruise來襲!

Euro NCAP 的自動駕駛路線指引

可能是最專業的自動駕駛等級解讀


長按二維碼關注果殼機動,時刻保持科技前沿


相關焦點

  • 強化學習的最基本概念馬爾可夫決策過程簡介
    在本文中我將介紹強化學習的基本方面,即馬爾可夫決策過程。我們將從馬爾可夫過程開始,馬爾可夫獎勵過程,最後是馬爾可夫決策過程。目錄  馬爾可夫過程  馬爾可夫獎勵過程  馬爾可夫決策過程馬爾可夫過程  馬爾可夫決策過程(MDP)代表了一種強化學習的環境。我們假設環境是完全可見的。這意味著我們擁有了當前狀態下做出決定所需的所有信息。然而,在我們討論MDP是什麼之前,我們需要知道馬爾科夫性質的含義。
  • 從強化學習基本概念到Q學習的實現,打造自己的迷宮智能體
    選自Medium作者:Aneek Das機器之心編譯參與:蔣思源近年以來,強化學習在人工智慧所充當的角色越來越重要了,很多研究機構和大學都將強化學習與深度學習相結合打造高性能的系統。因此,本文注重描述強化學習的基本概念與實現,希望能為讀者介紹這一機器學習分支的巨大魅力。
  • 什麼是馬爾可夫決策過程
    關於馬爾可夫決策過程的馬爾可夫是什麼?馬爾可夫是安德烈·馬爾科夫(Andrey Markov),他是著名的俄羅斯數學家,以其在隨機過程中的工作而聞名。「馬爾可夫」通常意味著在當前狀態下,未來和過去是獨立的。
  • 一文讀懂強化學習簡介及其研究歷史
    學習是智能體提高和改善其性能的過程。機器學習研究由電腦程式實現的智能體如何通過學習提高自身處理性能的問題。能夠學習是電腦程式具有智能的基本標誌。強化學習示意強化學習的研究歷史:1954年Minsky首次提出「強化」和「強化學習」的概念和術語。1965年在控制理論中Waltz和傅京孫也提出這一概念,描述通過獎懲的手段進行學習的基本思想。他們都明確了「試錯」是強化學習的核心機制。
  • 5個最佳強化學習課程和認證
    解釋性強化學習(edX)如果您是強化學習的新手,那麼參加此課程可能是一個很好的學習機會。在該程序中,您將被介紹到強化學習的世界中,同時學習如何界定強化學習問題並解決經典示例,例如平衡障礙,新聞推薦和學習在網格世界中導航。本課程是專業AI認證計劃的一部分,這意味著完成本課程後,您可以繼續使用AI的其他高級概念來擴展您的知識。
  • 資料| Python強化學習實戰:應用OpenAI Gym和TensorFlow精通強化...
    《Python強化學習實戰:應用OpenAI Gym和TensorFlow精通強化學習和深度強化學習》共13章,主要包括強化學習的各種要素,即智能體、環境、策略和模型以及相應平臺和庫;Anaconda、Docker、OpenAIGym、Universe和TensorFlow等安裝配置;馬爾可夫鏈和馬爾可夫過程及其與強化學習問題建模之間的關係,動態規劃的基本概念;蒙特卡羅方法以及不同類型的蒙特卡羅預測和控制方法
  • 深度強化學習(一)----深度學習介紹系列
  • ——《強化學習》從基礎概念、核心原理到應用案例(文末贈書)
    本書緊扣讀者需求,採用循序漸進的敘述方式,深入淺出地論述了強化學習的背景、算法原理、應用案例等; 此外,本書針對每一章節的算法均提供了對應的案例和程序原始碼,並附有詳細的注釋,有助於讀者加深對強化學習相關知識的理解。
  • 贈書:Sutton老爺子經典之作,《強化學習》中文第2版
    作為強化學習領域的經典導論性教材,第 2 版《強化學習》中文版從強化學習基本思想出發,深入淺出又嚴謹細緻地介紹了馬爾可夫決策過程、蒙特卡洛方法、
  • NIPS2019 | 深度強化學習重點論文解讀
    for Reinforcement Learning by Evaluating the Optimal Bias Function該論文提出了一種基於面對不確定性(OFU)原理的算法,該算法能夠有效地學習具有有限狀態作用空間的馬爾可夫決策過程(MDP)建模的強化學習(RL),其通過評估最優偏差函數的狀態對差異,在h*跨度的上限H的情況下,提出的算法實現了具有S狀態和A動作的MDP的後悔界限
  • 智能決策論壇系列解讀 | 深度強化學習理論和算法
    智能體在與環境的交互中根據獲得的獎勵或懲罰不斷學習新知識,進而更加適應環境。深度強化學習的範式非常類似於我們人類學習知識的過程,也正因此,深度強化學習被視為實現通用AI的重要途徑。深度強化學習將具有環境「感知」能力的深度學習和具有策略「決策」能力的強化學習融合,形成能夠直接處理高維複雜信息作為輸入的優化決策方法。
  • 強化學習中的線性代數知識
    線性代數的基本原理如何用於深度強化學習?答案是解決了馬爾可夫決策過程時的迭代更新。強化學習(RL)是一系列用於迭代性學習任務的智能方法。由於計算機科學是一個計算領域,這種學習發生在狀態向量、動作等以及轉移矩陣上。狀態和向量可以採用不同的形式。
  • 資源 | UC Berkeley CS 294深度強化學習課程(附視頻、學習資料)
    本文主要介紹了課程中的強化學習主題,涉及深度強化學習的基本理論與前沿挑戰。CS294 深度強化學習 2017 年秋季課程的所有資源已經放出。該課程為各位讀者提供了強化學習的進階資源,且廣泛涉及深度強化學習的基本理論與前沿挑戰。本文介紹了該課程主要討論的強化學習主題,讀者可根據興趣愛好與背景知識選擇不同部分的課程。
  • MILA 2018夏季深度學習與強化學習課程資源大放送
    深度學習夏季課程深度神經網絡學習在多層抽象網絡中呈現數據,這極大地提升了語音識別、目標識別、目標檢測、預測藥物分子活動和其他多項任務的水平。深度學習通過監督學習、無監督學習和強化學習構建分布式表徵,在大型數據集中構建複雜的結構。DLSS 將涵蓋深度神經網絡的基礎和應用,從基本概念到尖端研究結成果。
  • 強化學習之原理詳解、算法流程及Python代碼
    馬爾可夫決策過程(MDP)馬爾可夫決策過程(Markov Decision Process)通常用來描述一個強化學習問題。
  • 今日Paper|虛假新聞檢測;馬爾可夫決策過程;場景文本識別;博弈論...
    為了解決這個問題,這篇論文提出了一個基於強化學習的弱監督虛假新聞檢測算法WeFEND,該框架利用用戶報告作為弱監督數據,從而擴大了訓練數據的規模。WeFEND主要由標註模塊,強化選擇模塊和虛假新聞檢測模塊構成。
  • 人工智慧的新希望——強化學習全解
    不論哪種技能,我們都是先通過與環境的互動來學習它。無論是學習駕駛汽車還是嬰兒學步,我們的學習都是基於與環境的互動。 從這些互動中學習是所有關於學習與智力的理論的基礎概念。因此,熟悉強化學習的技術會對深入學習和使用機器學習非常有幫助。如果您還沒聽說過強化學習,我建議您閱讀我之前關於(RL)平臺的介紹文章。強化學習和開源強化學習如果您已經了解了一些強化學習的基礎知識,請繼續閱讀本文。讀完本文,您將會對強化學習及實戰中實現算法有著更透徹的了解。附:下面這些算法實現的講解中,我們將假設您懂得Python的基本知識。
  • 讀懂概率圖模型:你需要從基本概念和參數估計開始
    文章從基礎的概念開始談起,並加入了基礎的應用示例來幫助初學者理解概率圖模型的實用價值。機器之心對該文章進行了編譯介紹。第一部分:基本術語和問題設定機器學習領域內很多常見問題都涉及到對彼此相互獨立的孤立數據點進行分類。比如:預測給定圖像中是否包含汽車或狗,或預測圖像中的手寫字符是 0 到 9 中的哪一個。事實證明,很多問題都不在上述範圍內。
  • 好課推薦 | 基於策略的強化學習和強化學習理論
    編者按:強化學習(Reinforcement Learning,RL)是機器學習的一個重要分支,其本質是描述和解決智能體在與環境的交互過程中學習策略以最大化回報或實現特定目標的問題。因此,小編整理了英國倫敦大學學院(UCL)汪軍教授帶來的《基於策略的強化學習和強化學習理論》課程,讓有興趣的同學了解、走進強化學習與智能科學這一前沿領域。備註:該課程來自於近日國內外知名高校和研究機構的強化學習領域研究者共同發起的RLChina 2020強化學習夏令營。
  • 概念學習的基本方式包括概念形成和概念同化,概念形成是指學習者
    概念學習的基本方式包括概念形成和概念同化,概念形成是指學習者從大量的同類事物的具體例證中,通過歸納的方法抽取一類事物的共同屬性,從而獲得初級概念的過程,這種概念學習模式被稱為( )。