今天,你算法了沒? 0. 簡(jiǎn)介近年來,深度強(qiáng)化學(xué)習(xí)正在興起。世界各地的研究人員和大眾媒體都沒有更多關(guān)注深度學(xué)習(xí)的其他子領(lǐng)域。在深度學(xué)習(xí)方面取得的最大成就是由于深度強(qiáng)化學(xué)習(xí)。來自谷歌的Alpha Go在棋盤游戲中擊敗了世界上最好的人類玩家。此外,DeepMind的 AI代理人,他們自學(xué)走路,跑步和克服障礙。 圖1 圖2 2014年,AI在Atari游戲中遠(yuǎn)遠(yuǎn)超過了人類的水平。其中,最令人驚奇的是,這些AI沒有一個(gè)是由人類明確編程或教導(dǎo)如何解決這些任務(wù),他們通過深度學(xué)習(xí)和強(qiáng)化學(xué)習(xí)的力量自學(xué)。 本文章的目標(biāo)是為您提供必要的數(shù)學(xué)基礎(chǔ)域。 圖3 1 深度強(qiáng)化學(xué)習(xí)深度強(qiáng)化學(xué)習(xí)可以概括為構(gòu)建一個(gè)直接從與環(huán)境的交互中學(xué)習(xí)的算法。環(huán)境可能是現(xiàn)實(shí)世界,計(jì)算機(jī)游戲,模擬甚至是棋盤游戲,如圍棋或國(guó)際象棋。與人類一樣,AI 從其行為的后果中學(xué)習(xí),而不是從明確的教導(dǎo)中學(xué)習(xí)。 圖4 在深度強(qiáng)化學(xué)習(xí)中,代理由神經(jīng)網(wǎng)絡(luò)表示,神經(jīng)網(wǎng)絡(luò)直接與環(huán)境相互作用。它根據(jù)當(dāng)前所處的環(huán)境,并根據(jù)對(duì)當(dāng)前的狀態(tài)和過去的經(jīng)驗(yàn),決定其行動(dòng)(如移動(dòng)左,右等)。然后,根據(jù)其所采取的行動(dòng),收到獎(jiǎng)勵(lì)。獎(jiǎng)勵(lì)金額決定了解決給定問題所采取行動(dòng)的質(zhì)量(例如學(xué)習(xí)如何行走)。代理人的目標(biāo)是學(xué)習(xí)采取行動(dòng)在任何特定情況下,隨著時(shí)間的推移最大化累積獎(jiǎng)勵(lì)。 2 馬爾可夫決策過程Markov決策過程(MDP)是一個(gè)離散時(shí)間的隨機(jī)控制處理。MDP是我們迄今為止為AI代理的復(fù)雜環(huán)境建模的最佳方法。代理旨在解決的每個(gè)問題可以被認(rèn)為是狀態(tài)序列S1,S2,S3,... Sn(狀態(tài)可以是例如Go /象棋板配置)。代理執(zhí)行操作并從一個(gè)狀態(tài)移動(dòng)到另一個(gè)狀態(tài)。在下文中,您將學(xué)習(xí)確定代理在任何給定情況下必須采取的操作的數(shù)學(xué)。 2.1 馬爾可夫過程甲馬爾可夫過程是描述可能的狀態(tài)序列,其中,當(dāng)前狀態(tài)僅依賴于先前的狀態(tài)的隨機(jī)模型。這也稱為Markov Property。對(duì)于強(qiáng)化學(xué)習(xí),這意味著AI代理的下一個(gè)狀態(tài)僅取決于最后一個(gè)狀態(tài)而不是之前的所有先前狀態(tài)。 式1 馬爾可夫過程是一個(gè)隨機(jī)過程。這意味著從當(dāng)前狀態(tài)s 到下一個(gè)狀態(tài)s'的轉(zhuǎn)換只能以某個(gè)概率Pss '發(fā)生。在馬爾可夫過程中,被告知左轉(zhuǎn)的代理人將僅以例如0.998的特定概率離開。由可能性很小的環(huán)境來決定代理的最終結(jié)果。 式2 Pss '可以被認(rèn)為是狀態(tài)轉(zhuǎn)移矩陣 P中的條目,其定義從所有狀態(tài) s到所有后繼狀態(tài) s'的轉(zhuǎn)移概率。 式3 2.2 馬爾可夫獎(jiǎng)勵(lì)程序馬爾可夫獎(jiǎng)勵(lì)過程是元組<S,P,R>。這里R是代理人希望在狀態(tài)s中獲得的獎(jiǎng)勵(lì)。該過程的動(dòng)機(jī)是,對(duì)于旨在實(shí)現(xiàn)某個(gè)目標(biāo)(例如贏得國(guó)際象棋游戲)的AI代理,某些狀態(tài)(游戲配置)在策略和贏得游戲的潛力方面比其他狀態(tài)更有前途。 式4 需要關(guān)注的是總獎(jiǎng)勵(lì)Gt,它是代理人將在所有州的序列中獲得的預(yù)期累積獎(jiǎng)勵(lì)。每個(gè)獎(jiǎng)勵(lì)都由所謂的折扣因子γ∈[0,1]加權(quán)。折扣獎(jiǎng)勵(lì)在數(shù)學(xué)上是方便的,因?yàn)樗苊饬搜h(huán)馬爾可夫過程中的無限回報(bào)。除了折扣因素意味著我們未來越多,獎(jiǎng)勵(lì)變得越不重要,因?yàn)槲磥硗遣淮_定的。如果獎(jiǎng)勵(lì)是金融獎(jiǎng)勵(lì),立即獎(jiǎng)勵(lì)可能比延遲獎(jiǎng)勵(lì)獲得更多利息。除了動(dòng)物/人類行為表明喜歡立即獎(jiǎng)勵(lì)。 式5 2.3 價(jià)值功能另一個(gè)重要的概念是價(jià)值函數(shù)v(s)之一。值函數(shù)將值映射到每個(gè)狀態(tài)s。狀態(tài)s的值被定義為AI代理在狀態(tài)s中開始其進(jìn)展時(shí)將獲得的預(yù)期總獎(jiǎng)勵(lì)。 式6 值函數(shù)可以分解為兩部分:
式7 圖5 3.貝爾曼方程3.1 馬爾可夫獎(jiǎng)勵(lì)過程的Bellman方程分解后的值函數(shù)(式8)也稱為馬爾可夫獎(jiǎng)賞過程的Bellman方程。該函數(shù)可以在節(jié)點(diǎn)圖中可視化(圖6),從狀態(tài)s可以獲得v(s)。在狀態(tài)s中,我們有特定的概率Pss '到下一個(gè)狀態(tài)s中結(jié)束。在這種情況下,我們有兩個(gè)可能的狀態(tài)。為了獲得價(jià)值v(s),我們可以將下一狀態(tài)的v(s')乘以概率Pss‘,然后求和,再加上現(xiàn)階段的直接獎(jiǎng)勵(lì)狀態(tài)v(s)。 式8 圖6 式9 3.2 馬爾可夫決策過程 - 定義馬爾可夫決策過程是馬爾可夫獎(jiǎng)勵(lì)過程的決策。馬爾可夫決策過程由一組元組<S,A,P,R>描述,A是代理可以在狀態(tài)s中采取的一組有限的可能動(dòng)作。因此,現(xiàn)階段s的及時(shí)獎(jiǎng)勵(lì)R也依賴于現(xiàn)階段所采取的行動(dòng)a(式10)。 式10 3.3 政策在這一點(diǎn)上,我們將討論代理如何決定在特定狀態(tài)下必須采取哪些行動(dòng)。這由所謂的政策π(式11)決定。從數(shù)學(xué)角度講,政策是對(duì)給定的所有行動(dòng)的分配。策略確定從狀態(tài)s到代理必須采取的操作a的映射。 式11 該策略導(dǎo)致狀態(tài)值函數(shù)v(s)的新定義(式12),我們現(xiàn)在將其定義為從狀態(tài)s開始的預(yù)期返回,然后遵循策略π。 式12 3.4 行動(dòng)價(jià)值功能除狀態(tài)值函數(shù)之外的另一個(gè)重要功能是所謂的動(dòng)作值函數(shù)q(s,a)(式13)。動(dòng)作值函數(shù)是我們通過從狀態(tài)s開始,采取行動(dòng)a然后遵循策略π獲得的預(yù)期回報(bào)。請(qǐng)注意,對(duì)于狀態(tài)s,q(s,a)可以采用多個(gè)值,因?yàn)榇砜梢栽跔顟B(tài)s中執(zhí)行多個(gè)操作。Q(s,a)的計(jì)算是通過神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)的。由于狀態(tài)s作為輸入,網(wǎng)絡(luò)計(jì)算該狀態(tài)下每個(gè)可能動(dòng)作的質(zhì)量作為標(biāo)量(圖7)。更高的質(zhì)量意味著在給定目標(biāo)方面采取更好的行動(dòng)。 圖7 行動(dòng)價(jià)值函數(shù)告訴我們?cè)谔囟顟B(tài)下采取特定行動(dòng)有多好。 式13 以前,狀態(tài)值函數(shù)v(s)可以分解為以下形式: 式14 相同的分解可以應(yīng)用于動(dòng)作值函數(shù): 式15 在這一點(diǎn)上,我們討論v(s)和q(s,a)如何相互關(guān)聯(lián)。這些函數(shù)之間的關(guān)系可以在圖中再次可視化: 圖8 在這個(gè)例子中處于狀態(tài)s允許我們采取兩種可能的動(dòng)作a。根據(jù)定義,在特定狀態(tài)下采取特定動(dòng)作會(huì)給我們動(dòng)作值q(s,a)。值函數(shù)v(s)是在狀態(tài)s(式16)中采取動(dòng)作a的概率加權(quán)的可能q(s,a)的總和(其不是策略π除外)。 式16 現(xiàn)在讓我們考慮圖9中的相反情況。二叉樹的根現(xiàn)在是一個(gè)我們選擇采取特定動(dòng)作的狀態(tài)。請(qǐng)記住,馬爾可夫過程是隨機(jī)的。采取行動(dòng)并不意味著您將以100%的確定性結(jié)束您想要的目標(biāo)。嚴(yán)格地說,你必須考慮在采取行動(dòng)后最終進(jìn)入其他狀態(tài)的概率。在采取行動(dòng)后,這個(gè)特殊的情況下,一個(gè)你可以在兩個(gè)不同的下一個(gè)狀態(tài)結(jié)束了S': 圖9 要獲得動(dòng)作值,您必須采用由概率Pss'加權(quán)的貼現(xiàn)狀態(tài)值,以最終處于所有可能的狀態(tài)(在這種情況下僅為2)并添加即時(shí)獎(jiǎng)勵(lì): 式17 現(xiàn)在我們知道了這些函數(shù)之間的關(guān)系,我們可以將式17中的v(s)帶入式16中,從而獲得式18。即當(dāng)前q(s,a)和下一個(gè)動(dòng)作值q(s',a')之間存在遞歸關(guān)系。 式18 這種遞歸關(guān)系可以再次在二叉樹中可視化(圖10)。我們從q(s,a)開始,以一定概率Pss'結(jié)束在下一個(gè)狀態(tài)s',我們可以用概率π采取動(dòng)作a',我們以動(dòng)作值q結(jié)束(s', a')。為了獲得q(s,a),我們必須在樹中上升并整合所有概率,如公式18所示。 圖10 3.5最優(yōu)政策 深度強(qiáng)化學(xué)習(xí)中最重要的主題是找到最優(yōu)的動(dòng)作-值函數(shù)q*。查找q*表示代理確切地知道任何給定狀態(tài)下的動(dòng)作的質(zhì)量。此外,代理商可以決定必須采取哪種行動(dòng)的質(zhì)量。讓我們定義q*的意思。最佳的動(dòng)作值功能是遵循最大化動(dòng)作值的策略的功能: 式19 為了找到最好的策略,我們必須在q(s,a)上最大化。最大化意味著我們只選擇q(s,a)具有最高值的所有可能動(dòng)作中的動(dòng)作a。這為最優(yōu)策略π產(chǎn)生以下定義: 式20 3.6 Bellman最優(yōu)性方程可以將最優(yōu)策略的條件插入到式18中。因此為我們提供了Bellman最優(yōu)性方程: 式21 如果AI代理可以解決這個(gè)等式,那么它基本上意味著解決了給定環(huán)境中的問題。代理人在任何給定的狀態(tài)或情況下都知道關(guān)于目標(biāo)的任何可能行動(dòng)的質(zhì)量并且可以相應(yīng)地表現(xiàn)。 微信群&交流合作
|
|