首页> 中国专利> 隐马尔可夫模型学习设备和方法、程序、以及记录介质

隐马尔可夫模型学习设备和方法、程序、以及记录介质

摘要

本发明公开了一种隐马尔可夫模型学习设备和方法,根据本发明的一个实施例的设备包括:学习单元,用于在基于行为者执行了的行为以及由观测信号形成的时间系列信息进行的隐马尔可夫模型的学习中,学习状态转移概率作为行为者可执行的行为的函数;以及存储单元,用于存储学习单元的学习结果作为包括状态转移概率表和观测概率表的内部模型数据;其中,学习单元计算用于隐马尔可夫模型状态转移概率和隐马尔可夫模型观测概率的估计计算的频率变量;存储单元保存分别与状态转移概率表的每个状态转移概率和与观测概率表的每个观测概率对应的频率变量;其中,学习单元使用存储单元保存的频率变量进行学习,基于频率变量估计状态转移概率和观测概率。

著录项

  • 公开/公告号CN101950376A

    专利类型发明专利

  • 公开/公告日2011-01-19

    原文格式PDF

  • 申请/专利权人 索尼公司;

    申请/专利号CN201010225858.X

  • 申请日2010-07-02

  • 分类号G06N7/00;

  • 代理机构北京集佳知识产权代理有限公司;

  • 代理人康建峰

  • 地址 日本东京都

  • 入库时间 2023-12-18 01:35:13

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-08-17

    未缴年费专利权终止 IPC(主分类):G06N99/00 授权公告日:20141029 终止日期:20150702 申请日:20100702

    专利权的终止

  • 2014-10-29

    授权

    授权

  • 2011-03-16

    实质审查的生效 IPC(主分类):G06N7/00 申请日:20100702

    实质审查的生效

  • 2011-01-19

    公开

    公开

说明书

技术领域

本发明涉及HMM(隐马尔可夫模型)学习设备和方法、程序、以及记录介质,更具体地,涉及通过其可以在改变的环境下进行自主学习时进行有效且稳定学习的HMM学习设备和方法、程序、以及记录介质。

背景技术

已经提出了采用HMM(隐马尔可夫模型)作为用于如下处理的方法:用于将从用作对象的系统观测到的传感器信号处理作为时间系列数据,并且将此学习作为具有状态以及状态转移两者的概率模型。HMM是一种广泛用于音频识别的技术。HMM是由状态转移概率以及每个状态中的输出概率密度函数定义的状态转移模型,并且对其参数进行估计以最大化似然值。已经广泛采用Baum-Welch算法作为参数估计方法。

HMM是通过其可以经由状态转移概率进行从每个状态向其他状态的转移的模型,其中,执行建模为状态改变的过程。然而,对于HMM,通常仅以概率方式确定观测到的传感器信号对应的是哪个状态。

因此,广泛采用了维特比(Viterbi)算法作为用于确定状态转移过程的方法以基于观测到的传感器信号获得最高似然值。从而,可以唯一地确定在每个时间点处与传感器信号对应的状态。另外,即便在不同情形中从系统观测到同样的传感器信号,也可以根据在每个时间点之前与之后的传感器信号的瞬时改变过程的差别将其状态转移过程处理为不同的状态转移过程。虽然并未完全解决感知混淆问题,但是也可以把不同的状态分配给同样的传感器信号,相应地,较之SOM等(例如,参见Lawrence R.Rabiner(1989年2月),“A tutorial on Hidden Markov Models andselected application in speech recognition”,Proceedings of the IEEE77(2):257-286)可以对系统的状态详细进行建模。

发明内容

顺带提及,对于采用HMM的学习,在状态数量和状态转移数量增加的情况下,难以正确地估计参数。具体地,Baum-Welch算法并非用于确保可以确定最佳参数的方法,相应地,在参数数量增加的情形中估计合适的参数非常困难。另外,在用作学习对象的系统未知的情形中,难以恰当地设置状态转移模型的配置以及参数的初始值,这也成为妨碍参数估计的原因。

HMM有效地用于音频识别的原因是由于如下因素:处理对象限于音频信号,且存在与音频相关的大量观测。另外,对于音频识别,一大因素是:作为多年来大量研究的结果,发现左到右型的配置对于HMM的配置等是有效的。相应地,在采用未知系统作为对象时没有提供用于确定HMM的配置和初始值的情形中,可以认为,使大规模HMM用作真实模型是相当困难的问题。

顺带提及,诸如以上所述,HMM要处理的问题是使传感器信号结构化,而没有把行为信号考虑在内。如下这种框架体系称为部分可观测马尔可夫决策过程(在下文中,称为POMDP):其中,扩展了HMM,并且行为者使用行为信号促进环境,从而可以在根据它替代的未来影响传感器信号。

该问题的模型学习很困难,迄今为止主要研究的模型学习仅用于通过初步知识为其提供了骨架的模型内相对较少参数的估计、或者用于使用强化学习框架来驱动学习。另外,多种模型学习存在关于学习速度、收敛性、或者稳定性的问题,相应地,可以认为实用性不是很高。

另外,HMM的学习方法包括成批学习方法和添加学习方法。此处,对于成批学习方法,例如,在获得10000个步骤的转移和观测数据的情形中,基于10000个步骤的转移和观测生成并保存状态转移概率表和观测概率表。另一方面,对于添加学习方法,例如,首先,基于1000个步骤的转移和观测生成并保存状态转移概率表和现测概率表。然后,重复进行学习,以使得基于后续1000个步骤的转移和观测改变并保存状态转移概率表和观测概率表的每个值,从而更新内部模型数据。

对于采用根据相关技术的HMM的学习,在通过添加学习方法进行学习时出现问题。对于采用HMM的学习,常常采用如下这种方法:其中,预先准备所有数据,通过成批学习方法进行学习。但是对于这种学习,从适合于环境的经验中进行学习极其困难。换言之,为了在各种真实世界中展现更合适的性能,其中反馈真实环境下的操作结果以进行添加学习的功能是必要的。然而,并未解决在进行添加学习时如何调整“学习到的存储配置”和“新的经验”的问题。一方面,期望通过迅速反映“新的经验”进行快速适应,但另一方面,存在目前为止建立的存储配置可能会被破坏的风险。

另外,以前,为了进行添加学习,通过单独保存以往学习到的数据、或者通过演练(rehearse)来自当前存储器的以往学习到的数据等采用新获得数据的组合进行学习。然而,即使以此方式,也存在如下问题:其中,“新的经验”没有反映在单独保存的以往学习到的数据上或被演练的以往学习到的数据是在“新的经验”的影响下生成的等。因而,对于采用大规模HMM的学习,难以通过进行添加学习实现用作实用模型。

已经发现:期望实现在改变的环境下进行自主学习时能够进行有效且稳定的学习。

本发明的一个实施例为一种HMM(隐马尔可夫模型)学习设备,包括:学习单元,被配置为在基于行为者执行了的行为以及由作为所述行为的结果观测到的观测信号形成的时间系列信息采用HMM进行学习时,学习状态转移概率作为行为者可以执行的行为的函数;以及存储单元,被配置为将所述学习单元的学习结果存储为包括状态转移概率表和观测概率表的内部模型数据;其中,所述学习单元计算等于要用于HMM状态转移概率的估计计算的频率的频率变量和等于要用于HMM观测概率的估计计算的频率的频率变量;其中,所述存储单元保存与所述状态转移概率表的每一个状态转移概率对应的频率变量和与所述观测概率表的每一个观测概率对应的频率变量;并且其中,所述学习单元使用所述存储单元保存的所述频率变量通过添加学习方法进行学习,以及基于所述频率变量估计所述状态转移概率和所述观测概率。

所述行为可以为离散行为;其中,生成与每一个行为相对应的状态转移概率表作为内部模型数据。

对于所述学习,可以施加约束以使得与在HMM的一个节点处观测到的所述观测信号相对应的观测符号的数量为一个。

所述学习单元可以执行用于找到能够包括两个或更多个观测符号的节点的处理以实现所述约束并且划分所找到的节点。

对于所述学习,可以施加约束以使得在一个节点处执行预定行为的情形中可以向其进行转移的每一个转移目的节点处观测到的观测符号相互不同。

对于所述学习,可以施加约束以使得在由于对一个节点的共同行为而向其进行转移的每一个转移目的节点处观测到的观测符号相互不同。

所述行为可以为连续行为,并且可以进行加权以对应于有限数量的离散行为;其中,生成与所述有限数量的离散行为中的每一个离散行为对应的状态转移概率表。

所述学习单元可以找到在一个节点处执行预定行为的情形中可以向其进行转移的每一个转移目的节点处具有类似观测概率分布的节点,并且可以合并所找到的节点。

所述学习单元可以找到在由于对一个节点的共同行为而从其进行转移的每一个转移目的节点处具有类似观测分布的节点,并且可以合并所找到的节点。

所述学习单元可以通过所述添加学习方法进行学习,并且还可以对所述频率变量的值进行更新,以及在对所述频率变量进行更新的情形中,可以基于预定学习率对所述频率变量进行更新。

所述学习单元还可以根据所述频率变量的值小来计算代价系数,以约束由于所述频率变量的值小而对所述状态转移概率的估计值的干扰。

在通过所述添加学习方法进行学习之前,在与所述观测信号对应的观测符号的类型增加的情形中,可以延伸被存储为内部模型数据的所述观测概率表的区域,并且可以把观测概率设置到所延伸的区域中。

在通过所述添加学习方法进行学习之前,在所述节点的数量增加的情形中,可以延伸被存储为内部模型数据的所述状态转移概率表和所述观测概率表的区域,并且可以将状态转移概率和观测概率分别设置到所延伸的区域中。

基于从以基于以往的学习获得的被存储为所述内部模型数据的所述状态转移概率表中获得的状态转移概率,可以将状态转移概率设置到所述状态转移概率表的所延伸的区域中。

HMM学习设备还可以包括:识别单元,被配置为基于所述时间系列信息识别是否向未包括在基于以往的学习获得的所述内部模型数据中的未知节点进行了转移;其中,为了将所述未知节点添加到所述内部模型数据中,将时间系列信息累积仅自识别出所述未知节点以来的给定时间,基于所累积的时间系列信息确定添加到所述内部模型数据中的未知节点,并且将所确定的未知节点添加到所述内部模型数据中。

在识别出向所述未知节点进行了转移之后,所述识别单元识别出向包括在基于以往的学习获得的所述内部模型数据中的已知节点进行了转移的情形中,可以将所确定的未知节点添加到所述内部模型数据中,并且还可以将状态转移概率和观测概率设置到响应于所述未知节点的添加而延伸的所述状态转移概率表和所述观测概率表的区域中以更新内部模型数据,并且可以使用所更新的内部模型数据通过添加学习方法进行学习。

在通过所述添加学习方法进行学习之前,在行为的数量增加的情形中,可以延伸被存储为所述内部模型数据的所述状态转移概率表的区域,并且可以将状态转移概率设置到所延伸的区域中。

本发明的一个实施例为一种HMM学习方法,包括如下步骤:采用学习单元在基于行为者执行了的行为以及由作为所述行为的结果观测到的观测信号形成的时间系列信息采用HMM进行学习时,学习状态转移概率作为行为者可以执行的行为的函数;以及采用存储单元存储所述学习单元的学习结果为包括状态转移概率表和观测概率表的内部模型数据;所述学习单元计算等于要用于HMM状态转移概率的估计计算的频率的频率变量,以及等于要用于HMM观测概率的估计计算的频率的频率变量;所述存储单元保存与所述状态转移概率表的每一个状态转移概率对应的频率变量和与所述观测概率表的每一个观测概率对应的频率变量;并且所述学习单元使用所述存储单元保存的所述频率变量通过添加学习方法进行学习,以及基于所述频率变量估计所述状态转移概率和所述观测概率。

本发明的一个实施例为一种用于使计算机用作HMM学习设备的程序,包括:学习单元,被配置为在基于行为者执行了的行为以及由作为所述行为的结果观测到的观测信号形成的时间系列信息采用HMM进行学习时,学习状态转移概率作为行为者可以执行的行为的函数;以及存储单元,被配置为将所述学习单元的学习结果存储为包括状态转移概率表和观测概率表的内部模型数据;其中,所述学习单元计算等于要用于HMM状态转移概率的估计计算的频率的频率变量和等于要用于HMM观测概率的估计计算的频率的频率变量;其中,所述存储单元保存与所述状态转移概率表的每一个状态转移概率对应的频率变量和与所述观测概率表的每一个观测概率对应的频率变量;并且其中,所述学习单元使用所述存储单元保存的所述频率变量通过添加学习方法进行学习,以及基于所述频率变量估计所述状态转移概率和所述观测概率。

对于上述配置,在基于所述行为者执行了的行为以及由作为所述行为的结果观测到的观测符号形成的时间系列信息采用HMM进行学习时,学习状态转移概率作为行为者可以执行的行为的函数,并且将所述学习结果存储为包括状态转移概率表和观测概率表的内部模型数据。另外,计算等于要用于HMM状态转移概率的估计计算的频率的频率变量和等于要用于HMM观测概率的估计计算的频率的频率变量;保存与所述状态转移概率表的每个状态转移概率对应的频率变量,以及与观测概率表的每一个观测概率对应的频率变量;频率变量用于通过添加学习方法进行学习,基于所述频率变量估计所述状态转移概率和所述观测概率。

根据上述配置,在改变的环境下进行自主学习时可以进行有效且稳定的学习。

附图说明

图1是示出了迷宫的示例的图;

图2是示出了形成图1中迷宫的部分的示例的图;

图3是用于描述迷宫的配置改变的图;

图4是用于描述迷宫的配置改变的图;

图5是用于描述迷宫的配置改变的图;

图6是用于描述机器人的移动方向的图;

图7是用于描述一般HMM(隐马尔可夫模型)的图;

图8是用于描述行为扩展HMM的图;

图9是示出了根据本发明的实施例的自主行为学习设备的配置示例的框图;

图10是用于描述分裂算法的应用的图;

图11是用于描述所述分裂算法的应用的图;

图12是用于描述分裂算法应用处理的示例的流程图;

图13是用于描述前向合并算法的应用的图;

图14是用于描述所述前向合并算法的应用的图;

图15是用于描述前向合并算法应用处理的示例的流程图;

图16是用于描述后向合并算法的应用的图;

图17是用于描述所述后向合并算法的应用的图;

图18是用于描述后向合并算法应用处理的示例的流程图;

图19是用于比较行为扩展HMM的状态转移概率表和观测概率表的似然性的表;

图20是用于描述通过施加一状态一观测约束和行为转移约束而引起的学习结果的改变的图;

图21是用于描述通过施加所述一状态一观测约束和所述行为转移约束而引起的学习结果的改变的图;

图22是用于描述通过施加所述一状态一观测约束和所述行为转移约束而引起的学习结果的改变的图;

图23是用于描述通过施加所述一状态一观测约束和所述行为转移约束而引起的学习结果的改变的图;

图24是用于描述通过施加所述一状态一观测约束和所述行为转移约束而引起的学习结果的改变的图;

图25是用于描述通过施加所述一状态一观测约束和所述行为转移约束而引起的学习结果的改变的图;

图26是用于描述通过施加所述一状态一观测约束和所述行为转移约束而引起的学习结果的改变的图;

图27是用于描述行为扩展HMM学习处理的示例的流程图;

图28是用于描述在通过根据相关技术的方法进行添加学习时的问题的图;

图29是用于描述根据本发明的实施例的添加学习方法的图;

图30是用于描述因观测符号类型增加所致的影响的图;

图31是用于描述因节点数量增加所致的影响的图;

图32是用于描述因行为数量增加所致的影响的图;

图33是用于描述节点识别处理的示例的流程图;

图34是用于描述节点识别处理的另一个示例的流程图;

图35是用于描述节点识别处理的又一个示例的流程图;

图36是用于描述节点识别处理的再一个示例的流程图;

图37是用于描述添加未知节点的情形的示例的图;

图38是用于描述添加未知节点的情形的另一个示例的图;

图39是用于描述在进行链接(anchoring)时进行添加/删除必要性检查的情形的示例的图;

图40是用于描述未知节点添加处理的示例的流程图;

图41是用于描述添加/删除必要性检查处理的示例的流程图;

图42是用于描述在添加未知节点的情形中状态转移概率表的要延伸的区域的图;

图43是用于描述要添加的未知节点的示例的图;

图44是用于描述要添加的未知节点及其行为的示例的图;

图45是示出了要添加的未知节点和候选节点及其行为的示例的图;

图46是用于描述在节点添加时状态转移概率设置处理的示例的流程图;

图47是用于描述节点后向行为对列表生成处理的示例的流程图;

图48是用于描述后向行为状态转移概率设置处理的示例的流程图;

图49是用于描述节点前向行为对列表生成处理的示例的流程图;

图50是用于描述前向行为状态转移概率设置处理的示例的流程图;

图51是用于描述链接处理的示例的流程图;以及

图52是示出了个人计算机的配置示例的框图。

具体实施方式

下面将参照附图对本发明的实施例进行描述。首先,将对行为扩展HMM(隐马尔可夫模型)进行描述。后面描述的自主行为学习设备应用于例如自己穿过迷宫以识别其自身的位置、并学习通往其目的地的路径等的机器人。

图1是示出了迷宫的示例的图。如该图中所示,通过组合诸如图2中所示的多种类型的部分来配置该迷宫。如图2中所示,这些部分中的每个部分被配置成具有同样尺寸的矩形,并且准备了15种不同的类型。例如,部分5用于配置水平方向上的路径,部分10用于配置垂直方向上的路径。另外,部分7、11和13各自用于配置T形交叉口,部分15用于配置十字交叉口。

另外,该迷宫被配置为改变其配置。例如,在图3中,通过改变图中虚线圆指示出的两个部分将迷宫的配置改变成图4中所示的那样。具体地,可以改变迷宫的配置以使得在图3中无法通过但在图4中能够通过。

另外,在图4中,通过改变图中虚线圆指示出的两个部分将迷宫的配置改变成图5中所示的那样。具体地,可以改变迷宫的配置以使得在图4中能够通过但在图5中无法通过。

机器人自己穿过这种迷宫。对于该示例,迷宫是二维配置的,路径的方向只局限于水平或垂直方向,相应地,可以设置机器人以便在上方、下方、左方和右方四个方向上移动。

图6是用于描述机器人的移动方向的图。图中的垂直方向和水平方向对应于图1,可以发现图中心所示的机器人在上方、下方、左方和右方中的一个方向上移动。

现在,假设将机器人在预定方向上的移动称为行为。例如,对于图6中的示例,存在与图中四个箭头对应的四个行为。另外,例如,为机器人提供用于搜索对象的传感器,可以通过分析从传感器输出的信号确定机器人在迷宫上所处部分的类型。具体地,机器人在迷宫上的每个位置处获得以上参照图2描述的15种部分中的一种所对应的传感器信号。

对于本发明的实施例,例如,基于在机器人自己行进的迷宫上每个位置处的传感器信号生成与迷宫的配置对应的内部模型数据。现在,假设将迷宫称为“环境”,将与15种部分中的一种相对应的传感器信号称为“观测符号”。对于本发明的实施例,使用HMM学习迷宫的配置,并且生成上述内部模型数据。

对于采用HMM的学习,基于从环境获得的观测来识别状态。如上所述,例如,环境为迷宫,并且观测对应于根据与15种部分中的一种相对应的传感器信号确定的观测符号。注意,将机器人适当地称为行为者。

对于采用HMM的学习,行为者基于从环境获得的观测识别自身的状态。此处提到的状态是行为者主观识别的所谓状态,实际上,在从外部客观地观测行为者被放置的状态的情形中,二者可能不同。例如,在二维迷宫上客观地观测机器人位置的情况下,其位置为坐标(x1,y1),而另一方面,机器人自身可能识别出它自身处于坐标(x2,y2)。因而可以认为,对于HMM,行为者主观识别出的状态用隐状态、内部状态、状态、节点等表示。

对于本实施例,将主要针对如下示例进行描述:其中,迷宫上的每个位置,即迷宫上放置的每个部分的位置与HMM的节点(状态、隐状态、内部状态)相关,并且观测符号与这些节点相关。

顺带提及,通常的HMM用于结构化传感器信号,而没有关于行为信号的考虑。对于HMM没有假定在行为者使用行为信号来执行对于环境的行为从而影响自现在起要观测的观测符号的情形中的学习。这种问题的解决方案称为部分可观测马尔可夫决策过程(在下文中,POMDP)。

因此,对于本发明的实施例,将通过对HMM进行扩展来解决上述问题。换言之,对于本发明的实施例,扩展了HMM以把行为信号考虑在内。将把这种扩展的HMM称为“行为扩展HMM”。

图7是用于描述通常HMM的图。如图中所示,HMM通过从某个节点向其他节点可能进行的转移(状态转移)的数量学习状态转移概率。具体地,将状态转移概率的值设置到节点数量×节点数量的表的每个矩阵位置中以生成被称为状态转移概率表的二维表。另外,HMM学习在某个节点处可以观测到每个观测符号的概率。具体地,将观测概率的值设置到节点数量×观测符号数量的表的每个矩阵位置中以生成被称为观测概率表的二维表。

