官术网_书友最值得收藏!

1.1.2 強化學習和人工智能的關(guān)系

在當前階段的很多語境下,人們所說的“人工智能”往往和深度學習劃等號。我們知道,和機器學習算法一樣,深度學習算法也主要是數(shù)據(jù)驅(qū)動的。人們首先收集數(shù)據(jù)集,然后基于數(shù)據(jù)集構(gòu)造模型,接著使用訓練數(shù)據(jù)集對模型進行訓練。依據(jù)訓練數(shù)據(jù)集的類型,可以把模型的任務(wù)大致分成兩類,即監(jiān)督學習(Supervised Learning)和無監(jiān)督學習(Unsupervised Learning)。在監(jiān)督學習中,訓練數(shù)據(jù)往往包含一系列的特征(Feature)和特征對應(yīng)的標簽(Label),通過深度學習模型可以學習特征到標簽的映射。典型的例子如圖像分類,有了一組圖像和對應(yīng)的標簽,通過監(jiān)督學習來得到一個模型預(yù)測輸入圖像的標簽。而無監(jiān)督學習的訓練數(shù)據(jù)往往只有特征,模型訓練的目的更多的是從特征中訓練得到數(shù)據(jù)的內(nèi)在關(guān)聯(lián),在這種類型的任務(wù)中,往往需要使用數(shù)據(jù)來構(gòu)造一定的標簽,從數(shù)據(jù)本身挖掘信息(注意,這里一開始并沒有標簽,所謂標簽,只是給定數(shù)據(jù)后人為構(gòu)造出來的,可以人為構(gòu)造任何合理的標簽進行預(yù)測)。典型的例子如Word2Vec模型,通過一系列的文檔,利用單詞之間的上下文關(guān)系,基于深度學習模型構(gòu)造一個單詞的預(yù)測任務(wù),最終得到詞向量。就整體的算法而言,深度強化學習和這兩種任務(wù)既有聯(lián)系,又有區(qū)別。深度強化學習和監(jiān)督學習的聯(lián)系在于,在深度強化學習的過程中,我們往往需要一個模型來擬合所謂的狀態(tài)價值函數(shù)(給定一個狀態(tài),獲取對應(yīng)狀態(tài)的價值),或者有時候需要一個模型來擬合狀態(tài)-動作價值函數(shù)(給定一個狀態(tài)和該狀態(tài)下采取的動作,獲取具體的狀態(tài)-動作對應(yīng)的價值),這兩個函數(shù)可以通過監(jiān)督學習的方法來學習到,因為算法會在強化學習的學習過程中獲取獎勵,從而計算出對應(yīng)的狀態(tài)價值或者狀態(tài)-動作價值,而這個就相當于拿到了監(jiān)督學習中的特征(狀態(tài)或者狀態(tài)動作)和標簽(對應(yīng)的價值),這意味著有了訓練數(shù)據(jù),可以根據(jù)訓練數(shù)據(jù)訓練出一個模型。但是強化學習和監(jiān)督學習也有區(qū)別,因為訓練一個模型來擬合函數(shù)并不是最終目的,而只是手段而已,強化學習的最終目的應(yīng)該是讓智能體盡可能獲得最大的獎勵,而且很多情況下所謂的訓練數(shù)據(jù)并不是給定的(這個并不像普通的深度學習問題),而是隨著智能體對環(huán)境的探索不斷發(fā)生變化。同樣,深度強化學習也有一些無監(jiān)督學習的特征,這個特征主要集中在對環(huán)境的探索上。因為強化學習模型在大多數(shù)情形下無法確知環(huán)境的具體情況,只能通過和環(huán)境的交互來獲取環(huán)境的相關(guān)信息,在這種情況下,可以認為環(huán)境的信息是隱含的,就強化學習使用的模型而言,一開始并沒有數(shù)據(jù)和標簽來進行學習,只能通過智能體對于環(huán)境的探索過程中來得到數(shù)據(jù),并且用數(shù)據(jù)來構(gòu)造標簽來學習,這也和一部分無監(jiān)督學習過程中用數(shù)據(jù)來構(gòu)造標簽(如Word2Vec算法)的做法類似。于是,我們看到的深度強化學習和深度學習的關(guān)系應(yīng)該是有部分交集的,如圖1.1所示。

