强化学习导论(一)
第一章 介紹
當(dāng)我們思考學(xué)習(xí)的本質(zhì)時(shí),第一個(gè)來(lái)到我們腦海中的想法便是通過(guò)與環(huán)境互動(dòng)來(lái)學(xué)習(xí)。
[例] 當(dāng)嬰兒玩耍、舞動(dòng)雙臂或四處張望時(shí),盡管不存在明確的“導(dǎo)師”,但確是與環(huán)境產(chǎn)生了直接的感觀聯(lián)結(jié)(譯者注:人的行動(dòng)與環(huán)境存在關(guān)聯(lián))。
通過(guò)這種聯(lián)結(jié)不斷實(shí)踐(譯者注:人的行動(dòng)以及環(huán)境的反饋,根據(jù)反饋調(diào)整行動(dòng),即人與環(huán)境互動(dòng)的過(guò)程)會(huì)產(chǎn)生大量的因果信息、行動(dòng)及其產(chǎn)生的效果信息以及能夠用來(lái)指導(dǎo)我們?nèi)绾涡袆?dòng)以達(dá)成特定目標(biāo)的信息(譯者注:獲取信息,達(dá)到學(xué)習(xí)的目的)。在生活中,這種互動(dòng)無(wú)疑是我們了解自身與自身所處環(huán)境的主要來(lái)源。
[例] 無(wú)論是學(xué)習(xí)如何駕駛一輛汽車還是與他人保持談話,我們都敏銳的關(guān)注著環(huán)境對(duì)我們的行為作出了怎樣的反應(yīng)(譯者注:環(huán)境的反饋,例如汽車對(duì)我們的操作如何反應(yīng)或他人對(duì)我們所說(shuō)的話如何反應(yīng)),并且嘗試通過(guò)行為來(lái)影響未來(lái)可能發(fā)生的事(譯者注:如何根據(jù)反饋調(diào)整行動(dòng)以達(dá)成特定目標(biāo),例如踩剎車減速避免汽車駛出道路或說(shuō)贊美他人的話使之心情愉悅)。從互動(dòng)中學(xué)習(xí)是幾乎所有學(xué)習(xí)理論和智能理論的基礎(chǔ)理念。
在本書中,我們探索一種從互動(dòng)中學(xué)習(xí)知識(shí)的計(jì)算方法。其并非直接將人或動(dòng)物如何學(xué)習(xí)的過(guò)程簡(jiǎn)單地理論化,而是主要探索理想化的學(xué)習(xí)情景和評(píng)估不同學(xué)習(xí)方法的效果。即,我們是從人工智能研發(fā)者和工程師的角度出發(fā)的。我們探索在科學(xué)或商業(yè)領(lǐng)域行之有效的機(jī)器設(shè)計(jì),并通過(guò)數(shù)學(xué)分析或算例實(shí)驗(yàn)來(lái)評(píng)估這些設(shè)計(jì)。我們將這一正在探索中的學(xué)科稱為強(qiáng)化學(xué)習(xí),與其他機(jī)器學(xué)習(xí)方法相比,它更加關(guān)注基于互動(dòng)的目標(biāo)導(dǎo)向?qū)W習(xí)。
1.1 強(qiáng)化學(xué)習(xí)
強(qiáng)化學(xué)習(xí)問(wèn)題與方法
試錯(cuò)搜索(trial-and-error search)和延遲獎(jiǎng)勵(lì)(delayed reward)是強(qiáng)化學(xué)習(xí)最重要的兩個(gè)特點(diǎn)。(1)試錯(cuò)搜索 強(qiáng)化學(xué)習(xí)的目的是去學(xué)習(xí)怎樣行動(dòng)——怎樣建立從特定情境到特定行動(dòng)的映射——來(lái)獲取最大利益。學(xué)習(xí)者不會(huì)被事先告知采取怎樣的行動(dòng)會(huì)產(chǎn)生最大利益,而是必須通過(guò)嘗試去發(fā)現(xiàn)。(2)延遲獎(jiǎng)勵(lì) 在多數(shù)有趣且富有挑戰(zhàn)的案例中,行動(dòng)可能不僅會(huì)影響即時(shí)獲得的獎(jiǎng)勵(lì),同時(shí)也會(huì)影響下一個(gè)情景,或通過(guò)這樣的過(guò)程波及所有后續(xù)獎(jiǎng)勵(lì)。
強(qiáng)化學(xué)習(xí)包括三個(gè)概念,既是一個(gè)問(wèn)題,又是一類在某些特定問(wèn)題上行之有效的解決方法,還是一個(gè)研究該問(wèn)題和其解決方法的特殊領(lǐng)域(同其他以“ing”結(jié)尾的標(biāo)題如機(jī)器學(xué)習(xí)(machine learning)和登山運(yùn)動(dòng)(mountaineering)類似)。盡管為了便利用一個(gè)名稱來(lái)同時(shí)代表這三個(gè)概念,但從理念上理解它們之間的區(qū)別是必要的。特別是問(wèn)題與其解決方法的區(qū)別,不理解它們會(huì)在學(xué)習(xí)中產(chǎn)生很多的困惑。
我們采用動(dòng)態(tài)系統(tǒng)理論(dynamical systems theory)的觀點(diǎn)來(lái)正式定義強(qiáng)化學(xué)習(xí)問(wèn)題,特別地,將其視為一個(gè)不完全信息馬爾可夫決策過(guò)程的最優(yōu)控制問(wèn)題。定義的全部細(xì)節(jié)只有等到第三章才能完全展開(kāi),但其基本理論是一個(gè)不斷學(xué)習(xí)的智能體通過(guò)與環(huán)境的持續(xù)互動(dòng)來(lái)實(shí)現(xiàn)其特定的目標(biāo)。一個(gè)學(xué)習(xí)中的智能體必須能在一定程度上感知環(huán)境的狀態(tài),且能采取可以影響環(huán)境狀態(tài)的行動(dòng),智能體必須有一個(gè)或多個(gè)與環(huán)境狀態(tài)相關(guān)的目標(biāo)。馬爾可夫決策過(guò)程包括三個(gè)方面——感知,行動(dòng),目標(biāo)——以它們最簡(jiǎn)單的可能形式且不忽略其中任何一個(gè)。任何適用于解決此類問(wèn)題的方法都可以被歸為強(qiáng)化學(xué)習(xí)方法。
強(qiáng)化學(xué)習(xí)與有監(jiān)督/無(wú)監(jiān)督的區(qū)別
這是一種重要的”學(xué)習(xí)“方法,但無(wú)法獨(dú)自地來(lái)通過(guò)互動(dòng)學(xué)習(xí)知識(shí)。此外,在互動(dòng)問(wèn)題中,同時(shí)獲取到具有代表性的情境和其正確行動(dòng)的樣本是不現(xiàn)實(shí)的。在某些未知領(lǐng)域,我們期望能通過(guò)學(xué)習(xí)來(lái)獲取最大利益,因此智能體必須具有從自身經(jīng)驗(yàn)中學(xué)習(xí)的能力。
有監(jiān)督學(xué)習(xí)和無(wú)監(jiān)督學(xué)習(xí)這樣的用語(yǔ)似乎已經(jīng)將機(jī)器學(xué)習(xí)的研究范疇分割完畢,但它們并沒(méi)有。盡管有人可能會(huì)認(rèn)為強(qiáng)化學(xué)習(xí)是一種無(wú)監(jiān)督學(xué)習(xí),因?yàn)樗灰蕾囌_的行為樣本,但強(qiáng)化學(xué)習(xí)嘗試最大化利益而不是嘗試尋找隱藏結(jié)構(gòu)。了解智能體經(jīng)驗(yàn)數(shù)據(jù)的結(jié)構(gòu)自然有利于強(qiáng)化學(xué)習(xí),但它同樣無(wú)法單獨(dú)地解決以最大化利益為目標(biāo)的強(qiáng)化學(xué)習(xí)問(wèn)題。(譯者注:它關(guān)注的是代理如何在一個(gè)環(huán)境中采取行動(dòng)以便最大化某種累積的回報(bào)。一句話:給定數(shù)據(jù),學(xué)習(xí)如何選擇一系列行動(dòng),以最大化長(zhǎng)期收益。)因此,我們認(rèn)為強(qiáng)化學(xué)習(xí)是機(jī)器學(xué)習(xí)的第三個(gè)范疇,與有監(jiān)督學(xué)習(xí)、無(wú)監(jiān)督學(xué)習(xí)或其他可能存在的范疇并列。
強(qiáng)化學(xué)習(xí)一些獨(dú)特的研究范疇
探索-利用困境在于單獨(dú)地進(jìn)行探索或利用均會(huì)導(dǎo)致任務(wù)失敗,智能體必須大量嘗試并逐步偏向那些表現(xiàn)最佳的行動(dòng)。在隨機(jī)任務(wù)中,每個(gè)行動(dòng)都必須被嘗試多次才能獲得一個(gè)關(guān)于其期望值的可靠估計(jì)。這已被數(shù)學(xué)家們集中研究了數(shù)十年,但仍未被解決。目前,我們認(rèn)為完全的探索與利用的平衡問(wèn)題并未出現(xiàn)在監(jiān)督學(xué)習(xí)與無(wú)監(jiān)督學(xué)習(xí)中,至少在它們最純粹的形式中沒(méi)有。
注:強(qiáng)化學(xué)習(xí)會(huì)根據(jù)環(huán)境的反饋,實(shí)時(shí)決策,而有監(jiān)督無(wú)法根據(jù)即時(shí)情況改變計(jì)劃)。盡管這些方法已經(jīng)產(chǎn)生了許多有用的結(jié)果,但它們聚焦于孤立的子問(wèn)題是很大的限制。
強(qiáng)化學(xué)習(xí)完全從相反的路線出發(fā),起始于一個(gè)完整的,互動(dòng)的,目標(biāo)導(dǎo)向的智能體。所有智能體有明確目標(biāo),能夠感知環(huán)境的各個(gè)方面,并且能選擇行動(dòng)來(lái)改變環(huán)境。此外,除了面對(duì)高度不確定的環(huán)境時(shí),通常設(shè)定智能體從一開(kāi)始就必須采取行動(dòng)。當(dāng)涉及到計(jì)劃(規(guī)劃)時(shí),強(qiáng)化學(xué)習(xí)方法必須解決計(jì)劃與實(shí)時(shí)的行動(dòng)選擇之間的協(xié)調(diào),以及環(huán)境模型如何被獲取與改進(jìn)的問(wèn)題。當(dāng)強(qiáng)化學(xué)習(xí)涉及到有監(jiān)督學(xué)習(xí)時(shí),通常用它來(lái)確定哪些能力是關(guān)鍵的而哪些能力不是。為使學(xué)習(xí)研究繼續(xù)下去,重要的子問(wèn)題必須被剝離出來(lái)單獨(dú)研究,但它們應(yīng)在完整的,互動(dòng)的,目標(biāo)導(dǎo)向的智能體中扮演清晰的角色,即使智能體的所有細(xì)節(jié)還未可盡知。
我們并不總是認(rèn)為一個(gè)完整的,互動(dòng)的,目標(biāo)導(dǎo)向的智能體意味著一個(gè)完全的有機(jī)體或機(jī)器人。在許多案例中,智能體只是大型行為系統(tǒng)的一部分。在這種情況下,智能體直接同大系統(tǒng)的其余部分互動(dòng)并間接同大系統(tǒng)的周圍環(huán)境互動(dòng)。一個(gè)簡(jiǎn)單的例子是智能體監(jiān)控機(jī)器人的剩余電量并向機(jī)器人的控制結(jié)構(gòu)傳達(dá)指令。其環(huán)境是除它以外的機(jī)器人結(jié)構(gòu)與機(jī)器人外部的環(huán)境。理解智能體及其外部環(huán)境的區(qū)別才能領(lǐng)會(huì)強(qiáng)化學(xué)習(xí)框架的廣義性。
強(qiáng)化學(xué)習(xí)學(xué)科的重要意義
例如,一些強(qiáng)化學(xué)習(xí)方法具有通過(guò)參數(shù)近似來(lái)學(xué)習(xí)的能力,解決了運(yùn)籌學(xué)和控制論中經(jīng)典的“維數(shù)災(zāi)難”問(wèn)題。更加獨(dú)特的是,強(qiáng)化學(xué)習(xí)同心理學(xué)和神經(jīng)科學(xué)亦有大量的交融之處,并產(chǎn)生了許多可喜的成果。在機(jī)器學(xué)習(xí)所有范疇中,強(qiáng)化學(xué)習(xí)是一種最接近人和動(dòng)物學(xué)習(xí)方式的方法,其許多核心觀點(diǎn)都受到了生物學(xué)習(xí)系統(tǒng)的啟發(fā)。強(qiáng)化學(xué)習(xí)同樣通過(guò)一些與經(jīng)驗(yàn)數(shù)據(jù)匹配度更高的學(xué)習(xí)心理模型和富有影響力的關(guān)于大腦部分激勵(lì)系統(tǒng)的模型對(duì)心理學(xué)和神經(jīng)科學(xué)有所回報(bào)。本書主體部分闡述強(qiáng)化學(xué)習(xí)屬于工程學(xué)與人工智能范疇的觀點(diǎn),同心理學(xué)與神經(jīng)科學(xué)相關(guān)的部分總結(jié)在第14章和第15章。
在我們看來(lái),這個(gè)觀點(diǎn)似乎來(lái)得為時(shí)過(guò)早:還未有多少精力被投入對(duì)通用性規(guī)則的研究,又怎能輕易下其不存在的結(jié)論?現(xiàn)代強(qiáng)化學(xué)習(xí)包含了大量尋找學(xué)習(xí)、搜索和決策等通用性規(guī)則的研究,同時(shí)包容并蓄地嘗試容納大量的領(lǐng)域知識(shí)。盡管鐘錘回?cái)[的程度還不確定,但強(qiáng)化學(xué)習(xí)研究確是人工智能回歸更簡(jiǎn)潔、更通用規(guī)則的確定回?cái)[。
1.2 示例
思考一些具有引導(dǎo)性的示例與應(yīng)用是理解強(qiáng)化學(xué)習(xí)的好方法。
這些示例都具有某些過(guò)于基本以致于極易被忽視的特征。
例如,菲爾必須盯著他正倒入盛著谷物的碗中的牛奶以免其溢出。所有示例涉及的目標(biāo)在某種程度上是清晰的,因此智能體能夠基于直接的感知來(lái)判斷目標(biāo)達(dá)成的進(jìn)展。國(guó)際象棋玩家了解他是否獲得了勝利,精煉廠了解目前產(chǎn)出了多少石油,瞪羚知道它摔倒了,機(jī)器人會(huì)記錄自身的剩余電量,菲爾也清楚他是否享受自己制作的早餐。
1.3 強(qiáng)化學(xué)習(xí)的組成要素
除了智能體與環(huán)境,可以確定強(qiáng)化學(xué)習(xí)系統(tǒng)的四個(gè)主要要素:策略,獎(jiǎng)勵(lì)信號(hào),價(jià)值函數(shù)以及(可選的)環(huán)境模型。
從某種意義上說(shuō),獎(jiǎng)勵(lì)是主要的,而價(jià)值作為獎(jiǎng)勵(lì)的預(yù)測(cè)是次要的。沒(méi)有獎(jiǎng)勵(lì)即沒(méi)有價(jià)值,而且估計(jì)價(jià)值的目的在于獲取更多的獎(jiǎng)勵(lì)。盡管如此,當(dāng)我們?cè)跊Q策或評(píng)估決策時(shí),價(jià)值是我們最關(guān)心的。行動(dòng)選擇基于價(jià)值判斷。我們總是尋求那些能夠帶來(lái)最高價(jià)值而不是最高獎(jiǎng)勵(lì)的行動(dòng),因?yàn)樽罡邇r(jià)值的行動(dòng)可以從長(zhǎng)遠(yuǎn)角度為我們帶來(lái)最高的獎(jiǎng)勵(lì)。不幸的是,確定價(jià)值遠(yuǎn)比確定獎(jiǎng)勵(lì)困難。獎(jiǎng)勵(lì)基本可以由環(huán)境直接給定,但是價(jià)值必須根據(jù)一個(gè)智能體在其整個(gè)生命周期中所做的一系列觀察來(lái)反復(fù)評(píng)估。實(shí)際上,我們認(rèn)為對(duì)于所有強(qiáng)化學(xué)習(xí)算法而言,最重要的部分是一個(gè)能有效地估計(jì)價(jià)值的方法。價(jià)值估計(jì)的核心作用可以說(shuō)是過(guò)去60年來(lái)我們?cè)趶?qiáng)化學(xué)習(xí)中所學(xué)到的最重要的東西。
1.4 限制和適用范圍
強(qiáng)化學(xué)習(xí)嚴(yán)重依賴狀態(tài)的概念——作為策略與價(jià)值函數(shù)的輸入和模型的輸入與輸出。非正式地,我們可以將狀態(tài)視為一個(gè)傳遞給智能體的信號(hào),該信號(hào)包含了在特定時(shí)間“環(huán)境是怎樣的”的信息。我們所使用的關(guān)于狀態(tài)的正式定義在第三章由馬爾科夫決策過(guò)程框架給出。然而更一般地,我們鼓勵(lì)讀者了解非正式的定義并將狀態(tài)視為智能體可獲得的任何關(guān)于環(huán)境的信息。實(shí)際上,我們假設(shè)狀態(tài)信號(hào)是由某種名義上是環(huán)境一部分的預(yù)處理系統(tǒng)給定的。我們?cè)诒緯胁挥懻撊绾螛?gòu)建、改變和學(xué)習(xí)狀態(tài)信號(hào)(但在第17.3章節(jié)有簡(jiǎn)短的介紹)。我們這樣做并非是因?yàn)槲覀冋J(rèn)為狀態(tài)表示不重要,而是為了將內(nèi)容聚焦在決策問(wèn)題上。換言之,我們的主要精力并沒(méi)有放在設(shè)計(jì)狀態(tài)信號(hào)上,而是在狀態(tài)信號(hào)已知時(shí)決定采取何種行動(dòng)。
本書中介紹的大部分強(qiáng)化學(xué)習(xí)方法都圍繞著估計(jì)價(jià)值函數(shù)來(lái)建立,但這并不是解決強(qiáng)化學(xué)習(xí)問(wèn)題的唯一方法。例如,一些諸如遺傳算法,模擬退火和其他優(yōu)化算法的解決方法不需要估計(jì)價(jià)值函數(shù)。此類算法同時(shí)在一段相當(dāng)長(zhǎng)的計(jì)算時(shí)間內(nèi)(譯者注:例如規(guī)定算法最大迭代次數(shù),在實(shí)驗(yàn)中數(shù)值可以隨意設(shè)置)考慮多個(gè)獨(dú)立且完整的策略(譯者注:例如遺傳算法中的種群,種群內(nèi)每一個(gè)染色體相當(dāng)于一個(gè)獨(dú)立的完整策略)同一個(gè)環(huán)境的實(shí)例進(jìn)行交互。獲得帶有隨機(jī)波動(dòng)的最高獎(jiǎng)勵(lì)的策略被傳入下一代策略集合,以此往復(fù)。我們將此類算法稱為進(jìn)化方法,因?yàn)樗鼈兊倪\(yùn)作類似于生物熟練地進(jìn)化繁衍出其他生物體的方式,即使在其生命周期內(nèi)沒(méi)有學(xué)習(xí)如何去進(jìn)化和繁衍。假如策略空間足夠小或者是好策略很容易被設(shè)計(jì)出來(lái)的理想情況,又或者有大量的時(shí)間可以用來(lái)搜索,那么進(jìn)化算法是有效地。此外,進(jìn)化算法在那些智能體無(wú)法完全感知環(huán)境狀態(tài)的問(wèn)題中具有優(yōu)勢(shì)。
我們主要聚焦于通過(guò)與環(huán)境互動(dòng)來(lái)學(xué)習(xí)的強(qiáng)化學(xué)習(xí)方法,而進(jìn)化算法則不具備此特點(diǎn)。在許多案例中,能夠利用個(gè)體行為互動(dòng)細(xì)節(jié)的方法比進(jìn)化方法更加有效。進(jìn)化方法忽略了許多強(qiáng)化學(xué)習(xí)問(wèn)題中有用的結(jié)構(gòu):它們沒(méi)有考慮到其搜尋的策略是一個(gè)從狀態(tài)到行動(dòng)的映射;也未考慮到一個(gè)個(gè)體在其生命周期內(nèi)經(jīng)歷了哪些狀態(tài)或選擇了哪些行動(dòng)。盡管在某些情況下這些信息可能會(huì)產(chǎn)生誤導(dǎo)(例如,狀態(tài)信息被誤判時(shí)),但在大多情況下,它們使得搜索更加高效。雖然進(jìn)化和學(xué)習(xí)有許多共同的特點(diǎn),并且可以自然地協(xié)同工作,但我們不認(rèn)為進(jìn)化方法本身特別適合于強(qiáng)化學(xué)習(xí)問(wèn)題,因此,我們不在本書中討論它們。
1.5 一個(gè)拓展示例:井字棋
為了例證強(qiáng)化學(xué)習(xí)的一般觀點(diǎn)并將其與其他方法比較,我們更加詳細(xì)的考慮一個(gè)示例。
回想一下我們所熟悉的兒童游戲——井字棋。兩個(gè)玩家輪流在3 × 3的棋盤上落子, 一個(gè)玩家使用X型棋子而另一個(gè)玩家使用O型棋子,直到某位玩家有三枚棋子在水平、垂直或?qū)蔷€方向(如下圖所示)連成一行,則判定其獲勝。如果在此之前棋盤已被棋子占滿,則判定為平局。
因?yàn)橐幻?jīng)驗(yàn)豐富的玩家可以使自己永遠(yuǎn)不會(huì)輸,所以讓我們假設(shè)在同一名技術(shù)并不完美的對(duì)手對(duì)弈,因而他可能會(huì)下錯(cuò)使我們獲勝。讓我們暫時(shí)假定平局與輸棋一樣糟糕。我們應(yīng)當(dāng)怎樣構(gòu)建一個(gè)下棋程序來(lái)找到對(duì)手的缺陷并最大化自身獲勝的概率呢?
若干求解方法
然后我們與對(duì)手對(duì)弈了數(shù)局,為了選擇走子的位置,我們需要檢查所有走子之后可能到達(dá)的狀態(tài)(考慮當(dāng)前棋盤上每一個(gè)空白的位置)并在數(shù)值表格中查詢它們目前的價(jià)值。大多數(shù)時(shí)間我們采用貪婪式走子,即選擇能夠在走子之后到達(dá)具有最高價(jià)值(獲勝概率最大)的狀態(tài)的位置。偶爾我們也隨機(jī)的選擇下一步走子的位置,我們將其稱之為探索式走子,它們能讓我們探索過(guò)去從未經(jīng)歷過(guò)的狀態(tài)。游戲中一系列的考慮與行動(dòng)可以表示為圖1.1。
圖 1.1: 一個(gè)井字棋走子序列。實(shí)線表示游戲中實(shí)際走子;虛線表示我們 (我們的強(qiáng)化學(xué)習(xí)程序)考慮但沒(méi)有采用的走子。我們下的第二步棋是探索式走子,這意味著盡管另一個(gè)同代節(jié)點(diǎn) e?的估計(jì)值更高,但我們?nèi)匀浑S機(jī)選取了節(jié)點(diǎn)e。探索式走子本身不能產(chǎn)生新的知識(shí)學(xué)習(xí);但其他的步數(shù)可以,這形成了如圖中紅色曲線箭頭所示的更新,估計(jì)值從樹(shù)的子輩結(jié)點(diǎn)流向父輩結(jié)點(diǎn),關(guān)于這一過(guò)程的細(xì)節(jié)在下文中敘述。
當(dāng)我們?cè)谙缕鍟r(shí), 我們需要更改經(jīng)歷過(guò)的狀態(tài)的價(jià)值來(lái)實(shí)現(xiàn)對(duì)勝率更為準(zhǔn)確的估計(jì)。為了做到這一點(diǎn),我們將貪婪式走子后到達(dá)狀態(tài)的價(jià)值“回傳”給走子之前的狀態(tài),如圖 1.1 所示。更確切地說(shuō),早先狀態(tài)的當(dāng)前價(jià)值更新后向后續(xù)狀態(tài)的價(jià)值靠攏。這可以通過(guò)將后續(xù)狀態(tài)的價(jià)值的一部分賦予早先狀態(tài)的價(jià)值來(lái)實(shí)現(xiàn)。 令S表示貪婪式走子前的狀態(tài),用 S’ 表示貪婪式走子后的狀態(tài), 那么對(duì)S的價(jià)值估計(jì)——記作 V (S)——的更新可以寫作:
V (S) = V (S) + α [ V (S’) - V (S) ]
其中 α 是一個(gè)很小的正分?jǐn)?shù),被稱為步長(zhǎng)參數(shù),能影響學(xué)習(xí)的速率(譯者注:同經(jīng)典的梯度下降算法中的步長(zhǎng)參數(shù)功能類似)。上述更新規(guī)則是時(shí)序差分學(xué)習(xí)方法的一個(gè)示例,其之所以被命名為時(shí)序差分是因?yàn)楦禄?[ V (S’) - V (S) ] 這兩個(gè)不同時(shí)刻的連續(xù)狀態(tài)的估計(jì)價(jià)值之差。
上述方法在這個(gè)問(wèn)題上有良好的表現(xiàn)。例如,如果步長(zhǎng)參數(shù)能隨時(shí)間以合適的速率衰減,那么對(duì)于任何給定的對(duì)手, 任意狀態(tài)的估計(jì)值都能收斂到從該狀態(tài)出發(fā)使用最優(yōu)策略而最終獲勝的真實(shí)概率。更進(jìn)一步說(shuō),收斂后所下的每一步 (除去探索式走子) 事實(shí)上都是針對(duì)這一 (非完美) 對(duì)手的最優(yōu)下法。換言之, 此方法最終收斂為針對(duì)這一對(duì)手的最優(yōu)策略。如果步長(zhǎng)參數(shù)不隨時(shí)間衰減至 0,下棋程序也能很好地應(yīng)對(duì)緩慢地改變策略的對(duì)手(譯者注,始終在一定的程度上持續(xù)地學(xué)習(xí),學(xué)習(xí)的速度取決于步長(zhǎng)參數(shù)衰減后最終的值)。
進(jìn)化方法與值函數(shù)方法的比較
這個(gè)示例闡明了進(jìn)化方法與使用值函數(shù)的方法之間的區(qū)別。為了評(píng)估一個(gè)策略, 進(jìn)化方法將該策略固定,多次同對(duì)手對(duì)弈或使用對(duì)手的模型模擬對(duì)弈,獲勝的頻率給出了使用該策略獲勝概率的無(wú)偏估計(jì),然后被用來(lái)指導(dǎo)下一步的策略選擇。但是,策略改進(jìn)必須要經(jīng)過(guò)數(shù)局游戲,并且只有每局游戲的最終結(jié)果被利用了——發(fā)生在游戲過(guò)程中的一切都被忽略。例如,如果程序獲勝了,那么這局游戲中的所有行為都會(huì)被賦予一定的積分,而沒(méi)有考慮某些行為對(duì)獲勝而言有多么重要。積分甚至?xí)唤o予從未出現(xiàn)過(guò)的走子行為。而使用價(jià)值函數(shù)的方法則與之相反,它允許對(duì)各個(gè)狀態(tài)進(jìn)行單獨(dú)評(píng)估。從結(jié)果上而言,進(jìn)化方法與值函數(shù)方法都是在策略空間中進(jìn)行搜索,但學(xué)習(xí)一個(gè)價(jià)值函數(shù)可以利用游戲過(guò)程中的所有信息。
這個(gè)簡(jiǎn)單的示例說(shuō)明了強(qiáng)化學(xué)習(xí)方法的一些關(guān)鍵特征。首先,強(qiáng)調(diào)從與環(huán)境的互動(dòng)中學(xué)習(xí),在本例中是通過(guò)同對(duì)手對(duì)弈來(lái)學(xué)習(xí)。其次,有明確的目標(biāo),且正確的動(dòng)作選擇要求制定長(zhǎng)遠(yuǎn)的計(jì)劃,即將行動(dòng)選擇的延遲效果考慮在內(nèi)。例如,簡(jiǎn)單的強(qiáng)化學(xué)習(xí)程序可能會(huì)學(xué)會(huì)使用多步陷阱來(lái)針對(duì)目光短淺的對(duì)手。這是強(qiáng)化學(xué)習(xí)方法的一個(gè)顯著特征:不需要一個(gè)模擬對(duì)手行動(dòng)的模型,也不需要對(duì)未來(lái)可能的動(dòng)作、狀態(tài)序列進(jìn)行顯式搜索,就可以達(dá)到計(jì)劃與預(yù)見(jiàn)的目的。
強(qiáng)化學(xué)習(xí)更廣泛的應(yīng)用
雖然在此例證了強(qiáng)化學(xué)習(xí)的一些基本特征,但它實(shí)在太簡(jiǎn)單以致于可能會(huì)給人留下強(qiáng)化學(xué)習(xí)的應(yīng)用十分有限的印象。除了井字棋這樣的雙人游戲外,強(qiáng)化學(xué)習(xí)同樣適用于沒(méi)有外部敵人的情形,即 “與自然斗爭(zhēng)的游戲”。強(qiáng)化學(xué)習(xí)同樣不局限于那些可將行為分解為獨(dú)立片段的問(wèn)題,例如獎(jiǎng)勵(lì)只能在每個(gè)片段(棋局)結(jié)束之后結(jié)算的井字棋游戲。其亦可應(yīng)用于行為無(wú)限持續(xù)且在任意時(shí)間節(jié)點(diǎn)都會(huì)收到不同獎(jiǎng)勵(lì)信號(hào)的問(wèn)題。與在井字棋游戲中的運(yùn)用不同,強(qiáng)化學(xué)習(xí)甚至可以用于無(wú)法劃分為離散步驟的問(wèn)題。強(qiáng)化學(xué)習(xí)的通用規(guī)則同樣適用于連續(xù)時(shí)間問(wèn)題,但涉及理論更加復(fù)雜,因此不在本書中討論。
井字棋游戲具有相對(duì)較小的有限的狀態(tài)集,而強(qiáng)化學(xué)習(xí)可以用于解決狀態(tài)集極大甚至無(wú)窮大的問(wèn)題。例如,Gerry Tesauro (1992,1995)將上述算法與一個(gè)人工神經(jīng)網(wǎng)絡(luò)結(jié)合來(lái)求解西洋雙陸棋問(wèn)題,其大概有1020個(gè)狀態(tài)。因?yàn)闋顟B(tài)太多我們甚至無(wú)法在一定時(shí)間內(nèi)經(jīng)歷其中的一小部分。Tesauro的西洋雙陸棋學(xué)習(xí)程序的表現(xiàn)遠(yuǎn)超之前的其他程序,現(xiàn)在已經(jīng)達(dá)到了世界頂尖人類棋手的水平(見(jiàn)第16章)。神經(jīng)網(wǎng)絡(luò)為程序提供了從經(jīng)驗(yàn)中泛化的能力,因此在到達(dá)一個(gè)從未經(jīng)歷的新?tīng)顟B(tài)時(shí),神經(jīng)網(wǎng)絡(luò)會(huì)參考曾經(jīng)遇到相似狀態(tài)時(shí)儲(chǔ)存的決策信息來(lái)選擇行動(dòng)。強(qiáng)化學(xué)習(xí)系統(tǒng)在具有如此大的狀態(tài)集的問(wèn)題上的表現(xiàn)同它是否能夠很好地根據(jù)過(guò)去經(jīng)驗(yàn)進(jìn)行泛化有緊密的聯(lián)系。在這個(gè)問(wèn)題中,我們非常需要監(jiān)督學(xué)習(xí)和強(qiáng)化學(xué)習(xí)的結(jié)合。但神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)卻并非唯一與最佳的處理方式(見(jiàn)第9.7小節(jié))。
井字棋游戲中,在學(xué)習(xí)開(kāi)始時(shí)沒(méi)有除游戲規(guī)則外的任何先驗(yàn)知識(shí),但強(qiáng)化學(xué)習(xí)并不一定要從空白開(kāi)始。恰恰相反,先驗(yàn)知識(shí)可以以多種方式集成到強(qiáng)化學(xué)習(xí)中,且有時(shí)這對(duì)高效的學(xué)習(xí)而言是有重要意義的。此外,在井字棋游戲中我們可以獲取到真實(shí)的狀態(tài)信息,但強(qiáng)化學(xué)習(xí)也可以應(yīng)用于部分狀態(tài)被隱藏的情形,或者對(duì)學(xué)習(xí)器而言不同的狀態(tài)看上去相同的情形。
最后, 井字棋程序能夠預(yù)見(jiàn)未來(lái)并了解其所有可能的走子所導(dǎo)致的狀態(tài)。為了做到這一點(diǎn),強(qiáng)化學(xué)習(xí)程序需要一個(gè)游戲的模型,其能預(yù)見(jiàn)環(huán)境對(duì)程序尚未走的那一步的可能反應(yīng)。許多問(wèn)題都與此類似, 但在有些問(wèn)題中甚至連在短期內(nèi)預(yù)測(cè)動(dòng)作結(jié)果的模型也無(wú)法得到。強(qiáng)化學(xué)習(xí)在這兩種情況下都適用。模型并不是必須的,但如果有現(xiàn)成的模型或模型可以學(xué)得,那么這些模型可以被相應(yīng)的強(qiáng)化學(xué)習(xí)方法輕而易舉地使用(第8章)。
另一方面,這里也存在不需要任何環(huán)境模型的強(qiáng)化學(xué)習(xí)方法。免模型系統(tǒng)甚至不用預(yù)測(cè)環(huán)境對(duì)單個(gè)動(dòng)作的反應(yīng)。井字棋程序從某種意義上說(shuō)是免模型的:因其沒(méi)有任何關(guān)于對(duì)手的模型。因?yàn)槟P捅仨氁銐驕?zhǔn)確才能派上用場(chǎng),所以在面對(duì)瓶頸在于難以構(gòu)建足夠準(zhǔn)確的環(huán)境模型的問(wèn)題時(shí), 免模型方法比其他更復(fù)雜的方法有優(yōu)勢(shì)。免模型方法也可以被整合進(jìn)有模型方法作為其中的一部分。本書中,我們先用數(shù)章討論免模型方法, 然后再討論其怎樣作為組件嵌入到更復(fù)雜的有模型方法中。
強(qiáng)化學(xué)習(xí)方法既可以用于系統(tǒng)頂層, 也可以用于系統(tǒng)底層。雖然在井字棋程序僅學(xué)會(huì)了游戲的基本下法, 但這不妨礙將強(qiáng)化學(xué)習(xí)用于更高的層次,其中可能每一個(gè)“行動(dòng)” 本身就是一個(gè)復(fù)雜的問(wèn)題解決方法。在分層學(xué)習(xí)系統(tǒng)中,強(qiáng)化學(xué)習(xí)可以同時(shí)服務(wù)于多個(gè)層級(jí)。
總結(jié)
強(qiáng)化學(xué)習(xí)是一種具備理解能力的和自動(dòng)化的目標(biāo)導(dǎo)向?qū)W習(xí)與決策的計(jì)算方法。因?yàn)槠鋸?qiáng)調(diào)在不依賴“外部導(dǎo)師”或完整的環(huán)境模型條件下通過(guò)與周圍環(huán)境直接交互來(lái)學(xué)習(xí),強(qiáng)化學(xué)習(xí)同其他計(jì)算方法有明顯區(qū)別。在我們看來(lái),強(qiáng)化學(xué)習(xí)是第一個(gè)真正解決通過(guò)與環(huán)境交互中學(xué)習(xí)以達(dá)成長(zhǎng)期目標(biāo)時(shí)出現(xiàn)的計(jì)算問(wèn)題的科學(xué)領(lǐng)域。
強(qiáng)化學(xué)習(xí)使用正式的馬爾科夫決策過(guò)程框架中的三個(gè)要素——狀態(tài),行動(dòng)和獎(jiǎng)勵(lì)來(lái)定義智能體與其周圍環(huán)境的互動(dòng)。該框架通過(guò)一種簡(jiǎn)單的方式表達(dá)了人工智能問(wèn)題中有代表性的關(guān)鍵特征。這些特征包括因與果,不確定性和明確目標(biāo)的存在。
價(jià)值與價(jià)值函數(shù)是本書中大多數(shù)強(qiáng)化學(xué)習(xí)方法的核心概念。我們認(rèn)為價(jià)值函數(shù)對(duì)于策略空間中的高效搜索非常重要。價(jià)值函數(shù)的運(yùn)用將強(qiáng)化學(xué)習(xí)方法與進(jìn)化方法區(qū)別開(kāi)來(lái),后者根據(jù)對(duì)完整的策略的評(píng)估來(lái)引導(dǎo)在策略空間中的直接搜索。
總結(jié)
- 上一篇: 8. An Introduction t
- 下一篇: 8.1 A Bayesian Metho