刘怡静,袁建华,汪李峰
摘 要:学习能力是认知无线电区别于现有电台的最主要特征,研究基于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格式阅读原文