例如,对于图7中的状态转移概率表,图中垂直方向上描述的每个节点代表转移源节点,图中水平方向上描述的每个节点代表转移目的节点。相应地,例如,状态转移概率表的n行m列中描述的数值代表可以从索引为n的节点(第n个节点)向索引为m的节点(第m个节点)进行转移的概率。将状态转移概率表的每行(例如,第n行)中描述的所有数值的总和布置成1。

另外,例如,图7中的观测概率表的n行p列中描述的数值代表在索引为n的节点(第n个节点)处可以观测到索引为p的观测符号(第p个观测符号)的概率。将观测概率表的每行(例如,第n行)中描述的所有数值的总和布置成1。

图8是用于描述行为扩展HMM的图。如图中所示,对于行为扩展HMM,为每个行为生成状态转移概率表。例如,作为诸如向上移动等行为的结果,生成可以从某个节点向其他节点进行转移的概率作为向上移动行为的状态转移概率表。另外,作为诸如向下移动等行为的结果,生成可以从某个节点向其他节点进行转移的概率作为向下移动行为的状态转移概率表。类似地,生成向左移动行为的状态转移概率表以及向右移动行为的状态转移概率表。

例如,在把图8中的状态转移概率表看作多页二维表的情况下,图中垂直方向上描述的每个节点代表每个行为的转移源节点,图中水平方向上描述的每个节点代表转移目的节点。相应地,例如,状态转移概率表的第k页的n行m列中描述的数值代表通过执行索引为k的行为(第k个行为)可以从索引为n的节点向索引为m的节点进行转移的概率。将状态转移概率表的每行(例如,表第k页的第n行)中描述的所有数值的总和布置成1。

因此,对于行为扩展HMM,为每个行为生成二维状态转移概率表,相应地,生成所谓的三维状态转移概率表。

注意,对于行为扩展HMM也以与对于通常HMM同样的方式,将观测概率的值设置到节点数量×观测符号数量的表的每个矩阵位置中以生成二维观测概率表。

例如,图8中的观测概率表的n行p列中描述的数值代表在索引为n的节点处可以观测到索引为p的观测符号的概率。将观测概率表的每行(例如,第n行)中描述的所有数值的总和布置成1。

此处,已经针对在基于传感器信号获得15种观测符号的情况下获得离散观测信号的情形进行了描述。然而,例如,即使在获得连续观测信号以便基于逐渐改变的传感器信号得到几乎无限的观测符号的情况下,也可以采用行为扩展HMM。

另外,此处已经针对在行为者执行四种行为之一的情况下执行离散行为组的情形进行了描述。然而,例如,即使在执行连续行为组以使得行为者逐渐改变移动方向以执行几乎无限的行为中的一个行为的情况下,也可以采用行为扩展HMM。这结束了对行为扩展HMM的描述。

图9是示出了应用了本发明实施例的自主行为学习设备10的配置示例的框图。图中的自主行为学习设备10被配置成例如在诸如图1中所示的迷宫等上移动的机器人的控制设备。对于该示例,为自主行为学习设备10提供了传感器单元31、行为输出单元32、观测缓存器33、学习装置34、识别装置35、行为生成器36、内部模型数据存储单元37、识别结果缓存器38、以及行为输出缓存器39。

传感器单元31输出用于在诸如迷宫等的环境下观测上述观测符号的传感器信号(或观测信号)。将从传感器31输出的观测信号以与输出该观测信号时的时间点相关联的方式存储于观测缓存器33中。例如,将与在时间点t、t+1、t+2、...、T处获得的观测信号相对应的观测符号ot、ot+1、ot+2、...、oT分别作为在每个时间点处的观测符号存储于观测缓存器33中。

行为输出单元32是例如用于输出用于使机器人执行机器人要执行的行为(日语的行为)的控制信号的功能块。从行为输出单元32输出的控制信号被转换成用于确定与该控制信号对应的行为的信息,并且以与输出该控制信号时的时间点相关的方式存储于行为输出缓存器39中。例如,在时间点t、t+1、t+2、...、T处执行的行为ct、ct+1、ct+2、...、cT分别作为在每个时间点处的行为被存储于行为输出缓存器39中。

学习单元34基于观测缓存器33和行为输出缓存器39中存储的信息生成或更新内部模型数据,并且将其存储在内部模型数据存储单元37中。

内部模型数据存储单元37中存储的内部模型数据包括上述三维状态转移概率表以及上述二维观测概率表。另外,内部模型数据存储单元37中存储的内部模型数据包括后面描述的用于计算状态转移概率的频率变量以及用于计算观测概率的频率变量。

识别装置35基于观测缓存器33和行为输出缓存器39中存储的信息、以及内部模型数据存储单元37中存储的状态转移概率表和观测概率表识别机器人现在所处的节点。把从识别装置35输出的识别结果以与输出该识别结果时的时间点相关的方式存储于识别结果缓存器38中。

行为生成器36基于内部模型数据存储单元37中存储的内部模型数据、行为输出缓存器39中存储的信息、以及从识别装置35输出的识别结果确定要由机器人执行的行为。然后,行为生成器36控制行为输出单元32输出与确定的行为相对应的控制信号。从而,自主行为学习设备10例如允许机器人在迷宫上移动,由此机器人可以自动学习迷宫的配置等。

接下来,将针对图9中学习装置34处的行为扩展HMM的学习算法进行描述。对于通常HMM,使用状态转移概率表aij对从节点si向节点sj的状态转移概率进行建模,但是对于行为扩展HMM,使用行为参数c进行建模为aij(c)。

采用Baum-Welch算法作为学习算法。在可以对前向概率和后向概率进行计算的情况下,可以进行基于Baum-Welch算法(期望值最大化方法)的参数估计,相应地,下面将对这些概率的计算进行描述。

现在,假设通过属于行为组C={c1、c2、...、cn}的行为ck从节点si向节点sj进行转移的概率用三维概率表达式表aij(k)≡aijk表示。注意,在该情形中,将执行离散行为组。

首先,将对前向概率的计算进行描述。假设与行为者在时间点1、2、...、t-1处获得的传感器信号对应的观测符号分别用o1、o2、...、ot-1表示。另外,假设行为者在时间点1、2、...、t-1处执行的行为分别用c1、c2、...、ct-1表示。在此情形中,当与行为者在时间点t处获得的传感器信号对应的观测符号为ot时行为者可能处于节点sj的前向概率αt(j)可以用表达式(1)的递归公式表示。

αt(j)=Σiαt-1(i)aij(ct-1)bj(ot)...(1)

其中,bj(o)为在节点sj处可以获得观测符号o的观测概率。

接下来,将对后向概率的计算进行描述。在行为者在时间点t处于状态i的情形中,可以在时间点t、t+1、t+2、...、T-1处分别执行行为ct、ct+1、...、ct-1、与在这些时间点处获得的传感器信号对应的观测符号可以分别为ot+1、ot+2、...、oT的后向概率βt(i)可以用表达式(2)的递归公式表示。

βt(i)=Σjaij(ct)bj(ot+1)βt+1(j)...(2)

可以使用这样计算出的前向概率和后向概率进行状态转移概率的估计以及观测概率的估计。

在执行离散行为组的情形中的状态转移概率的估计以及观测概率的估计将进行如下。

状态转移概率aij(k)的估计通过M步Baum-Welch算法进行。现在,状态转移概率aij(k)意味着当行为者处于状态i时,可以通过执行行为k向状态j进行转移的概率。具体地,计算表达式(3),由此可以获得状态转移概率的估计值a′ij(k)。

a,ij(k)=Σt:ct=ckαt(i)aij(k)bj(ot+1)βt+1(j)Σt:ct=ckαt(i)βt(i)...(3)

观测概率bj(o)的估计也通过M步Baum-Welch算法进行。现在,观测概率bj(o)意味着当行为者处于状态j时,可以获得与观测符号o对应的传感器信号的概率。具体地,计算表达式(4),从而可以获得观测概率的估计值b′j(o)。

b,j(o)=Σt:ot=oαt(j)βt(j)Σt=1Tαt(j)βt(j)...(4)

表达式(4)是获得离散观测信号的情形的示例,但是在获得连续观测信号的情形中,应当使用如下信号分布再次估计观测概率密度函数bj(o)的参数:在该信号分布中,通过表达式(5)中所示的γt(j)对在时间点t处获得的观测信号ot进行加权。注意,γt(j)代表在行为者在时间点t处于状态j的情形中的加权因子。

γt(j)αt(j)βt(j)Σjαt(j)βt(j)...(5)

通常,可以使用诸如高斯分布等对数凹函数或者椭圆对称概率密度作为模型对观测概率密度函数bj(o)的参数进行重新估计。

对于诸如高斯分布的对数凹函数或者椭圆对称概率密度的模型参数,可以采用状态j中观测信号的均值向量μ′j和协方差矩阵U′j。通过表达式(6)和(7)可以分别获得均值向量μ′j和协方差矩阵U′j

μ,j=Σt=1Tγt(j)otΣt=1Tγt(j)...(6)

U,j=Σt=1Tγt(j)(ot-μj)(ot-μj)TΣt=1Tγt(j)...(7)

接下来,将针对执行连续行为组的情形进行描述。在连续行为的情形中,与离散行为的情形不同,必须对可以通过离散行为ck输出连续行为c的概率ρk(c)进行学习。根据对概率ρk(c)的学习,如同可以把连续行为c标记成离散行为ck一样(与离散行为相关)。

在连续行为的情形中,将如下进行前向概率的计算。假设与行为者在时间点1、2、...、t-1处获得的传感器信号对应的观测符号分别用o1、o2、...、ot-1表示。另外,假设根据连续行为估计的行为者在时间点1、2、...、t-1处执行的离散行为分别用c1、c2、...、ct-1表示。在该情形中,当与行为者在时间点t处获得的传感器信号对应的观测符号为ot时行为者可能处于节点sj的前向概率αt(j)可以用表达式(8)的递归公式表示。

αt(j)=ΣiΣkαt-1(i)ρk(ct-1)aij(k)bj(ot)...(8)

其中,ρk(c)代表可以通过离散行为ck输出连续行为c的概率。注意,如何获得ρk(c)将在后面进行描述。

在行为者在时间点t处于状态i的情形中,在时间点t、t+1、t+2、...、T-1处从行为者执行的连续行为估计的离散行为可能分别是行为ct、ct+1、...、cT-1、与在这些时间点处获得的传感器信号对应的观测符号可能分别为ot+1、ot+2、...、oT的后向概率βt(i)可以用表达式(9)的递归公式表示。

βt(i)=ΣjΣkρk(ct)aij(k)bj(ot+1)βt+1(j)...(9)

将如下进行在执行连续行为组的情形中状态转移概率的估计以及观测概率的估计。

状态转移概率aij(k)的估计以与离散行为的情形同样的方式通过M步Baum-Welch算法进行。现在,状态转移概率aij(k)意味着当行为者处于状态i时,可以通过执行行为k向状态j进行转移的概率。具体地,计算表达式(10),从而可以获得状态转移概率的估计值a′ij(k)。

a,ij(k)=Σt=1T-1αt(i)ρk(ct)aij(k)bj(ot+1)βt+1(j)Σt=1T-1αt(i)ρk(ct)βt(i)...(10)

观测概率bj(o)的估计与离散行为的情形完全一样,因此此处将省略其描述。

接下来,将针对如何获得可以通过离散行为ck输出连续行为c的概率ρk(c)进行描述。概率ρk(c)可以通过M步Baum-Welch算法进行。具体地,可以按与连续观测信号的情形中观测概率的估计同样的方法进行估计。

应当使用通过如下方式获得的信号分布估计概率ρk(c):使用表达式(11)中所示的ξt(i,j,k)对在时间点t处要执行的行为ct进行加权。

ξt(i,j,k)αt(i)ρk(ct)aij(k)bj(ot+1)βt+1(j)ΣiΣjΣkαt(i)ρk(ct)aij(k)bj(ot+1)βt+1(j)...(11)

可以按与观测概率的情形同样的方式使用高斯分布等作为模型来估计概率ρk(c)。

在该情形中,分别通过表达式(12)和(13)计算通过标记连续行为c获得的离散行为ck生成的行为信号的均值向量vk′和协方差矩阵V′k。应当采用这样计算出的行为信号的均值向量vk′和协方差矩阵V′k作为诸如高斯分布等模型的参数。

v,k=Σt=1T-1ξt(i,j,k)ctΣt=1T-1ξt(i,j,k)...(12)

V,k=Σt=1T-1ξt(i,j,k)(ct-vk)(ct-vk)TΣt=1T-1ξt(i,j,k)...(13)

以此方式,可以通过学习生成行为扩展HMM的三维状态转移概率表以及二维观测概率表。根据到目前为止所描述的行为扩展HMM的学习算法,可以按与通常HMM同样的方式获得状态转移概率和观测概率。

然而,如果假设状态的数量(节点的数量)为N、观测符号的数量为M、行为的数量为K,则三维状态转移概率表以及二维观测概率表的要计算的参数数量为N2K+NM。因而,对于行为扩展HMM,显然随着N、M以及K的数量增加,学习处理的负荷以加快的幅度增加。例如,对于N约为250、M约为15并且K约为5的环境,需要计算规模为300000的参数。很难从少数样本中恰当地确定如此多的参数。

然而,例如,通过向模型施加约束来减小参数的灵活性,从而可以使学习稳定化。接下来,将针对用于有效地且恰当地执行不可避免地具有大规模的行为扩展HMM的学习的技术进行描述。

对于本发明的实施例,将对行为扩展HMM的学习施加一状态一观测约束和行为转移约束。

首先,将对一状态一观测约束进行描述。一状态一观测约束例如是作为规则将在某个节点处观测到的观测符号的数量限制为一个的约束。注意,即使在一状态一观测约束下,也准许在不同的节点处观测到同样的观测符号。

通过对行为扩展HMM的学习施加一状态一观测约束来限制事件表达方法,作为结果,降低了要用于生成状态转移概率表和观测概率表的参数的灵活性。

用于实现一状态一观测约束的方法的示例包括如下方法:其中,以在离散观测HMM的学习中进行的方式,把用于使观测概率稀疏的约束项添加到目标函数中。

例如,可以设计如下方法:其中,把用于使观测概率稀疏的约束项∑jH(bj)乘以权重λ添加到目标函数中。此处,H(bj)是对于在节点sj处可以观测到的所有观测符号要对观测概率向量bj定义的熵。除此之外,可以设计如下这种方法:其中,取观测概率向量bj的赋范(normed)L1与赋范L2之间的差值∑j(||bj||1-||bj||2)为约束项。

可替选地,除上述方法以外的如下方法也可以实现一状态一观测约束:其中,把用于使观测概率稀疏的约束项∑jH(bj)乘以加权λ添加到目标函数中。可以把用于应用分裂算法的示例设计成这种方法的示例。

图10和图11是用于描述分裂算法的图。在图10和图11中,节点用图中的圆指示,参照图2所描述的部分的图显示为要在每个节点处观测到的符号。

图10是图示了作为行为者学习的结果获得的状态转移概率表和观测概率表的内容的图。图10中的示例示出了在存在节点S10、节点S20和节点S30的情形中的示例。在此示例的情形中,十字交叉口部分(图2中的部分15)以100%的概率在节点S10处被观测到,并且在节点S10处执行用于向右方移动的行为后,行为者以100%的概率向节点S20移动(转移)。

另外,图2中的部分7和部分14分别以50%的概率在节点S20处被观测到。在节点S20处执行用于向右方移动的行为后,以100%的概率向节点S30进行转移,而在节点S20处执行用于向左方移动的行为后,以100%的概率向节点S10进行转移。

另外,图2中的部分5以100%的概率在节点S30处被观测到,在节点S30处执行用于向左方移动的行为后,以100%的概率向节点S20进行转移。

注意,图10(图11也相同)是图示了状态转移概率表和观测概率表的内容的图,实际上,学习与图10对应的状态转移概率表和观测概率表作为内部模型数据。在对这种内部模型数据应用分裂算法的情况下,诸如图11中所示地改变状态转移概率表和观测概率表的内容。

图11是图示了在对与图10对应的状态转移概率表和观测概率表的内容应用分裂算法的情形中获得的状态转移概率表和观测概率表的内容的图。

对于图11中的示例,存在节点S10、节点S21、节点S22、以及节点S30。具体地,把图10中的节点S20分裂成图11中的节点S21和节点S22。在该示例的情形中,图2中的部分15以100%的概率在节点S10处被观测到,在节点S10处执行用于向右方移动的行为后,以50%的概率向节点S21进行转移,以50%的概率向节点S22进行转移。

另外,图2中的部分7以100%的概率在节点S21处被观测到,在节点S21处执行用于向右方移动的行为后,以100%的概率向节点S30进行转移,在执行用于向左方移动的行为后,以100%的概率向节点S10进行转移。

图2中的部分13以100%的概率在节点S22处被观测到,在节点S22处执行用于向右方移动的行为后,以100%的概率向节点S30进行转移,在执行用于向左方移动的行为后,以100%的概率向节点S10进行转移。

另外,图2中的部分5以100%的概率在节点S30处被观测到,在节点S30处执行用于向左方移动的行为后,以50%的概率向节点S21进行转移,以50%的概率向节点S22进行转移。从而,可以通过应用分裂算法实现一状态一观测约束。

具体地,分裂算法的应用等同于用于通过重复如下处理获得最终满足一状态一观测约束的局部最佳方案的处理:用于向通过期望值最大化方法获得的局部最佳方案施加一状态一观测约束以再次基于期望值最大化方法对校正后的方案进行局部优化。

注意,对于以上参照图10和图11描述的示例,已经进行了其中进行划分以使得将在每个节点处会观测到的观测符号的观测概率设置为100%的描述,但实际上,很少将观测符号的观测概率设置为100%。这是因为对于一状态一观测约束,经常并不在严格意义上将在一个节点处会观测到的观测符号的数量限制成一个。换言之,一状态一观测约束用于即使在一个节点处会观测到的观测符号的数量大于一的情形中,也使得其一个观测符号的观测概率等于或大于阈值。

将参照图12中的流程图,针对通过图9中的学习装置34把分裂算法应用于内部模型数据的情形中的处理进行描述。

在步骤S101中,学习装置34参照内部模型数据存储单元37中存储的观测概率表以找到其观测概率bj的最大值等于或小于阈值th1的一个节点sj

在步骤S102中,作为步骤S101中处理的结果,学习装置34确定是否找到了其最大值等于或小于阈值th1的节点sj,在确定找到的情形中,处理进行到步骤S103。

在步骤S103中,学习装置34参照观测概率表以检查在步骤S102中确定找到的节点sj处每个观测符号的观测概率。然后,学习装置34统计其观测概率等于或大于阈值th2的观测符号的数量,并且列出这些观测符号。例如,在存在K个其观测概率等于或大于阈值th2的观测符号的情形中,列出观测符号ok(k=1、...、K)。

在步骤S104中,学习装置34把节点sj划分成K个节点。

此时,对节点sj被划分之后观测概率表的观测概率、以及状态转移概率表的状态转移概率将设置如下。

在作为划分节点sj的结果获得的K个节点中,假设把第k个节点表示成sjk,把以在节点sjk处将会观测到每个观测符号的观测概率为元素的向量表示成bjk

在步骤S104中,学习装置34设置向量bjk以成为如下范围中的均匀随机数:其中,只有对于观测符号ok的观测概率极大(非常接近1),而对于其它观测符号的观测概率非常小。

另外,假设在节点sj被划分之前从节点si向节点sj的状态转移概率用aij表示,并且假设在节点sj被划分之后从节点si向节点sjk的状态转移概率用akij表示。

在步骤S104中,学习装置34设置状态转移概率以使得akij成为通过按照划分之前每个观测符号的观测概率的比率按比例对划分之前的状态转移概率aij进行划分获得的值。

另外,假设在节点sj被划分之前从节点sj向节点si的状态转移概率用aji表示,并且假设在节点sj被划分之后从节点sjk向节点si的状态转移概率用akji表示。

在步骤S104中,为K个状态转移概率akji中的每一个设置状态转移概率aji。从而,执行分裂算法应用处理。

接下来,将对行为转移约束进行描述。行为转移约束是预先假定已经施加了一状态一观测约束的约束。行为转移约束是如下约束:在可以通过同一行为ck从某个节点si向其进行状态转移的转移目的节点sj(j=1、...、J)、或者可以通过同一行为ck从其向节点si进行状态转移的转移源节点sj(j=1、...、J)处将会观测到不同的观测符号oj(j=1、...、J)。将前者称为前向约束,将后者称为后向约束。换言之,在行为转移约束下,不准许在可以通过同一行为ck向(或从)其进行转移的多个转移目的(或者转移源)节点处观测到同一观测符号。注意,即使在行为转移约束下,如果节点为用于观测不同观测符号的节点,则也准许存在可以通过同一行为ck向其进行转移的多个转移目的节点。

