0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

強化學(xué)習(xí)中如何高效地與環(huán)境互動?如何從經(jīng)驗中高效學(xué)習(xí)?

zhKF_jqr_AI ? 來源:未知 ? 作者:李倩 ? 2018-10-30 08:59 ? 次閱讀

強化學(xué)習(xí)中很多重要的難題都圍繞著兩個問題:我們應(yīng)該如何高效地與環(huán)境互動?如何從經(jīng)驗中高效學(xué)習(xí)?在這篇文章中,我想對最近的深度強化學(xué)習(xí)研究做一些調(diào)查,找到解決這兩個問題的方法,其中主要會講到三部分:

分層強化學(xué)習(xí)

記憶和預(yù)測建模

有模型和無模型方法的結(jié)合

首先我們快速回顧下DQN和A3C這兩種方法,之后會深入到最近的幾篇論文中,看看它們在這一領(lǐng)域做出了怎樣的貢獻。

回顧DQN和A3C/A2C

DeepMind的深度Q網(wǎng)絡(luò)(DQN)是深度學(xué)習(xí)應(yīng)用到強化學(xué)習(xí)中實現(xiàn)的第一個重大突破,它利用一個神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)Q函數(shù),來玩經(jīng)典雅達利游戲,例如《乓》和《打磚塊》,模型可以直接將原始的像素輸入轉(zhuǎn)化成動作。

算法上來說,DQN直接依賴經(jīng)典的Q學(xué)習(xí)技術(shù)。在Q學(xué)習(xí)中,動作對的Q值,或者說“質(zhì)量”,是根據(jù)基于經(jīng)驗的迭代更新來估計的。從本質(zhì)上說,在每個狀態(tài)采取的行動,我們都能利用接收到的實時獎勵和新狀態(tài)的價值來更新原始狀態(tài)動作對的價值估計。

除此之外,DeepMind的A3C(Asynchronous Advantage Actor Critic)和OpenAI的變體A2C,對actor-critic方法來說都是非常成功的深度學(xué)習(xí)方法。

Actor-critic方法結(jié)合了策略梯度方法和學(xué)習(xí)價值函數(shù)。只用DQN,我們只能得到學(xué)習(xí)價值函數(shù)(Q函數(shù)),我們跟隨的“策略”也只是簡單的在每一步將Q值達到最大的動作。有了A3C和其他actor-critic方法,我們學(xué)習(xí)兩種不同的函數(shù):策略(或者“演員”)和價值(或者“評委”)。基于當(dāng)前估計的優(yōu)點,策略會調(diào)整動作的概率,價值函數(shù)也會更新基于經(jīng)驗和獎勵的優(yōu)勢。策略如下:

可以看到,降至網(wǎng)絡(luò)學(xué)習(xí)了一個基準(zhǔn)狀態(tài)值V(si;θv),有了它我們可以將目前的獎勵估計R和得到的優(yōu)點相比較,策略網(wǎng)絡(luò)會根據(jù)這些優(yōu)點用經(jīng)典強化算法調(diào)整對數(shù)幾率。

A3C之所以這么受歡迎,主要原因是它結(jié)構(gòu)的平行和不同步性,具體結(jié)構(gòu)不是本文重點討論的內(nèi)容,感興趣的讀者可以查看DeepMind的IMPALA論文。

DQN和A3C/A2C都是強大的基準(zhǔn)智能體,但遇到復(fù)雜問題時,它們并不那么好用,比如可能觀察補全或者在動作和獎勵信號之間有延遲。所以,強化學(xué)習(xí)領(lǐng)域的研究者們一直致力于解決這些問題。

分層強化學(xué)習(xí)

分層強化學(xué)習(xí)是強化學(xué)習(xí)方法的一種,它從策略的多個圖層中學(xué)習(xí),每一層都負責(zé)控制不同時間下的動作。策略的最下一層負責(zé)輸出環(huán)境動作,上面幾層可以完成其他抽象的目標(biāo)。

為什么這種方法如此受歡迎呢?首先,從認知角度來看,長久以來的研究都表示,人類和動物的行為都是有組織的。例如,當(dāng)我們想做飯的時候,我會把這一任務(wù)分成好幾部分完成:洗菜、切菜、燒水煮面等等。我還可以把其中的某一小任務(wù)進行替換,比如把煮面換成蒸米飯,也能完成做好一頓飯的總?cè)蝿?wù)。這就說明現(xiàn)實世界中的任務(wù)內(nèi)部是有結(jié)構(gòu)的。

