国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

雙向DIAL 的多智能體交流

2020-07-21 06:30樊敏風(fēng)洪居亭
現(xiàn)代計(jì)算機(jī) 2020年16期
關(guān)鍵詞:通信協(xié)議單向梯度

樊敏風(fēng),洪居亭

(四川大學(xué)電子信息學(xué)院,成都610065)

0 引言

溝通、交流是智能的一個(gè)基本方面,它可以使得智能體能夠作為一個(gè)群體而不是個(gè)體的集合。在現(xiàn)實(shí)世界中,交流對(duì)于執(zhí)行復(fù)雜的任務(wù)至關(guān)重要,因?yàn)樵诂F(xiàn)實(shí)世界中,每個(gè)參與者的能力和世界的可見度都是有限的。在多智能體場景中,智能體如果要進(jìn)行有效地協(xié)同、合作,它們就需要學(xué)會(huì)溝通、交流,來達(dá)成一致的協(xié)議。交流的目的之一是智能體之間共享部分觀察,相鄰的智能體可以更容易地相互理解;其次,相鄰智能體之間可以更容易地完成協(xié)作決策;最后,所有智能體共享一個(gè)策略網(wǎng)絡(luò),這就意味著相鄰智能體可能有類似的行為,但交流可以增加其策略的多樣性。在任何部分可觀察的環(huán)境中,智能體之間的交流對(duì)于協(xié)調(diào)每個(gè)智能體的行為至關(guān)重要,而控制每個(gè)智能體的模型通常是通過強(qiáng)化學(xué)習(xí)來實(shí)現(xiàn)的[2]。多個(gè)智能體在通過各自的觀察之后,可以相互合作,經(jīng)過不斷地向環(huán)境學(xué)習(xí),逐漸接近最終的集體目標(biāo)。多個(gè)智能體在環(huán)境中感知和行動(dòng)問題的目的是最大限度地利用它們的共享效用,在這些環(huán)境中要想解決任務(wù)所需的共享信息問題,智能體不僅要具備交流能力,還必須發(fā)現(xiàn),學(xué)會(huì)通信協(xié)議。

智能體如何能利用深度強(qiáng)化學(xué)習(xí)的方法來自動(dòng)發(fā)現(xiàn)通信協(xié)議,學(xué)會(huì)它們需要的通信協(xié)議來協(xié)調(diào)它們的行為呢?本文針對(duì)這些問題提出一些方案:首先,提出了一組需要交流的多智能體基準(zhǔn)測試任務(wù)(開關(guān)謎語游戲[3]);然后針對(duì)這些任務(wù)提出了DIAL(Differentiable Inter-Agent Learning)算法;最后,分析該算法是如何為這些智能體學(xué)習(xí)或者不學(xué)習(xí)通信協(xié)議的。本文考慮的基準(zhǔn)測試任務(wù)是完全合作的、部分可觀察的多智能體決策問題。所有的智能體只有一個(gè)共同的目標(biāo),那就是最大限度地獲得同樣折扣的獎(jiǎng)勵(lì)總和。雖然沒有一個(gè)智能體能夠觀察潛在的馬爾科夫狀態(tài),但是每一個(gè)智能體都能接收到一個(gè)與該狀態(tài)相關(guān)的私有觀察,除了采取影響環(huán)境的行為之外,每個(gè)智能體還可以通過離散的有限帶寬信道與其他的智能體進(jìn)行交流。由于部分可觀察性和有限的信道容量,智能體必須發(fā)現(xiàn)一種通信協(xié)議,使它們能夠協(xié)調(diào)自己的行為并完成任務(wù)。

1 開關(guān)謎語

本文給出的多智能體基準(zhǔn)測試任務(wù)是開關(guān)謎語游戲,該游戲具體描述如下:

