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