- Python 深度學(xué)習(xí)
- 呂云翔 劉卓然 關(guān)捷雄等編著
- 2227字
- 2021-04-14 11:54:15
1.3 強(qiáng)化學(xué)習(xí)
1.3.1 什么是強(qiáng)化學(xué)習(xí)
強(qiáng)化學(xué)習(xí)是機(jī)器學(xué)習(xí)的一個(gè)重要分支,它與非監(jiān)督學(xué)習(xí)、監(jiān)督學(xué)習(xí)并列為機(jī)器學(xué)習(xí)的三類主要學(xué)習(xí)方法,三者之間的關(guān)系如圖1.7所示。強(qiáng)化學(xué)習(xí)強(qiáng)調(diào)如何基于環(huán)境行動(dòng),以取得最大化的預(yù)期利益,所以強(qiáng)化學(xué)習(xí)可以被理解為決策問題。它是多學(xué)科多領(lǐng)域交叉的產(chǎn)物,其靈感來自于心理學(xué)的行為主義理論,即有機(jī)體如何在環(huán)境給予的獎(jiǎng)勵(lì)或懲罰的刺激下,逐步形成對刺激的預(yù)期,產(chǎn)生能獲得最大利益的習(xí)慣性行為。強(qiáng)化學(xué)習(xí)的應(yīng)用范圍非常廣泛,各領(lǐng)域?qū)λ难芯恐攸c(diǎn)各有不同。本書不對這些分支展開討論,而專注于強(qiáng)化學(xué)習(xí)的通用概念。
在實(shí)際應(yīng)用中,人們常常會(huì)把強(qiáng)化學(xué)習(xí)、監(jiān)督學(xué)習(xí)和非監(jiān)督學(xué)習(xí)混淆,為了更深刻地理解強(qiáng)化學(xué)習(xí)和它們之間的區(qū)別,首先我們來介紹監(jiān)督學(xué)習(xí)和非監(jiān)督學(xué)習(xí)的概念。
監(jiān)督學(xué)習(xí)是通過帶有標(biāo)簽或?qū)?yīng)結(jié)果的樣本訓(xùn)練得到一個(gè)最優(yōu)模型,再利用這個(gè)模型將所有的輸入映射為相應(yīng)的輸出,以實(shí)現(xiàn)分類。

圖1.7 強(qiáng)化學(xué)習(xí)、監(jiān)督學(xué)習(xí)、非監(jiān)督學(xué)習(xí)關(guān)系示意圖
非監(jiān)督學(xué)習(xí)是在樣本的標(biāo)簽未知的情況下,根據(jù)樣本間的相似性對樣本集進(jìn)行聚類,使類內(nèi)差距最小化,學(xué)習(xí)出分類器。
上述兩種學(xué)習(xí)方法都會(huì)學(xué)習(xí)出輸入到輸出的一個(gè)映射,它們學(xué)習(xí)出的是輸入和輸出之間的關(guān)系,可以告訴算法什么樣的輸入對應(yīng)著什么樣的輸出,而強(qiáng)化學(xué)習(xí)得到的是反饋,它是在沒有任何標(biāo)簽的情況下,通過先嘗試做出一些行為得到一個(gè)結(jié)果,通過這個(gè)結(jié)果是對還是錯(cuò)的反饋,調(diào)整之前的行為。在不斷的嘗試和調(diào)整中,算法學(xué)習(xí)到在什么樣的情況下選擇什么樣的行為可以得到最好的結(jié)果。此外,監(jiān)督式學(xué)習(xí)的反饋是即時(shí)的,而強(qiáng)化學(xué)習(xí)的結(jié)果反饋有一定的延時(shí),很可能需要走了很多步以后才知道之前某一步的選擇是好還是壞。
1.強(qiáng)化學(xué)習(xí)的4個(gè)元素
強(qiáng)化學(xué)習(xí)主要包含4個(gè)元素:智能體(Agent),環(huán)境狀態(tài)(State),行動(dòng)(Action),反饋(Reward),它們之間的關(guān)系如圖1.8所示,詳細(xì)定義如下所示。

