漫談自學習人工智慧代理:馬爾可夫決策過程(第一部分)
作者:Artem Oppermann
這是關於自學習人工智慧代理的多部分系列的第一篇文章,或者更準確地稱之為深度強化學習。本系列的目的不僅僅是讓你對這些主題有所瞭解。相反,我想讓你更深入地理解深度強化學習的最流行和最有效的方法背後的理論、數學和實施。
自學習人工智慧代理系列 - 目錄
-
第一部分:馬爾可夫決策過程(本文)
-
第二部分:深度Q學習(Q-Learning)
-
第三部分:深入(雙重)Q學習(Q-Learning)
-
第四部分:持續行動空間的政策梯度
-
第五部分:決鬥網路(dueling network)
-
第六部分:非同步角色評論代理
-
•...
目錄
-
0.簡介
-
1. Nutshell的增強學習
-
2.馬爾可夫決策過程
-
2.1馬爾可夫過程
-
2.2馬爾可夫獎勵程式
-
2.3價值函式•
-
3.貝爾曼方程(Bellman Equation)
-
3.1馬爾可夫獎勵過程的貝爾曼方程
-
3.2馬爾可夫決策過程 - 定義
-
3.3政策
-
3.4動作價值函式
-
3.5最優政策
-
3.6 貝爾曼方程最優性方程
0.簡介
深度強化學習正在興起。近年來,世界各地的研究人員和行業媒體都沒有更多關注深度學習的其他子領域。在深度學習方面取得的最大成就是由於深度的強化學習。來自谷歌公司的Alpha Go在圍棋遊戲中擊敗了世界圍棋冠軍(這是幾年前不可能實現的成就),還有DeepMind的人工智慧代理,他們自學走路、跑步和克服障礙(圖1-3) 。
其他人工智慧代理自從2014年以來在玩雅達利遊戲(Atari遊戲)中的表現超過了人類水平(圖4)。在我看來,關於所有這一切的最令人驚奇的事實是,這些人工智慧代理中沒有一個是由人類明確程式設計或教導如何解決這些任務。他們透過深度學習和強化學習的力量自學。多部分系列的第一篇文章的目標是提供必要的數學基礎,以便在即將發表的文章中解決人工智慧這個子領域中最有希望的領域。
1. 深度強化學習
深度強化學習可以概括為構建一個直接從與環境的互動中學習的演算法(或人工智慧代理)(圖5)。其環境可能是現實世界、計算機遊戲、模擬甚至是棋盤遊戲,如圍棋或國際象棋。與人類一樣,人工智慧代理從其行為的後果中學習,而不是從明確的教導中學習。
在深度強化學習中,代理由神經網路表示。神經網路直接與環境相互作用。它觀察當前的環境狀況,並根據當前狀態和過去的經驗決定採取什麼行動(例如向左、向右等)。基於所採取的行動,人工智慧代理收到獎勵。獎勵金額決定了解決給定問題所採取行動的質量(例如學習如何行走)。代理的目標是學習在任何特定情況下采取行動,以最大化累積的獎勵。
2.馬爾可夫決策過程
馬爾可夫決策過程(MDP)是離散時間隨機控制過程。馬爾可夫決策過程(MDP)是我們迄今為止為人工智慧代理的複雜環境建模的最佳方法。代理旨在解決的每個問題可以被認為是狀態序列S1,S2,S3,... Sn(狀態可以是例如圍棋/象棋板配置)。代理執行操作並從一個狀態移動到另一個狀態。在下文中,將學習確定代理在任何給定情況下必須採取的行動的數學。
2.1馬爾可夫過程
馬爾可夫過程是描述一系列可能狀態的隨機模型,其中當前狀態僅依賴於先前狀態。這也稱為馬可夫性質(Markov property)(式1)。對於強化學習,這意味著人工智慧代理的下一個狀態僅取決於最後一個狀態,而不是之前的所有先前狀態。
馬爾可夫過程是一個隨機過程。這意味著從當前狀態s到下一個狀態s'的轉換隻能以某個機率Pss'(式2)發生。在馬爾可夫過程中,被告知要離開的代理只會以一定的機率離開(例如0.998)。由可能性很小的環境來決定代理的最終結果。
Pss'可以被認為是狀態轉移矩陣P中的條目,其定義從所有狀態s到所有後繼狀態s'(等式3)的轉移機率。
記住:馬爾可夫過程(或馬爾可夫鏈)是一個元組<S,P>。S是一組(有限的)狀態。 P是狀態轉移機率矩陣。
2.2馬爾可夫獎勵程式
馬爾可夫獎勵過程是元組<S,P,R>。這裡R是代理希望在狀態s(式4)中獲得的獎勵。該過程的動機是,對於旨在實現某個目標的人工智慧代理,例如贏得國際象棋比賽,某些狀態(比賽配置)在戰略和贏得比賽的潛力方面比其他狀態更有希望。
感興趣的主要話題是總獎勵Gt(式5),它是代理將在所有狀態的序列中獲得的預期累積獎勵。每個獎勵都由所謂的折扣因子γ∈[0,1]加權。折扣獎勵在數學上是方便的,因為它避免了迴圈馬爾可夫過程中的無限回報。除了折扣因素,意味著我們未來越多,獎勵變得越不重要,因為未來往往是不確定的。如果獎勵是金融獎勵,立即獎勵可能比延遲獎勵獲得更多利益。除了動物/人類行為表明喜歡立即獎勵。
2.3價值函式
另一個重要的概念是價值函式v(s)之一。值函式將值對映到每個狀態s。狀態s的值被定義為人工智慧代理在狀態s中開始其進展時將獲得的預期總獎勵(式6)。
價值函式可以分解為兩部分:
-
代理收到的即時獎勵R(t + 1)處於狀態s。
-
狀態s後的下一個狀態的折扣值v(s(t + 1))。
3.貝爾曼方程
3.1馬爾可夫獎勵過程的貝爾曼方程
分解的值函式(式8)也稱為馬爾可夫獎勵過程的貝爾曼方程。該功能可以在節點圖中顯示(圖6)。從狀態s開始導致值v(s)。在狀態s中我們有一定的機率Pss'最終在下一個狀態s'中結束。在這種特殊情況下,我們有兩個可能的下一個狀態為了獲得值v(s),我們必須總結由機率Pss'加權的可能的下一個狀態的值v(s'),並從狀態s中新增即時獎勵。這產生了式9,如果我們在式中執行期望運算元E,那麼這只不是式8。
3.2馬爾可夫決策過程 - 定義
馬爾可夫決策過程是馬爾可夫獎勵過程的決策。馬爾可夫決策過程由一組元組<S,A,P,R>描述,A是代理可以在狀態s中採取的一組有限的可能動作。因此,現在處於狀態s中的直接獎勵也取決於代理在這種狀態下所採取的行動(等式10)。
3.3政策
在這一點上,我們將討論代理如何決定在特定狀態下必須採取哪些行動。這由所謂的政策π(式11)決定。從數學角度講,政策是對給定狀態的所有行動的分配。策略確定從狀態s到代理必須採取的操作a的對映。
在此記住,直觀地說,策略π可以被描述為代理根據當前狀態選擇某些動作的策略。
該策略導致狀態值函式v(s)的新定義(式12),我們現在將其定義為從狀態s開始的預期返回,然後遵循策略π。
3.4動作價值函式
除狀態值函式之外的另一個重要功能是所謂的動作價值函式q(s,a)(式13)。動作價值函式是我們透過從狀態s開始,採取動作a然後遵循策略π獲得的預期回報。請注意,對於狀態s,q(s,a)可以採用多個值,因為代理可以在狀態s中執行多個操作。Q(s,a)的計算是透過神經網路實現的。給定狀態作為輸入,網路計算該狀態下每個可能動作的質量作為標量(圖7)。更高的質量意味著在給定目標方面採取更好的行動。
記住:動作價值函式告訴我們在特定狀態下采取特定行動有多好。
以前,狀態值函式v(s)可以分解為以下形式:
相同的分解可以應用於動作價值函式:
在這一點上,我們討論v(s)和q(s,a)如何相互關聯。這些函式之間的關係可以在圖中再次視覺化:
在這個例子中處於狀態s允許我們採取兩種可能的動作a。根據定義,在特定狀態下采取特定動作會給我們動作價值q(s,a)。動作價值函式v(s)是在狀態s(式16)中採取動作a的機率加權的可能q(s,a)的總和(其不是策略π除外)。
現在讓我們考慮圖9中的相反情況。二叉樹的根現在是一個我們選擇採取特定動作的狀態。請記住,馬爾可夫過程是隨機的。採取行動並不意味著你將以100%的確定性結束你想要的目標。嚴格地說,你必須考慮在採取行動後最終進入其他狀態的機率。在採取行動後的這種特殊情況下,你可以最終處於兩個不同的下一個狀態s':
要獲得動作價值,你必須採用由機率Pss'加權的折扣狀態值,以最終處於所有可能的狀態(在這種情況下僅為2)並新增即時獎勵:
現在我們知道了這些函式之間的關係,我們可以從Eq中插入v(s)。從式16插入到式17的q(s,a),我們獲得了式18中,可以注意到,當前q(s,a)和下一個動作價值q(s',a')之間存在遞迴關係。
這種遞迴關係可以再次在二叉樹中視覺化(圖10)。我們從q(s,a)開始,以一定機率Pss'結束在下一個狀態s',我們可以用機率π採取動作a',我們以動作價值q結束(s',一個')。為了獲得q(s,a),我們必須在二叉樹中上升並整合所有機率,如式18所示。
3.5最優政策
深度強化學習中最重要的主題是找到最優的動作價值函式q *。查詢q *表示代理確切地知道任何給定狀態下的動作的質量。此外,代理商可以決定必須採取哪種行動的質量。讓我們定義q *的意思。最佳的動作價值函式是遵循最大化動作價值的策略的函式:
為了找到最好的策略,我們必須在q(s,a)上最大化。最大化意味著我們只選擇q(s,a)具有最高價值的所有可能動作中的動作a。這為最優策略π產生以下定義:
3.6 貝爾曼最優性方程
可以將最優策略的條件插入到式中。式18因此為我們提供了貝爾曼最優性方程:
如果人工智慧代理可以解決這個等式,那麼它基本上意味著解決了給定環境中的問題。代理在任何給定的狀態或情況下都知道關於目標的任何可能行動的質量並且可以相應地表現。
解決貝爾曼最優性方程將成為即將發表的文章的主題。在下面的文章中,我將向你介紹第一種解決深度Q-Learning方程的技術。
來自 “ Medium ”,原文連結:http://blog.itpub.net/31545819/viewspace-2217081/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 理解馬爾可夫決策過程馬爾可夫
- 「馬爾可夫決策過程」學習筆記馬爾可夫筆記
- 強化學習入門第一講 馬爾科夫決策過程強化學習馬爾科夫
- 強化學習(二)馬爾科夫決策過程(MDP)強化學習馬爾科夫
- 強化學習組隊學習task02——馬爾可夫決策過程及表格型方法強化學習馬爾可夫
- 圖˙譜˙馬爾可夫過程˙聚類結構----by林達華馬爾可夫聚類
- 隱馬爾可夫模型隱馬爾可夫模型
- HMM隱馬爾可夫模型HMM隱馬爾可夫模型
- 隱馬爾可夫模型 | 賽爾筆記隱馬爾可夫模型筆記
- 隱馬爾可夫模型詳解隱馬爾可夫模型
- 10_隱馬爾可夫模型隱馬爾可夫模型
- ML-隱馬爾可夫模型隱馬爾可夫模型
- 機器學習之隱馬爾可夫模型機器學習隱馬爾可夫模型
- 馬爾可夫鏈模型(轉載)馬爾可夫模型
- 隱馬爾可夫模型(HMM)詳解隱馬爾可夫模型HMM
- 隱馬爾可夫模型及應用隱馬爾可夫模型
- 2022-05-17-馬爾科夫鏈之傳統馬爾可夫鏈馬爾科夫馬爾可夫
- 隱馬爾可夫模型(HMM)中文分詞隱馬爾可夫模型HMM中文分詞
- 機器學習知識點(十)馬爾可夫鏈機器學習馬爾可夫
- 隱馬爾可夫模型(HMM)實現分詞隱馬爾可夫模型HMM分詞
- 使用馬爾可夫模型自動生成文章馬爾可夫模型
- 域結構進化的馬爾可夫模型馬爾可夫模型
- 在 Swift 中使用馬爾可夫鏈生成文字Swift馬爾可夫
- HMM隱馬爾可夫模型來龍去脈(二)HMM隱馬爾可夫模型
- NLP-隱馬爾可夫模型及使用例項隱馬爾可夫模型
- 最簡單的隨機過程——馬爾科夫鏈的Python分析隨機馬爾科夫Python
- 用hmmlearn學習隱馬爾科夫模型HMMHMM馬爾科夫模型
- MCMC(二)馬爾科夫鏈馬爾科夫
- 【HMM】隱馬爾科夫模型HMM馬爾科夫模型
- 隱馬爾可夫模型的Viterbi解碼演算法隱馬爾可夫模型Viterbi演算法
- 用簡單易懂的例子解釋隱馬爾可夫模型隱馬爾可夫模型
- 馬爾可夫鏈你知道多少?Python視覺化解析MCMC馬爾可夫Python視覺化
- [譯] 用 Python 實現馬爾可夫鏈的初級教程Python馬爾可夫
- 維特比演算法和隱馬爾可夫模型的解碼維特比演算法隱馬爾可夫模型
- 一個馬爾科夫鏈例項馬爾科夫
- 使用 Python 生成基於馬爾可夫鏈的偽隨機文字Python馬爾可夫隨機
- 隱馬爾科夫模型HMM(一)HMM模型馬爾科夫模型HMM
- 隱馬爾科夫模型(HMM)分詞研究馬爾科夫模型HMM分詞