從技術(shù)層面來說,分層強化學(xué)習(xí)能幫助解決上述提到的第二個問題,即如何從經(jīng)驗中高效地學(xué)習(xí),解決方法就是通過長期信用分配和稀疏獎勵信號。在分層強化學(xué)習(xí)中,由于低層次的策略是從高層次策略分布的任務(wù)所得到的內(nèi)部獎勵學(xué)習(xí)的,即使獎勵稀疏,也可以學(xué)到其中的小任務(wù)。另外,高層次策略生成的時間抽象可以讓我們的模型處理信用分配。

說到具體工作原理,實施分層強化學(xué)習(xí)的方法有很多。最近,谷歌大腦團隊的一篇論文就采取了一種簡易方法,他們的模型稱為HIRO。

核心思想如下:我們有兩個策略層,高層策略訓(xùn)練的目的是為了讓環(huán)境獎勵R實現(xiàn)最大化。每一步后,高層策略都會對新動作進行采樣。低層策略訓(xùn)練的目的是為了采取環(huán)境行動,生成與給定的目標(biāo)狀態(tài)相似的狀態(tài)。

訓(xùn)練低層策略時,HIRO用的是深度確定性策略梯度(DDPG)的變體,它的內(nèi)部獎勵是將目前得到的觀察和目標(biāo)觀察之間的距離進行參數(shù)化:

DDPG是另一種開創(chuàng)新的深度強化學(xué)習(xí)算法,它將DQN的思想擴展到了持續(xù)動作空間中。他也是另一種actor-critic方法,使用策略梯度來優(yōu)化策略。

不過,HIRO絕不是唯一的分層強化學(xué)習(xí)方法。FeUdal網(wǎng)絡(luò)出現(xiàn)的時間更早,它將經(jīng)過學(xué)習(xí)的“目標(biāo)”表示作為輸入,而不是原始狀態(tài)的觀察。另外還有很多方法需要一定程度的手動操作或領(lǐng)域知識,這就限制了其泛化能力。我個人比較喜歡的最近的一項研究成果是基于人口的訓(xùn)練(PBT),其中他們將內(nèi)部獎勵看作額外的超參數(shù),PBT在訓(xùn)練時人口“增長”的過程中對這些超參數(shù)進行優(yōu)化。

如今,分層強化學(xué)習(xí)是非?;馃岬难芯繉ο?,雖然它的核心是非常直觀的,但它可擴展、多任務(wù)并行、能解決強化學(xué)習(xí)中的許多基礎(chǔ)性問題。

存儲和注意力

現(xiàn)在讓我們談?wù)劻硗饽芙鉀Q長期信用分配和稀疏獎勵信號問題的方法。通俗點說,我們想知道智能體如何能擅長記憶。

深度學(xué)習(xí)中的記憶總是非常有趣,科學(xué)家們經(jīng)歷了千辛萬苦,也很難找到一種結(jié)構(gòu)能打敗經(jīng)過良好調(diào)校的LSTM。但是,人類的記憶機制可不像LSTM。當(dāng)我們從家開車去超市時,回想的都是原來走過幾百次的路線記憶,而不是怎么從倫敦的一個城市到另一個城市的路線。所以說,我們的記憶是根據(jù)情景可查詢的,它取決于我們在哪里、在干什么,我們的大腦知道哪部分記憶對現(xiàn)在有用。

在深度學(xué)習(xí)中,Neural Turing Machine是外部、關(guān)鍵信息存儲方面論文的標(biāo)桿,這也是我最喜歡的論文之一,它提出通過向量值“讀取”和“寫入”特定位置,利用可區(qū)分的外部存儲器對神經(jīng)網(wǎng)絡(luò)進行增強。如果把它用在強化學(xué)習(xí)上會怎樣?這就是最近的MERLIN結(jié)構(gòu)的思想。

MERLIN有兩個組成部分:基于記憶的預(yù)測器(MBP)和一個策略網(wǎng)絡(luò)。MBP負責(zé)將觀察壓縮成有用的、低維的“狀態(tài)變量”,將它們直接儲存在關(guān)鍵的記憶矩陣中。