一百名囚犯新被送進(jìn)監(jiān)獄。典獄長告訴他們,從明天開始,他們每個(gè)人都將被安置在一個(gè)孤立的牢房里,無法相互交流。每天,監(jiān)獄長都會(huì)隨機(jī)選擇一名囚犯,并將他安置在一個(gè)無人的院子里,院子里面只有一個(gè)帶有開關(guān)的燈泡。囚犯將能夠觀察燈泡的當(dāng)前狀態(tài)。如果他愿意,他可以通過院子里的開關(guān)開燈關(guān)燈。他還可以選擇告訴典獄長,他認(rèn)為所有囚犯都在某一時(shí)間訪問了該院子。如果他說的是正確的,那么所有囚犯都會(huì)被釋放,但如果是錯(cuò)誤的,所有囚犯都被處決。典獄長離開了,囚犯們聚在一起討論他們的命運(yùn)。他們能否就保證他們自由的協(xié)議達(dá)成一致的協(xié)議呢?

在上面的形式中,如果所有的智能體都已經(jīng)到過院子,則任務(wù)成功完成,獎(jiǎng)勵(lì)為1,否則為-1。所有智能體的目標(biāo)就是最大限度地獲得折扣獎(jiǎng)勵(lì),即智能體達(dá)到的最優(yōu)性能。智能體學(xué)習(xí)效率越高,訓(xùn)練的成功率越大,最優(yōu)性能就越好。開關(guān)謎語游戲帶來了重大的交流與學(xué)習(xí)協(xié)議挑戰(zhàn),因?yàn)橹悄荏w之間只有通過交流來達(dá)成一致的通信協(xié)議才能完成這個(gè)任務(wù)。

2 DIAL理論介紹

為了完成上面的基準(zhǔn)測試任務(wù),可以使用DIAL 方法來訓(xùn)練智能體。DIAL 允許在集中學(xué)習(xí)期間,智能體之間可以傳遞實(shí)值消息,從而將交流行為視為智能體之間的瓶頸連接。因?yàn)榭梢酝ㄟ^通信信道推動(dòng)梯度,從而產(chǎn)生一個(gè)系統(tǒng),該系統(tǒng)在智能體之間也是可以端到端訓(xùn)練的。在分散執(zhí)行期間[4-5],實(shí)值信息被離散化,并映射到任務(wù)允許的一組離散交流操作中,由于DIAL傳遞梯度是從一個(gè)智能體傳遞到另一個(gè)智能體當(dāng)中去的,所有這是一種內(nèi)在的深度學(xué)習(xí)的方法。其次,DIAL的端到端訓(xùn)練是跨智能體的,也就是在不同智能體間進(jìn)行端到端訓(xùn)練。讓梯度從一個(gè)智能體流向另一個(gè)智能體,給它們提供更豐富的反饋,然后通過試錯(cuò)來減少所需的學(xué)習(xí)量,并簡化有效協(xié)議的發(fā)現(xiàn)。DIAL 是最早提出的通過反向傳播與深度Q 網(wǎng)絡(luò)相結(jié)合進(jìn)行學(xué)習(xí)交流的方法,在每個(gè)時(shí)間步驟中,智能體生成的信息作為下一個(gè)時(shí)間步驟中其他智能體的輸入,然后梯度再通過通信信道從一個(gè)智能體反向流到另一個(gè)智能體,帶來豐富的反饋來訓(xùn)練智能體有效地學(xué)會(huì)交流。

在集中學(xué)習(xí)期間,一個(gè)智能體網(wǎng)絡(luò)的輸出與另一個(gè)智能體的網(wǎng)絡(luò)輸入之間的直接連接取代了交流行為。因此,雖然任務(wù)限制了對(duì)離散信息的交流,但是在學(xué)習(xí)過程中,智能體可以自由地互相發(fā)送真正有價(jià)值的信息。由于這些信息的功能與其他任何網(wǎng)絡(luò)的激活功能相同,梯度可以沿信道傳遞回來,從而允許在智能體之間進(jìn)行端到端的反向傳播。每個(gè)智能體由一個(gè)循環(huán)神經(jīng)網(wǎng)絡(luò)組成,該網(wǎng)絡(luò)輸出單個(gè)智能體的Q 值,以及為每個(gè)時(shí)間步驟傳輸?shù)男畔?,然后將生成的信息傳輸?shù)狡渌悄荏w,作為下一時(shí)間步驟中其他智能體的輸入。接收到的信息將嵌入智能體當(dāng)前的觀察和最后的行為,作為全局信息的表示。