可以把用于应用前向合并算法或后向合并算法的示例设计成用于实现行为转移约束的方法的示例。

图13和图14是用于描述前向合并算法的图。在图13和图14中,节点用图中的圆示出,以上参照图2所描述的部分的图显示为将会在每个节点处观测到的符号。

图13是图示了作为行为者的学习结果获得的状态转移概率表和观测概率表的内容的图。图13中的示例示出了在存在节点S10、节点S21、节点S22、节点S31和节点S32的情形中的示例。在该示例的情形中,在节点S10处执行用于向右方移动的行为后,以50%的概率向节点S21进行转移,以50%的概率向节点S22进行转移。

图2中的部分5以100%的概率在节点S21处被观测到,并且也以100%的概率在节点S22处被观测到。

另外,在节点S21处执行用于向右方移动的行为后,以100%的概率向节点S31进行转移,在节点S22处执行用于向右方移动的行为后,以100%的概率向节点S32进行转移。

注意,图13(图14也相同)是图示了状态转移概率表和观测概率表的内容的图,实际上,与图13对应的状态转移概率表和观测概率表被学习作为内部模型数据。在对这种内部模型数据应用前向合并算法的情况下,诸如图14中所示地改变状态转移概率表和观测概率表的内容。

图14是图示了通过向与图13对应的状态转移概率表和观测概率表的内容应用前向合并算法而获得的状态转移概率表和观测概率表的内容的图。

对于图14中的示例,存在节点S10、节点S20、节点S31和节点S32。具体地,把图13中的节点S21和S22合并成图14中的节点S20。在该示例的情形中,图2中的部分5以100%的概率在节点S20处被观测到,在节点S10处执行用于向右方移动的行为后,以100%的概率向节点S20进行转移。

另外,在节点S20处执行用于向右方移动的行为后,以50%的概率向节点S31进行转移,以50%的概率向节点S32进行转移。从而,可以通过应用前向合并算法实现行为转移约束的前向约束。

具体地,在行为转移约束下,不准许在可以通过同一行为ck向其进行转移的多个转移目的节点处观测到同一观测符号,相应地,把图13中的节点S21和S22合并成图14中的节点S20。注意,即使假设存在通过在节点S10处执行的用于向右方移动的行为向其进行转移的节点S23,当在节点S23处观测到除部分5以外的部分时,节点S23也不成为合并对象。即使在行为转移约束下,只要节点用于观测不同的观测符号,则准许存在可以通过同一行为ck向其进行转移的多个转移目的节点。

即,找到在一个节点处执行某个行为的情形中可以向其进行转移的每一个转移目的节点处具有类似观测概率分布的节点,并且合并找到的节点。

注意,对于以上参照图13和图14描述的示例,已经进行了其中进行合并以使得将向观测到预定观测符号的节点的状态转移概率设置为100%的描述,但实际上,很少将状态转移概率设置为100%。这是因为,对于前向约束,在严格意义上不准许在可以通过同一行为ck向其进行转移的多个转移目的节点处观测到同一观测符号。

将参照图15中的流程图,针对通过图9中的学习装置34把前向合并算法应用于内部模型数据的情形中的处理进行描述。

在步骤S121中,学习装置34参照内部模型数据存储单元37中存储的状态转移概率表以检查某个行为ck的状态转移概率表。

在步骤S122中,学习装置34从在步骤S121的处理中检查的状态转移概率表中确定出某个转移源节点si,并检查以从节点si向每个转移目的节点的状态转移概率为元素的向量aij(k)。然后,学习装置34列出其状态转移概率的值等于或大于阈值的转移目的节点sj

在步骤S123中,学习装置34针对每个观测符号对在步骤S122的处理中列出的转移目的节点进行分类。

注意,诸如以上所述,行为转移约束是预先假定已经施加了一状态一观测约束的约束,相应地,可以确定在转移目的节点处将会观测到的观测符号几乎是一个。

在步骤S124中,学习装置34合并在步骤S123的处理中进行了分类的具有同一观测符号的节点。

具体地,假设在步骤S123的处理中被合并的对应于观测符号m的节点组用sjm,l(l=1、...、L)表示,从而将L个节点sjm,l合并成一个节点sjm

此时,将L个节点sjm,l合并成一个节点sjm之后的状态转移概率表的状态转移概率以及观测概率表的观测概率将进行如下设置。

通过表达式(14)获得并设置从节点si向节点sjm的状态转移概率aijm

aijm=Σlaijm,l...(14)

现在,假设aijm,l表示从合并之前的节点si到一个节点sjm,l的状态转移概率。

获得从节点sjm向节点si的状态转移概率ajim为aijm,l的简单均值或者通过∑kakjm,l的加权均值,并且进行设置。

获得在把L个节点sjm,l合并成一个节点sjm之后在节点sjm处观测符号m的观测概率bjm为bjm,l的简单均值或者通过∑kakjm,l的加权均值,并且进行设置。

在步骤S124中,这样设置状态转移概率aijm、状态转移概率ajim和观测概率bjm。从而,执行前向合并算法应用处理。

图16和图17是用于描述后向合并算法的图。在图16和图17中,节点用图中的圆示出,以上参照图2所描述部分的图显示为在每个节点处将会观测到的符号。

图16是图示了作为行为者的学习结果获得的状态转移概率表和观测概率表的内容的图。图16中的示例示出了在存在节点S11、节点S12、节点S21、节点S22和节点S30的情形中的示例。在该示例的情形中,在节点S11处执行用于向右方移动的行为后,以100%的概率向节点S21进行转移。在节点S12处执行用于向右方移动的行为后,以100%的概率向节点S22进行转移。

图2中的部分7以100%的概率在节点S21处被观测到,也以100%的概率在节点S22处被观测到。

另外,在节点S21处执行用于向右方移动的行为后,以100%的概率向节点S30进行转移,在节点S22处执行用于向右方移动的行为后,以100%的概率向节点S30进行转移。

注意,图16(图17也相同)是图示了状态转移概率表和观测概率表的内容的图,实际上,学习与图16对应的状态转移概率表和观测概率表作为内部模型数据。在对这种内部模型数据应用后向合并算法的情况下,诸如图17中所示地改变状态转移概率表和观测概率表的内容。

图17是图示了通过对与图16对应的状态转移概率表和观测概率表的内容应用后向合并算法而获得的状态转移概率表和观测概率表的内容的图。

对于图17中的示例,存在节点S11、节点S12、节点S20和节点S30。具体地,把图16中的节点S21和S22合并成图17中的节点S20。在该示例的情形中,图2中的部分7以100%的概率在节点S20处被观测到。

另外,在节点S11处执行用于向右方移动的行为后,以100%的概率向节点S20进行转移,在节点S12处执行用于向右方移动的行为后,以100%的概率向节点S20进行转移。

另外,在节点S20处执行用于向右方移动的行为后,以100%的概率向节点S30进行转移。从而,可以通过应用后向合并算法实现行为转移约束的后向约束。

具体地,在行为转移约束下,不准许在可以通过同一行为ck从其进行转移的多个转移源节点处观测到同一观测符号,相应地,把图16中的节点S21和S22合并成图17中的节点S20。注意,即使假设存在通过执行用于向右方移动的行为向节点S30进行转移的节点S23,当在节点S23处观测到除部分7以外的部分时,节点S23也不成为合并对象。即使在行为转移约束下,只要节点用于观测不同的观测符号,则准许存在可以通过同一行为ck从其进行转移的多个转移源节点。

换言之,找到在通过对于一个节点的共同行为可以从其进行转移的每个转移源节点处具有类似观测概率分布的节点,并且合并找到的节点。

将参照图18中的流程图,针对在通过图9中的学习装置34把后向合并算法应用于内部模型数据的情形中的处理进行描述。

在步骤S141中,学习装置34参照内部模型数据存储单元37中存储的状态转移概率表以检查某个行为ck的状态转移概率表。

在步骤S142中,学习装置34从在步骤S141的处理中检查的状态转移概率表中确定出某个转移目的节点sj,并检查以从每个转移源节点向节点sj的状态转移概率为元素的向量aij(k)。然后,学习装置34列出其状态转移概率的值等于或大于阈值的转移源节点si

在步骤S143中,学习装置34针对每个观测符号对在步骤S142的处理中列出的转移源节点进行分类。

注意,诸如以上所述,行为转移约束是预先假定已经施加了一状态一观测约束的约束,相应地,可以确定在转移源节点处将会观测到的观测符号几乎是一个。

在步骤S144中,学习装置34合并在步骤S143的处理中进行了分类的具有同一观测符号的节点。

具体地,假设步骤S143中对应于观测符号m的、进行合并处理的节点组用sim,l(l=1、...、L)表示,从而将L个节点sim,l合并成一个节点sim

此时,把L个节点sim,l合并成一个节点sim之后的状态转移概率表的状态转移概率以及观测概率表的观测概率设置如下。

获得从节点sim向节点sj的状态转移概率aijm为ajim,l的简单均值或者通过∑kakim,l的加权均值,并且进行设置。通过∑iajim,l得到从节点Sj向节点sim的状态转移概率ajim并且进行设置。获得在把L个节点sim,l合并成一个节点sim之后在节点sim处的观测符号m的观测概率bim为bim,l的简单均值或者通过∑kakim,l的加权均值并且进行设置。

在步骤S144中,这样设置状态转移概率aijm、状态转移概率ajim和观测概率bjm。从而,执行后向合并算法应用处理。通过这样施加一状态一观测约束和行为转移约束可以减小学习处理的负荷。

图19是用于对行为扩展HMM的状态转移概率表和观测概率表的似然性进行比较的表。图中最左边一列表示学习的数量(尝试的数量)。尝试数量右侧的一列是“初次学习”列,其中描述了在尝试数量的每次尝试时学习的状态转移概率表和观测概率表的似然值。在“初次学习”右侧的一列是“分裂/合并之后”。在此列中描述了通过对通过“初次学习”获得的状态转移概率表和观测概率表进行图12、15和18中的处理得到的状态转移概率表和观测概率表的似然值。另外,“分裂/合并之后”右侧的一列是“增量”列。在此列中描述了列“分裂/合并之后”中描述的似然值与列“初次学习”中描述的似然值之间的差值。

如图19中所示,可以发现通过进行图12、15和18中的处理改进了似然性。另外,可以发现通过进行图12、15和18中的处理似然值取大约“-60”的值的次数最多。换言之,在进行了学习以使得似然值取大约“-60”的值的情况下,可以认为以最合适的方式对提供的环境进行了学习。另一方面,“初次学习”列中描述的似然性的值每次进行学习时显著改变,并且可以发现,即便在重复进行学习的情况下,也难以按最合适的方式对给定的环境进行学习。

换言之,通过施加一状态一观测约束和行为转移约束可以改进行为扩展HMM学习的精度。

图20至图26是用于描述通过施加一状态一观测约束和行为转移约束的学习结果的改变的图。现在,将针对如下情形进行描述:其中,改变图20示出的迷宫中由图中的圆示出的位置部分,作为示例,使行为者学习作为环境的诸如图21中所示的配置改变的迷宫。

图22是图示了学习了图20和图21中所示环境的行为者的状态转移概率表和观测概率表的内容的图。对于图22中的示例,图中用圆示出的、通过图中三角形所代表的方向上的行为进行其转移的节点用线相连。另外,图中圆形内部示出的数字表示该圆示出的节点的索引。图22中的示例是图示了在未施加一状态一观测约束和行为转移约束的情况下得到的状态转移概率表和观测概率表的内容的图。

另一方面,图23是图示了通过对与图22对应的状态转移概率表和观测概率表进行用于施加一状态一观测约束和行为转移约束的处理而得到的状态转移概率表和观测概率表的内容的图。

在图23中,把图22中的节点18划分成节点2和18。另外,在图23中,把图22中的节点7和19合并成节点7。此外,在图23中,把图22中的节点12和25合并成节点12。

注意,行为者移动经过用于学习的迷宫的时间带包括在迷宫被配置成诸如图20中所示的情况下的时间带、以及迷宫被配置成诸如图21中所示的情况下的时间带。相应地,图23中示出的每个节点的位置并不与图20或图21中的部分的位置完全相符。例如,可以发现恰当地学习了可以根据时间带通过图23中的节点24、36、2和18改变迷宫的配置。

实际上,迷宫的规模更大。例如,以诸如图24中所示的迷宫作为环境,使行为者对迷宫进行学习。在此情形中,在未施加一状态一观测约束和行为转移约束的情况下得到的状态转移概率表和观测概率表的内容图示为诸如图25中所示。另一方面,通过施加一状态一观测约束和行为转移约束而得到的状态转移概率表和观测概率表的内容图示为诸如图26中所示。可以发现,与图25相比图26具有接近实际迷宫(图24)配置的配置。

到目前为止针对用于有效地且恰当地采用不可避免地具有大规模的行为扩展HMM进行学习的技术进行了描述。接下来,将参照图27中的流程图对至此所描述的图9中的学习装置34所进行的行为扩展HMM的学习处理进行描述。

在步骤S161中,学习装置34获得初始内部模型数据。此处,初始内部模型数据例如是在紧接着由在迷宫上移动的机器人生成之后的状态转移概率表和观测概率表。例如基于由机器人在每个时间点执行的行为、以及作为其行为执行的结果观测到的观测符号的组合形成的信息,生成要设置到状态转移概率表和观测概率表中的状态转移概率和观测概率。

在步骤S162中,学习装置34对在步骤S161的处理中得到的内部模型数据进行优化。此时,例如通过最大似然估计方法等改变状态转移概率表的每个值以及观测概率表的每个值以进行优化。

在步骤S163中,学习装置34确定在步骤S162的处理中被优化的内部模型数据是否满足上述一状态一观测约束和行为转移约束。

例如,即使在一个节点处观测到多个观测符号的情况下,当其观测符号之一的观测概率等于或大于阈值时,也满足一状态一观测约束。另外,例如,对于可以通过同一行为向其进行转移的多个转移目的节点,在可能观测到同一观测符号的概率等于或小于阈值时,满足行为转移约束。

在步骤S163中确定内部模型数据不满足上述一状态一观测约束和行为转移约束的情况下,处理进行到步骤S164。

在步骤S164中,学习装置34改变内部模型数据以满足一状态一观测约束和行为转移约束。此时,例如通过以上参照图12、图15和图18描述的处理来改变状态转移概率表的每个值以及观测概率表的每个值。

在步骤S164中的处理之后,处理返回步骤S162。然后,重复执行步骤S162至步骤S164的处理直到在步骤S163中确定满足一状态一观测约束和行为转移约束为止。

在步骤S163中确定满足一状态一观测约束和行为转移约束的情况下,处理进行到步骤S165。

在步骤S165中,学习装置34把内部模型数据保存在内部模型数据存储单元37中。从而,执行行为扩展HMM的学习处理。

顺带提及,作为用于采用HMM进行学习的方法,存在成批学习方法和添加学习方法。此处,例如,在已经得到10000个步骤的转移和观测数据的情形中,成批学习方法是用于基于10000个步骤的转移和观测生成并保存状态转移概率表和观测概率表的方法。另一方面,对于添加学习方法,例如,基于1000个步骤的转移和观测生成并保存状态转移概率表和观测概率表。然后,基于后续1000个步骤的转移和观测,改变并保存状态转移概率表和观测概率表的每个值,以此方式,通过重复进行学习对内部模型数据进行更新。

例如,在由自己穿过迷宫的机器人等进行行为扩展HMM的学习的情形中,要求通过添加学习方法进行学习。对于通过成批学习方法进行的学习,原则上根本难以用适合的方式对迷宫的配置等的改变进行学习,为了在改变的环境下展现较好的性能,通过反馈操作结果的添加学习方法进行学习是有必要的。

顺带提及,尚未解决关于在进行添加学习时如何综合“学习过的存储配置”和“新的经验”的问题。一方面,要求通过反映“新的经验”实现迅速响应,而另一方面,存在会破坏到目前为止建立的存储配置的风险。

例如,在用于对诸如图28中所示的迷宫的配置进行学习的机器人在学习一次以保存内部模型数据之后在图中圆101所示的范围内不断移动的情况下,与圆102所示的范围中的位置对应的内部模型数据可能会被破坏。换言之,可能会错误地更新恰当地学习和存储了的、与圆102指示的范围中的位置所对应的内部模型数据。对于添加学习方法的学习,仅基于新得到的转移和观测对内部模型数据进行更新,相应地,把圆101指示的范围内的位置错误地识别为圆102指示的范围的位置所对应的节点。

为了处理这种问题,例如,以前,为了通过添加学习方法进行学习,对应于迷宫的每个范围单独地保存内部模型数据。可替选地,进行了学习,诸如演练来自当前存储器的通过以往的学习得到的内部模型数据等。

然而,采用根据相关技术的方法引起如下问题:致使“新的经验”未反映在单独的以往的内部模型数据上,或者是通过受到“新的经验”影响的被演练的以往的内部模型数据生成的,等等。因而,采用根据相关技术的方法,对采用大规模HMM的学习,内部模型数据难以通过进行添加学习而用作实用模型。例如,在对用于以往学习的数据以及将会用于新学习的数据共同进行成批学习的情况下,可以得到合适的学习结果,但是为了实现这一点,要求巨大的存储容量和计算量。

接下来,将针对用于实现将会以稳定的方式根据不可避免地具有大规模的行为扩展HMM通过添加学习方法进行学习的技术进行描述。

对于本发明的实施例,学习装置34通过以下添加学习方法进行学习,从而可以在改变的环境下展现较好的性能,也可以进行稳定的学习。具体地,计算并保存后面描述的用于估计状态转移概率的频率变量以及后面描述的用于估计观测概率的频率变量,从而可以以稳定的方式根据行为扩展HMM通过添加学习方法进行学习。

换言之,通过成批学习方法进行的学习是通过添加在多个时间带中得到的转移并基于观测进行学习而得到的。例如,可以设计:要由成批学习方法用于学习的转移和观测的全部数据DA被配置成诸如图29中所示。具体地,可以设计:全部数据被配置成在第一时间带处得到的数据集D1、在第二时间带处得到的数据集D2和在第三时间带处得到的数据集D3等。

通过上述表达式(3)根据行为扩展HMM的学习进行状态转移概率的估计,但是此处,诸如图29中所示,考虑诸如图29中所示的存在多个数据集的情形。

可以通过表达式(15)获得第n个学习到的数据集Dn的状态转移概率的估计值a′ij(k)(n)

a,ij(k)(n)=ΣtDn,ct=ckαt(i)aij(k)bj(ot+1)βt+1(j)ΣtDn,ct=ckαt(i)βt(i)...(15)

现在,假设对于状态转移概率估计的描述,t∈Dn在没有特定说明的情形中表示(t,t+1∈Dn)。另外,假设学习数据集Dn包括用于表示在每个时间点执行的行为、在每个时间点的节点以及在每个时间点的观测符号的信息。

可以认为表达式(15)中的分子表示在学习到的数据集Dn中通过执行行为ck从节点i向节点j转移的频率。另一方面,可以认为表达式(15)中的分母表示在学习到的数据集Dn中通过执行行为ck从节点i向其他节点转移的频率。

现在,把表示与表达式(15)中的分子对应的表达式的变量χij(k)(n)定义成表达式(16)指示的变量。

χij(k)(n)ΣtDn,ct=ckαt(i)aij(k)bj(ot+1)βt+1(j)...(16)

根据表达式(16)可以获得表达式(17)。

ΣtDn,ct=ckαt(i)βt(i)=ΣtDn,ct=ckΣjαt(i)aij(k)bj(ot+1)βt+1(j)=Σjχij(k)(n)...(17)

根据表达式(17)和(15)可以推导出表达式(18)。

a,ij(k)(n)=χij(k)(n)Σjχij(k)(n)...(18)

从而,可以使用变量χij(k)(n)表示状态转移概率的估计值。

此处,变量χij(k)(n)等同于表达式(15)中的分子,可以认为变量χij(k)(n)表示在学习数据集Dn内通过执行行为ck从节点i向节点j转移的频率,相应地,假设将变量χij(k)(n)称为用于估计状态转移概率的频率变量。

对于本发明的实施例,在通过添加学习方法进行学习的情况下,为了能够进行稳定学习,使用上述频率变量χij(k)(n)得到状态转移概率的估计值。具体地,每次学习装置34基于一个学习到的数据集进行学习时,更新频率变量、并将其存储和保存在内部模型数据存储单元37中作为内部模型数据之一。

换言之,在新进行学习时,读取出与以往学习到的数据集对应的频率变量,并且通过向其添加基于新的学习得到的频率变量对频率变量的值进行更新。另外,通过得到要基于更新后的频率变量得到的状态转移概率的估计值通过添加学习方法进行学习。以此方式,可以得到与对学习到的数据集D1、D2、D3等共同进行成批学习大致同样的结果。