整個過程如下:對輸入觀察進行編碼,并將其輸入到MLP中,輸出結(jié)果被添加到先驗分布中,生成后驗分布。接著,后驗分布經(jīng)過采樣,生成一個狀態(tài)變量zt。接著,zt輸入到MBP的LSTM網(wǎng)絡(luò)中,輸出結(jié)果用來更新先驗,并且進行讀取或書寫。最后,策略網(wǎng)絡(luò)運用z_t和讀取輸出生成一個動作。

關(guān)鍵細節(jié)在與,為了保證狀態(tài)表示時有用的,MBP同樣經(jīng)過訓(xùn)練需要預(yù)測當(dāng)前狀態(tài)下的獎勵,所以學(xué)習(xí)到的表示和目前的任務(wù)要相關(guān)。

不過,MERLIN并不是唯一使用外部存儲器的深度強化學(xué)習(xí)網(wǎng)絡(luò),早在2016年,研究者就在一個記憶Q網(wǎng)絡(luò)中運用了這一方法,來解決Minecraft中的迷宮問題。不過這種將存儲用作預(yù)測模型的方法有一些神經(jīng)科學(xué)上的阻礙。

MERLIN的基于存儲的預(yù)測器對所有觀察進行編碼,將它們與內(nèi)部先驗結(jié)合,生成一個“狀態(tài)變量”,可以捕捉到一些表示,并將這些狀態(tài)存儲到長期記憶中,讓智能體在未來可以做出相應(yīng)的動作。

智能體、世界模型和想象力

在傳統(tǒng)強化學(xué)習(xí)中,我們可以做無模型學(xué)習(xí),也可以做基于模型的學(xué)習(xí)。在無模型的強化學(xué)習(xí)中,我們學(xué)著將原始環(huán)境觀察直接映射到某個值或動作上。在基于模型的強化學(xué)習(xí)中,我們首先會學(xué)習(xí)一個基于原始觀察的過渡模型,然后用這個模型來選擇動作。

能在模型上進行計劃比單純的試錯法更高效,但是,學(xué)習(xí)一個好的模型通常很困難,所以早期很多深度強化學(xué)習(xí)的成功都是無模型的(例如DQN和A3C)。

這就表示,無模型和有模型的強化學(xué)習(xí)之間的界線很模糊?,F(xiàn)在,一種新的“Imagination-augmented Agents”算法出現(xiàn)了,將這兩種方法結(jié)合了起來。

在Imagination-Augmented Agents(I2A)中,最終策略是一個無模型模塊和有模型模塊并存的函數(shù)。有模型的模塊可以看做智能體對環(huán)境的“想象”,其中包含了智能體內(nèi)部想象的活動軌跡。但是,關(guān)鍵是有模型模塊在終點處有一個編碼器,它可以聚集想象軌跡,并將它們進行編譯,讓智能體在必要的時候忽略那些想象。所以,當(dāng)智能體發(fā)現(xiàn)它的內(nèi)部模型在進行無用或不精確的想象時,它可以學(xué)習(xí)忽略模型,用無模型部分繼續(xù)工作。

I2A的工作流程

和A3C以及MERLIN類似,該策略也是通過一個標(biāo)準(zhǔn)策略梯度損失進行訓(xùn)練,如下:

I2A之所以如此受歡迎的原因之一是,在某些情況下,這也是我們在現(xiàn)實中處理情況的方法。我們總是根據(jù)所處的環(huán)境下,目前的精神想法對未來做計劃和預(yù)測,但我們知道,我們的精神模型可能不完全準(zhǔn)確,尤其是當(dāng)我們來到一個陌生環(huán)境中時。在這種情況下,我們就會進行試錯法,就像無模型方法一樣,但同時我們還會利用這一段新體驗對內(nèi)在精神環(huán)境進行更新。

除此之外,還有很多研究結(jié)合了有模型和無模型兩種方法,例如伯克利的Temporal Difference Model等,這些研究論文都有著相同目標(biāo),即達到像無模型方法一樣的性能,同時具有和基于模型方法相同的高效采樣率。

結(jié)語

深度強化學(xué)習(xí)模型非常難以訓(xùn)練,但是正是因為這樣的難度,我們想到了如此多種的解決方案。這篇文章只是對深度強化學(xué)習(xí)的不完全調(diào)查,除了本文提到了方法,還有很多針對深度強化學(xué)習(xí)的解決方案。但是希望文中所提到的關(guān)于記憶、分層和想象的方法對該領(lǐng)域中所遇到的挑戰(zhàn)和瓶頸有所幫助。最后,Happy RL hacking!

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4367

    瀏覽量

    64125
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5554

    瀏覽量

    122449
  • 強化學(xué)習(xí)
    +關(guān)注

    關(guān)注

    4

    文章

    269

    瀏覽量

    11512