圖1.8 強(qiáng)化學(xué)習(xí)的4個(gè)元素
● 智能體:執(zhí)行任務(wù)的客體,只能通過與環(huán)境互動(dòng)來提升策略。
● 環(huán)境狀態(tài):在每一個(gè)時(shí)間節(jié)點(diǎn),智能體所處環(huán)境的表示。
● 行動(dòng):在每一個(gè)環(huán)境狀態(tài)中,智能體可以采取的動(dòng)作。
● 反饋:每到一個(gè)環(huán)境狀態(tài),智能體就有可能會(huì)收到一個(gè)反饋。
2.強(qiáng)化學(xué)習(xí)算法的目標(biāo)
強(qiáng)化學(xué)習(xí)算法的目標(biāo)是獲得最多的累計(jì)獎(jiǎng)勵(lì)(正反饋)。以“幼童學(xué)習(xí)走路”為例:幼童學(xué)習(xí)走路時(shí),沒有人指導(dǎo)他應(yīng)該如何完成“走路”,他需要通過不斷的嘗試和外界對他的反饋來學(xué)習(xí)。
在此例中,如圖1.8所示,幼童即為Agent,“走路”這個(gè)任務(wù)實(shí)際上包含站起來、保持平衡、邁出左腿、邁出右腿等幾個(gè)階段……幼童采取行動(dòng)進(jìn)行嘗試,當(dāng)他成功完成某個(gè)子任務(wù)時(shí)(如站起來),就會(huì)獲得一個(gè)巧克力(正反饋);當(dāng)他做出了錯(cuò)誤的動(dòng)作時(shí),他會(huì)被輕輕拍打一下(負(fù)反饋)。幼童通過不斷嘗試和調(diào)整,找出了一套最佳的策略,這套策略能使他獲得最多的巧克力。顯然,他學(xué)習(xí)的這套策略能使他順利完成“走路”這個(gè)任務(wù)。
3.強(qiáng)化學(xué)習(xí)的特征
強(qiáng)化學(xué)習(xí)主要包括以下兩個(gè)特征。
1)沒有監(jiān)督者,只有一個(gè)反饋信號(hào)。
2)反饋是延遲的,不是立即生成的。
強(qiáng)化學(xué)習(xí)是序列學(xué)習(xí),時(shí)間在強(qiáng)化學(xué)習(xí)中具有重要的意義;Agent的行為會(huì)影響以后所有的決策。
1.3.2 強(qiáng)化學(xué)習(xí)算法簡介
強(qiáng)化學(xué)習(xí)主要可以分為Model-Free(無模型)和Model-Based(有模型)兩大類。其中,Model-Free算法又分成基于概率的和基于價(jià)值的。
1.Model-Free和Model-Based
如果Agent不需要去理解或計(jì)算環(huán)境模型,算法就是Model-Free的;相反,如果需要計(jì)算出環(huán)境模型,那么算法就是Model-Based的。實(shí)際應(yīng)用中,研究者通常用如下方法進(jìn)行判斷:在Agent執(zhí)行動(dòng)作之前,它能否對下一步的狀態(tài)和反饋?zhàn)龀鲱A(yù)測。如果能,即是Model-Based方法;如果不能,即為Model-Free方法。
兩種方法各有優(yōu)劣,Model-Based方法中,Agent可以根據(jù)模型預(yù)測下一步的結(jié)果,并提前規(guī)劃行動(dòng)路徑。但真實(shí)模型和學(xué)習(xí)到的模型是有誤差的,這種誤差會(huì)導(dǎo)致Agent雖然在模型中表現(xiàn)很好,但是在真實(shí)環(huán)境中可能達(dá)不到預(yù)期結(jié)果。Model-Free的算法看似隨意,但這恰好更易于研究者們?nèi)?shí)現(xiàn)和調(diào)整。
2.基于概率的算法和基于價(jià)值的算法
基于概率的算法直接輸出下一步要采取的各種動(dòng)作的概率,然后根據(jù)概率采取行動(dòng)。每種動(dòng)作都有可能被選中,只是概率不同。基于概率算法的代表是Policy-Gradient,而基于價(jià)值的算法輸出的是所有動(dòng)作的價(jià)值,然后根據(jù)最高價(jià)值來選擇動(dòng)作,相比基于概率的方法,基于價(jià)值的決策部分更為死板—只選價(jià)值最高的,而基于概率的算法即使某個(gè)動(dòng)作的概率最高,但仍有可能不會(huì)被選到。基于價(jià)值的算法的代表算法為Q-Learning。
1.3.3 強(qiáng)化學(xué)習(xí)的應(yīng)用
1.交互性檢索
交互性檢索是在檢索用戶不能構(gòu)建良好的檢索式(關(guān)鍵詞)的情況下,通過與檢索平臺(tái)交流互動(dòng)并不斷修改檢索式,從而獲得較準(zhǔn)確檢索結(jié)果的過程。
例如,當(dāng)用戶想要通過計(jì)算機(jī)搜索一個(gè)競職演講時(shí),他不能提供直接的關(guān)鍵詞,在交互性檢索中,機(jī)器作為Agent,在不斷的嘗試中(提供給用戶可能的問題答案)接受來自用戶的反饋(對答案的判斷),最終找到符合要求的結(jié)果。
2.新聞推薦
如圖1.9所示,一次完整的推薦過程包含以下幾個(gè)過程:用戶點(diǎn)擊App底部刷新或者下拉,后臺(tái)獲取到用戶請求,并根據(jù)用戶的標(biāo)簽召回候選新聞,推薦引擎則對候選新聞進(jìn)行排序,最終給用戶推出10條新聞,如此往復(fù),直到用戶關(guān)閉App,停止瀏覽新聞。將用戶持續(xù)瀏覽新聞的推薦過程看成一個(gè)決策過程,就可以通過強(qiáng)化學(xué)習(xí)來學(xué)習(xí)每一次推薦的最佳策略,從而使得用戶從開始打開App開始到關(guān)閉App這段時(shí)間內(nèi)的點(diǎn)擊量最高。