接下来,将对通过多次学习得到的每个内部模型数据的综合进行描述。具体地,将对要基于学习数据集D1、D2、...、Dn等计算的状态转移概率的估计值a′ij(k)(1)、a′ij(k)(2)、...、a′ij(k)(n)等的综合进行描述。

在这种情形中,例如,设置权重wn(∑wn=1),诸如表达式(19)中所示,也可以设计:把状态转移概率的估计值a′ij(k)(1)、a′ij(k)(2)、...、a′ij(k)(n)等综合。

a,ij(k)=Σnwna,ij(k)(n)...(19)

表达式(19)意味着状态转移概率的估计值分别乘以与学习到的数据集对应的权重w1、w2、...、wn等,并且相加。

然而,诸如以上所述,对于本发明的实施例,获得要基于与学习到的数据集对应的频率变量获得的状态转移概率的估计值,相应地,通过表达式(19)的综合不合适。

对于本发明的实施例,得到要基于与学习到的数据集对应的频率变量得到的状态转移概率的估计值,相应地,需要在进行综合的同时把每个状态转移概率的估计值的可靠性考虑在内。换言之,需要在设置权重的同时把学习到的数据集的数据量(序列长度)考虑在内。

另外,与学习到的数据集对应的频率变量根据已经基于以往的学习设置的状态转移概率的值而变化。例如,从其中出现其状态转移概率的值低的大量转移的学习到的数据集得到的频率变量的值不可避免且容易变成小的值;从其中出现其状态转移概率的值高的大量转移的学习到的数据集得到的频率变量的值不可避免且容易变成大的值。这是因为,诸如以上所述,频率变量由与表达式(15)中的分子对应的表达式表示。相应地,需要在设置权重的同时把频率变量值的量值考虑在内。

对于本发明的实施例,通过表达式(20)得到综合之后状态转移概率的估计值a′ij(k)。

a,ij(k)=χij(k)Σjχij(k),,χij(k)=Σnwnχij(k)(n)...(20)

此时,诸如以上所述,需要把权重wn考虑在内。具体地,针对与序列长度Tn的学习数据集Dn对应的频率变量χij(K)(n)把权重wn设置成满足表达式(21)中所示的关系。

wnΣkΣiΣjχij(k)(n)=Tn-1...(21)

从而,在如下这种情况下:对于每个学习到的数据集,在根据该学习到的数据集的序列长度调整权重的同时,在所有数据集上累加频率变量χij(K)(n),可以得到与对所有数据共同进行成批学习大致同样的结果。具体地,通过表达式(22)得到频率变量χij(K),诸如以上参照表达式(20)描述的,使用频率变量χij(K)得到综合之后状态转移概率的估计值a′ij(k)。

χij(k)=Σnwnχij(k)(n),wn=Tn-1ΣkΣiΣjχij(k)(n)...(22)

以此方式,例如,可以得到与对所有学习到的数据集共同进行成批学习同样的结果而无需保存与学习到的数据集D1、D2、...、Dn等中的每个数据集对应的状态转移概率表等。换言之,通过添加通过对直到已经存储的学习到的数据集Dn-1进行学习得到的频率变量以及通过对学习到的数据集Dn进行学习得到的频率变量得到状态转移概率的估计值。因而,可以得到与对学习到的数据集D1、D2、...、Dn共同进行成批学习大致同样的结果。

另一方面,通过上述表达式(4)根据行为扩展HMM的学习进行观测概率的估计,但是此处,考虑存在多个数据集的情形,诸如图29中所示。

可以通过表达式(23)得到第n个学习到的数据集Dn的观测概率的估计值b′j(o)(n)

b,j(o)(n)=ΣtDn,ot=oαt(j)βt(j)ΣtDnαt(j)βt(j)...(23)

注意,与状态转移概率的估计的描述的情形不同,此处表达式t∈Dn不表示(t+1∈Dn)。

另外,假设学习到的数据集Dn包括用于表示在每个时间点处执行的行为、在每个时间点处的节点和在每个时间点处的观测符号的信息。ot=o表示在时间点t处的观测符号为o。

可以认为表达式(23)中的分子表示学习到的数据集Dn中在节点j处观测到观测符号o的频率。另一方面,可以认为表达式(23)中的分母表示学习到的数据集Dn中在节点j处观测到观测符号之一的频率。

现在,把用于表示与表达式(23)中的分子对应的表达式的变量ωj(o)(n)定义成表达式(24)。

ωj(o)(n)ΣtDn,ot=oαt(j)βt(j)...(24)

根据表达式(24)可以得到表达式(25)。

ΣtDnαt(j)βt(j)=Σoωj(o)(n)...(25)

根据表达式(25)和(23)可以推导出表达式(26)。

b,j(o)(n)=ωj(o)(n)Σoωj(o)(n)...(26)

从而,可以使用变量ωj(o)(n)表示观测概率的估计值。

此处,变量ωj(o)(n)等同于表达式(23)中的分子,可以认为变量ωj(o)(n)表示学习到的数据集Dn中在节点j处观测到观测符号o的频率,相应地,将这称为用于估计观测概率的频率变量。

对于本发明的实施例,以与状态转移概率的情形同样的方式,在通过添加学习方法进行学习的情况下,为了以稳定的方式进行学习,将使用上述变量ωj(o)(n)得到观测概率的估计值。具体地,每当基于一个学习到的数据集进行学习时,学习装置34更新频率变量以把它存储和保存在内部模型数据存储单元37中作为内部模型数据之一。

然后,在新进行学习时,读取出与以往学习到的数据集对应的频率变量,通过把基于新的学习得到的频率变量添加到该频率变量中对频率变量的值进行更新。另外,通过得到基于更新频率变量得到的观测概率的估计值通过添加学习方法进行学习。

接下来,将对通过多次学习得到的每个内部模型数据的综合进行描述。具体地,将针对基于学习到的数据集D1、D2、...、Dn等计算的观测概率的估计值b′j(o)(1)、b′j(o)(2)、...、b′j(o)(n)等的综合进行描述。

在综合时,由于与状态转移概率的估计值的情形同样的原因,需要把权重w′n考虑在内。

对于本发明的实施例,通过表达式(27)得到综合之后的状态转移概率的估计值b′j(o)。

b,j(o)=ωj(o)Σoωj(o),,ωj(o)=Σnwnωj(o)(n)...(27)

此时,针对与序列长度Tn的学习到的数据集Dn对应的频率变量ωj(o)(n)设置权重w′n以满足表达式(28)指示的关系。

w,nΣoΣjωj(o)(n)=Tn...(28)

从而,在如下这种情况下:对于每个学习到的数据集,在根据该学习到的数据集的序列长度调整权重的同时,在所有数据集上累加频率变量ωj(o)(n),可以得到与对所有数据共同进行成批学习大致同样的结果。具体地,通过表达式(29)得到频率变量ωj(o),诸如以上参照表达式(27)所述,使用频率变量ωj(o)得到综合之后的状态转移概率的估计值b′j(o)。

ωj(o)=Σnw,nωj(o)(n),w,n=TnΣoΣjωj(o)(n)...(29)

以此方式,例如,可以得到与对所有学习到的数据集共同进行成批学习大致同样的结果而无需保存与学习到的数据集D1、D2、...、Dn等中的每个数据集对应的状态转移概率表和观测概率表等。换言之,通过添加通过对直到已经存储的学习到的数据集Dn-1进行学习得到的频率变量以及通过对学习到的数据集Dn进行学习得到的频率变量得到观测概率的估计值。因而,可以得到与对学习到的数据集D1、D2、...、Dn共同进行成批学习大致同样的结果。

例如,即便在通过保存表达式(15)或(23)中的计算结果而不做改变通过添加学习方法进行学习的情况下,也得不到与对学习到的数据集D1、D2、...、Dn共同进行成批学习大致同样的结果。这是因为表达式(15)或(23)中的计算结果是计算为概率值的,相应地,进行归一化以使得可能的转移概率的总值变成1。即使我们保存表达式(15)或(23)的计算结果而不做改变并且通过添加学习方法进行学习,例如,也需要保存与学习到的每个数据集对应的表以得到与对学习到的数据集D1、D2、...、Dn共同进行成批学习大致同样的结果。因此,对于本发明的实施例,保存要通过与表达式(15)或(23)中的分子对应的表述式得到的频率变量。

在以此方式得到状态转移概率和观测概率的情况下,即使在通过添加学习方法进行学习时,也可以在改变的环境下呈现较好的性能,并且也可以进行稳定的学习。

另外,以此方式,无需保存与以往每次学习对应的内部模型数据,相应地,例如,可以减小内部模型数据存储单元37的存储容量。另外,作为通过添加学习方法进行学习的结果,可以减小在更新内部模型数据时的计算量,并且可以迅速识别环境的改变。

对于到目前为止关于添加学习方法的描述,对得到离散观测信号的情形的示例进行了描述。在得到连续观测信号的情形中,应当使用在行为者在时间点t处于状态j的情形中通过加权因子γt(j)进行了加权的信号分布来再一次估计观测概率密度函数bj(o)的参数。此时,需要进行调整以使得加权因子γt(j)满足表达式(30)。

w,nΣtDnΣjγt(j)=Tn...(30)

在此情形中,γ′t(j)的含义等同于频率。应当使用γ′t(j)≡w′nγt(j)估计观测信号的均值向量和协方差矩阵。

通常,可以使用诸如高斯分布等对数凹函数、或者椭圆对称概率密度作为模型对观测概率密度函数bj(o)的参数进行重新估计。

对于诸如高斯分布等对数凹函数、或者椭圆对称概率密度的模型参数,可以采用状态j中观测信号的均值向量μ′j和协方差矩阵U′j。可以通过表达式(31)和(32)分别得到均值向量μ′j和协方差矩阵U′j

μ,j=Σtγ,t(j)otΣtγ,t(j)...(31)

U,j=Σtγ,t(j)(ot-μj)(ot-μj)TΣtγ,t(j)...(32)

如上所述,可以确保在通过添加学习方法进行学习时的稳定性,但在添加学习方法的情形中,常常通过根据最近学习结果提供的大权重对内部模型数据进行更新。这是因为考虑到新的经验便于更恰当地学习环境的改变。

例如,考虑其中为完成了由100000个样本形成的学习的学习装置提供100个样本的新数据以使学习装置通过添加学习方法进行学习的情形。要新学习的数据量(100)小于已经学习了的数据的量(100000),相应地,在进行学习而不做改变后,新学习的影响度成为0.1%。在这种情形中,难以断言恰当地学习了环境的改变。

因此,例如,便于允许规定学习率,即新学习的影响度。例如,对于上述示例,在把学习率规定为0.1(10%)的情况下,可以把影响度设置为100倍而不改变要新学习的数据量。

对于本发明的实施例,无论上述学习率的规定如何,都可以防止学习的稳定性下降。

如上所述,诸如表达式(33)中所示对用于估计状态转移概率的频率变量χij(K)进行更新。注意,表达式(33)中的箭头表示诸如右侧所指示的对χij(K)进行更新。

χij(k)χij(k)+wnχij(k)(n),wnTn-1ΣkΣiΣjχij(k)(n)...(33)

诸如表达式(34)中所示对用于估计观测概率的频率变量ωj(o)进行更新。注意,表达式(34)中的箭头表示诸如右侧所指示的对ωj(o)进行更新。

ωj(o)ωj(o)+w,nωj(o)(n),w,nTnΣoΣjωj(o)(n)...(34)

现在,在规定了学习率γ(0≤γ≤1)的情形中,对于本发明的实施例,为了计算用于估计状态转移概率的频率变量,计算表达式(35)中所示的权重Wn和权重zi(k)(n)。把权重Wn和权重zi(k)(n)分别计算为基于新学习得到的频率变量与之相乘的权重和已经保存的频率变量与之相乘的权重。

WnrwnTn-1ΣkΣiΣjχij(k),zi(k)(n)rwnTn-1Σjχij(k)(n)...(35)

然后,通过表达式(36)计算用于估计状态转移概率的频率变量。

χij(k)(1-zi(k)(n))χij(k)+Wnχij(k)(n)...(36)

注意,表达式(35)中的权重zi(k)(n)是通过把权重Wn根据重复进行的学习是单侧递增的考虑在内而提供的权重,可能无法用于实际计算。

另外,在规定了学习率γ(0≤γ≤1)的情形中,为了计算用于估计观测概率的频率变量,计算表达式(37)中所示的权重W′n和权重zj(n)。将权重W′n和权重zj(n)分别计算成基于新学习得到的频率变量与之相乘的权重和已经保存的频率变量与之相乘的权重。

W,nrw,nTnΣkΣjωj(k),zj(n)rw,nTnΣkωj(k)(n)...(37)

然后,通过表达式(38)计算用于估计状态转移概率的频率变量。

ωj(k)(1-zj(n))ωj(k)+W,nωj(k)(n)...(38)

注意,表达式(37)中的权重zj(n)是通过把权重W′n根据重复进行的学习是单侧递增的考虑在内提供的权重,并且可能无法用于实际计算。

采用到目前为止针对规定了学习率的添加学习方法的描述,对得到离散观测信号的情形的示例进行了描述。得到连续观测信号的情形也是以同样的方式,应当在进行相应的权重转换之后进行分布参数的估计。因而,即使不管学习率的规定,也可以防止学习的稳定性下降。

顺带提及,诸如以上所述可以通过表达式(20)得到使用频率变量的状态转移频率估计值a′ij(k)的计算,但是在实践中,在分母∑jχij(k)(n)的值小的情形中,计算结果可能会受到干扰。上述干扰使通过学习得到的内部模型数据的可靠性下降,影响环境的后续识别,并且使行为者错误地识别环境。此外,其识别结果对添加学习方法的学习结果也递归地具有损害效应,因此需要解决此问题。

现在,假设Nik=∑jχij(k)。在Nik的值小的情形中,为了解决干扰计算结果的问题,需要乘以对于状态转移概率与Nik的小对应的代价系数。换言之,在代价系数为η(Nik)时应当通过表达式(39)得到状态转移概率的估计值a′ij(k)。

a,ij(k)=η(Nik)χij(k)Nik...(39)

其中,函数η(x)是对于域0≤x满足范围0≤η(x)≤1的单调递增函数。函数η(x)例如是表达式(40)表示的函数。

η(x)=11+exp(-α(x-β))-11+exp(αβ)...(40)

表述式(40)中的α(>0)和β是要根据使用适当地调整的参数,可以根据例如规定的学习率γ进行调整。

顺带提及,如上所述,对于本发明的实施例,存储用于估计状态转移概率的频率变量和用于估计观测概率的频率变量作为内部模型数据。因而,也需要对用于估计状态转移概率的频率变量和用于估计观测概率的频率变量进行用于施加上述一状态一观测约束和行为转移约束的处理。

对于用于估计状态转移概率的频率变量和用于估计观测概率的频率变量的分裂算法应用处理将如下进行。

现在,将对把节点sj划分成K个节点的情形的示例进行描述。现在,假设作为划分节点sj的结果得到的K个节点中的第k个节点表示成sjk,在划分节点sj之后从节点si向节点sjk的状态转移概率表示成akij。另外,假设在划分节点sj之后从节点sjk向节点si的状态转移概率表示成akji

学习装置34通过表达式(41)对于针对观测符号o的观测概率bj(o)得到用于估计观测概率的频率变量ωj(o)。

ωjk(o)=ωj(o)(o=ok)0(i1,···,K,ik,o=oi)ωj(o)K(otherwise)...(41)

另外,学习装置34设置与状态转移概率akij对应的用于估计状态转移概率的频率变量χkij以使其通过如下方式得到:通过按照与划分之前每个观测符号的观测概率对应的用于估计观测概率的频率变量ωj(ok)的比率按比例地划分在划分之前的频率变量χij

另外,学习装置34设置与状态转移概率akji对应的用于估计状态转移概率的频率变量χkji以使其通过如下方式得到:通过按照与划分之前每个观测符号的观测概率对应的用于估计观测概率的频率变量ωj(ok)的比率按比例地划分在划分之前的频率变量χji

对于用于估计状态转移概率的频率变量和用于估计观测概率的频率变量的前向合并算法应用处理如下进行。

现在,将对把L个节点组sjm,l(l=1、...、L)合并成一个节点sjm的情形的示例进行描述。现在,假设把合并之后从节点si向节点sjm的状态转移概率表示成aijm,把合并之后从节点sjm向节点si的状态转移概率表示成ajim。另外,以合并之后每个观测符号的观测概率为因子的向量表示为bjm

学习装置34通过∑lχijm,l得到并设置与状态转移概率aijm对应的用于估计状态转移概率的频率变量χijm。此处,χijm,l是与合并之前从节点si向节点sim,l的状态转移概率对应的用于估计状态转移概率的频率变量。

另外,学习装置34通过∑lχjim,l得到并设置与状态转移概率ajim对应的用于估计状态转移概率的频率变量χjim。此处,χjim,l是与合并之前从节点sjm,l向节点si的状态转移概率对应的用于估计状态转移概率的频率变量。

另外,学习装置34通过∑lωjm,l得到并设置以与向量bjm的每个因子对应的用于估计状态转移概率的每个频率变量为因子的向量ωjm

然后,在完成所有合并之后,学习装置34使用用于估计校正后状态转移概率的频率变量和用于估计校正后观测概率的频率变量重新计算状态转移概率和观测概率。

对于用于估计状态转移概率的频率变量和用于估计观测概率的频率变量的后向合并算法应用处理如下进行。

现在,将对把L个节点组sjm,l(l=1、...、L)合并成一个节点sjm的情形的示例进行描述。现在,假设把合并之后从节点si向节点sjm的状态转移概率表示成aijm,把合并之后从节点sjm向节点si的状态转移概率表示成ajim。另外,把以合并之后每个观测符号的观测概率为因子的向量表示成bjm

学习装置34通过∑lχijm,l得到并设置与状态转移概率aijm对应的用于估计状态转移概率的频率变量χijm。此处,χijm,l是与合并之前从节点si向节点sjm,l的状态转移概率对应的用于估计状态转移概率的频率变量。

另外,学习装置34通过∑lχjim,l得到并设置与状态转移概率ajim对应的用于估计状态转移概率的频率变量χjim。此处,χjim,l是与合并之前从节点sjm,l向节点si的状态转移概率对应的用于估计状态转移概率的频率变量。

另外,学习装置34通过∑lωjm,l得到并设置以与向量bjm的每个因子对应的用于估计状态转移概率的每个频率变量为因子的向量ωjm

然后,在完成所有合并之后,学习装置34使用用于估计校正后状态转移概率的频率变量和用于估计校正后观测概率的频率变量重新计算状态转移概率和观测概率。

从而,也对用于估计状态转移概率的频率变量和用于估计观测概率的频率变量施加上述一状态一观测约束和行为转移约束。

到目前为止针对用于允许将会以稳定的方式根据不可避免地具有大规模的行为扩展HMM通过添加学习方法进行学习的技术进行了描述。

顺带提及,对于以上描述,诸如参照图8所描述的,对具有三维状态转移概率表和二维观测概率表的行为扩展HMM的示例进行了描述。通常,基于如下前提确定学习算法:如果假设节点的数量为N、观测符号的数量为M、行为的数量为K,则参数的数量变成N2K+NM,N、M和K的值为常数。

然而,在推进学习时,可能需要改变N、M和K的值。例如,在新添加用于机器人在其中移动的迷宫的部分的情形中,观测符号的类型增加,相应地需要增大M的值。

接下来,将针对在推进学习时迫于压力要改变节点的数量、观测符号的数量、或者行为的数量的情形中可以进行的处理进行描述。

图30是用于描述因观测符号类型增加所致的影响的图。如图中所示,当观测符号的类型增加时,出现在观测概率表的行方向(图中的水平方向)上的扩展。换言之,需要新设置与区域121对应的观测概率的值。注意,观测概率表具有约束以使得表每一行的观测概率值的总和为1.0。

另外,诸如图30中所示,出现在观测概率表的行方向(图中的水平方向)上的延伸,相应地,也需要延伸用于估计观测概率的频率变量的表。换言之,需要新设置对于区域122的频率变量的值。

对于本发明的实施例,如图30中所示,在需要延伸观测概率表的情形中,学习装置34将会进行以下处理。现在,将例如基于对于机器人而言观测符号的类型增加预定数量的前提,针对在诸如图30中所示命令延伸观测概率表的情形中学习装置34的处理进行描述。

现在,假设把第M+i列添加到观测概率表中,其中,新的观测符号oM+i对应的索引为M+i。学习装置34把要设置到观测概率表第M+i列中的观测概率值确定为大小合适的非零因子。此非零因子的值将确定如下。

如表达式(42)中所示,假设在添加新观测符号之前观测符号的数量为M,要设置到第M+i列中的观测概率值均为1/M。

bj(M+i)=1M(i=1,...)...(42)

可替选地,诸如表达式(43)中所示,统计其观测概率bj(·)等于或大于阈值的观测符号的数量,使用其数量nj得到要设置到第M+i列中的观测概率值。注意,bj(·)表示每个等于或大于阈值的观测符号的观测概率。

