劉怡靜,袁建華,汪李峰
摘 要:學習能力是認知無線電區別于現有電臺的最主要特征,研究基于SOAR架構的案例學習功能在已有認知引擎平臺中的設計與實現。首先介紹了人工智能開發工具SOAR的基本原理與概念,進而在認知無線電原型系統平臺上,設計并實現了基于SOAR架構的,具備案例學習能力的認知學習模塊。具備案例學習能力的認知引擎使認知無線電系統具備從以往經驗中獲取知識的能力,提高了其在未來任務中的決策性能。
關鍵詞:認知無線電; 認知引擎; 人工智能; 案例學習; SOAR
中圖分類號:TN92-34
文獻標識碼:A
文章編號:1004-373X(2011)09-0030-05
Design and Realization of Episodic Learning Module in Cognitive Engine
LIU Yi-jing1,2, YUAN Jian-hua1,3, WANG Li-feng2
(1. Postgraduate Team 4 of ICE, PLAUST, Nanjing 210007, China;
2. China Electronics Equipment System Engineering Corporation, Beijing 100141, China;
3. Unit 78158 of PLA, Chengdu 610081, China)
Abstract: Learning capability is the key characteristic of a cognitive radio distinguished from a traditional radio. In this paper, the design and realization of SOAR-based episodic learning function in the available cognitive engine platform are studied emphatically. The basic principle and concepts of SOAR are introduced, which is a widely used in development architecture for artificial intelligence system. The design and realization of SOAR-based episodic learning module are elaborated. By applying episodic learning to cognitive engine, the cognitive radio system could acquire knowledge from experiences and thus improve decision-making capability in its future tasks.
Keywords: cognitive radio; cognitive engine; artificial intelligence; episodic learning; SOAR
0 引 言
相比傳統無線電技術,認知無線電(CR)[1]不僅能夠大幅提高頻譜利用效率,更重要的是能夠優化服務性能、提高服務質量 [2]。作為一門新興技術,雖然認知無線電沒有統一的定義,但一個被廣泛接受的共識是:認知無線電構建于靈活的軟件無線電平臺之上,能夠感知環境和用戶需求,通過認知引擎實現智能決策并控制終端動態重配,從而滿足用戶的業務質量需求。
認知引擎實現并驅動整個認知環路,是實現CR的核心部件。可以說,認知引擎是認知無線電的“大腦”[3-4],而學習能力則將使這“大腦”越來越聰明。具備學習能力的認知引擎能在不斷的認知決策過程中,積累經驗并改善知識庫,從而逐漸提高決策推理能力[5]。鑒于學習在認知系統中的重要性,應用于CR系統的學習算法研究獲得了國內外學者的廣泛關注[6-8],然而這些研究仍停留于理論或仿真層面。針對認知無線電原型系統的學習算法的實際應用研究尚處于起步階段,現有的認知無線電平臺尚未涉及到學習模塊[9],
在已構建認知無線電原型系統平臺上,對基于SOAR中案例學習模塊的設計與實現。
1 SOAR基本原理與概念
SOAR是一種用于構建人工智能系統的體系架構,由人工智能領域的奠基人之一Allen Newell于1983年在密歇根大學帶領團隊啟動研發。目前,SOAR已被廣泛應用于人工智能領域與認知科學領域。人工智能領域的學者使用SOAR作為開發綜合智能主體的工具,而認知科學家則使用SOAR幫助其對認知過程進行建模。下面簡單介紹SOAR的一些基本原理與概念。
1.1 基本原理與問題空間
SOAR遵循認知統一理論[10],即將人類的各種認知行為建模成“行為=架構+內容”的框架。SOAR架構借用人工智能領域中“問題空間”的概念,將認知行為看作相應問題空間中狀態隨時間的連續轉換過程。
圖1為問題空間的概念示意圖[10],矩形代表一個狀態,矩形中f1,f2代表當前狀態的屬性名,v1~v6代表對應屬性的可能取值。為了對某個行為建模,指定一個初始狀態S0,目標狀態用灰色表示,當屬性f2的取值為v6時達到目標狀態。導致問題空間中的狀態轉換的動作稱作操作,用箭頭表示。為了解決某個問題,必須不斷地向當前狀態施加操作以使狀態隨時間不斷進化,直到達到目標狀態。操作的選擇遵循“合理性原則”,即“如果認知主體具備某個操作的應用會達到預置目標的知識,那么該認知主體就選擇這個操作”。
圖1 SOAR架構中狀態空間的概念
1.2 SOAR架構中的基本概念
Working Memory(簡稱WM):儲存短期知識,涵蓋了一個SOAR系統中所有的動態信息,包括感知到的數據、中間的計算、當前的操作和目標。在WM中包括Working Memory Elements(簡稱WMEs),每一個WMEs包括三個符號:標識符、屬性和值。
Rule Memory:存儲長期知識,包含告之系統怎樣在外部環境中行動的知識,這些知識被表示成if-then的規則,稱為產生式。SOAR通過將規則的條件與WM中的數據結構進行比較以決定觸發哪條規則,當規則被觸發后它們又會改變WM中的內容,以觸發新的規則,進入下一輪循環,使得問題空間中的狀態不斷向目標逼近。
操作:在一個SOAR循環中所有匹配的規則可多條并行觸發,為了避免多條規則產生的行動發生沖突,SOAR支持一個特定的實體,稱為操作。操作使SOAR的匹配-觸發循環擴展為一個輸入、操作建議、操作選擇、操作應用、輸出的五階段決策循環。
僵局:有些情況下系統可能會達到一個狀態,在這個狀態下,沒有能夠觸發的規則,或者系統可能會選擇一個操作,但沒有能夠應用這個操作的規則,這種情況被稱為僵局。
子狀態:當系統運行到一個僵局時,會生成一個子狀態,進行在這個狀態下操作的建議、選擇與應用,以解決僵局。
Chunking:產生僵局也意味著SOAR系統需要進行學習。Chunking將學到的知識轉變為新的規則,在以后到達會產生僵局的狀態時,SOAR會觸發新生成的規則,避免僵局再次產生。
2 認知引擎系統架構
本文研究的學習推理模塊構建在認知無線電原型系統的基礎之上,該系統的認知引擎結構如圖2所示。
圖2 認知無線電原型系統認知引擎結構
其中,主控主要負責實現系統的控制界面、與用戶的交互以及各子模塊之間的信息交互與控制,用Python腳本程序來實現;感知模塊接收外界環境信息,在本系統中,基于GNU Radio感知外界電磁頻譜信息,采用Python腳本程序接收波形送來的接收質量指示;波形執行物理層傳輸功能,接收主控的參數信息,完成相應調制解調功能。接收波形向感知模塊發送丟包指示信息。
本文所研究的案例學習集中于知識庫和推理機部分,初始知識庫是用戶離線編寫的SOAR規則庫,用文本文件存儲,其中的規則隱含了系統將要發生的行為模式。推理機用SOAR核心實現,它根據知識庫中的規則以及當前狀態做出決策,并將決策送給主控,進行通信配置;隨后主控將接收來自感知模塊的反饋信息,并據此更新知識庫,從而為后續推理提供更豐富的案例知識。該部分是認知系統智能性的核心體現,其具體設計與實現將在下節中詳細介紹。
3 案例學習模塊的設計與實現
3.1 SOAR的案例學習執行原理
案例記憶的執行架構如圖3所示,圓點表示WMEs。WM中包括保留的區域,即系統的輸入(感知到的內容)和輸出(執行的動作)。執行時在WM中生成了兩個特定的區域,分別是案例記憶的線索構建區域和重獲區域。案例學習模塊監控系統的行為,在指定的時間記錄一個新案例(通常是在一個循環結束時)。案例記憶中存儲的是在記錄時刻WM的整個內容,不包括線索和重獲區域的內容。
圖3 SOAR的案例庫執行圖
在任何時候系統想要重獲一個案例時,就在線索構建區域生成想要重獲的案例的相關線索,線索構建完成后,案例選擇程序就會將線索與記下的案例進行比較,選擇與生成的線索最匹配的案例,被選的案例將在WM的重獲區域中重現。
基于線索的重獲采用最近鄰搜索算法。最佳匹配案例的衡量標準為案例的匹配分數,案例重獲時選擇匹配分數最大的案例進行重現。具體實現如下:
首先系統識別候選案例,候選案例是那些至少與線索有一個相同的WMEs葉節點的案例,每個WMEs在i時刻都有一個激活值:
Ai = β + ln∑nj = 1t-dj
(1)
式中:β為基本級別常量;tj為WMEs被給予第j次激活增進后循環執行的次數;d為學習速率參數,在本系統中令d=0.8。
對每個候選案例中的有兩個需要計算的量:C定義為與線索匹配的WMEs葉節點數;A定義為所有匹配的WMEs葉節點的激活值之和。匹配分數S由下式獲得:
S=αC+(1-α)A
(2)
式中:α為平衡因子,0<α<1,其取值與線索一級所記的案例大小有關。
3.2 原型系統案例學習的設計
3.2.1 設計思路
每個案例包括場景參數、動作、結果、分值四部分。場景參數包括用戶是否受到干擾、頻譜信息的空閑頻譜id號、通信系統當前工作的頻率id號,動作是改變通信系統的工作頻率,結果是執行完相應的動作后用戶是否受到干擾,分值是根據用戶是/否受干擾進行的評分(0/5分)。
系統在每個場景建議三個改變頻率的動作,每個動作有相應的執行結果,根據結果評判出相應的分數。系統在遍歷完所有場景的同時,記下在各個場景下執行相應動作的反饋分數,當系統再次遇到相同場景時,就可以根據以往經驗選擇得分高的動作,達到自動躲避干擾,選擇空閑頻譜傳輸信號的目的,提高系統在未來任務中的性能,體現案例學習的作用。系統的工作流程如圖4所示。
圖4 系統工作流程
3.2.2 系統輸入、輸出接口設計
系統輸入、輸出接口設計如下:
^io
^input-link//輸入接口
^system-info//儲存系統信息,在整個工作過程中不改變
^frequency//可配置的工作頻率,共三個
^id1/2/3 //序號越大對應的頻點值越大
^current-parameters//存儲當前系統參數信息
^frequency
^id1/2/3//通信系統當前工作的頻率id號
^user-experience//存儲用戶當前體驗信息
^is-jammedyes/no//用戶是/否受到干擾
^spectrum-info//存儲外界頻譜感知信息
^frequency
^id1/2/3//每個支路在某個工作頻點上的id號
^is-freeyes/no//工作頻點是/否空閑
^epmem
^score0/5//根據用戶是/否受到干擾,系統的評分0/5
^output-link//輸出接口
^change-frequency//改變系統工作頻率
^id1/2/3
^statuscomplete//當外部環境完成改變波形操作時加入該屬性
3.2.3 具體實現
圖5為系統執行過程生成的狀態簡圖,在頂層狀態epmem下:
首先,系統根據感知到的場景參數在top-state上生成一個situation屬性的值stx,不同場景參數的組合共可生成24種不同的狀態,將這些狀態分別命名為st1,st2,st3,…,st24(以后稱其中某個為stx),這些生成的狀態為i-supported WMEs。接著建議改變頻率(change-frequency)的操作,此時由于沒有應用這條操作的規則,系統會進入一個operator no-change的僵局,為了解決這個僵局,SOAR會自動生成一個子狀態,此時系統進入這個子狀態,進行在這個狀態下操作的建議、選擇與應用,以解決上面的僵局。
在第一個子狀態change-frequency下:系統根據top-state上輸入鏈路的system-info中可配置的三個工作頻率,建議了三個go操作,由于這三個go操作有相同的選擇權,系統又會進入一個tie僵局,此時SOAR又自動生成一個子狀態。
在第二個子狀態go-tie下:若此時top-state上生成的狀態和系統的頻率id之前未遇到過,建議remember操作來記下這兩個屬性,由于沒有應用這條操作的規則,系統再次生成一個子狀態。
在第三個子狀態remember下:產生查詢以往案例的線索,這個線索為remember狀態下的兩個屬性,即當時的狀態stx和系統的頻率id。
系統開始運行時,案例庫中還沒有記錄案例或所記錄的案例很少,找不到與產生的線索相匹配的案例,查詢失敗,未查到的stx和id添加到top-state上,并將此屬性命名為unknown。給具有未知stx和id組合的go操作賦值為1 000分。三個go操作都是1 000分時,系統隨機選擇一個go操作執行,并將這個go操作的stx和id添加到top-state上,為這兩個屬性分別命名為last-situation,last-id。
案例庫記錄下來的就是此時top-state的整個內容。隨著系統遍歷了越來越多的案例,案例庫不斷地充實,系統便可以找到與產生的線索相匹配的案例和分數,將它們記在top-state上生成一個新的屬性situation-all。
遍歷完所有的場景和動作后,top-state上就會生成72個situation-all屬性的值,當進入第一個子狀態時,便可根據situation-all屬性值中的分數給go操作賦值,即可得出go操作的優先級,以后不再產生子狀態。
圖5 系統的狀態圖
4 結 語
認知無線電的能力突出體現在學習能力上,具備學習功能的無線電系統能夠自動判斷出遇到的新情況,對新環境進行建模,并在此基礎上進行優化。本文介紹了一套具備案例學習功能的認知引擎系統。文中使用SOAR 中案例記憶的功能,基于認知無線電原型系統進行建模,設計并實現了案例學習的功能模塊。該模塊使得系統能夠根據以往的經驗,自動選擇空閑頻譜進行傳輸,智能的提高頻譜利用率,達到了學習進化的目的。
向無線電系統中注入智慧是實現認知無線電的目標,先進的人工智能技術為此提供了堅實的理論基礎。如何將人工智能技術更好地應用到認知無線電系統中,需要工程技術人員付出艱辛的努力。
參考文獻
[1]MITOLA J. Cognitive radio-making software radios more personal [J]. IEEE Personal Communications, 1999, 6 (4): 13-18.
[2]AKYILDIZ I F, LEE W Y, VURAN M C, et al. Next generation/dynamic spectrum access/cognitive radio wireless networks: a survey [J]. Computer Networks Journal (Elsevier), 2006, 50: 2127-2159.
[3]FETTE Bruce A.認知無線電技術[M].趙知勁,鄭仕鏈,尚俊娜,譯.北京:科學出版社,2008.
[4]汪李峰,魏勝群.認知引擎技術[J].中興通迅技術,2009(2):5-9.
[5]CLANCY C, HECKER J. Application of machine learning to cognitive radio networks [J]. IEEE Wireless Communications, 2007, 14(4): 47-52.
[6]MAHMOUD Qusay H. Cocgtive networks: towards self-aware networks [M]. USA: John Wiley & Sons, Ltd, 2007.
[7]SU Y, SCHAAR M van der. Learning for cognitive wireless users [C]// Proc. of IEEE DySPAN. [S.l.]: IEEE, 2008.
[8]SCHAAR M van der. Spectrum access games and strategic learning in cognitive radio networks for delay-critical applications [J]. Proceedings of the IEEE, 2009, 97 (4): 720-740.
[9]MCHENRY M, STEADMAN K, LEU A E, et al. XG DSA radio system [C]// Proc. of IEEE DySPAN. [S.l.]: IEEE, 2008.
[10]http://sitemaker.umich.edu/SOAR/home.建議刪除
[11]http://ai.eecs.umich.edu/SOAR/sitemaker/docs/misc/GentleIntroduction-2006.pdf.
[12]黃晨,魏勝群,張華偉,等.基于遺傳算法的快速認知無線電系統[J].現代電子技術,2010,33(7):10-13.
[13]徐世宇,尚俊娜,趙知勁,等.一種基于分組的合作感知方法[J].現代電子技術,2009,32(1):51-53.
[14]高路,康桂華,李慶玲.基于認知無線電網絡的用戶合作頻譜檢測[J].現代電子技術,2009,32(6):143-146.
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文