mdp框架 MDP 馬爾科夫決策過程

2021-10-13 01:31:18 字數 1632 閱讀 3589

在自動駕駛中,路徑規劃有很多種方式,傳統演算法包括深度廣度優先搜尋,a*演算法。這些都是不錯的演算法,但是都有乙個問題,他們都是建立在控制運動的結果是確定性的假設上的。比如,汽車的速度,轉彎的角度,位置,雷達資料都是無誤差的。但是在現實世界中,是到處都充滿了誤差的。實際上,運動會引入不確定性,因為運動的結果就是不確定的。其次,我們區分完全可觀測系統和部分可觀測系統。經典的機械人通常假設感測器可以測量環境的完全狀態。實際上,這種情況經常不成立。基本上所有的真實世界中的機械人問題,感測器的限制都是乙個關鍵的因素。

機械人的運動不確定性。它依賴於乙個假設,就是狀態是完全可觀測的,其背後的數學框架就是所謂的馬爾可夫決策過程markov decision processes, mdp。

來看乙個機械人的運動環境例子:

從這個環境中可以看到robot想要到達goal的位置,最近的方法是通過當中一條狹窄的通道,如果機械人的運動是確定的, 也就是它絕對不會碰到周圍的障礙物,並一直維持著這樣的移動狀態,那麼我們就說robot的運動性是確定的。但是真實的情況是一般機械人運動都有誤差,並且我們通常通過感測器,比如lidar來獲取周圍的環境,然後根據環境的因素計算之後的動作,這樣,robot如果還想在這個狹窄的通道中行走,效率上就會很慢,因為它要不停的計算觀察周圍的情況。最終,從這條狹窄的通道通過的代價不一定比繞路走來的高效。

在機械人運動中考慮不確定性的正規化就是所謂的馬爾可夫決策過程markov decision process, mdp

簡單的理解mdp--根據不確定性,生成每個時間段的下個動作,行成乙個有效的路徑,找到乙個好的控制策略。

接下來具體來說mdp:

這個框架可以用乙個圖來描述:

智慧型體在每個時間段對環境的觀察來決定當前時間段的動作,並獲取這個動作之後的回報值,在下個時間段,環境會應為之前的動作發生變化,這時候感知到新的環境s來選擇新的動作a並獲取新的回報,這樣一直持續下去直到到達目標點。 這樣最終選擇的動作a1,a2,a3.......an就是最終的動作路徑。但是智慧型體在每個時間段能做的動作有很多,到底根據什麼來選擇最優的動作呢,這就要用到回報值了。

簡單的形式:

沒有達到目標的回報值都是-1, 達到目標之後回報值為100. 這樣會有很多種達到最終值得方式,找累計回報最小的即可。

mdp中牽涉到乙個很重要的概念,一步動態性。具體理解為我們在考慮下乙個時間t+1的環境和回報時,只考慮當前的t的環境和動作的影響。網上對於一步動態特性不錯的解釋

另乙個在mdp中存在的概念是對於累計回報的折扣率 [0,1]。mdp是始終要最大化累計回報的,所以在每個時間步t都希望能夠最大化單個回報。那麼對於未來的回報和當前動作的回報權重肯定是不一樣的。

=1 表示我們對於未來的回報關注度和眼前的一樣高。換個角度思考,一般對於智慧型體來說,估計回報,一定是估計眼前的比未來的更容易,比如乙個小狗能夠在今天得到一根骨頭,和在未來5年得到的骨頭相比,它一定對於明天得到骨頭更確定,所以權重也會更大。所以一般我們對

取0.9,這樣可以適當的考慮未來的回報。如果取0肯定是不行的,這樣就只注意到眼前的回報。

折扣對於階段性任務來說還不算重要,在連續性任務上就很突出了。連續任務如果不設定一定的折扣,回報值會無限大下去,這樣不利於智慧型體最大化累計回報,所以要避免無限未來的獎勵產的影響。

總結下馬爾可夫決策的組成:一組環境狀態s

一組動作a

一組回報r

一步動態特性

折扣值

馬爾科夫決策程序(MDP)

馬爾科夫決策程序 mdp 馬爾科夫決策程序主要是用來描述乙個隨機過程,將來的狀態僅與現在的狀態有關,而與過去的狀態無關,稱具有這種性質的程序為馬爾科夫程序。馬爾科夫決策程序可以用乙個四元組來表示,其中x是狀態集,a是動作集,p是狀態轉移的概率,u是狀態轉移過程中的收益。1.狀態集 狀態集滿足下一時刻...

馬爾科夫決策過程(MDP)學習筆記

1.概述 mdp由乙個 agent和乙個環境 e 一組可能的狀態 s 一組可用的行動 a 和獎勵函式 r s a r 構成。在離散時間的步驟中,agent不斷地從與環境的互動中 學習並作出決策。在每個時間步 t 觀察環境的當前狀態,記作 st s 並根據策略 選擇執行乙個動作 at a 之後,從環境...

增強學習(一) 馬爾科夫決策過程(MDP)

最近因為研究需要,要開始學習機器學習了。之前只是懂些cnn什麼的皮毛,對機器學習的整體認識都比較缺乏,後面我會從頭開始一點點打基礎,正好也用部落格把自己的學習歷程記錄一下,如果有大牛看到博文中有錯誤,歡迎指正!正好目前有個智慧型控制的小專案,我就先從增強學習開始。主要的參考文獻是吳恩達的專題 sha...