bj(M+i)=1nj(i=1,···)...(43)

如表达式(42)或(43)中所示,在把大小合适的非零因子设置到观测概率表的第M+i列中之后,学习装置34把表的每一行的观测概率值的总和调整为1.0。换言之,诸如表达式(44)中所示,学习装置34更新观测概率表内每个非零的观测概率bj(·)。从而,完成观测概率表的扩展。

bj(·)bj(·)s.t.Σkbj(k)=1...(44)

此外,学习装置34把要设置到用于估计观测概率的频率变量表的第M+i列中的所有观测概率值设置为零。从而,完成用于估计观测概率的频率变量表的扩展。

然后,学习装置34在预定学习率的规定下对包括新观测符号的学习到的数据集通过添加学习方法进行学习以更新内部模型数据。从而,对用于估计状态转移概率的频率变量、用于估计观测概率的频率变量、以及观测概率表和状态转移概率表的每个值进行更新。

以此方式,即使在通过添加学习方法进行学习的同时观测到新观测符号,也可以恰当地更新内部模型数据。

另外,例如,在预定观测符号在学习时变得不必要的情况下,可以在列方向上削减观测概率表。

在此情形中,如果假设与变得不必要的观测符号对应的索引为k,则学习装置34从观测概率表中除去第k列以使得在节点sj处的观测概率bj(k)不存在。

类似地,学习装置34还针对用于估计观测概率的频率变量表除去第k列以使得ωj(k)不存在。

另外,学习装置34使用用于估计观测概率的频率变量重新计算在削减之后观测概率表内的每个值。

然后,学习装置34在预定学习率的规定下通过添加学习方法对预定观测符号变得不必要之后学习到的数据集进行学习以更新内部模型数据。从而,对用于估计状态转移概率的频率变量、用于估计观测概率的频率变量、以及观测概率表和状态转移概率表的每个值进行更新。

另外,例如,在机器人在其中移动的迷宫在预定方向上延伸的情况下,节点数量增加,相应地需要增加节点数量值N。

图31是用于描述因节点数量增加所致的影响的图。如图中所示,在节点数量增加的情况下,发生在状态转移概率表的矩阵方向上的扩展。换言之,需要新设置与图31中状态转移概率表第一页中倒L形区域131-1对应的状态转移概率的值。类似地,需要新设置对应于每个行为的与状态转移概率表的倒L形区域131-2、131-3等对应的状态转移概率的值。换言之,需要通过将K页状态转移概率表延伸行为数来新设置状态转移概率的值。注意,状态转移概率表具有约束以使得表每一行的观测概率值的总和为1.0。

另外,在节点数量增加的情况下,发生在观测概率表的列方向(图中的垂直方向)上的扩展。换言之,需要新设置与区域134对应的观测概率的值。注意,观测概率表具有约束以使得表每一行的观测概率值的总和为1.0。

另外,虽然图中未示出,但是也需要延伸用于估计状态转移概率的频率变量表以及用于估计观测概率的频率变量表,并且需要新设置值。

对于本发明的实施例,诸如图31中所示,在需要延伸状态转移概率表和观测概率表的情况下,学习装置34将会进行以下处理。现在,将例如基于对于机器人而言节点数量增加预定数量的前提,针对诸如图31中所示在命令延伸状态转移概率表和观测概率表的情形中学习装置34的处理进行描述。

现在,假设把第N+i行和第N+i列添加到状态转移概率表,其中与新节点sN+i对应的索引为N+i。

学习装置34把要设置到状态转移概率表第N+i行和第N+i列中的状态转移概率值分别作为小随机因子。

以此方式,对于用于估计状态转移概率的频率变量表,学习装置34也添加第N+i行和第N+i列,并把要设置的状态转移概率值分别作为小随机因子。

学习装置34确定在节点sN+i处执行了的行为ck。然后,学习装置34把与对应于行为ck的状态转移概率表第k页的节点sN+i相对应的行的每一个状态转移概率值设置为统一值。然而,通过将在执行行为ck时的实际转移结果考虑在内,经历过的转移目的状态的转移概率可能会升高一些。

另外,作为执行行为ck的结果,确定从其向节点sN+i进行了转移的转移源节点sj。然后,学习装置34将会把与对应于行为ck的状态转移概率表第k页的节点sj相对应的行的每一个状态转移概率值设置如下。

对于此行,假设统计其状态转移概率等于或大于阈值的转移目的节点si的数量,且其数量为L。然后,假设状态转移概率表第k页从节点sj向节点sN+i的状态转移概率aiN+i(k)为1/L。

然后,学习装置34进行调整以使得表每一行的状态转移概率值的总和为1.0。换言之,诸如表达式(45)中所示,学习装置34对状态转移概率表内每个状态转移概率aj(k)进行更新。从而,完成状态转移概率表的扩展。

aj(k)aj(k)s.t.Σiaji(k)=1...(45)

另外,学习装置34把要设置到用于估计状态转移概率的频率变量表的添加区域中的状态转移概率值设置为零。从而,完成用于估计状态转移概率的频率变量表的扩展。

另外,学习装置34把要设置到观测概率表第N+i行和第N+i列中的观测概率值确定为大小合适的非零因子。此非零因子的值确定为例如1/N的统一值,但在节点sN+i处实际观测到的观测符号的观测概率可能升高。

此外,学习装置34把添加到用于估计观测概率的频率变量表中的对应于节点sN+i的所有第N+i行设置为零。从而,完成用于估计观测概率的频率变量表的扩展。

然后,学习装置34在预定学习率的规定下通过添加学习方法对包括新节点的学习到的数据集进行学习以更新内部模型数据。从而,对用于估计状态转移概率的频率变量、用于估计观测概率的频率变量、以及观测概率表和状态转移概率表的每个值进行更新。

可替选地,例如,在机器人被重新配置以延伸迷宫上可移动方向的情形中,行为数量增加,相应地需要增加行为数量K。

图32是用于描述因行为数量增加所致的影响的图。如图中所示,随着行为数量增加,发生在状态转移概率表的深度方向上的扩展。换言之,此扩展例如是与新添加的行为对应的状态转移概率表,需要新设置图32中状态转移概率表的第三页141的状态转移概率值。

另外,虽然图中未示出,但是也需要以同样方式延伸用于估计状态转移概率的频率变量表,并且需要向其新设置值。

对于本发明的实施例,在需要诸如图32中所示延伸状态转移概率表的情形中,学习装置34将进行以下处理。现在,将基于对于机器人而言行为数量增加预定数量的前提,针对诸如图32中所示在命令延伸状态转移概率表的情形中学习装置34的处理进行描述。

现在,假设取与新行为cK+i对应的索引为K+i,添加状态转移概率表的第K+i页。

学习装置34把状态转移概率表添加的第K+i页的所有状态转移概率设置为零。另外,以此方式,对于用于估计状态转移概率的频率变量表,学习装置34也添加表的第K+i页,并把状态转移概率表第K+i页的所有状态转移概率设置为零。从而,完成用于估计状态转移概率的频率变量表的扩展。

另外,学习装置34确定执行了新行为cK+i的节点sj。然后,学习装置34把与状态转移概率表第K+i页的节点sj对应的行的所有状态转移概率值设置为统一值。然而,将执行实际行为cK+i时的转移结果考虑在内时,经历过的转移目的节点的状态转移概率可能升高一些。

然后,学习装置34在预定学习率的规定下通过添加学习方法对包括新行为的执行学习到的数据集进行学习以更新内部模型数据。从而,对用于估计状态转移概率的频率变量、用于估计观测概率的频率变量、以及观测概率表和状态转移概率表的每个值进行更新。

根据上述处理,即使在推进学习的过程中迫于压力增加节点的数量、观测符号的数量、或者行为数量的情况下,也可以继续学习。上述处理是如下情形的示例:其中,基于对于机器人而言观测符号的类型增加预定数量的前提,诸如图30至图32中所示延伸每个表。

然而,例如,不能预先发现观测符号、节点、或者行为增加了预定数量。换言之,在通过行为者的自主行为持续识别环境改变的情形中,例如不允许机器人的管理器等预先知晓观测符号、节点、或者行为增加了多少。相应地,例如,在机器人移动通过迷宫时出现迷宫的任意新部分、迷宫被新延伸、或者新添加移动方向的情形中,需要进行进一步的考虑。

接下来,将针对例如在机器人移动通过迷宫时出现迷宫的新部分、或者迷宫被新延伸的情形中状态转移概率表和观测概率表的扩展进行描述。换言之,将针对如下这种情形的示例进行描述:其中,行为者自主识别环境的改变以延伸状态转移概率表和观测概率表。

在行为者自主识别环境的改变以延伸状态转移概率表和观测概率表的情形中,行为者自身需要识别环境是否被新延伸了。换言之,行为者需要能够识别自身现在所处的节点是用作学习到的内部状态的节点还是用作要新添加的内部状态的节点。例如,在机器人移动通过迷宫时新延伸迷宫的情况下,当在延伸部分以上移动时,如果行为者不能识别自身位于要新添加的节点中,则机器人将不能自主识别环境的改变。

现在,将对根据自主行为学习设备10的节点识别方法进行描述。由图9中的识别装置35进行节点的识别。详细内容将在后面进行描述,但是此处,将在考虑具有上限的时间系列信息的长度值、以及识别出的当前状态概率熵值的改变的同时最终对四种方法进行描述。

如上所述,识别装置35基于观测缓存器33和行为输出缓存器39中存储的信息、以及内部模型数据存储单元37中存储的状态转移概率表和观测概率表来识别机器人现在所处的节点。

另外,如上所述,把与在时间点t、t+1、t+2、...、T处得到的观测信号对应的观测符号ot、ot+1、ot+2、...、oT存储于观测缓存器33中分别作为在每个时间点处的观测符号。类似地,例如,把在时间点t、t+1、t+2、...、T处执行的行为ct、ct+1、ct+2、...、cT存储于行为输出缓存器39中分别作为在每个时间点处的行为。

现在,将观测缓存器33和行为输出缓存器39中存储的输入到识别装置35的信息称为时间系列信息,将时间系列信息的长度表示为变量N。

另外,把从识别装置35输出的识别结果以与输出该识别结果时的时间点相关的方式存储于识别结果缓存器38中。

识别装置35首先设置时间系列信息的长度N,从观测缓存器33和行为输出缓存器39中得到长度为N的时间系列信息,并且基于内部模型数据存储单元37中存储的状态转移概率表和观测概率表进行识别。

识别装置35使用例如Viterbi算法输出与长度N对应的节点串。例如,在N=3的情形中,识别装置35输出节点串s1、s2和s3作为识别结果。在此情形中,识别装置35识别出机器人在时间点t1处位于节点s1、在时间点t2处位于节点s2、在时间点t3处位于节点s3

注意,对于用于使用Viterbi算法输出与长度N对应的节点串的处理,基于内部模型数据存储单元37中存储的状态转移概率表和观测概率表推测并输出节点串。在使用Viterbi算法输出与长度N对应的节点串的情况下,可以输出包括具有最大似然概率的节点串的多个节点串。现在,假设输出通过Viterbi算法得到的具有最大似然概率的节点串。

另外,为了确定是否应当新添加机器人现在所处的节点,识别装置35确定Viterbi算法输出的节点串是否是实际可用的节点串。

例如,对于输出节点串是否是实际可用的节点串的确定如下进行。现在,将输出节点串(长度为T的节点串)表示成X,并且将基于时间系列信息确定的观测符号串(长度为T的观测符号串)表示成观测系列O。另外,将内部模型数据的状态转移概率表表示成矩阵A。注意,矩阵A表示基于时间系列信息确定的与每个行为对应的状态转移概率表。

识别装置35确定节点串X和观测系列O是否满足表达式(46)和(47)。

A(Xt,Xt+1)>Threstrans(1<t<T)...(46)

P(O|X)>Thresobs...(47)

此处,P(O|X)表示在形成节点串X的每个节点处形成观测系列O的每个观测符号的观测概率,可以基于观测概率表确定。另外,Threstrans和Thresobs分别表示关于是否可以进行转移的阈值以及关于是否可以进行观测的阈值。

相应地,在确定节点串X和观测系列O不满足表达式(46)和(47)的任何一个的情况下,识别装置35确定输出节点串不是实际可用的节点串。从而,可以把机器人现在所处的节点(在时间系列信息的最近时间点处的节点)识别为要新添加的节点,并且也是未知节点。

在确定节点串X和观测系列O满足表达式(46)和(47)的情况下,识别装置35计算当前状态转移概率的熵。

现在,将熵表示成E,将节点Xi的后验概率表示成P(Xi|O),将当前内部模型数据上存在的节点数量的总和表示成M。注意,节点(状态)的后验概率是通过Viterbi算法输出的概率,表示在时间系列信息最近时间点处的节点对应的概率。在此情形中,熵E可以用表达式(48)表示。

E=-Σi=1MP(Xi|O)×log(P(Xi|O))...(48)

例如,在通过表达式(48)计算的熵值与预定阈值相比较并且小于阈值的情况下,这表示输出节点串是实际可用的节点串的情形并且识别装置35可以唯一地确定它。从而,可以把机器人现在所处的节点(在时间系列信息的最近时间点处的节点)识别为内部模型数据上已经存在的节点,并且也是已知节点(学习到的内部状态)。

另外,确定输出节点串中包括的特征节点的数量是否等于或大于阈值Thres,只有在等于或大于Thres的情形中,才可以把时间系列信息的最近时间点处的节点识别为已知节点。换言之,提供节点串的特征节点数量的阈值作为识别结果以确保识别精度。此处,特征节点的数量表示在仅统计具有不同索引的节点的情形中的节点数量。

例如,输出节点串的索引为“10”、“11”、“10”、“11”、“12”和“13”,节点串的长度为6,而特征节点的数量为4。例如,在行为者在同样节点之间重复进行转移的情况下,即便基于具有同样长度的时间系列信息进行识别,识别结果的精度也较低。因此,可以提供节点串的特征节点数量的阈值作为识别结果以确保识别精度。

另一方面,在熵值等于或大于阈值的情况下,这表示输出节点串是实际可用的节点串但存在不唯一确定的多个候选的情形。从而,识别装置35确定应当增加输出节点串即时间系列信息的长度。因而,例如,在递增时间系列信息的长度值N的过程中重复执行处理。

接下来,将参照图33中的流程图对识别装置35所进行的节点识别处理进行描述。该处理是用作识别装置35所进行的节点识别处理的第一方法的示例的处理。

在步骤S201中,识别装置35把变量N的值设置为初始值1。

在步骤S202中,识别装置35从观测缓存器33和行为输出缓存器39得到长度为N的时间系列信息。

在步骤S203中,识别装置35基于在步骤S202中得到的时间系列信息使用Viterbi算法输出节点串。

在步骤S204中,识别装置35确定:作为步骤S203中处理的结果,输出节点串是否是实际可用的节点串。此时,如上所述,确定节点串X和观测系列O是否满足表达式(46)和(47)。在节点串X和观测系列O满足表达式(46)和(47)的情况下,在步骤S204中确定输出节点串是实际可用的节点串。另一方面,在节点串X和观测系列O不满足表达式(46)和(47)的至少一个的情况下,在步骤S204中确定输出节点串不是实际可用的节点串。

在步骤S204中确定输出节点串不是实际可用的节点串的情况下,处理进行到步骤S208,识别装置35把在时间系列信息的最近时间点处的节点识别为未知节点。将步骤S208中的识别结果以与时间系列信息的最近时间点相关的方式存储于识别结果缓存器38中。

另一方面,在步骤S204中确定输出节点串是实际可用的节点串的情况下,处理进行到步骤S205。

在步骤S205中,识别装置35计算熵。此时,如上所述,通过表达式(48)计算出熵。

在步骤S206中,识别装置35把在步骤S205的处理中计算出的熵值与预定阈值相比较,确定熵值是否等于或大于阈值。

在步骤S206中确定熵值等于或大于阈值的情况下,处理进行到步骤S209。

在步骤S209中,识别装置35把变量N的值递增一。因而,对于在步骤S202中后续执行的处理,将会得到长度为N+1的时间系列信息。注意,每次在步骤S209中递增变量N的值时,在以往的方向上延伸要在步骤S202中得到的时间系列信息。

以此方式,直到在步骤S204中确定输出节点串不是实际可用的节点串为止、或者直到在步骤S206中确定熵值小于阈值为止,重复执行步骤S202至S206以及S209中的处理。

在步骤S206中确定熵值小于阈值的情况下,处理进行到步骤S207。

可替选地,可以做出如下安排:其中,在步骤S204中进一步确定输出节点串中包括的特征节点的数量是否等于或大于阈值Thres,只有在等于或大于阈值Thres的情形中,处理才进行到步骤S205或步骤S208。

可替选地,可以做出如下安排:其中,只有在步骤S203中输出其特征节点数量等于或大于阈值Thres的节点串的情况下,处理才进行到步骤S204,在特征节点数量小于阈值Thres的情况下,递增变量N的值,并且再次得到时间系列信息。

在步骤S207中,识别装置35识别出在时间系列信息的最近时间点处的节点是已知节点。此时,可以输出在时间系列信息的最近时间点处的节点的索引。另外,把步骤S207中的识别结果以与时间系列信息的最近时间点相关的方式存储于识别结果缓存器38中。从而,执行节点识别处理。

顺带提及,进行了如下描述:其中,对于图33中的处理,每次递增变量N的值时,在以往的方向上延伸要得到的时间系列信息,但不允许在进行从已知节点向未知节点的转移的时间点之前延伸时间系列信息。基于包括从已知节点向其进行了转移的未知节点的节点串无法得到准确的识别结果。

因此,不允许与时间系列信息对应的节点串中包括从已知节点向其进行了转移的未知节点,相应地,时间系列信息的长度值N有上限。注意,可以基于识别结果缓存器38中存储的信息确定目前的节点是否是从已知节点向其进行了转移的未知节点。

接下来,将针对在考虑到存在时间系列信息的长度值N的上限的情形中节点识别处理的示例进行描述。此处理是用作识别装置35所进行的节点识别处理的第二方法的示例的处理。

步骤S221至S229中的处理与图33中步骤S201至S209中的处理一样,相应地将略去其详细描述。

在图34中的示例的情形中,在步骤S229的处理中将变量N的值递增1后,在步骤S230中确定节点串中是否包括从已知节点向其进行了转移的未知节点。换言之,每次递增变量N的值时,在以往的方向上延伸要得到的时间系列信息,但是在以往的方向上延伸节点串后,确定是否包括从已知节点向其进行了转移的未知节点。即,不允许在进行了从已知节点向未知节点的转移的时间点之前延伸时间系列信息。

在步骤S230中确定包括从已知节点向其进行了转移的未知节点的情况下,处理进行到步骤S231。在步骤S230中确定不包括从已知节点向其进行了转移的未知节点的情况下,处理返回到步骤S222。

在步骤S231中,识别装置35命令暂缓识别结果,并且在未来的方向上延伸时间系列信息。换言之,进一步执行行为以输出消息等来命令累积时间系列信息。此时,例如,识别装置35输出控制信息以控制行为生成器36执行行为。

换言之,在当前点识别节点及其困难,或者,即使假设可以识别也得到不可靠的识别结果,相应地,识别装置35暂缓识别结果,并输出命令以进一步累积时间系列信息。

可以诸如图34中所示执行识别处理。顺带提及,对于以上参照图33和图34描述的处理,进行了如下描述:其中,根据节点串X和观测系列O是否满足表达式(46)和(47)确定输出节点串是否是实际可用的节点串。然而,也可以做出如下安排:其中,基于识别出的当前状态概率的熵值的变化确定输出节点串是否是实际可用的节点串。

具体地,可以做出如下安排:把要基于长度为N的时间系列信息通过表达式(48)计算的熵表示成EN,把要基于长度为N-1的时间系列信息通过表达式(48)计算的熵表示成EN-1,随后计算ΔE=EN-EN-1。然后,把ΔE和预定阈值Thresent比较,把重复该比较处理的次数与阈值Thresstable相比较,基于这些比较结果识别节点。

例如,在不满足ΔE<Thresent的情况下,在以往的方向上延伸时间系列信息,进一步计算出熵,并且确定是否满足ΔE<Thresent。在满足ΔE<Thresent的情况下,计数器NC计数,当满足NC>Thresstable时,将进行节点的识别。

接下来,将参照图35中的流程图针对基于状态概率的熵值的改变进行识别的情形的示例进行描述。此处理是用作识别装置35所进行的节点识别处理的第三方法的示例的处理。

在步骤S251中,识别装置35把变量N的值设置为初始值1。

在步骤S252中,识别装置35从观测缓存器33和行为输出缓存器39中得到长度为N的时间系列信息。

在步骤S253中,识别装置35基于在步骤S252中得到的时间系列信息使用Viterbi算法输出节点串。

在步骤S254中,识别装置35计算熵的差值。此时,如上所述,把要基于长度为N的时间系列信息通过表达式(48)计算的熵表示成EN,把要基于长度为N-1的时间系列信息通过表达式(48)计算的熵表示成EN-1,随后计算ΔE=EN-EN-1。注意,当N的值等于或大于2时执行步骤S254中的计算。

