王 琨
南京模擬技術研究所,江蘇 南京 210000
神經網(wǎng)絡的泛化能力,即訓練后的神經網(wǎng)絡對測試樣本或工作樣本做出的正確反應的能力,是神經網(wǎng)絡最重要的性能。對于不同類型的測試樣本或工作樣本,若是要訓練出一個具有廣泛適應能力的神經網(wǎng)絡,必然會造成部分資源的浪費,所以如何設計出滿足要求并消耗較少資源的神經網(wǎng)絡,是當前神經網(wǎng)絡領域研究的熱點之一。
Agent的概念出現(xiàn)于 20世紀 70年代的人工智能(AI,Artificial Intelligence)中,80年代后期才成長起來。多Agent系統(tǒng)(MAS,Multi-Agent Systems)是指一些 Agent通過自主協(xié)作完成某些任務或實現(xiàn)某些目標的大型系統(tǒng)。MAS作為Agent相關技術的主要發(fā)展方向,在目前的廣泛應用中受到了極大的關注和重視。MAS指的是由多個能力知識有限且狀態(tài)不同的Agent所組成的Agent系統(tǒng)。這些成員Agent在一個大目標的驅使下,相互合作、相互服務,共同完成一個任務。其中,每個Agent都是完全獨立自治的,不會干擾或影響其他Agent的目標及行為。
本文通過將動態(tài)聯(lián)盟的 Agent系統(tǒng)設計原理引入神經網(wǎng)絡的結構設計中,提出了基于動態(tài)聯(lián)盟的多Agent系統(tǒng)的神經網(wǎng)絡結構設計構架。該構架能夠根據(jù)任務目標需求自適應動態(tài)更新神經網(wǎng)絡的結構,并根據(jù)資源分配方式將神經網(wǎng)絡分解成一些子神經網(wǎng)絡,從而提高神經網(wǎng)絡的適應性及優(yōu)化資源使用率。
單個 Agent由于本身知識和計算資源的有限性,導致其智能性受到限制。多個Agent組成的MAS是一個多Agent系統(tǒng)。多Agent系統(tǒng)成員之間通過相互協(xié)同、相互服務一起完成共同的任務,其中各 Agent系統(tǒng)成員的活動都具有完全的獨立性和自治性,即其自身的行為和目標不會受到系統(tǒng)中其它成員的影響,MAS可以通過協(xié)商等方式處理各 Agent成員在目標和行為上的沖突和矛盾[1]。多個Agent間通過形成聯(lián)盟來執(zhí)行單個 Agent無法完成的任務,能夠提高任務完成的成功率和執(zhí)行的效率。在基于動態(tài)聯(lián)盟的Agent系統(tǒng)中每一個 Agent單元都是可以通過觸發(fā)事件成為聯(lián)盟主導者的動態(tài)聯(lián)盟發(fā)起者;而當任務完成后,聯(lián)盟解散時每一個聯(lián)盟發(fā)起者又會變成一個普通的Agent單元。正是通過這種以完成任務為目的、以臨時結盟為方式的動態(tài)解決任務過程,使得系統(tǒng)擁有了更加有效的任務解決能力[2]。
基于聯(lián)盟式的多Agent系統(tǒng)結構如圖1所示,是在完全集中式與完全分布式的基礎上形成的。每個聯(lián)盟內部都是完全集中式,而聯(lián)盟彼此之間的關系為完全分布式。假設表示多Agent系統(tǒng)的Agent集合,每個Agent所擁有的資源為,其中k表示系統(tǒng)資源的種類,表示Agent所擁有的第l種資源數(shù)量。為系統(tǒng)中待分配的任務集,表示任務分別對 k中資源的需求。聯(lián)盟C的成員Agent所擁有的第l項資源的總和為,若對于任意滿足,則聯(lián)盟劃分滿足要求。
圖1 基于聯(lián)盟式的多Agent系統(tǒng)結構示意圖
動態(tài)聯(lián)盟的組成包括聯(lián)盟盟主(Head of the Coalition,HC)和聯(lián)盟盟員(Member of the Coalition,MC)兩種成員角色。通常,盟主是唯一存在的,而多個盟員與唯一盟主相連。圖 2給出了動態(tài)聯(lián)盟的組成結構,M為聯(lián)盟盟主,A、B、C、D為聯(lián)盟成員,所有聯(lián)盟成員都在盟主周圍由盟主主導對相應事件做出響應。盟主在整個聯(lián)盟中扮演著核心的角色,負責任務的分解、分配和成員的控制管理,還會對完成的任務信息進行融合和記錄。盟員只是簡單地接收任務、執(zhí)行任務、提交結果。動態(tài)聯(lián)盟的生命周期長短根據(jù)事件和任務的需求而定,聯(lián)盟是由于事件或任務的出現(xiàn)而產生的,聯(lián)盟的解散也是在任務被完成之后。動態(tài)聯(lián)盟的生命周期包括了準備期、建立期、工作期和解散期。聯(lián)盟的建立期和工作期是整個工作流程的核心運作時期,包含了盟主與盟員之間的大量通信協(xié)作。
圖2 動態(tài)聯(lián)盟結構示意圖
多Agent系統(tǒng)神經網(wǎng)絡構架如圖3所示。在數(shù)據(jù)訓練過程中,匯聚單元會監(jiān)測數(shù)據(jù)的類型,盟主選擇策略會對盟主的身份進行確定,接下來盟主會根據(jù)全局子網(wǎng)絡節(jié)點的配置信息選擇合適能力與數(shù)量的Agent子網(wǎng)絡形成相關的聯(lián)盟組織。聯(lián)盟形成后根據(jù)數(shù)據(jù)類型以及相關子網(wǎng)絡映射關系將相關數(shù)據(jù)發(fā)送給盟員節(jié)點,盟員節(jié)點獲取數(shù)據(jù)并完成處理后傳送給盟主節(jié)點,盟主節(jié)點在接收的各盟員節(jié)點信息后進行相關的數(shù)據(jù)融合、濾波分析、目標預測等處理最終將結果進行反饋。隨著數(shù)據(jù)類型的變化,開始的聯(lián)盟逐漸變得不再合適,這時會根據(jù)全局信息進行盟主的移位和新聯(lián)盟的確認,整個流程是一個盟主確認、聯(lián)盟組建、盟主移位、聯(lián)盟再組建的循環(huán)過程,只有達到終止條件整個過程才會結束[3]。動態(tài)的聯(lián)盟工作模式保證了子網(wǎng)絡資源的有效利用。
圖3 多Agent系統(tǒng)神經網(wǎng)絡構架示意圖
各子網(wǎng)絡作為 Agent成員,對能夠表征研究對象全部特征的訓練樣本進行訓練,通過訓練在各子網(wǎng)絡內配置好隱節(jié)點。對于作為匯聚單元的子網(wǎng)絡,根據(jù)各類訓練樣本訓練得到各種聯(lián)盟類型,從而根據(jù)輸入數(shù)據(jù)的特征對子網(wǎng)絡組成的聯(lián)盟形式進行調整[4]。在訓練相關子網(wǎng)絡時,其他不相關子網(wǎng)絡處于休眠狀態(tài),從而可以減小網(wǎng)絡規(guī)模,提高訓練速度,增添網(wǎng)絡試試建模能力。動態(tài)聯(lián)盟訓練流程如圖4所示。
圖4 動態(tài)聯(lián)盟訓練流程示意圖
本文提出了基于動態(tài)聯(lián)盟的多 Agent系統(tǒng)神經網(wǎng)絡構架,該構架能夠根據(jù)任務目標需求自適應動態(tài)更新神經網(wǎng)絡的結構,并根據(jù)資源分配方式將神經網(wǎng)絡分解成一些子神經網(wǎng)絡,從而提高神經網(wǎng)絡的適應性及優(yōu)化資源使用率。
[1]何炎祥.Agent和多 Agent系統(tǒng)的設計與應用[M].武漢:武漢大學出版社,2001.
[2]施華傳.多Agent系統(tǒng)中Agents聯(lián)盟問題研究[D].合肥:合肥工業(yè)大學,2003.
[3]馬巧云.基于多Agent系統(tǒng)的動態(tài)任務分配研究[D].武漢:華中科技大學,2006.
[4]孫家民.基于多Agent系統(tǒng)的網(wǎng)絡協(xié)同控制研究[D].沈陽:沈陽理工大學,2017.