发明名称 一种具有内发动机机制的感知运动系统认知及其学方法
摘要 一种具有内发动机机制的感知运动系统认知及其学方法属于智能机器人技术领域。系统认知模型以学自动机为基础,包括感知状态集合、动作集合、取向性映射集合、好奇心、取向函数、取向性学矩阵、状态转移函数以及知识熵等十部分。模型首先感知系统当前状态;依据内发动机机制选择动作;执行动作,状态发生转移;计算取向函数的值;更新“感知-运动”映射;重复以上过程,直至知识熵达到极小或学时间大于终止时间。本发明引入具有主动学环境的内发动机机制,不仅使系统具有较强的自学和自组织能力,同时能够有效避免具有破坏性的小概率事件的发生,提高了系统的稳定性,为建立具有认知发育能力的机器人提供了有力基础。
申请公布号 CN104614988A 申请公布日期 2015.05.13
申请号 CN201410808900.9 申请日期 2014.12.22
申请人 北京工业大学 发明人 阮晓钢;张晓平;武璇;黄静;陈志刚;肖尧;朱晓庆;奥塔瓦.谢
分类号 G05B13/04(2006.01)I 主分类号 G05B13/04(2006.01)I
代理机构 北京思海天达知识产权代理有限公司 11203 代理人 刘萍
主权项 一种具有内发动机机制的感知运动系统认知及其学习方法,其特征在于,系统认知模型以学习自动机为基础,设计为一个十元组&lt;S,M,O,N,C,V,V<sub>s</sub>,P,F,E&gt;,各部分内容具体如下:(1)S:系统离散感知状态集合,S={s<sub>i</sub>|i=1,2,…n<sub>s</sub>},s<sub>i</sub>∈S为第i个感知状态,n<sub>s</sub>为可感知到的离散状态的个数,针对连续系统,将需要考虑的连续状态空间[X<sub>min</sub>,X<sub>max</sub>]离散化为离散状态空间,其中X<sub>min</sub>为所需考虑状态的下限值,X<sub>max</sub>为所需考虑状态的上限值,对连续状态空间进行均匀划分,令w=(X<sub>max</sub>‑X<sub>min</sub>)/n<sub>s</sub>,则离散化后的状态空间为:S={[X<sub>min</sub>+(i‑1)w,X<sub>min</sub>+iw]|i=1,2,…n<sub>s</sub>};(2)M:系统动作集合,M={M<sub>i</sub>|i=1,2,…,n<sub>s</sub>},M<sub>i</sub>={m<sub>ij</sub>|j=1,2,…,n<sub>i</sub>},m<sub>ij</sub>表示系统第i个感知状态下第j个可选动作,n<sub>i</sub>为第i个状态下可选动作的个数;(3)O:“感知‐运动”取向性映射集合,O={O<sub>i</sub>|i=1,2,…n<sub>s</sub>},O<sub>i</sub>为状态s<sub>i</sub>对应的取向性映射矩阵,其中<img file="FDA0000640773250000012.GIF" wi="625" he="108" />diag表示括号里的元素以对角阵的方式储存,此处元素o<sub>ij</sub>的下表i(i=1,2,…,n<sub>s</sub>)并不表示元素所在矩阵的行信息,o<sub>ij</sub>(i∈(1,2,…,n<sub>s</sub>),j∈(1,2,…,n<sub>i</sub>))表示一条“感知‐运动”映射,表征的是系统在感知状态s<sub>i</sub>∈S下对动作m<sub>ij</sub>的取向性,或称感知状态s<sub>i</sub>与动作m<sub>ij</sub>的感知运动取向性为o<sub>ij</sub>,规定智能体在任何感知状态下对该状态下所有动作的取向性总和保持不变,即当智能体在某状态下对其中一动作的取向性增加时,同时意味着在该状态下对其他动作的取向性减小,本认知模型中,取向性满足0≤o<sub>ij</sub>≤1且<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><msub><mi>n</mi><mi>i</mi></msub></munderover><msub><mi>o</mi><mi>ij</mi></msub><mo>=</mo><mn>1</mn><mo>;</mo></mrow>]]></math><img file="FDA0000640773250000011.GIF" wi="232" he="151" /></maths>(4)N:状态学习次数,N={N<sub>i</sub>|i=1,2,…,n<sub>s</sub>},N<sub>i</sub>为至t时刻状态s<sub>i</sub>被学习的次数;(5)C:好奇心,C={c<sub>i</sub>|i=1,2,…n<sub>s</sub>},c<sub>i</sub>为状态s<sub>i</sub>的好奇心;(6)V:系统状态取向值,用来决定取向函数的值,V={V<sub>i</sub>|i=1,2,…n<sub>s</sub>},为满足系统普适性,定义V<sub>i</sub>∈[‑1,1],‐1为最差状态的状态取向值,1为最理想状态的状态取向值,对于离散系统,根据实际情况定义各状态的取向值,对于连续系统,对离散化后的状态定义离散状态取向值,也在线计算所处状态的连续状态取向值,针对连续系统,状态取向值的计算方法为:<img file="FDA0000640773250000021.GIF" wi="580" he="90" />J<sub>i</sub>表征期望状态和实际状态之间的误差程度,定义为J<sub>i</sub>(t)=(X<sub>b</sub>‑X<sub>i</sub>(t))<sup>2</sup>,其中X<sub>b</sub>为期望状态值,X<sub>i</sub>(t)为t时刻实际状态值,V<sub>i</sub>被归一化到[‑1,1]之间,且为J<sub>i</sub>的减函数,意味着t时刻所处状态与期望状态之间误差越大,状态取向值越小,所处状态与期望状态之间误差越小,状态取向值越大,符合生物取向性,λ为归一化系数;(7)V<sub>s</sub>:取向函数,V<sub>s</sub>=aV<sub>n</sub>+b(V<sub>n</sub>‑V<sub>o</sub>),V<sub>o</sub>和V<sub>n</sub>分别表示执行某一动作的前后状态,取向函数影响系统取向性的变化方向,既与状态取向值变化过程相关,也与变化后所处状态的状态取向值相关,其中a≥0,b≥0为取向函数参数,其取值应保证取向函数的正负号不改变(V<sub>n</sub>‑V<sub>o</sub>)的正负号,且满足a+b=1,通过学习得到;(8)P:取向性学习矩阵,P={P<sub>i</sub>|i=1,2,…n<sub>s</sub>},作用是依据取向函数所提供的信息,对取向性映射进行更新调整,其中<img file="FDA0000640773250000022.GIF" wi="682" he="133" />为状态s<sub>i</sub>对应的学习矩阵,各参数意义与(3)中相同,不再赘述;(9)F:系统内部状态转移函数,F(s(t),m(t))=s(t+1),表示t时刻在感知状态为s(t)下执行动作m(t)后状态转移为s(t+1);(10)E:感知运动系统的知识熵,E={E<sub>i</sub>|i=1,2,…n<sub>s</sub>},用来描述系统对知识的学习程度,表征系统的自学习和自组织特性,系统在学习初始阶段,没有任何知识,对各动作的取向性相等,经过不断学习,习得世界知识,取向性发生变化,因此采用信息熵的变化过程来描述系统自学习、自组织的过程,通过信息熵值的变化,来反应系统知识积累的程度,系统t时刻在状态s<sub>i</sub>下的知识熵及总的知识熵定义如下:<maths num="0002" id="cmaths0002"><math><![CDATA[<mfenced open='' close=''><mtable><mtr><mtd><msub><mi>E</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>=</mo><msub><mi>E</mi><mi>i</mi></msub><mrow><mo>(</mo><msub><mi>m</mi><mi>j</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>|</mo><msub><mi>s</mi><mi>i</mi></msub><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mo>=</mo><mo>-</mo><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><msub><mi>n</mi><mi>i</mi></msub></munderover><msub><mi>o</mi><mi>ij</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><msub><mi>iog</mi><mn>2</mn></msub><msub><mi>o</mi><mi>ij</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mo>=</mo><mo>-</mo><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><msub><mi>n</mi><mi>i</mi></msub></munderover><msub><mi>o</mi><mi>ij</mi></msub><mrow><mo>(</mo><msub><mi>m</mi><mi>j</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>|</mo><msub><mi>s</mi><mi>i</mi></msub><mo>)</mo></mrow><msub><mi>iog</mi><mn>2</mn></msub><msub><mi>o</mi><mi>ij</mi></msub><mrow><mo>(</mo><msub><mi>m</mi><mi>j</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>|</mo><msub><mi>s</mi><mi>i</mi></msub><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mi>E</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><msub><mi>n</mi><mi>s</mi></msub></munderover><msub><mi>E</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>;</mo></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0000640773250000031.GIF" wi="821" he="547" /></maths>系统按以下步骤进行学习:(1)初始化:设定初始状态S<sub>0</sub>,初始取向性分布O<sub>0</sub>及初始好奇心的值C<sub>0</sub>;(2)感知当前状态;(3)计算当前状态下的取向性映射矩阵;(4)计算当前状态下的好奇心值,生成随机指针,将好奇心投向指针指向的动作;好奇心计算方法设计为:<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msub><mi>c</mi><mi>i</mi></msub><mo>=</mo><mfrac><mn>1</mn><mrow><mn>1</mn><mo>+</mo><msup><mi>e</mi><mrow><mn>0.01</mn><mrow><mo>(</mo><msub><mi>N</mi><mi>i</mi></msub><mo>-</mo><mn>1</mn><mo>)</mo></mrow></mrow></msup></mrow></mfrac></mrow>]]></math><img file="FDA0000640773250000032.GIF" wi="350" he="142" /></maths>(5)依据内发动机机制选择动作;(6)实施选定的动作,状态发生转移;(7)计算转移后状态的状态取向值;(8)计算取向函数值;(9)根据取向函数提供的信息更新“感知‐运动”映射;(10)重复执行步骤(2)‐(9)直至知识熵不再发生变化或学习时间大于终止时间,学习结束。
地址 100124 北京市朝阳区平乐园100号