在步骤S255中,识别装置35确定在步骤S254中计算出的熵的差值是否等于或大于阈值Thresent。在步骤S255中确定在步骤S254中计算出的熵的差值小于阈值Thresent的情况下,处理进行到步骤S256。

在步骤S256中,识别装置35把计数器NC的值递增一。

在步骤S257中,识别装置35确定计数器NC的值是否等于或大于阈值Thresstable。在步骤S257中确定计数器NC的值等于或大于阈值Thresstable的情况下,处理进行到步骤S258。

在步骤S258中,识别装置35确定:作为步骤S253中处理的结果,输出节点串是否是实际可用的节点串。此时,如上所述,确定节点串X和观测系列O是否满足表达式(46)和(47)。在节点串X和观测系列O满足表达式(46)和(47)的情况下,在步骤S258中确定输出节点串是实际可用的节点串。另一方面,在节点串X和观测系列O不满足表达式(46)和(47)的至少一个的情况下,在步骤S258中确定输出节点串不是实际可用的节点串。

在步骤S258中确定输出节点串不是实际可用的节点串的情况下,处理进行到步骤S262,识别装置35把在时间系列信息的最近时间点处的节点识别为未知节点。把步骤S262中的识别结果以与时间系列信息的最近时间点相关的方式存储于识别结果缓存器38中。

另一方面,在步骤S258中确定输出节点串是实际可用的节点串的情况下,处理进行到步骤S259。

在步骤S259中,识别装置35计算熵。此时,如上所述,通过表达式(48)计算出熵。

在步骤S260中,识别装置35把在步骤S259的处理中计算出的熵值与预定阈值相比较,确定熵值是否等于或大于阈值。

在步骤S260中确定熵值等于或大于阈值的情况下,处理进行到步骤S263。

在步骤S263中,识别装置35命令暂缓识别结果,并且在未来的方向上延伸时间系列信息。换言之,进一步执行行为以输出消息等来命令累积时间系列信息。此时,例如,识别装置35输出控制信息以控制行为生成器36执行行为。

换言之,在当前点识别节点及其困难,或者,即使假设可以识别也得到不可靠的识别结果,相应地,识别装置35暂缓识别结果,并输出命令以进一步累积时间系列信息。

另一方面,在步骤S260中确定熵值小于阈值的情况下,处理进行到步骤S261,识别装置35把在时间系列信息的最近时间点处的节点识别为已知节点。

把步骤S261中的识别结果以与时间系列信息的最近时间点相关的方式存储于识别结果缓存器38中。

可替选地,可以做出如下安排:其中,在步骤S258中,进一步确定输出节点串中包括的特征节点的数量是否等于或大于阈值Thres,只有在等于或大于Thres的情形中,处理才进行到步骤S259或步骤S262。在此情形中,在步骤S258中确定输出节点串中包括的特征节点的数量小于阈值Thres的情况下,处理应当进行到步骤S265。换言之,应当把变量N的值递增1。

另外,在步骤S255中确定在步骤S254中计算出的熵的差值是否等于或大于阈值Thresent的情况下,处理进行到步骤S264,把计数器NC的值设置为零。

在步骤S264中的处理之后,或者,在步骤S257中确定计数器NC的值小于阈值Thresstable的情况下,处理尽心到步骤S265。

在步骤S265中,识别装置35把变量N的值递增1。因而,采用后续要执行的步骤S252中的处理,将得到长度为N+1的时间系列信息。注意,每次在步骤S265中递增变量N的值时,在以往的方向上延伸要在步骤S252中得到的时间系列信息。

因而,直到在步骤S255中确定熵的差值小于阈值Thresent并且还在步骤S257中确定计数器NC的值等于或大于阈值Thresstable为止,重复执行步骤S252至S257、以及S265中的处理。

以此方式,执行节点识别处理。在图35中的示例的情形中,通过步骤S255和S257中的处理确认熵值收敛,然后,确定输出节点串是否是实际可用的节点串。相应地,例如,与以上参照图33描述的情形相比可以进行更可靠的识别。

另外,在图35中的处理的情形中,也不允许在进行了从已知节点向未知节点的转移的时间点之前延伸时间系列信息。这是因为:基于包括从已知节点向其进行了转移的未知节点的节点串无法得到准确的识别结果。

相应地,与时间系列信息对应的节点串中不包括从已知节点向其进行了转移的被识别为未知节点的节点,相应地,时间系列信息的长度值N有上限。注意,可以基于识别结果缓存器38中存储的信息确定目前的节点是否是从已知节点向其进行了转移的未知节点。

接下来,将参照图36中的流程图,在基于状态概率熵值的改变进行识别的情形中,针对当考虑到存在时间系列信息的长度值N的上限时的节点识别处理的示例进行描述。此处理是用作识别装置35所进行的节点识别处理的第四方法的示例的处理。

步骤S281至S295中的处理与图35中步骤S251至S265中的处理一样,相应地将省略其详细描述。

在图36中的示例的情形中,在步骤S295的处理中把变量N的值递增1后,在步骤S296中确定节点串中是否包括从已知节点向其进行了转移的未知节点。换言之,每次递增变量N的值时,在以往的方向上延伸要得到的时间系列信息,但在以往的方向上延伸节点串后,确定是否包括从已知节点向其进行了转移的未知节点。

在步骤S296中确定包括从已知节点向其进行了转移的未知节点的情况下,处理前往步骤S293。在步骤S296中确定不包括从已知节点向其进行了转移的未知节点的情况下,处理返回到步骤S282。

在步骤S293中,识别装置35命令暂缓识别结果,并且在未来的方向上延伸时间系列信息。换言之,进一步执行行为以输出消息等来命令累积时间系列信息。此时,例如,识别装置35输出控制信息以控制行为生成器36执行行为。

换言之,在当前点识别节点及其困难,或者,即使假设可以识别也得到不可靠的识别结果,相应地,识别装置35暂缓识别结果,并输出命令以进一步累积时间系列信息。可以诸如图36中所示执行识别处理。

根据参照图33至图36所描述的四种方法,机器人可以识别自身位于迷宫新添加的部分(未知节点)上、或者自身位于已经存在的部分(已知节点)上。设置与如此识别出的未知节点相关的状态转移概率和观测概率以延伸状态转移概率表和观测概率表。

注意,此处针对根据行为扩展HMM进行识别的情形的示例进行了描述,但是也可以把图33至图36中的识别处理应用于根据一般HMM的识别。

顺带提及,在行为者自主识别环境改变以延伸状态转移概率表和观测概率表的情形中,问题在于状态转移概率表和观测概率表等中何时新包括、以及新包括多少个未知节点。接下来,将在自主识别环境改变并且把未知节点添加到内部模型数据中的情形中针对要添加的未知节点的数量、以及添加的时刻进行描述。

注意,用语“向内部模型数据添加未知节点”表示生成用于表示被视为未知节点的节点的新索引,例如,把与其索引对应的矩阵添加到状态转移概率表等中。

根据以上参照图33至图36描述的方法,将自识别出自身位于要新添加的节点(未知节点)处时的时间点起过去的时间取为N。也可以把该时间N转换成时间系列信息的长度。另外,作为用于确保识别精度的阈值,将提供作为识别结果的节点串中特征节点数量的阈值Thres。

首先,行为者重复行为直到长度为N的时间系列信息中包括的特征节点的数量达到Thres值。具体地,根据行为生成器36和行为输出单元32,执行N次行为,在观测缓存器33和行为输出缓存器39中累积长度为N的时间系列信息。注意,用语“长度为N的时间系列信息”表示在识别出自身位于未知节点处时的时间点之后时间长度为N的时间系列信息。另外,在下文中,在基于“长度为N的时间系列信息”识别出的长度为Lr的节点串中包括的特征节点的数量“为Thres的值”的意义上,将适当地表示“Lr为Thres的值”。

在Lr变得等于或大于Thres的情形中,识别装置35基于时间系列信息执行以上参照图34或图36描述的识别处理。在此情形中,存在时间系列信息长度的上限N。

将此处要执行的识别处理的要在图34的步骤S223中或者图36的步骤S283中输出的节点串取为S,并且将该节点串的长度取为Lr。

然后,在图34的步骤S228中或者图36的步骤S292中将目前的节点识别为未知节点的情形中,把该节点视为未知节点,并且通过学习装置34将其添加到内部模型数据中。

如果假设在实际被视为未知之后添加了的节点的数量将为m_add,则要添加的未知节点的数量可以用表达式(49)表示。

m=N-(Lr+m_add+1)...(49)

注意,在自首次进行自身位于未知节点处的识别以来已经进行未知节点添加的情形中,m_add将是表示添加的节点数量的数。换言之,表达式(49)示出了:在识别出位于未知节点处之后,减去被视为未知节点并被添加的节点的数量,随后添加节点直到要添加的节点到达第一个识别出的节点为止。

另外,表达式(49)右侧要加上的“1”表明在这一点未确定与长度为Lr的节点串的最过去的时间点对应的节点应当连接到哪个节点,相应地,暂缓确定。

将参照图37进一步进行详细描述。在图37中,在图中垂直方向上提供时间轴t,图中的圆形指示出行为者在时间上前进经过的节点。另外,在图中,垂直方向上的虚线用于示出首次识别出自身位于未知节点处的节点。对于此示例,节点201是首次识别出自身位于未知节点处的节点。

另外,为了简化描述,假设在执行一次行为的情况下,图中的圆形示出的节点的数量以及时间系列信息的长度增加1,除非另外指出,则这些节点均被识别为特征节点。

如图中所示,在首次识别出自身位于未知节点处之后,通过每次执行一个的行为累积时间系列信息。然后,在时间系列信息的长度N等于阈值Thres(在此情形中,Lr=N)之后,识别装置35基于时间系列信息执行以上参照图34或图36描述的识别处理。在此示例的情形中,假设输出节点201、202、...、211的节点串,并且识别出了节点211为未知节点。

然后,进一步执行单个的行为,行为者前进到节点212。此时,假设基于与节点202至212对应的长度为Lr的时间系列信息执行了识别处理,并且识别出了节点212为未知节点。这时,尚未进行未知节点的添加。

然后,进一步执行单个的行为,行为者前进到节点213。此时,假设基于与节点203至213对应的长度为Lr的时间系列信息执行了识别处理,并且识别出了节点213为未知节点。这时,进行节点201的添加。从而,对于后续的识别处理,将把节点201作为已知节点处理。

在此情形中,时间系列信息的长度(在识别出自身位于未知节点处时的时间点之后的时间长度)N为Thres+2。另外,在此情形中,节点203至213对应于节点串S,节点串S的长度Lr为Thres。因此,根据表达式(49),把要添加节点的数量m计算成Thres+2-(Thres+0+1)=1。相应地,新添加了作为未知节点的单个节点201。

换言之,把表示节点201的新索引的矩阵添加到内部模型数据的状态转移概率表等中。

注意,对于上述示例,识别出了节点211至213为未知节点,但并不知道节点201是否真的是未知节点。例如,把节点211确定为未知节点的原因是如下的结果:确定了节点201至211的节点串不是实际可用的节点串,相应地,节点211并非必定是已有内部模型数据中不存在的节点。换言之,在节点201至211中的一个节点是已有内部模型数据中不存在的节点的情况下,把节点211识别为未知节点。

相应地,即使在这时节点201被视为未知节点并且把表示节点201的新索引的矩阵添加到内部模型数据的状态转移概率表等中的情况下,这也会导致与已有索引的矩阵的重复。因而,不知道节点201是否真的是未知节点。

注意,此处对节点201是否真的是未知节点进行了描述以便于描述,但对于图37中的示例,节点201真的是未知节点是前提条件。相应地,在正常情形下,对后续要添加的节点202、203等是否真的是未知节点的影响的描述是适当的。

如上所述,即便不知道节点201是否真的是未知节点,在由于过度害怕新索引的矩阵会与已有索引的矩阵重复的可能性而未把表示节点201的新索引添加到内部模型数据中的情况下,也出现问题。这是因为取决于行为者的情形学习将永远不会完成。

例如,在延伸了作为环境的迷宫的情况下,创建了新的迷宫空间,作为行为者的机器人被新迷宫空间环绕,即便不确信要添加的节点真的是未知节点,除了添加此节点以外也没有其它选择。

因此,需要在自首次识别出自身位于未知节点处以来的预定过去时间之后的时刻处把预定数量的节点添加到内部模型数据中。

将返回图37进行描述。在把节点201添加到内部模型数据中之后,进一步执行行为,并且基于时间系列信息执行识别处理。作为基于与节点212至221对应的时间系列信息的识别处理的结果,在识别出节点221是已知节点的情况下,这意味着节点212至221均为已知节点。此时,添加节点211,并且进行从节点211向节点212的链接。链接是如下处理:其中,在识别出了从未知节点向已知节点的转移的情形中,设置未知节点与已知节点之间的状态转移概率等。注意,后面将描述链接的详细内容。

顺带提及,对于以上参照图34或图36描述的识别处理,存在输出用于暂缓识别结果以在未来的方向上延伸时间系列信息的命令的情形。在这种情形中,对于时间系列信息的长度Thres,未进行恰当的识别,相应地,需要在未来的方向上延伸时间系列信息的长度。

将参照图38针对如下情形进一步进行详细描述:其中,对于识别处理,暂缓了识别结果,并且输出了用于在未来的方向上延伸时间系列信息的命令。在图38中,以与图37同样的方式,在图中垂直方向上提供时间轴t,图中的圆示出行为者在时间上前进经过的节点。另外,在图中,垂直方向上的虚线用于示出首次识别出自身位于未知节点处的节点。对于此示例,节点201是首次识别出自身位于未知节点处的节点。

如图中所示,在首次识别出自身位于未知节点处之后,通过每次执行一个的行为累积时间系列信息。然后,在时间系列信息的长度N等于阈值Thres(在此情形中,Lr=N)之后,识别装置35基于时间系列信息执行以上参照图34或图36描述的识别处理。在此示例的情形中,假设输出节点201、202、...、211的节点串,并且识别出了节点201至211均为未知节点。另外,对于该示例,假设将节点201至211添加到了内部模型数据中。因此,对于随后的识别处理,将把节点201至211作为已知节点处理。

当行为者前进到节点221时,基于长度为Lr的时间系列信息执行识别处理,这时,假设暂缓了识别结果,并且输出了用于在未来的方向上延伸时间系列信息的命令。换言之,这时,无法唯一地识别出节点串,即使在识别出节点串的情况下,也存在多个候选。

在这种情形中,把阈值Thres的值递增一,新执行单个的行为,并且把用作识别处理的对象的时间系列信息的长度也递增一。因而,假设行为者前进到了节点222。这时,基于长度为Thres+1的时间系列信息执行了识别处理,得到了长度为Lr(=Thres+1)的节点串,另外在这时,暂缓了识别结果,输出了用于在未来的方向上延伸时间系列信息的命令。

然后,递增了阈值Thres的值,进一步执行了行为,相应地,行为者前进到了节点231。这时,假设基于长度为Thres+q的时间系列信息执行了识别处理,相应地,识别出了节点231为已知节点。

在识别出了节点231为已知节点的情况下,这意味着节点213至节点231均为已知节点。此时,添加节点212,并进行从节点211到节点213的链接。

然而,如上所述,在被视为未知节点并被添加的节点之中,可能包括实际上为已知节点的节点。另外,例如,即使在行为者实际上重复前进到同一节点的情况下(例如,在两个节点之间往复的情形中),这些节点也会被识别为不同节点。

因而,为了防止把并非必定为未知节点的节点视为未知节点并把这种未知节点添加到内部模型数据中,例如,在进行链接时进行用于添加或删除节点的必要性检查。

将参照图39针对在进行链接时进行用于添加或删除节点的必要性检查的情形的示例进一步进行详细描述。在图39中,以与图37同样的方式,在图中垂直方向上提供时间轴t,图中的圆指示出行为者在时间上前进经过的节点。另外,在图中,垂直方向上的虚线用于示出首次识别出自身位于未知节点处的节点。对于此示例,节点201是首次识别出自身位于未知节点处的节点。

如图中所示,在首次识别出自身位于未知节点处之后,通过每次执行一个的行为累积时间系列信息。然后,在时间系列信息的长度N等于阈值Thres(在此情形中,Lr=N)之后,识别装置35基于时间系列信息执行以上参照图34或图36描述的识别处理。在此示例的情形中,假设输出节点201、202、...、211的节点串,并且识别出了节点201至211均为未知节点。

然后,进一步执行单个的行为,行为者前进到节点212,但这时,尚未进行未知节点的添加。

然后,进一步执行单个的行为,在行为者前进到节点213之后,进行节点201的添加。

假设以此方式,执行了行为,并且行为者前进到了节点215。另外,此时,假设已经进行了节点201至203的添加。这时,节点201至203被视为了未知节点并被添加,例如,把具有新索引的节点添加到了内部模型数据中。然后,作为执行了基于与节点205至215对应的时间系列信息的识别处理的结果,在识别出节点215是已知节点的情况下,这意味着节点205至215均已为已知节点。

此时,进行用于删除节点的必要性检查。具体地,在以往的方向上延伸时间系列信息的长度,执行基于延伸后时间系列信息的识别处理。作为其结果,例如,执行基于与节点203至215对应的时间系列信息的识别处理。作为其结果,识别出了节点203至215均为已知节点。换言之,节点203被视为了未知节点并被添加,例如,把具有新索引的节点添加到了内部模型数据中,但最初,此节点是已知节点,相应地,所添加的索引节点需要从内部模型数据中删除。

例如,在节点203和205实际上是具有同样索引的节点并且节点204和206实际上也是具有同样索引的节点的情况下,将会诸如以上所述进行识别。

例如,假设在以节点203的索引为u将新矩阵添加到了状态转移概率表等中,但是作为执行用于删除节点的必要性检查的结果,发现节点203的索引为f。假设与索引f对应的矩阵在行为者前进到节点201之前已经存在于状态转移概率表等中。在此情形中,与索引u对应的矩阵以及与索引f对应的矩阵以重复方式存在,相应地,需要从状态转移概率表等中删除与索引u对应的矩阵。

作为其结果,从内部模型数据中删除与新添加为节点203的索引的索引u对应的矩阵等,并进行从节点202到识别出为已知节点的节点203的链接。

例如,对于上述示例,在以节点202的索引为t把新矩阵添加到了状态转移概率表等中的情况下,通过链接设置从索引为t的节点到索引为f的节点的状态转移概率。

注意,在进行链接之后,将基于到目前为止累积的时间系列信息通过添加学习方法进行学习。具体地,以紧接链接之后的内部模型数据为初始值,基于与图39中节点201至215、以及节点201左侧的一个节点对应的时间系列信息进行学习。

如上所述,链接是如下处理:其中,在识别出从未知节点向已知节点的转移的情形中,设置未知节点与已知节点之间的状态转移概率等。对于本发明的实施例,在进行链接之后,基于到目前为止累积的时间系列信息通过添加学习方法进行学习。

换言之,基于添加未知节点之后的内部模型数据通过添加学习方法进行学习。即使假设以重复方式添加了实际上具有同样索引的节点作为未知节点,通过此学习也很可能通过应用上述前向合并算法和后向合并算法把这些节点合并成同样的节点。

另外,在进行链接之前不允许通过添加学习方法执行学习,从而可以尽可能地减少内部模型数据中要更新参数的数量。这是因为在链接时进行了用于删除节点的必要性检查。相应地,可以在恰当地更新内部模型数据的同时抑制计算量。

因而,在链接时进行用于删除节点的必要性检查的情况下,要添加的未知节点的数量m可以用表达式(50)而非表达式(49)表示。

m=N-(Lr+m_add)...(50)

在此情形中,时间系列信息的长度(在识别出自身位于未知节点处时的时间点之后的时间长度)N为11。另外,在此情形中,节点203至215对应于节点串S,节点串S的长度Lr为Thres+2。因此,根据表达式(50),把要添加的节点的数量m计算成Thres+4-(Thres+2+3)=-1。相应地,在已经添加的三个节点之中,删除单个节点203(的索引所对应的矩阵)。

此处仅针对删除节点的情形的示例进行了描述,但是根据m_add的值也可以添加节点。具体地,在通过表达式(50)或者后面描述的表达式(51)计算出的m为正值的情况下,添加该值的节点。相应地,实际上,在链接时进行用于添加或删除节点的必要性检查。

注意,在作为识别处理的结果识别出要删除的节点为已知节点的情况下,不进行该节点的删除。

即使在识别处理中输出的节点串S中包括节点中被视为未知节点并被添加的第K个节点的情况下,要删除的节点的数量m也可以用表达式(51)而非表达式(50)表示。

m=N-(Lr+K)...(51)

通过表达式(51)计算出的|m|个节点为要删除的节点。

另外,在此情形中,要进行链接的节点是节点串S内第((Lr+K)-N)个节点。