DIAL 中的神經(jīng)網(wǎng)絡(luò)輸出兩種不同類型的值,如圖1 所示:(a)環(huán)境行為的Q 值Q(?)被饋送給行為選擇器。(b)傳遞給其他智能體的實(shí)值信息繞過行為選擇器,由DRU 來處理(DRU())。在集中學(xué)習(xí)過程中,DRU 規(guī)范了它。

圖1 DIAL—交流

該過程的表達(dá)式為:

同時(shí),在分散執(zhí)行過程中DRU 使它離散化,其中σ是添加到信道中的噪聲。圖1 顯示了梯度是如何在DIAL 中流動(dòng)的,DIAL 中Q的梯度鏈?zhǔn)腔贒QN 損失的,但是DIAL 中m的梯度項(xiàng)是從信息的接收者向發(fā)送者反向傳遞的誤差。使用這種跨智能體梯度來進(jìn)行訓(xùn)練比RIAL 中Qm的DQN 損失提供了更加豐富的訓(xùn)練信號(hào)。

在圖1 中,智能體1 在t時(shí)刻輸出的信息是繞過行為選擇器由DRU 處理,并作為連續(xù)值傳遞到下一個(gè)Q 神經(jīng)網(wǎng)絡(luò),也就是t+1 時(shí)刻的智能體2 中。與此同時(shí),梯度在智能體之間流動(dòng),從接收方向流向發(fā)送方。同時(shí),所有智能體梯度的更新可以通過整個(gè)網(wǎng)絡(luò)進(jìn)行高效地傳播。

雖然DQN 的誤差僅對(duì)所選的信息為非零,但是傳入的梯度是一個(gè) |m|維的,可包含更多信息的向量,這里的 |m|是m的長度。它還允許網(wǎng)絡(luò)來直接調(diào)整信息,以最大限度地減少下游的DQN 損失,減少對(duì)試錯(cuò)探索的需要來學(xué)習(xí)良好的協(xié)議。由于梯度在智能體之間流動(dòng),DIAL 還可以優(yōu)化信息的內(nèi)容,使之與隨后多次執(zhí)行的獎(jiǎng)勵(lì)相關(guān)。

當(dāng)我們把我們的分析局限于離散信息時(shí),DIAL 自然而然地處理連續(xù)的協(xié)議,因?yàn)樗鼈兪遣町愑?xùn)練的。同時(shí)DIAL 也自然而然地處理連續(xù)的信息空間,因?yàn)樗鼈冊(cè)诩袑W(xué)習(xí)期間無論如何都會(huì)被使用,DIAL 也可以自然而然地?cái)U(kuò)展到大的離散信息空間,因?yàn)樗鼘W(xué)習(xí)的是二進(jìn)制編碼。

3 DIAL中存在的不足

DIAL 方法雖然可以很好地訓(xùn)練多智能學(xué)會(huì)交流,但是,DIAL 在信息交流架構(gòu)上采用的是單向環(huán)狀的交流架構(gòu),而且它的動(dòng)態(tài)規(guī)劃能力不是很好。在DIAL中,神經(jīng)網(wǎng)絡(luò)中的信息傳遞方式只能按照固有的智能體編號(hào)進(jìn)行傳遞:在1,2,3,…i,…3,2,1,的順序中往復(fù)循環(huán)[6]。當(dāng)智能體的個(gè)數(shù)增多時(shí),遍歷一次信息所需要的時(shí)間比較長,同時(shí),在這段時(shí)間內(nèi),如果智能體的狀態(tài)出現(xiàn)大幅度地改變,網(wǎng)絡(luò)就會(huì)失去實(shí)時(shí)性,從而失效了,這樣就無法高效地訓(xùn)練多智能體,這是因?yàn)橹悄荏w的交流方式是單向環(huán)狀交流方式。另外,如果單向環(huán)狀網(wǎng)絡(luò)上的某個(gè)點(diǎn)出現(xiàn)了問題,交流序列在后面的智能體將永遠(yuǎn)無法將信息傳遞給交流序列在前面的智能體,這樣就會(huì)導(dǎo)致智能體之間的交流徹底失效。同時(shí),DIAL 使得智能體之間的連接結(jié)構(gòu)比較不穩(wěn)定,不能很好地處理復(fù)雜的動(dòng)態(tài)環(huán)境問題,也承受不了網(wǎng)絡(luò)架構(gòu)上的破壞??偠灾?,DIAL 雖然可以很好地解決多智能體交流問題,但是在信息交流速度方面以及處理復(fù)雜的動(dòng)態(tài)環(huán)境問題方面,表現(xiàn)依然不是很好。所以本文在下面的內(nèi)容中通過借鑒BRNN[7]的思想對(duì)DIAL 進(jìn)行了改進(jìn),得出了雙向DIAL。