原文標(biāo)題:除了DQN/A3C,還有哪些高級強化學(xué)習(xí)成果

文章出處:【微信號:jqr_AI,微信公眾號:論智】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 1人收藏

    評論

    相關(guān)推薦
    熱點推薦

    【書籍評測活動NO.61】Yocto項目實戰(zhàn)教程:高效定制嵌入式Linux系統(tǒng)

    項目,新書《Yocto項目實戰(zhàn)教程:高效定制嵌入式Linux系統(tǒng)》應(yīng)運而生。這本書在官方文檔的基礎(chǔ)上,結(jié)合筆者多年的嵌入式開發(fā)經(jīng)驗,提煉核心理論框架,使其易讀易懂。同時輔以大量實踐案例,幫助讀者系統(tǒng)化學(xué)習(xí)
    發(fā)表于 05-21 10:00

    學(xué)電路設(shè)計分享學(xué)習(xí)心得、技術(shù)疑問及實戰(zhàn)成果,贏取專屬禮品!

    隨著物聯(lián)網(wǎng)、智能硬件等領(lǐng)域的快速發(fā)展,硬件開發(fā)與電路設(shè)計技能成為電子工程師和創(chuàng)客的核心競爭力。為幫助剛?cè)胄械碾娮有“?、高校大學(xué)生高效掌握基礎(chǔ)理論到實戰(zhàn)應(yīng)用的能力,電子發(fā)燒友平臺推出學(xué)習(xí) 《硬件開發(fā)
    發(fā)表于 05-14 09:53

    18個常用的強化學(xué)習(xí)算法整理:基礎(chǔ)方法到高級模型的理論技術(shù)與代碼實現(xiàn)

    本來轉(zhuǎn)自:DeepHubIMBA本文系統(tǒng)講解基本強化學(xué)習(xí)方法到高級技術(shù)(如PPO、A3C、PlaNet等)的實現(xiàn)原理與編碼過程,旨在通過理論結(jié)合代碼的方式,構(gòu)建對強化學(xué)習(xí)算法的全面理解。為確保內(nèi)容
    的頭像 發(fā)表于 04-23 13:22 ?254次閱讀
    18個常用的<b class='flag-5'>強化學(xué)習(xí)</b>算法整理:<b class='flag-5'>從</b>基礎(chǔ)方法到高級模型的理論技術(shù)與代碼實現(xiàn)

    詳解RAD端到端強化學(xué)習(xí)后訓(xùn)練范式

    受限于算力和數(shù)據(jù),大語言模型預(yù)訓(xùn)練的 scalinglaw 已經(jīng)趨近于極限。DeepSeekR1/OpenAl01通過強化學(xué)習(xí)后訓(xùn)練涌現(xiàn)了強大的推理能力,掀起新一輪技術(shù)革新。
    的頭像 發(fā)表于 02-25 14:06 ?456次閱讀
    詳解RAD端到端<b class='flag-5'>強化學(xué)習(xí)</b>后訓(xùn)練范式

    直擊 MBR2054:低正向壓降如何成就高效電路,應(yīng)用實例解讀#

    高效電路
    杰克船長6262
    發(fā)布于 :2025年02月22日 14:23:54

    螞蟻集團收購邊塞科技,吳翼出任強化學(xué)習(xí)實驗室首席科學(xué)家

    近日,專注于模型賽道的初創(chuàng)企業(yè)邊塞科技宣布被螞蟻集團收購。據(jù)悉,此次交易完成后,邊塞科技將保持獨立運營,而原投資人已全部退出。 與此同時,螞蟻集團近期宣布成立強化學(xué)習(xí)實驗室,旨在推動大模型強化學(xué)習(xí)
    的頭像 發(fā)表于 11-22 11:14 ?1306次閱讀

    什么是機器學(xué)習(xí)?通過機器學(xué)習(xí)方法能解決哪些問題?

    計算機系統(tǒng)自身的性能”。事實上,由于“經(jīng)驗”在計算機系統(tǒng)主要以數(shù)據(jù)的形式存在,因此機器學(xué)習(xí)需要設(shè)法對數(shù)據(jù)進行分析學(xué)習(xí),這就使得它逐漸成為智能數(shù)據(jù)分析技術(shù)的創(chuàng)新源之一,
    的頭像 發(fā)表于 11-16 01:07 ?815次閱讀
    什么是機器<b class='flag-5'>學(xué)習(xí)</b>?通過機器<b class='flag-5'>學(xué)習(xí)</b>方法能解決哪些問題?

    NPU在深度學(xué)習(xí)的應(yīng)用

    設(shè)計的硬件加速器,它在深度學(xué)習(xí)的應(yīng)用日益廣泛。 1. NPU的基本概念 NPU是一種專門針對深度學(xué)習(xí)算法優(yōu)化的處理器,它與傳統(tǒng)的CPU和GPU有所不同。NPU通常具有高度并行的處理能力,能夠
    的頭像 發(fā)表于 11-14 15:17 ?1664次閱讀

    如何使用 PyTorch 進行強化學(xué)習(xí)

    的計算圖和自動微分功能,非常適合實現(xiàn)復(fù)雜的強化學(xué)習(xí)算法。 1. 環(huán)境(Environment) 在強化學(xué)習(xí)環(huán)境是一個抽象的概念,它定義了
    的頭像 發(fā)表于 11-05 17:34 ?890次閱讀

    使用bq2000的高效化學(xué)充電器

    電子發(fā)燒友網(wǎng)站提供《使用bq2000的高效化學(xué)充電器.pdf》資料免費下載
    發(fā)表于 10-24 09:31 ?0次下載
    使用bq2000的<b class='flag-5'>高效</b>雙<b class='flag-5'>化學(xué)</b>充電器

    谷歌AlphaChip強化學(xué)習(xí)工具發(fā)布,聯(lián)發(fā)科天璣芯片率先采用

    近日,谷歌在芯片設(shè)計領(lǐng)域取得了重要突破,詳細介紹了其用于芯片設(shè)計布局的強化學(xué)習(xí)方法,并將該模型命名為“AlphaChip”。據(jù)悉,AlphaChip有望顯著加速芯片布局規(guī)劃的設(shè)計流程,并幫助芯片在性能、功耗和面積方面實現(xiàn)更優(yōu)表現(xiàn)。
    的頭像 發(fā)表于 09-30 16:16 ?629次閱讀

    如何幫助孩子高效學(xué)習(xí)Python:開源硬件實踐是最優(yōu)選擇

    顯著提升孩子的學(xué)習(xí)興趣和對Python原理的理解。本文將探討為何使用Raspberry Pi(樹莓派)或Unihiker(行空板)等開源硬件是孩子們掌握Python的最佳途徑。 讓孩子們在Python學(xué)習(xí)更加
    的頭像 發(fā)表于 09-06 09:49 ?571次閱讀

    PyTorch深度學(xué)習(xí)開發(fā)環(huán)境搭建指南

    PyTorch作為一種流行的深度學(xué)習(xí)框架,其開發(fā)環(huán)境的搭建對于深度學(xué)習(xí)研究者和開發(fā)者來說至關(guān)重要。在Windows操作系統(tǒng)上搭建PyTorch環(huán)境,需要綜合考慮多個方面,包括軟件安裝、
    的頭像 發(fā)表于 07-16 18:29 ?2218次閱讀

    機器學(xué)習(xí)在數(shù)據(jù)分析的應(yīng)用

    隨著大數(shù)據(jù)時代的到來,數(shù)據(jù)量的爆炸性增長對數(shù)據(jù)分析提出了更高的要求。機器學(xué)習(xí)作為一種強大的工具,通過訓(xùn)練模型數(shù)據(jù)中學(xué)習(xí)規(guī)律,為企業(yè)和組織提供了更高效、更準(zhǔn)確的數(shù)據(jù)分析能力。本文將深入
    的頭像 發(fā)表于 07-02 11:22 ?1225次閱讀

    通過強化學(xué)習(xí)策略進行特征選擇

    更快更好地學(xué)習(xí)。我們的想法是找到最優(yōu)數(shù)量的特征和最有意義的特征。在本文中,我們將介紹并實現(xiàn)一種新的通過強化學(xué)習(xí)策略的特征選擇。我們先討論強化學(xué)習(xí),尤其是馬爾可夫決策
    的頭像 發(fā)表于 06-05 08:27 ?577次閱讀
    通過<b class='flag-5'>強化學(xué)習(xí)</b>策略進行特征選擇

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學(xué)習(xí)
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品