从而,在进行链接之后,基于到目前为止累积的时间系列信息通过添加学习方法进行学习。另外,在进行链接之前不允许通过添加学习方法执行学习。相应地,在进行链接之前被视为未知节点并被添加到内部模型数据中的节点将在后续识别处理中被识别为已知节点之一,但将被识别为暂定已知节点。在进行链接之前被视为未知节点并被添加到内部模型数据中的节点有该节点可能是最终要删除的节点的可能。另外,通过添加学习方法进行学习可以改变在进行链接之前被视为未知节点并被添加到内部模型数据中的节点与其他节点之间的状态转移概率等的值。

顺带提及,以上描述了即便不确信要添加的节点真的是未知节点,除了在自首次识别出自身位于未知节点处以来预定过去时间之后的时刻处把预定数量的节点添加到内部模型数据中以外也没有其它选择。换言之,可以认为,非常有可能在链接之前把与表示简单被视为未知节点的节点的索引对应的信息添加到内部模型数据中。

然而,在把非常多不保证真的是未知节点的节点统一视为未知节点并添加到内部模型数据中的情况下,这可能导致识别处理中的错误识别。这是因为在后续识别处理中将把被视为未知节点并被添加的节点也作为已知节点处理。

作为其结果,例如,可能把已经存在的已知节点错误地识别为要视为未知节点并添加的节点。这是因为识别处理是基于内部模型数据进行的。

为了抑制这种错误识别,可以在链接之前适当地删除被视为未知节点并被添加的节点。在此情形中,当表达式(49)中所示的m的值小于0时,应当删除|m|个节点。

例如,考虑特征节点数量的阈值Thres的值为7的情形。例如,假设节点216(未示出)是首次识别出自身位于未知节点处的节点,现在行为者前进到了节点226(未示出)。现在,假设节点216是已经添加到内部模型数据中的节点。

作为基于与节点219至226对应的时间系列信息执行识别处理的结果,假设识别出了节点226为未知节点。此时,把节点217添加到内部模型数据中。

然后,行为者通过执行行为前进到节点227(未示出),作为这时识别处理的结果,假设识别出了节点227为未知节点。此时,把节点218添加到内部模型数据中。然而,作为把节点218添加到内部模型数据中的结果,假设识别出了节点220、222、224以及226为具有与节点218同样索引的节点。

在此情形中,为了输出包括特征节点数等于或大于阈值Thres的节点串,时间系列信息的长度需要为节点217至227对应的长度。

在这种情形中,时间系列信息的长度(节点216至227)N为12,已经添加的节点(节点216至218)的数量m_add为3。另外,在此情形中,节点217至227对应于节点串S,节点串S的长度L为11。相应地,把要添加节点的数量m计算为12-(11+3+1)=-3。相应地,删除添加到内部模型数据中的节点216至218三个节点。以此方式,可以通过在进行链接之前适当地删除被视为未知节点并被添加的节点来抑制错误识别。

换言之,在进行链接之前,进行如下处理:添加未知节点,或者适当地删除被视为未知节点并被添加的节点。该处理对应于后面描述的图40中的步骤S316。

另外,在进行链接时,还进行如下处理:添加未知节点,或者适当地删除被视为未知节点并被添加的节点。该处理对应于后面描述的图40中的步骤S318。

接下来,将参照图40中的流程图对未知节点添加处理进行描述。该处理由自主行为学习设备10在行为者自主识别出环境改变并且需要延伸内部模型数据的情形中执行。

在步骤S311中,识别装置35把变量N的值设置为初始值1。

在步骤S312中,识别装置35从观测缓存器33和行为输出缓存器39中得到长度为N的时间系列信息。

在步骤S313中,识别装置35确定N是否等于或大于特征节点数量的阈值Thres,在确定N小于阈值Thres的情况下,处理前进到步骤S321。

在步骤S321中,把变量N的值递增1,处理返回步骤S312。

另一方面,在步骤S313中确定N等于或大于阈值Thres的情况下,处理前进到步骤S314。

在步骤S314中,识别装置35执行以上参照图34或图36描述的识别处理。然而,在此情形中,在步骤S312的处理中已得到时间系列信息,相应地,基于该时间系列信息执行识别处理。

在步骤S315中,学习装置34确定:作为步骤S314中识别处理的结果,节点串的最后一个节点是否被识别为未知节点。在步骤S315中确定作为识别结果的结果节点串的最后一个节点被识别为未知节点的情况下,处理前进到步骤S316。

在步骤S316中,学习装置34添加或删除被视为未知节点的节点。

在步骤S316中,进行节点的添加,例如以使得在图37中将被视为未知节点的节点201添加到内部模型数据中。另外,例如,如上所述,为了抑制错误识别,在链接之前删除被视为未知节点并被添加的节点。

另一方面,在步骤S315中确定作为识别处理的结果节点串的最后一个节点未被识别为未知节点的情况下,处理前进到步骤S317。

在步骤S317中,学习装置34确定:作为步骤S314中识别处理的结果,节点串的最后一个节点是否被识别为已知节点。在步骤S317中确定作为识别处理的结果节点串的最后一个节点被识别为已知节点的情况下,处理前进到步骤S318。

在步骤S318中,学习装置34和识别装置35执行后面参照图41描述的添加/删除必要性检查处理。从而,例如,诸如以上参照图39所述,检查在链接时删除节点的必要性,当需要进行删除时,删除被视为未知节点并被添加的节点。

在步骤S319中,学习装置34进行链接。从而,例如,设置从已知节点向未知节点的状态转移概率等。

另一方面,在步骤S317中确定作为识别结果的结果节点串的最后一个节点未被识别为已知节点的情况下,处理前进到步骤S320。

在步骤S320中,识别装置35把阈值Thres的值递增1。换言之,在步骤S317中确定作为识别结果的结果节点串的最后一个节点未被识别为已知节点的情况下,这意味着对于识别处理,暂缓了识别结果,并且输出了用于在未来的方向上延伸时间系列信息的命令。该内容的示例包括进行以上参照图36描述的步骤S231中的处理、或者步骤S293中的处理的情形。在此情形中,例如,如以上参照图38所述,需要递增阈值Thres的值,还需要在未来的方向上延伸时间系列信息的长度。

相应地,在步骤S320中的处理之后,处理前进到步骤S321。从而,执行未知节点添加处理。

接下来,将参照图41中的流程图针对图40的步骤S318中的添加/删除必要性检查处理的详细示例进行描述。

在步骤S341中,识别装置35得到长度为N的时间系列信息。换言之,得到在识别出自身位于未知节点处之后时间长度为N的时间系列信息。例如,在图39中的示例的情形中,得到长度与节点201至215对应的时间系列信息。

在步骤S342中,识别装置35基于长度为N的时间系列信息执行识别处理。此时,以上参照图34或图36描述了识别处理。然而,在此情形中,在步骤S341的处理中已得到时间系列信息,相应地,基于该时间系列信息执行识别处理。

在步骤S343中,学习装置34确定:作为步骤S342中识别处理的结果,节点串的最后一个节点(时间上为最后的节点)是否被识别为已知节点。在步骤S343中确定节点串的最后一个节点未被识别为已知节点的情况下,处理前进到步骤S344。

在步骤S344中,识别装置35递减时间系列信息的长度N。在此情形中,从过去的一侧削减时间系列信息。例如,在图39中的示例的情形中,得到长度与节点201至215对应的时间系列信息,但把它更新为长度与节点202至215对应的时间系列信息。

因而,直到在步骤S343中确定作为识别处理的结果识别出了最后一个节点为已知节点为止,从过去的一侧削减时间系列信息,并且重复执行识别处理。

在步骤S343中确定作为识别处理的结果识别出了最后一个节点为已知节点的情况下,处理前进到步骤S345。例如,在图39中的示例的情形中,作为基于长度与节点203至215对应的时间系列信息的识别处理的结果,识别出了节点203至215均为已知节点。此时,确定节点203至215的节点串中节点的数量。

在步骤S345中,学习装置34确定节点的数量,以确定出的节点数量为节点串S的长度Lr进行以上参照表达式(50)描述的计算。

在步骤S346中,学习装置34确定是否存在要添加(或删除)的节点。在步骤S346中确定存在要添加(或删除)的节点的情况下,处理前进到步骤S347。另一方面,在步骤S346中确定不存在要添加(或删除)的节点的情况下,跳过步骤S347中的处理。

在步骤S347中,学习装置34添加(或删除)在步骤S346的处理中确定要添加(或删除)的节点。例如,在图39中的示例的情形中,根据表达式(50),把要添加节点的数量m计算为Thres+4-(Thres+2+3)=-1,相应地,在已经添加的三个节点中,删除单个节点203。换言之,添加了节点203为未知节点,例如,把具有新索引的节点添加到了内部模型数据中,但本来此节点是已知节点,从内部模型数据中删除添加的索引的节点。以此方式,执行添加/删除必要性检查处理。

当遇到未通过到目前为止的学习得到的内部模型数据表示的新情形时,需要通过增加节点数量以表示此情形来解决此情形。例如,在机器人在其中移动的迷宫在预定方向上延伸的情形中,增加节点的数量,相应地,需要增加节点数量N的值。

对于根据相关领域的技术,在检测到新节点的情况下,立刻现场延伸了内部模型数据,并且进行了表示新节点的索引的添加。

然而,通常,在结合新经验时,最重要的问题是把该经验置于与已有配置的何种关系中,例如,紧接检测到新节点之后,与已有配置的关系常常不够清楚。

相应地,直接把表示新节点的索引添加到内部模型数据中可能引起未来的错误识别。例如,在连续检测到新节点的情形下,允许新节点单独定义对于上一状态的关系,这种菊花链越继续,则对于已有配置的关系越以加快的速度模糊化。另外,即便基于这种内部模型数据通过添加学习方法进行学习,在自主学习时要调整的参数也会增加。

因此,对于本发明的实施例,如上所述,进行如下安排:其中,在预定时刻添加预定数量的未知节点,并且基于紧接链接之后的内部模型数据通过添加学习方法进行学习。从而,例如,可以不仅在已知节点中偶尔出现新节点的情形中,而且在长时间段上连续检测到新节点的困难环境中,进行足够有效的学习。

如上所述,通过行为者自主识别环境改变可以延伸状态转移概率表和观测概率表,但此时,需要确定要在从这些表中的每个表延伸的区域中设置的状态转移概率和观测概率等的值。

在图30至图32中对延伸每个表的情形的示例进行了描述,但此处将针对用于根据已经存储的状态转移概率估计对于延伸区域的节点的状态转移概率并进行设置的方法进行描述。

例如,在诸如图31中所示需要延伸状态转移概率表的情形中,进行了需要进行归一化以使得状态转移概率表每行的概率值的总和为1的描述。换言之,对于以上在图31的示例1中描述的处理,当在添加的区域中设置状态转移概率时,没有把从已经存储的已知节点向其他存储的已知节点的状态转移概率考虑在内。然而,可以预测出现自多个已知节点对于添加到内部模型数据中的未知节点的转移。

例如,在用另一部分B替换迷宫中的某个部分A的情形中,与部分A相邻的部分C连接到部分B。在这种情形中,当机器人执行用于从部分C移动到部分A的行为时,很有可能机器人会移动到部分B。另外,当机器人在部分B执行用于从部分A移动到部分C的行为时,很有可能机器人会移动到部分C。对于该示例,需要新添加与部分B对应的HMM节点作为未知节点,但是需要在设置了与部分C对应的已知节点的状态转移概率的同时把上述内容考虑在内。

相应地,可以想到,如果可以基于从已经存储的已知节点向其他存储的已知节点的状态转移概率来设置未知节点与已知节点之间的状态转移概率等,则可以以更恰当的方式设置状态转移概率。换言之,如果可以基于以往的经验设置未知节点与已知节点之间的状态转移概率等,则可以以更恰当的方式设置状态转移概率。

现在,假设此处将描述的已知节点包括例如在机器人移动通过迷宫的过程中被视为未知节点并已经被存储于内部模型数据中的节点。

需要在确定要如上所述进行设置的状态转移概率值的同时把以下模式考虑在内。

具体地,实际上,在出现从节点si向节点sj的转移的情形中,需要把节点si到节点sj是已知节点还是新添加的未知节点考虑在内。

换言之,需要把如下三种模式考虑在内:从已知节点向未知节点的转移、从未知节点向未知节点的转移以及从未知节点向已知节点的转移。

例如,在延伸状态转移概率表的情况下,需要把从已知节点向未知节点的状态转移概率设置到图42中所示的区域301-1至301-3中。另外,需要把从未知节点向未知节点的状态转移概率设置到区域303-1至303-3中。另外,需要把从未知节点向已知节点的状态转移概率设置到区域302-1至302-3中。

另外,如上所述,当合计状态转移概率表每行(例如,第n行)中描述的所有数值时,把总和布置成1,相应地,需要再次设置在图42中被描述为已有状态的区域的概率。

例如,将对诸如图43中所示的情形进行描述。具体地,假设作为在作为已知节点的转移源节点321处执行与在图中向右方移动对应的行为的结果,基于状态转移概率表预期节点322或323为具有向其进行转移的高可能性的转移目的节点。然而,实际上,作为在转移源节点321处执行与在图中向右方的移动对应的行为的结果,向其进行了转移的转移目的节点为节点324。在此情形中,节点324为未知节点。

对于图43中的示例,在节点321处观测到与图2中的部分5对应的观测符号,在节点322处观测到与图2中的部分12对应的观测符号,在节点323处观测到与图2中的部分6对应的观测符号。

注意,在图43中,节点321至324的参考标号附加在表示迷宫的部分的矩形上,但实际上,它们是要附加在观测到与这一部分对应的观测符号的节点上的参考标号。换言之,行为者可以基于学习到的内部模型数据唯一地识别出节点321至323,节点324被识别为到目前为止未存储的内部状态(节点)。

具体地,预期行为者在从节点321在图中向右方移动时来到图中的上角(节点322)或者下角(节点323)。

然而,实际上,当从节点321在图中向右方移动时,行为者来到十字交叉口(节点324)。换言之,在节点324处观测到与图2中的部分15对应的观测符号。

例如,在迷宫中与节点321对应的位置中放置的部分被替换的情形中,出现这种情形。在这种情况下,可以把节点324认为是到目前为止未包括在内部模型数据中的节点,相应地,至少需要把节点324添加到内部模型数据中。

在这种情形中,生成与节点324对应的新索引,并且添加状态转移概率表的矩阵。相应地,需要设置与向右方的行为对应的状态转移概率表的从节点321到节点324的状态转移概率。然而,实际上,生成新索引时的时刻以及添加状态转移概率表的矩阵如以上参照图37至图41所述。

例如,设置通过把从节点321向节点322和323的状态转移概率的和除以3得到的值作为该状态转移概率。此时,应当通过根据每个状态转移概率进行加权而按比例划分来设置从节点321向节点322和323的状态转移概率。

作为可以通过向右方的行为(例如,行为k′)从节点321(例如,节点si)向其进行转移的节点候选sjl(l=1、...、L),应当列出其状态转移概率aij(k′)等于或大于阈值的转移目的节点sj

对于图43中的示例,列出可以通过向右方的行为从节点321向其进行转移的节点322和323两个节点。在此情形中,L的值为2。

把作为未知节点的节点324表示成节点snew,并且把从与行为k′对应的每个已知节点si向节点snew的状态转移概率ainew(k′)设置为1/L。

对于图43中的示例,把从节点321向节点324的状态转移概率设置成1/2。在图42的示例中,把状态转移概率ainew(k′)设置到区域301-1至301-3的一个区域中。

然后,进行归一化以使得与行为k′对应的状态转移概率表每行的状态转移概率的和为1。换言之,非零值被设置到其中作为状态转移概率ainew(k′)的行的每个值应当乘以L/(L+1)倍。

然而,在不存在其状态转移概率ainew(k′)等于或大于阈值的转移目的节点的情形中,以状态转移概率ainew(k′)大约为1进行诸如以上所述的归一化。

注意,应当将接近于0的小值设置为可以在节点321处通过执行除行为k′以外的行为向节点324进行转移的状态转移概率,相应地,不必一定进行归一化以使得状态转移概率表每行的状态转移概率的和为1。

另外,诸如图44的图中的箭头所示,可以在作为十字交叉口的节点324处通过在四个方向上执行四个行为向其他节点进行转移。相应地,需要设置从节点324向与四个方向对应的状态转移概率表的每个已知节点的状态转移概率。把这些状态转移概率设置到图42的示例中的区域302-1至302-3的一个区域中。注意,在可能存在从未知节点向未知节点的转移的情形中,除了上述之外,还包括图42的示例中的区域303-1至303-3中的一个区域。

例如,对于从节点324到与向上的行为对应的状态转移概率表的每个已知节点的状态转移概率,复制从节点322向每个已知节点的状态转移概率。节点322是上角落,并且是可以从节点321通过向右方的行为向其进行转移的节点之中的唯一一个可以通过向上的行为从其向其他已知节点进行转移的节点。注意,对于从节点322向每个已知节点的状态转移概率,任何内容都不变。

另外,例如,对于从节点324到与向下的行为对应的状态转移概率表的每个已知节点的状态转移概率,复制从节点323向每个已知节点的状态转移概率。节点323是下角落,并且是可以从节点321通过向右方的行为向其进行转移的节点之中的唯一一个可以通过向下的行为从其向其他已知节点进行转移的节点。注意,对于从节点323向每个已知节点的状态转移概率,任何内容都不变。

另外,把从节点324到与向左的行为对应的状态转移概率表的每个已知节点的状态转移概率设置为通过对从节点322向每个已知节点的状态转移概率、以及从节点323向每个已知节点的状态转移概率求平均值得到的值。这是因为,节点322和323是可以从节点321通过向右方的行为向其进行转移的节点之中的可以通过向左的行为从其向其他已知节点进行转移的节点。换言之,应当采用节点322和323的状态转移概率的均值作为从节点324到与向左的行为对应的状态转移概率表的每个已知节点的状态转移概率。注意,此时,对于从节点322和323向每个已知节点的状态转移概率,任何内容都不变。

另外,把从节点324到与向右的行为对应的状态转移概率表的每个已知节点的状态转移概率设置为统一(uniform)值。这是因为,诸如图45中所示,不存在可以从其通过向右的行为向其他已知节点进行转移的任何其它候选节点。另外,还需要设置从除节点321以外的每个已知节点向节点324的状态转移概率。

节点324是十字交叉口,相应地,可以通过四个方向中的一个方向引起从其他节点向节点324的转移。换言之,将存在从其通过向上的行为向节点324进行转移的转移源节点、以及从其通过向下的行为向节点324进行转移的转移源节点。另外,将存在从其通过向左的行为向节点324进行转移的转移源节点、以及从其通过向右的行为向节点324进行转移的转移源节点。

在此情形中,不仅需要确定转移源节点,而且需要确定在每个转移源节点处通过执行哪个行为是否向节点324进行转移。换言之,需要确定未知节点的后向转移行为。

首先,提取出与节点324类似的节点以得到用作转移源节点估计的基础的信息。与节点324类似的节点是例如在行为者位于除节点324以外的节点处的情形中,将在一定程度上被称为可能节点。

例如,考虑存在多个在迷宫结构上类似的部分的情形。假设行为者位于作为这些部分中一个部分的预定部分上。在这种情形中,实际上,行为者可能在与行为者识别出的部分不同的预定部分上。因而,可以提取出与行为者识别出的节点类似的节点。

可以使用过去n个步骤所值的时间系列信息通过n步状态识别确定类似的节点。

在时间点t处,将把如下内容称为“n步状态识别”:使用以往n个步骤所值的行为序列ct-n、...、ct-1、以及以往n+1个步骤所值的观测符号序列ot-n、...、ot估计当前节点,或者计算行为者在当前时间点t处可能存在的概率。

对于n步状态识别,首先,例如通过预定方法设置与索引i(i=1、...、N)的节点对应的先验概率πi

然后,识别装置35通过表达式(52)计算行为者在时间点t-n处可能存在于每个节点上的概率δt-n(i)。

δt-n(i)=πibi(ot-n)...(52)

然后,识别装置35通过表达式(53)的递归公式计算行为者以时间点次序τ=t-n+1、...、t可能存在于每个节点上的概率δτ(i)。

δτ(j)=maxi[δτ-1(i)aij(Cτ)bj(oτ)]...(53)

可替选地,可以进行表达式(54)而非表达式(53)的计算。

δτ(j)=Σi=1Nδτ-1(i)aij(Cτ)bj(oτ)...(54)

另外,识别装置35通过表达式(55)、通过对表达式(53)或(54)中行为者在最终时间点t处可能存在于每个节点上的概率δt(i)进行归一化来计算对于时间点t处的每个节点的状态概率δ′t(i)。

δ,t(i)=δt(i)Σi=1Nδt(i)...(55)

将把其通过表达式(55)得到的状态概率等于或大于阈值的每个节点称为类似节点。