圖1.1 人工智能不同領(lǐng)域的關(guān)系

我們把話題回到強化學習上面。強化學習算法的發(fā)展和人工智能的歷史是密不可分的。我們可以在強化學習的很多領(lǐng)域看到人工智能算法的影子。和其他的人工智能算法不同,強化學習的一大來源是對動物心理學的研究,這個研究可以追溯到20世紀80年代。在早期對動物進行訓練的時候,人們發(fā)現(xiàn)動物的學習過程遵循著所謂“試錯法”(Trial-and-Error)的模式。動物在實驗中會嘗試不同的行為,當某些行為能夠讓動物感受到快樂的時候,這些行為將會被動物重復(fù)(發(fā)生的概率上升);相反,一些行為讓動物感受到厭惡,則這些行為將會被動物避免(發(fā)生的概率下降)。這個學習模式被稱為效用定律(Law of Effect)。可以簡單地把這個模式稱為趨利避害,這個定律能夠被用于解釋很多動物的行為。而本書主題——強化學習的“強化”這個詞也來源于效用定律。在這里,“強化”被解釋為加強某種行為模式,使得該模式能夠增加獲取某些正面刺激(獎勵)的概率,或者該模式能夠增加避免某些負面刺激(懲罰)的概率。注意,這里的刺激需要能夠?qū)游铮ㄈ绻怯嬎銠C算法,則對應(yīng)本書后面介紹的智能體)的行為做出持久的影響,如果沒有影響,或者影響消失很快,我們則不將刺激視為“強化”。從動物的強化學習行為中,人們總結(jié)歸納了這種學習模式的一些要點,并將其推廣到了計算機算法中。對于這類算法,首先要有探索的能力,也就是遵循一定的模式來完成動作,而且能夠跟環(huán)境完成多種多樣的互動。其次是算法需要有一個學習目標,一般來說,算法會在和環(huán)境互動的時候得到不同程度的獎勵,而算法會不斷改變自己的行為模式,改變的目的是為了盡可能獲得更高的獎勵。從上面一系列的敘述中可以看到,強化學習本身基于的概念非常簡單和直觀,我們可以看到基本上可以認為是趨利避害,當然人們?yōu)榱四軌蛟谟嬎銠C中實現(xiàn)這一系列算法發(fā)明了各種概念,包括策略、價值函數(shù)等,我們將會在本書中對這些概念做深入講解。