4 雙向DIAL原理

由于DIAL 在處理多智能體交流問題中仍然有些不足,例如交流信息的速度不是很快,智能體之間的連接結(jié)構(gòu)不是很穩(wěn)定,不能很好地處理復(fù)雜的動(dòng)態(tài)環(huán)境較問題,也無法承受神經(jīng)網(wǎng)絡(luò)架構(gòu)上的破壞。針對(duì)這些問題本章提出了用正反兩個(gè)方向的連接方式來對(duì)智能體進(jìn)行連接的方法。這個(gè)方法就是在原DIAL 的基礎(chǔ)上將單向的信息傳遞方式變成雙向的信息傳遞,使得單向DIAL 變成雙向DIAL。這樣智能體就可以進(jìn)行雙向信息交流,交流信息的速度就會(huì)變快,智能體之間的連接結(jié)構(gòu)也更加穩(wěn)定,在處理復(fù)雜的動(dòng)態(tài)環(huán)境問題上表現(xiàn)得更好。

DIAL 是在允許智能體之間傳遞信息的部分可觀察設(shè)置中引入的。智能體也被稱為獨(dú)立學(xué)習(xí)者,也可以找到學(xué)習(xí)獨(dú)立智能體的想法[8]。在DIAL 中,每個(gè)智能體由一個(gè)循環(huán)神經(jīng)網(wǎng)絡(luò)組成,該網(wǎng)絡(luò)輸出單個(gè)智能體的Q 值并為每個(gè)時(shí)間步驟傳送一條消息。然后將生成的信息轉(zhuǎn)移到其他智能體,并在下一個(gè)時(shí)間步中用作其他智能體的輸入。接收到的信息將嵌入智能體當(dāng)前的觀察結(jié)果和最后一個(gè)行動(dòng),作為全局信息的表示形式。獨(dú)立智能體之間的溝通是一種方法,可以緩解智能體間臭名昭著的非平穩(wěn)問題,因?yàn)樘荻戎辽贂?huì)在智能體之間流動(dòng)。對(duì)于雙向DIAL 的學(xué)習(xí),可以直觀地考慮通過受控智能體的數(shù)量的網(wǎng)絡(luò),然后通過時(shí)間反向傳播來計(jì)算反向梯度,這些梯度同時(shí)傳遞給每個(gè)智能體的策略函數(shù)和Q 函數(shù),這些梯度來自所有智能體的行為。換句話說,所有智能體獎(jiǎng)勵(lì)的梯度首先被反向傳遞來影響每個(gè)智能體的行為,同時(shí)這個(gè)智能體產(chǎn)生的梯度被進(jìn)一步傳遞回來更新參數(shù)。

圖2 顯示了雙向DIAL 的交流原理。在該圖中,智能體1 在t時(shí)刻輸出的信息繞過行為選擇器由DRU 處理,處理之后在t+1 時(shí)刻傳遞給智能體2。智能體2 輸出的信息m不僅經(jīng)由DRU 處理之后傳遞給了后面智能體3,同時(shí)也傳遞給了前面的智能體1。從信息流動(dòng)方向來看,是雙向流動(dòng)的。這也說明了智能體2 的輸入由智能體1 的輸出和智能體3(圖中未標(biāo)出)的輸出共同組成的。而梯度還是從后一個(gè)智能體反向流向前一個(gè)智能體,還是單向流動(dòng)的。

圖2 雙向DIAL—交流

從圖2 中可以還看出雙向DIAL 可以使用向前傳遞和向后傳遞的所有可用的輸入信息進(jìn)行訓(xùn)練,這也說明了在訓(xùn)練的時(shí)候雙向DIAL 可以用與單向DIAL基本相同的方法進(jìn)行訓(xùn)練。