圖1.9 新聞推薦
在此例中,推薦引擎作為Agent,通過連續(xù)的行動(dòng)(即推送10篇新聞)獲取來自用戶的反饋(即點(diǎn)擊)。如果用戶點(diǎn)擊了新聞,則為正反饋,否則為負(fù)反饋,從中學(xué)習(xí)出獎(jiǎng)勵(lì)最高(點(diǎn)擊量最高)的策略。
- SPSS數(shù)據(jù)挖掘與案例分析應(yīng)用實(shí)踐
- 數(shù)據(jù)庫系統(tǒng)原理及MySQL應(yīng)用教程(第2版)
- ASP.NET Core:Cloud-ready,Enterprise Web Application Development
- Web應(yīng)用系統(tǒng)開發(fā)實(shí)踐(C#)
- Android Jetpack開發(fā):原理解析與應(yīng)用實(shí)戰(zhàn)
- Learning Selenium Testing Tools with Python
- JavaScript+jQuery網(wǎng)頁特效設(shè)計(jì)任務(wù)驅(qū)動(dòng)教程(第2版)
- Django開發(fā)從入門到實(shí)踐
- 程序員考試案例梳理、真題透解與強(qiáng)化訓(xùn)練
- Mastering Scientific Computing with R
- 秒懂設(shè)計(jì)模式
- PHP從入門到精通(第4版)(軟件開發(fā)視頻大講堂)
- NetBeans IDE 8 Cookbook
- Access 2010中文版項(xiàng)目教程
- Statistical Application Development with R and Python(Second Edition)