強化學習的另一個理論來源是最優(yōu)控制理論(Optimal Control Theory)。所謂最優(yōu)控制理論,就是給定限制條件下,研究如何在這個限制條件下使得某些變量取得最優(yōu)(最大或最小)值的一種理論。舉例來說,在物流行業(yè),人們常常會研究給定一定的運輸能力(比如一定時間能夠調(diào)動的車輛數(shù)目),如何使這些車輛的運輸量最大(比如計算到達目的地的商品數(shù)量),這時就需要考慮運輸路徑的規(guī)劃和車輛的調(diào)度,使得這些車輛的運載能力最大。最優(yōu)控制理論一開始是在數(shù)學的最優(yōu)化理論的研究中產(chǎn)生的,并在實踐中得到了廣泛應(yīng)用,從航天器的飛行登陸和經(jīng)濟學里的資源分配都能看到最優(yōu)控制理論的影子。可以看到,最優(yōu)控制理論和強化學習有很多相似之處,強化學習需要采用一定的策略使得智能體獲取的獎勵最多,最優(yōu)控制理論需要的是讓某些變量取得最優(yōu)值。事實上,大多數(shù)強化學習理論基于的是最優(yōu)控制理論中的一個模型,也就是馬爾可夫決策過程(Markov Decision Process, MDP)。在馬爾可夫決策過程中,算法在某一時刻會根據(jù)環(huán)境的情況和自身所處的狀態(tài)動態(tài)決定當前時刻應(yīng)該采取的動作,從而讓自身得到的獎勵最大。馬爾可夫決策過程的理論非常重要,我們會在后面詳細介紹該過程,并且從這個過程中推導(dǎo)貝爾曼方程(Bellman Equation),這個方程是本書后面使用的絕大多數(shù)算法的基礎(chǔ)。馬爾可夫決策過程有很多求解方法,人們最初求解這類問題使用的是動態(tài)規(guī)劃算法(Dynamic Programming)。和我們在各種算法理論書籍中接觸到的動態(tài)規(guī)劃算法類似,動態(tài)規(guī)劃算法首先會存儲不同狀態(tài)的價值,然后對策略進行采樣,模擬某一策略下智能體能夠到達的狀態(tài),以及獲取的獎勵,最后利用貝爾曼方程來對該狀態(tài)價值進行更新。在不斷迭代的過程中會發(fā)現(xiàn)這些價值逐漸收斂到一個固定的值,這樣就得到了價值函數(shù),可以通過讓智能體使用貪心的策略使得每一次行動總是指向價值最大的狀態(tài),達到我們希望智能體獲得最大獎勵的目的。可以看到,動態(tài)規(guī)劃需要使用額外的空間來存儲兩次迭代的不同狀態(tài)的價值,而且通過不斷采樣,對價值進行估計,最后收斂到確定的價值上。動態(tài)規(guī)劃對于強化學習有重大的意義,通過引入動態(tài)規(guī)劃,強化學習算法可以轉(zhuǎn)化為對狀態(tài)價值函數(shù)(或者狀態(tài)-動作價值函數(shù))進行迭代求解。可以說,動態(tài)規(guī)劃算法是目前為止大部分強化學習算法的基礎(chǔ)。但是如前所述,動態(tài)規(guī)劃算法需要維護一個表來存儲不同狀態(tài)對應(yīng)的價值,當智能體的狀態(tài)趨向于無窮多,甚至趨向于連續(xù)狀態(tài)的時候,動態(tài)規(guī)劃所需要占用的存儲空間就會大量增加。在實際中,我們當然無法存儲這么多狀態(tài),在前面提到過,深度強化學習中引入了對應(yīng)的神經(jīng)網(wǎng)絡(luò)來對這些狀態(tài)價值函數(shù)進行擬合,可以有效地避免過多狀態(tài)無法存儲的現(xiàn)象發(fā)生。

綜上所述,強化學習理論可以看作兩部分的合成,第一部分是對環(huán)境的探索(Exploration),表現(xiàn)在智能體在一定條件下使用一定的策略進行嘗試,并且收獲嘗試的獎勵。第二部分則是對環(huán)境信息的利用(Exploitation),智能體通過不同的嘗試,獲取到關(guān)于環(huán)境的一些信息,盡可能使用這些信息來做出決策,使得從環(huán)境收獲的獎勵盡可能多。在實踐中,這兩個部分往往相互沖突,因為我們可以看到,如果鼓勵智能體對環(huán)境的探索,那么可能冒很大風險,使得獎勵很小,甚至為負;同樣,如果盡可能鼓勵環(huán)境信息的利用,那么很可能智能體獲取的就是次優(yōu)的(Suboptimal)策略,即局限在一個獎勵比較小的區(qū)域,沒有探索到獎勵比較大的區(qū)域。因此,在實際的強化學習算法中,往往需要平衡這兩個方面,從而讓智能體盡可能獲取多的獎勵。

主站蜘蛛池模板: 高碑店市| 资阳市| 三亚市| 伊宁县| 淮滨县| 互助| 潜山县| 玉树县| 绥滨县| 尤溪县| 茂名市| 子长县| 新源县| 甘德县| 玉门市| 武山县| 伊宁县| 肥西县| 介休市| 达尔| 亚东县| 栾川县| 新晃| 潞西市| 灵宝市| 河津市| 冷水江市| 调兵山市| 肇庆市| 峨边| 吴旗县| 扬中市| 崇明县| 邛崃市| 河间市| 绥宁县| 体育| 汝城县| 本溪| 长治县| 焦作市|