5 數(shù)值仿真實(shí)驗(yàn)

本次仿真實(shí)驗(yàn)使用的是ε=0.5 的貪婪策略,折扣因子γ=1,每訓(xùn)練100 次目標(biāo)網(wǎng)絡(luò)重置一次,神經(jīng)網(wǎng)絡(luò)優(yōu)化器選擇了RMSProp 優(yōu)化器,動(dòng)量為0.95,學(xué)習(xí)率為5×10-4。

圖3 是3 個(gè)智能體20 次實(shí)驗(yàn)結(jié)果的指數(shù)加權(quán)平均值得出來的。從圖3 中可以看出,訓(xùn)練開始時(shí)DIAL的最優(yōu)標(biāo)準(zhǔn)化獎(jiǎng)勵(lì)要高于雙向DIAL。當(dāng)訓(xùn)練到500次左右時(shí),雙向DIAL 的最優(yōu)標(biāo)準(zhǔn)化獎(jiǎng)勵(lì)開始反超DIAL,并在后面的訓(xùn)練過程始終保持著領(lǐng)先。

圖4 是4 個(gè)智能體5 次實(shí)驗(yàn)結(jié)果的指數(shù)加權(quán)平均值得出來的。從圖4 中可以看出,當(dāng)訓(xùn)練到2000 次左右時(shí),雙向DIAL 開始優(yōu)于DIAL,并在后面的訓(xùn)練過程中始終保持著領(lǐng)先。圖3 和圖4 證明了雙向DIAL 在一定程度上確實(shí)可以提高訓(xùn)練的速度及成功率,在性能上更優(yōu)于DIAL。

圖3 智能體的個(gè)數(shù)n=3

圖4 智能體的個(gè)數(shù)n=4

6 結(jié)語

本文針對(duì)在DIAL 方法存在的不足,即單向信息傳遞方式使得智能體之間的信息交流速度不是很快,學(xué)習(xí)效率不高。同時(shí)單向連接方式使得智能體之間的連接結(jié)構(gòu)比較不穩(wěn)定,不能很好地處理復(fù)雜的動(dòng)態(tài)環(huán)境問題,也承受不了網(wǎng)絡(luò)架構(gòu)上的破壞,這樣會(huì)導(dǎo)致訓(xùn)練的成功率不是很高。提出了引入BRNN 的思想將單向信息傳遞方式變成正反方向的雙向信息傳遞方式,智能體之間的連接方式也才從單向連接變成了正反方向的雙向連接,于是DIAL 就變成了雙向DIAL。最后是通過實(shí)驗(yàn)證明了雙向DIAL 的性能確實(shí)比DIAL 的性能更好,因?yàn)殡p向DIAL 進(jìn)一步提高了訓(xùn)練的速度及成功率。

猜你喜歡
通信協(xié)議單向梯度
一個(gè)具梯度項(xiàng)的p-Laplace 方程弱解的存在性
內(nèi)容、形式與表達(dá)——有梯度的語言教學(xué)策略研究
單向空間
航磁梯度數(shù)據(jù)實(shí)測與計(jì)算對(duì)比研究
單向街書店:智力、思想和文化生活的公共空間
知世界
獎(jiǎng)狀訓(xùn)練器飛行管理系統(tǒng)研究
組合常見模型梯度設(shè)置問題
基于R8C的汽車OBD通用故障診斷儀設(shè)計(jì)
SIP協(xié)議系統(tǒng)模型的形式化研究
巩义市| 深水埗区| 进贤县| 崇信县| 皮山县| 玛纳斯县| 辰溪县| 安庆市| 安康市| 龙游县| 灵山县| 洛扎县| 稷山县| 遂川县| 新巴尔虎左旗| 开阳县| 龙川县| 韶关市| 津市市| 东明县| 桐庐县| 应用必备| 武定县| 宜城市| 新河县| 卫辉市| 香河县| 邵阳市| 营口市| 肇庆市| 安达市| 旬阳县| 辽阳市| 四川省| 峨山| 南召县| 普安县| 和政县| 红原县| 林周县| 宁明县|