注意,对于n步状态识别,采用以往n步所值的行为序列和观测符号序列,但是如果假设把n设置为0,则以等于或大于预定阈值的概率观测到其观测符号ot的所有节点为类似节点。另外,n增加得越大,类似节点数量通常减小得越少。n步状态识别中n的值例如是适用于诸如本发明实施例中进行的估计的预定值等。

在得到了类似节点的情况下,确定行为从而可以在这些节点处通过执行该行为向其他节点进行转移。例如,节点324是十字交叉口,相应地,很有可能与节点324类似的节点可能是十字交叉口。相应地,可以在类似节点处通过在四个方向上执行移动行为向其他节点进行转移。

然后,确定可以通过执行这种行为从其向其他节点进行转移的已知节点。例如,在作为可以通过向右的行为从节点321向其进行转移的已知节点的节点322处,可以通过执行向左和向上的行为向其他节点进行转移。类似地,在作为可以通过向右的行为从节点321向其进行转移的已知节点的节点323处,可以通过执行向左和向下的行为向其他节点进行转移。

因而,可以做出如下假定:其中,可以在节点322处通过执行向左和向上的行为向其进行转移的每个转移目的节点处通过执行向左和向上行为的后向行为向未知节点324进行转移。在此情形中,向右和向下的行为是后向转移行为。

另外,可以做出如下假定:其中,可以在节点323处通过执行向左和向下的行为向其进行转移的每个转移目的节点处通过执行向左和向下行为的后向行为向未知节点324进行转移。在此情形中,向右和向上的行为是后向转移行为。

后向转移行为可以例如估计如下。例如,在出现通过行为cz从节点sa向节点sb的转移的情形中,估计后向转移,即用于引起从节点sb向节点sa的转移的行为cz′

在估计后向转移行为时,识别装置35确定诸如以上所述的也是已知节点的类似节点。假设把此处确定的每个已知节点表示成节点sjq(q=1、...、Q)。

然后,识别装置35对于节点sjq中的每个节点提取出通过行为cz从其向节点sjq进行转移的转移源节点。在此情形中,例如,应当列出其状态转移概率aijq(z)等于或大于阈值的节点si

然后,识别装置35通过表达式(56)对于(sjq,siq,l)(q=1、...、Q,l=1、...、Lq)的所有组合计算从节点sjq向节点siq,l的状态转移概率的均值a(k)。

a*(k)=1Nq,lΣq,lajiq,l(k)...(56)

在这样得到的状态转移概率的均值a(k)中,选择等于或大于阈值的值,确定与该a(k)对应的行为ck,从而可以确定后向转移行为czr(r=1、...、R)。

当假定在如此确定的转移源节点处通过执行后向转移实现向节点324的转移时,可以通过与上述设置从节点321向节点324的状态转移概率的情形同样的操作设置状态转移概率。

因此,当把与被视为未知节点的节点的索引对应的矩阵添加到状态转移概率表中时,需要重新设置图42中所示的区域的所有状态转移概率。

换言之,当把与被视为未知节点的节点的索引对应的矩阵添加到状态转移概率表中时,需要确定在未知节点处可以执行的行为、以及可以通过该行为向其进行转移的转移目的节点。从而,可以根据确定的行为与转移目的节点对确定状态转移概率表的预定矩阵位置,并且应当把要设置的状态转移概率值设置到这些位置中,还应当对该行的每个值进行归一化。

另外,当把与被视为未知节点的节点的索引对应的矩阵添加到状态转移概率表中时,需要确定从其可以进行转移的转移源节点、以及从转移源节点通过它可以向未知节点进行转移的行为。从而,可以根据确定的行为与转移源节点对确定状态转移概率表的预定矩阵位置,并且应当把要设置的状态转移概率值设置到这些位置中,还应当对该行的每个值进行归一化。

相应地,诸如以上所述,在行为者自主识别出了环境改变以延伸状态转移概率表的情形中,可以例如按照图46中所示的流程执行用于把要设置的状态转移概率值设置到延伸区域中的处理。

图46是用于描述在节点添加时的状态转移概率设置处理的流程图。此处理将会例如在行为者自主识别环境改变以把未知节点添加到状态转移概率表等中时执行。

现在,假设要把未知节点snew添加到内部模型数据中,取紧接行为者前进到节点snew之前的节点为节点si′,并且行为者通过在节点si′处执行的行为ck′前进到了节点snew

在步骤S401中,识别装置35参照图47中的流程图执行后面描述的节点后向行为对列表生成处理。

从而,将确定对于未知节点的转移源节点,并且将确定对于未知节点的后向转移行为。

在步骤S402中,学习装置34参照图48中的流程图执行后面描述的后向行为状态转移概率设置处理。

从而,将通过在步骤S401中的处理确定的转移源节点处执行后向转移行为设置可以向未知节点进行转移的状态转移概率。另外,将根据此处新设置的状态转移概率对状态转移概率表每行的值进行归一化。

在步骤S403中,识别装置35参照图49中的流程图执行后面描述的节点前向行为对列表生成处理。

从而,将会确定自未知节点起的转移目的节点,还将会确定用于前进到转移目的节点的前向转移行为。

在步骤S404中,学习装置34参照图50中的流程图执行后面描述的前向行为状态转移概率设置处理。

从而,将会通过执行在步骤S403中的处理确定的前向转移行为设置可以向转移目的节点进行转移的状态转移概率。另外,将会根据此处新设置的状态转移概率对状态转移概率表每行的值进行归一化。

接下来,将参照图47中的流程图对图46的步骤S401中的后向行为对列表生成处理的细节进行描述。

在步骤S421中,识别装置35提取出可以通过在节点si′处执行行为ck′向其进行转移的候选节点sjl(l=1、...、L)。对于候选节点sjl,例如,应当列出其状态转移概率aij(k′)等于或大于阈值的转移目的节点sj′。

在步骤S422中,识别装置35使用过去n步所值的时间系列信息进行n步状态识别。

在步骤S423中,识别装置35基于步骤S422中的处理结果提取出作为与节点snew类似的类似节点的已知节点。将把此处确定的每个已知节点表示为sjq(q=1、...、Q)。此时,通过进行上述表达式(52)至(55)的计算提取出与节点snew类似的类似节点。

在步骤S424中,识别装置35提取出在步骤S423的处理中提取出的类似节点的有效行为。

此处,有效行为表示通过在上述类似节点中的每个类似节点处执行通过其可以向其他节点进行转移的行为。

在步骤S424中,例如,通过表达式(57)计算每个行为的评估值Ek。注意,此计算被计算以对应于每个行为,对于一个行为得到一个评估值。

EkΣq=1Q(Σx=1Najxq(k)-ajjq(k))...(57)

此处,ajxq(k)(q=1、...、Q,x=1、...、N)是当在节点sjq(q=1、...、Q)处执行行为ck时可以向节点sx进行转移的状态转移概率。

然后,选择其通过表达式(57)计算的评估值等于或大于阈值的行为k,并将其取为有效行为候选。

另外,对于选择的行为k中的每个行为检查状态转移概率ajxq(k),确定是否存在至少一组其状态转移概率ajxq(k)等于或大于阈值的(q,x)。在不存在这样一组(q,x)的情形中,从有效行为候选中排除该行为k。

从而,在步骤S424中,提取出有效行为ckr(r=1、...、R)。

在步骤S425中,识别装置35从步骤S421的处理中提取出的候选节点sjl之中提取出具有在步骤S424的处理中提取出的行为ckr为有效行为的候选节点。换言之,在候选节点之中,提取出具有与类似节点同样的有效行为的节点sjru(u=1、...、Ur)。

在步骤S425中,例如,对于节点sjl中的每个节点通过表达式(58)计算评估值Elr。注意,此计算响应于执行每个行为ckr的每个情形在节点sjl中的每个节点处进行,对于节点和行为之间的一个组合得到一个评估值。

ElrΣx=1Najxl(k)-ajjl...(58)

注意,对于如下情形计算表达式(58):其中,在变量1确定的索引j的候选节点处执行变量r确定的行为ck。另外,假设通过表达式(58)左侧的变量r确定右侧状态转移概率的行为k(或ck)。

从而,在步骤S425中,提取出其通过表达式(58)计算的评估值等于或大于阈值的节点作为节点sjru

在步骤S426中,识别装置35生成在步骤S425中提取出的节点与在步骤S424中提取出的有效行为对(sjru,ckr),并且确定要根据每个对确定的转移目的节点。

例如,检查在节点sjru处执行行为ckr的情形中的状态转移概率ajlru(k)(l =1、...、N),并且确定与超出阈值的状态转移概率对应的转移目的节点slq(q=1、...、Qru)。

在步骤S427中,识别装置35估计在节点sjru处的行为ckr的后向转移行为。换言之,识别装置35估计用于从节点slq向节点sjru进行转移的行为。取此时估计的后向转移行为为cruqv(v=1、...、Vruq)。然而,在转移目的节点为节点si′的情形中,不进行此估计。

然后,识别装置35生成在步骤S426中确定的转移目的节点与以上确定的后向转移行为对(slq,cruqv)(l=1、...、L,r=1、...、R,u=1、...、Ur,q=1、...、Qru,v=1、...、Vrug)。

在步骤S428中,通过把(si′,ck′)添加到在步骤S427中生成的对(slq,cruqv)中除去重复以对于未知节点生成转移目的节点与后向转移行为对(six,ckx)(x=1、...、X)。然后,对于未知节点分别列出转移目的节点与后向转移行为对。从而,执行节点后向行为对列表生成处理。

假定通过基于在图47的处理中得到的对在节点six处执行行为ckx进行了向节点snew的转移,并且执行图46的步骤S402中的处理。

接下来,将参照图48中的流程图针对图46的步骤S402中的后向行为状态转移概率设置处理的详细示例进行描述。

例如,假定通过行为ck从转移源节点si向节点snew进行了转移。

在步骤S441中,学习装置34提取出可以通过行为ck从节点si向其进行转移的节点候选。对于节点候选sjl(l=1、...、L),例如应当列出其状态转移概率aij(k)等于或大于阈值的转移目的节点sj

在步骤S442中,学习装置34设置对于未知节点的状态转移概率,并且进行归一化。

例如,把与行为ck对应的从每个候选节点si向节点snew的状态转移概率ainew(k)设置成1/L。然后,进行归一化以使得与行为ck对应的状态转移概率表每行的状态转移概率的和为1。换言之,非零值被设置到其中作为状态转移概率ainew(k)的行的每个值乘以L/(L+1)倍。

然而,作为步骤S441中处理的结果,在不存在其状态转移概率aij(k)等于或大于阈值的转移目的节点的情形中,以状态转移概率ainew(k)大约为1进行诸如以上所述的归一化。从而执行后向状态转移概率设置处理。

接下来,将参照图49中的流程图针对图46的步骤S403中的节点前向行为对列表生成处理的详细示例进行描述。

在步骤S461中,识别装置35以与图47的步骤S426中的处理同样的方式提取出转移目的节点slq(q=1、...、Qru)。换言之,识别装置35生成候选节点和有效行为对,并且确定与每个对对应的转移目的节点。

在步骤S462中,识别装置35生成在步骤S461的处理中得到的转移目的节点slq(q=1、...、Qru)以及用于向该转移目的节点进行转移的行为ckr(r=1、...、R)对。

在步骤S463中,识别装置35除去在步骤S462的处理中得到的对的重复以生成对(sjy,cky)(y=1、...、Y)。然后,分别列出转移目的节点与用于向该转移目的进行转移的行为的对。

以此方式,执行节点前向行为对列表生成处理。

假定通过基于在图49的处理中得到的对在节点snew处执行行为cky进行了向节点sjy的转移,并且执行图46的步骤S404中的处理。

接下来,将参照图50中的流程图针对图46的步骤S404中的前向行为状态转移概率设置处理的详细示例进行描述。

在步骤S481中,学习装置34把所有状态转移概率anewj(k)(j=1、...、N,k=1、...、K)初始化成小值。

在步骤S482中,学习装置34使用图49中的处理得到的对(sjy,cky)来设置状态转移概率。具体地,把用于通过在节点snew处执行行为cky向节点sjy进行转移的状态转移概率anewjy(k)设置成1。

在步骤S483中,学习装置34进行归一化以满足∑janewj(k)(k=1、...、K)。从而,执行前向行为状态转移概率设置处理。

对于上述示例,针对行为者自主识别环境改变以把未知节点添加到状态转移概率表中的情形的示例进行了描述,但是根据这一点,需要把未知节点添加到观测概率表中。对于此情形中观测概率表的更新,例如,在需要诸如图31中所示延伸观测概率表的情况下,应当进行上述处理为学习装置34进行的处理。

另外,不言而喻连同以上参照图46描述的处理一起也对用于估计状态转移概率的频率变量表以及用于估计观测概率的频率变量表进行更新。

接下来,将对在进行链接的情形中状态转移概率的设置进行描述。如上所述,链接是如下处理:其中,在识别出了向已知节点的转移的情形中,设置被视为未知节点的节点与已知节点之间的状态转移概率等。

换言之,在通过在未知节点si′处执行行为ck′向已知节点sj′进行了转移的情形中,当不存在其状态转移概率aij(k′)(j=1、...、N)等于或大于阈值的节点sj时,进行链接。换言之,在识别出了从被视为未知节点的节点向已知节点的转移并且不容易出现从此未知节点向除此已知节点以外的节点的转移的情形中,进行链接。

对于链接,设置通过行为ck′从未知节点si′向已知节点sj′的状态转移概率。例如,诸如以上参照图46所述,每次把被视为未知节点的节点添加到内部模型数据中时,估计并设置从该未知节点向已知节点的状态转移概率。然而,在实际上出现了从未知节点向已知节点的转移的情形中,进行链接。

现在,将参照图51中的流程图对链接处理进行描述。此处理是例如要执行为图40的步骤S319中的处理的处理。

在步骤S501中,学习装置34把与用作链接对象的转移对应的状态转移概率设置为1。对于上述示例,把状态转移概率aij′(k′)设置为1。

在步骤S502中,学习装置34归一化状态转移概率表的每个值以使得∑jaij(k′)为1。

在步骤S503中,识别装置35估计用于从已知节点sj′向未知节点si′进行转移的后向转移行为。此时,例如,以与以上参照图47描述的情形同样的方式进行后向转移行为的估计。从而,估计后向转移行为czr(r=1、...、R)。

在步骤S504中,假定通过在步骤S503的处理中估计的每个后向转移行为出现了从已知节点sj′向未知节点si′的转移,学习装置34设置状态转移概率。此处理例如与参照图48描述的情形一样。从而执行链接处理。

注意,可以在通过如下方式设置状态转移概率的情况下进行链接处理:假定出现了从已知节点sj′向未知节点si′的转移进行以上参照图46描述的处理而非以上参照图51描述的处理。

换言之,实际上,通过在未知节点si′处执行行为ck′向已知节点sj′进行了转移,但假定通过后向转移行为czr(r=1、...、R)出现了从已知节点sj′向未知节点si′的转移。此处,可以例如按与步骤S503中的处理同样的方式估计后向转移行为czr(r=1、...、R)。

具体地,假定通过行为cz1进行了从已知节点sj′向未知节点si′的转移,执行以上参照图46描述的处理。另外,假定通过行为cz2进行了从已知节点sj′向未知节点si′的转移,执行以上参照图46描述的处理。类似地,假定通过行为cz3至行为czR中的每个行为进行了从已知节点sj′向未知节点si′的转移,执行以上参照图46描述的处理。

可以假定通过行为czr(r=1、...、R)进行了从最后一个节点sj′(实际上,要进行链接的已知节点)向未知节点si′的转移,执行图46中的处理。

因而,根据本发明的实施例,行为者可以自主识别环境改变以延伸状态转移概率表和观测概率表。另外,此时,可以恰当地设置要设置到从这些表中的每个表延伸的区域中的值,诸如状态转移概率、观测概率等。另外,可以基于从已经存储的已知节点向存储的其他已知节点的状态转移概率设置未知节点与已知节点之间的状态转移概率等。

到目前为止针对可以在推进学习时迫于压力要改变节点的数量、观测符号的数量、或者行为的数量的情形中进行的处理进行了描述。

如上所述,根据本发明的实施例,可以采用行为扩展HMM进行学习。从而,可以在行为者使用行为信号对于环境执行行为的情形中进行学习,相应地,可以影响要从现在起观测的观测符号。

另外,根据本发明的实施例,可以有效地且恰当地对不可避免地具有大规模的行为扩展HMM进行学习。具体地,通过对要学习的内部模型数据等应用分裂算法来施加一状态一观测约束,并且通过应用前向合并算法和后向合并算法等来施加行为转移约束。从而,抑制要计算的参数数量的增加,相应地,可以有效地且恰当地对不可避免地具有大规模的行为扩展HMM进行学习。

另外,根据本发明的实施例,可以以稳定的方式根据不可避免地具有大规模的行为扩展HMM通过添加学习方法进行学习。具体地,计算并保存用于估计状态转移概率的频率变量以及用于估计观测概率的频率变量,从而可以以稳定的方式根据行为扩展HMM通过添加学习方法进行学习。

另外,根据本发明的实施例,可以在推进学习时改变节点的数量、观测符号的数量或者行为的数量。

此时,例如,基于对于行为者而言节点的数量增加预定数量、或者可以通过行为者自主识别环境改变来延伸内部模型数据的前提,例如可以发出延伸内部模型数据的命令。

为了使行为者自主识别环境改变以延伸内部模型数据,允许行为者识别其自身现在所处的节点是作为学习到的内部状态的节点、还是作为要新添加的内部状态的节点。

另外,做出了如下安排:其中,允许在预定时刻添加预定数量的未知节点,并且还允许基于紧接链接之后的内部模型数据通过添加学习方法进行学习。从而,可以不仅在已知节点中偶尔出现新节点的情形中,而且在长时间段上连续检测到新节点的困难环境中,进行足够有效的学习。

另外,当延伸内部模型数据时,可以基于以往的经验设置未知节点与已知节点之间的状态转移概率等。

从而,根据本发明的实施例,当在改变的环境下进行自主学习时,可以按有效且稳定的方式进行学习。

到目前为止针对应用于机器人移动通过迷宫的情形中的示例的本发明的实施例进行了描述,但是不言而喻可以采用除此以外的实施例。例如,行为不限于用于移动行为者的行为,只要行为影响环境,就可以采用此行为。另外,例如,观测符号不限于与迷宫的部分的形状对应的符号,可以采用与光或声等的改变对应的符号。

注意,上述一系列处理可以通过硬件、软件或者二者的组合配置执行。在通过软件执行处理的情形中,形成该软件的程序安装到容纳在专用硬件中的计算机上。例如,形成该软件的程序从网络或记录介质安装到能够通过安装各种程序执行各种功能的通用个人计算机700等中。

在图52中,CPU(中央处理单元)701根据ROM(只读存储器)702中存储的程序、或者从存储单元708加载到RAM(随机存取存储器)703中的程序执行各种处理。用于CPU 701执行各种处理的数据等也适当地存储在RAM 703中。

CPU 701、ROM 702、以及RAM 703经由总线704相互连接。输入/输出接口705也连接到该总线704。

由键盘、鼠标等形成的输入单元706、以及由配置有LCD(液晶显示器)等的显示器、扬声器等形成的输出单元707、以及配置有硬盘等的存储单元708连接到输入/输出接口705。另外,由配置有诸如LAN卡等的网络接口卡的通信单元709连接到输入/输出接口705。通信单元709经由包括因特网的网络进行通信处理。

驱动器710适当地链接到输入/输出接口705,其上适当地装配有诸如磁盘、光盘、磁光盘、半导体存储器等的可移除介质711。然后,从这些部件中读取出的计算机程序适当地安装到存储单元708中。

在上述一系列处理通过软件执行的情形中,从诸如因特网等的网络、或者由可移悇介质711等形成的记录介质安装形成该软件的程序。

注意,此记录介质不仅包括配置有由其中记录有程序的磁盘(包括软盘(注册商标))、光盘(包括CD-ROM(压缩光盘只读存储器))、DVD(数字多功能盘)、磁光盘(包括MD(迷你盘)(注册商标))、半导体存储器等形成的被分发以独立于设备主单元向用户分发程序的可移除介质711的部件,还包括配置有其中记录有程序的以预先容纳在设备主单元中的状态分发给用户的存储单元708中包括的硬盘、ROM 702等的部件。

注意,根据本说明书的上述一系列处理不仅包括按照描述的顺序以时间顺序进行的处理,而且包括并非必定以时间顺序进行而是并行或单独进行的处理。

注意,本发明的实施例不限于上述实施例,可以在不背离本发明的实质的情况下进行各种修改。

本申请包含与均于2009年7月9日提交于日本专利局的日本在先专利申请JP 2009-163192和日本在先专利申请JP 2009-163193中公开的主题相关的主题,其全部内容通过引用合并于此。

本领域的技术人员应当理解,根据设计要求和其它因素,可以进行各种修改、组合、子组合和改变,只要这些修改、组合、子组合和改变在所附权利要求或其等价内容的范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号