CN101923663A - 信息处理设备、信息处理方法和程序 - Google Patents
信息处理设备、信息处理方法和程序 Download PDFInfo
- Publication number
- CN101923663A CN101923663A CN2010101990388A CN201010199038A CN101923663A CN 101923663 A CN101923663 A CN 101923663A CN 2010101990388 A CN2010101990388 A CN 2010101990388A CN 201010199038 A CN201010199038 A CN 201010199038A CN 101923663 A CN101923663 A CN 101923663A
- Authority
- CN
- China
- Prior art keywords
- state
- behavior
- transition probability
- agency
- probability
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/29—Graphical models, e.g. Bayesian networks
- G06F18/295—Markov models or related models, e.g. semi-Markov models; Markov random fields; Networks embedding Markov models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Software Systems (AREA)
- Bioinformatics & Computational Biology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Evolutionary Biology (AREA)
- Psychiatry (AREA)
- Social Psychology (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Feedback Control In General (AREA)
- Image Analysis (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种信息处理设备、信息处理方法和程序。所述信息处理设备包括学习部分,被配置为使用由能够执行行为的代理执行的行为和当代理已经执行了行为时在代理中观察到的观察值来学习由以下定义的状态转移概率模型:状态由于代理执行的行为而进行状态转移的每个行为的状态转移概率;以及从所述状态观察到预定观察值的观察概率。
Description
技术领域
本发明涉及一种信息处理设备、信息处理方法和程序,具体地涉及一种使得例如可以确定能够自主执行各种行为的代理(自主代理)的适当行为的信息处理设备、信息处理方法和程序。
背景技术
作为状态预测和行为确定方法,例如存在一种方法,用于应用部分观察的马尔可夫决策过程并且根据学习数据自动地构造静态的部分观察的马尔可夫决策过程(参见例如日本待审专利公布第2008-186326号,以下称为专利文献1)。
另外,作为用于自主移动机器人或者钟摆(pendulum)的操作计划方法,存在一种方法,用于建立在马尔可夫状态模型中离散化的行为计划,并且进一步向控制器输入计划的目标以及得出要提供给控制对象的输出从而执行期望的控制(参见例如日本待审专利公布第2007-317165和2006-268812号,分别被称为专利文献2和3)。
发明内容
虽然已经提出了各种方法作为用于确定能够自主执行各种行为的代理的适当行为的方法,但是存在提出另外的新方法的要求。
考虑到这种情况提出了本发明。期望能够确定代理的适当行为,即确定适当行为作为要由代理执行的行为。
根据本发明的第一实施例的信息处理设备和程序是一种信息处理设备和用于使计算机用作信息处理设备的程序,所述信息处理设备包括学习部分,被配置为使用由代理执行的行为和当代理已经执行了该行为时代理中观察到的观察值来学习由每个行为的状态转移概率和观察概率定义的状态转移概率模型,所述每个行为是状态由于能够执行行为的代理执行的行为而进行状态转移的行为,所述观察概率是从所述状态观察到预定观察值的观察概率。
根据本发明的第一实施例的信息处理方法是一种信息处理设备的信息处理方法,所述方法包括步骤:使用由代理执行的行为和当代理已经执行了行为时代理中观察到的观察值来学习由每个行为的状态转移概率和观察概率定义的状态转移概率模型,所述每个行为是状态由于能够执行行为的代理执行的行为而进行状态转移的行为,所述观察概率是从所述状态观察到预定观察值的观察概率。
在如上所述的第一实施例中,使用由代理执行的行为和当代理已经执行了行为时代理中观察到的观察值来学习由每个行为的状态转移概率和观察概率定义的状态转移概率模型,所述每个行为是状态由于能够执行行为的代理执行的行为而进行状态转移的行为,所述观察概率是从所述状态观察到预定观察值的观察概率。
根据本发明的第二实施例的信息处理设备或程序是一种信息处理设备或用于使计算机用作信息处理设备的程序。所述信息处理设备包括:状态识别部分,被配置为根据状态转移概率模型,使用由能够执行行为的代理执行的行为和当代理已经执行了行为时代理中观察到的观察值来识别代理的当前状况,并且获得作为状态转移概率模型的状态的当前状态,所述状态转移概率模型的状态对应于当前状况,所述状态转移概率模型是通过使用由代理执行的行为和当代理已经执行了行为时代理中观察到的观察值来学习由每个行为的状态转移概率和观察概率定义的状态转移概率模型而获得的,所述每个行为是状态由于能够执行行为的代理执行的行为而进行状态转移的行为,所述观察概率是从所述状态观察到预定观察值的观察概率;目标确定部分,被配置为将所述状态转移概率模型的状态之一确定为被设置为目标的目标状态;以及行为确定部分,被配置为根据所述状态转移概率模型计算行为计划为最大化从所述当前状态向所述目标状态的状态转移的可能性的行为系列,并且所述行为确定部分被配置为根据所述行为计划确定接下来要由代理执行的行为。
根据本发明的第二实施例的信息处理方法是一种信息处理设备的信息处理方法。所述信息处理方法包括步骤:根据状态转移概率模型,使用由能够执行行为的代理执行的行为和当代理已经执行了行为时代理中观察到的观察值来识别代理的当前状况,并且获得作为状态转移概率模型的状态的当前状态,所述状态转移概率模型的状态对应于当前状况,所述状态转移概率模型是通过使用由代理执行的行为和当代理已经执行了行为时代理中观察的观察值来学习由每个行为的状态转移概率和观察概率定义的状态转移概率模型而获得的,所述每个行为是状态由于能够执行行为的代理执行的行为而进行状态转移的行为,所述观察概率是从所述状态观察预定观察值的观察概率;将状态转移概率模型的状态之一确定为被设置为目标的目标状态;并且根据状态转移概率模型计算行为计划为最大化从所述当前状态向所述目标状态的状态转移的可能性的行为系列,并且根据所述行为计划确定接下来要由代理执行的行为。
在如上所述的第二实施例中,根据状态转移概率模型,使用由能够执行行为的代理执行的行为和当代理已经执行了行为时代理中观察到的观察值识别了所述代理的当前状况,并且获得作为状态转移概率模型的状态的当前状态,所述状态转移概率模型的状态对应于当前状况,所述状态转移概率模型是通过使用由代理执行的行为和当所述代理已经执行了行为时代理中观察到的观察值来学习由每个行为的状态转移概率和观察概率定义的状态转移概率模型而获得的,所述每个行为是状态由于能够执行行为的代理执行的行为而进行状态转移的行为,所述观察概率是从所述状态观察预定观察值的观察概率。此外,状态转移概率模型的状态之一被确定为被设置为目标的目标状态。然后,基于状态转移概率模型计算行为计划为最大化从所述当前状态向所述目标状态的状态转移的可能性的行为系列,并且接下来要由代理执行的行为根据行为计划确定。
顺便提及,所述信息处理设备可以是独立的设备,或者可以是构成一个设备的内部模块。
程序可以通过经由传输介质发送或者处于被记录在记录介质中的状态被提供。
根据本发明的第一和第二实施例,可以将适当的行为确定为要由代理执行的行为。
附图说明
图1是示出了行为环境的图;
图2是示出了其中行为环境的结构改变的状态的图;
图3A和3B是示出了代理执行的行为和代理观察到的观察值的图;
图4是示出了应用根据本发明的信息处理设备的代理的一个实施例的配置的示例的框图;
图5是帮助说明反射行为模式中的处理的流程图;
图6A和6B是帮助说明扩展HMM的状态转移概率的图;
图7是帮助说明学习扩展HMM的处理的流程图;
图8是帮助说明识别行为模式中的处理的流程图;
图9是帮助说明确定目标状态的处理的流程图,该处理由目标确定部分执行;
图10A、10B和10C是帮助说明行为确定部分24计算行为计划的图;
图11是帮助说明使用抑制因子来修正扩展HMM的状态转移概率的图,该修正由行为确定部分进行;
图12是帮助说明更新抑制因子的处理的流程图,该处理由状态识别部分执行;
图13是帮助说明由开放端检测部分检测为开放端的扩展HMM的状态的图;
图14A和14B是帮助说明开放端检测部分列出状态Si的处理的图,其中以等于或者高于阈值的概率观察到观察值Ok;
图15是帮助说明使用针对观察值Ok列出的状态Si来生成行为模板的方法的图;
图16是帮助说明计算基于观察概率的行为概率的方法的图;
图17是帮助说明计算基于状态转移概率的行为概率的方法的图;
图18是示意性地示出了差分行为概率的图;
图19是帮助说明检测开放端的处理的流程图;
图20是帮助说明一种用于由分支结构检测部分检测分支结构的状态的方法的图;
图21A和21B是示出了模拟中使用的行为环境的图;
图22是示意性地示出了模拟中学习后的扩展HMM的图;
图23是示出了模拟的结果的图;
图24是示出了模拟的结果的图;
图25是示出了模拟的结果的图;
图26是示出了模拟的结果的图;
图27是示出了模拟的结果的图;
图28是示出了模拟的结果的图;
图29是示出了模拟的结果的图;
图30是示出了应用代理的清洁机器人的一般外观的图;
图31A和31B是帮助说明用于实现一个状态一个观察值约束的状态划分的概要的图;
图32是帮助说明检测划分对象状态的方法的图;
图33A和33B是帮助说明一种将划分对象状态划分为划分后状态的方法的图;
图34A和34B是帮助说明用于实现一个状态一个观察值约束的状态合并的概要的图;
图35A和35B是帮助说明检测合并对象状态的方法的图;
图36A和36B是帮助说明一种用于将多个分支目的地状态合并为一个代表性状态的方法的图;
图37是帮助说明一种用于学习扩展HMM的处理的流程图,该处理在所述一个状态一个观察值约束下执行;
图38是帮助说明检测划分对象状态的处理的流程图;
图39是帮助说明划分状态的处理的流程图;
图40是帮助说明检测合并对象状态的处理的流程图;
图41是帮助说明检测合并对象状态的处理的流程图;
图42是帮助说明合并状态的处理的流程图;
图43A、43B和43C是帮助说明模拟在一个状态一个观察值约束下扩展HMM的学习的图;
图44是帮助说明识别行为模式中的处理的流程图;
图45是帮助说明计算当前状况状态系列的候选的处理的流程图;
图46是帮助说明计算当前状况状态系列的候选的处理的流程图;
图47是帮助说明根据第一策略确定行为的处理的流程图;
图48是帮助说明根据第二策略确定行为的概要的图;
图49是帮助说明根据第二策略确定行为的处理的流程图;
图50是帮助说明根据第三策略确定行为的概要的图;
图51是帮助说明根据第三策略确定行为的处理的流程图;
图52是帮助说明当根据多个策略确定行为时选择要遵循的策略的处理的流程图;
图53是帮助说明当根据多个策略确定行为时选择要遵循的策略的处理的流程图;以及
图54是示出了应用本发明的计算机的一个实施例的配置的示例的框图。
具体实施方式
[代理执行行为的环境]
图1是示出了其中应用根据本发明的信息处理设备的代理执行行为的行为环境的示例的图。
代理是诸如机器人(其可以是在真实世界中行动的机器人或者可以是在虚拟世界中行动的虚拟机器人)的设备,能够自主地执行诸如移动等的行为(能够执行行为)。
代理能够通过执行行为、观察外部可观察的信息并且使用作为观察结果的观察值识别状况来改变代理本身的状况。
另外,代理构造其中代理执行行为的行为环境的模型(环境模型),以便识别状况并且确定(选择)在每种状况下要执行的行为。
代理不仅执行具有固定结构的行为环境的、而且执行具有不固定的而是概率性地改变的结构的行为环境的有效建模(构造环境模型)。
图1中的行为环境是二维平面内的迷宫,并且行为环境的结构概率性地改变。在图1的行为环境中,代理可以在图中作为通道的空白部分中移动。
图2是示出了其中行为环境的结构改变的状态的图。
在图2的行为环境中,在时刻t=t1处,位置p1是墙壁,位置p2是通道。因此,在时刻t=t1处,行为环境具有其中代理不能通过位置p1但是可以通过位置p2的结构。
其后,在时刻t=t2处(>t1),位置p1从墙壁改变为通道,从而行为环境具有其中代理可以通过位置p1和p2两者的结构。
另外,在随后的时刻t=t3处,位置p2从通道改变为墙壁,从而行为环境具有其中代理可以通过位置p1但是不能通过位置p2的结构。
[代理执行的行为和代理观察到的观察值]
图3A和3B是示出了在行为环境中代理执行的行为和代理观察到的观察值的示例的图。
代理将图1中所示的行为环境中由图中的虚线以正方形的形式划分的区域设置为在其中观察观察值的单元(观察单元)。代理在观察单元中执行移动的行为。
图3A示出了由代理执行的行为的种类。
在图3A中,代理总共可以执行5种行为U1-U5,行为U1是沿观察单元在图中的向上方向上移动,行为U2是沿观察单元在图中的向右方向上移动,行为U3是沿观察单元在图中的向下方向上移动,行为U4是沿观察单元在图中的向左方向上移动,行为U5是不移动(不做任何事情)。
图3B示意性地示出了代理在观察单元中观察到的观察值的种类。
本实施例中的代理在观察单元中观察到15种观察值(符号)O1-O15之一。
在上、下和左具有墙壁并且在右具有通道的观察单元中观察到观察值O1。在上、左和右具有墙壁并且在下具有通道的观察单元中观察到观察值O2。
在上和左具有墙壁并且在下和右具有通道的观察单元中观察到观察值O3。在上、下和右具有墙壁并且在左具有通道的观察单元中观察到观察值O4。
在上和下具有墙壁并且在左和右具有通道的观察单元中观察到观察值O5。在上和右具有墙壁并且在下和左具有通道的观察单元中观察到观察值O6。
在上具有墙壁并且在下、左和右具有通道的观察单元中观察到观察值O7。在下、左和右具有墙壁并且在上具有通道的观察单元中观察到观察值O8。
在下和左具有墙壁并且在上和右具有通道的观察单元中观察到观察值O9。在左和右具有墙壁并且在上和下具有通道的观察单元中观察到观察值O10。
在左具有墙壁并且在上、下和右具有通道的观察单元中观察到观察值O11。在下和右具有墙壁并且在上和左具有通道的观察单元中观察到观察值O12。
在下具有墙壁并且在上、左和右具有通道的观察单元中观察到观察值O13。在右具有墙壁并且在上、下和左具有通道的观察单元中观察到观察值O14。
在所有的上、下、左和右具有通道的观察单元中观察到观察值O15。
顺便提及,行为Um(m=1,2,…,M(M是行为(行为种类)的总数))和观察值Ok(k=1,2,…,K(K是观察值的总数))每一个均是离散值。
[代理的配置的示例]
图4是示出了应用根据本发明的信息处理设备的代理的一个实施例的配置的示例的框图。
代理获得通过学习对行为环境建模得到的环境模型。
另外,代理使用一系列观察值(观察值系列)识别代理自身的当前状况。
此外,代理制订从当前状况移动到某一目标要执行的行为的计划(行为计划),并且根据该行为计划确定接下来要执行的行为。
顺便提及,代理所执行的学习、状况的识别和行为计划的制订(行为的确定)不仅可以应用于代理在观察单元中向上、下、左或右移动的问题(任务),而且可以应用于一般被作为强化学习的问题并且能够在马尔可夫决策过程(MDP)的框架中公式化的问题。
在图4中,代理通过在行为环境中执行图3A所示的行为Um而在观察单元中移动,并且获得在移动后的观察单元中观察到的观察值Ok。
然后,代理学习行为环境(行为环境的结构(通过对行为环境建模得到的环境模型)),并且使用行为系列和观察值系列确定接下来要执行的行为,所述行为系列是目前为止执行的一系列行为Um(用于代表行为Um的符号),并且观察值系列是目前为止观察到的一系列观察值Ok(用于代表观察值Ok的符号)。
存在其中代理执行行为的两种模式,即反射行为模式(反射行动模式)和识别行为模式(识别行动模式)。
在反射行为模式中,将用于根据过去获得的观察值系列和行为系列确定接下来要执行的行为的规则设计为固有规则。
在这种情况下,作为固有规则,可以例如使用用于确定行为以便不撞墙(允许在通道中前后移动)的规则或者用于确定行为以便不撞墙和以便不折回采取过的路径直到来到死胡同的规则。
根据该固有规则,代理重复针对代理中观察到的观察值确定接下来要执行的行为和在执行该行为后在观察单元中观察观察值。
由此当代理已经在行为环境中移动时代理获得行为系列和观察值系列。在反射行为模式中这样获得的行为系列和观察值系列用于学习行为环境。即,反射行为模式主要用于获取用作学习行为环境中所用的学习数据的行为系列和观察值系列。
在识别行为模式中,代理确定目标、识别当前状况并且确定用于从当前状况达到目标的行为计划。然后代理根据该行为计划确定接下来要执行的行为。
顺便提及,可以例如根据用户的操作来执行反射行为模式和识别行为模式之间的切换。
在图4中,代理包括反射行为确定部分11、执行器12、传感器13、历史存储部分14、行为控制部分15和目标确定部分16。
反射行为确定部分11被提供有在行为环境中观察到并且由传感器13输出的观察值。
在反射行为模式中反射行为确定部分11根据固有规则确定针对从传感器13提供的观察值接下来要执行的行为,并且控制执行器12。
执行器12例如当代理是在真实世界中行走的机器人时是用于使代理行走的电动机。执行器12在后面要描述的反射行为确定部分11或者行为确定部分24的控制下执行驱动。在执行器执行驱动的情况下,代理在行为环境中执行由反射行为确定部分11或者行为确定部分24确定的行为。
传感器13感测外部可观察的信息,并且输出观察值作为感测结果。
即,传感器13观察在行为环境中代理所位于的观察单元,并且输出代表观察单元的符号作为观察值。
顺便提及,图4中的传感器13还观察执行器12,由此还输出由代理执行的行为(代表行为的符号)。
由传感器13输出的观察值被提供给反射行为确定部分11和历史存储部分14。另外,由传感器13输出的行为被提供给历史存储部分14。
历史存储部分14顺序存储由传感器13输出的观察值和行为。由此历史存储部分14存储一系列观察值(观察值系列)和一系列行为(行为系列)。
顺便提及,虽然在这种情况下代表代理所位于的观察单元的符号被用作外部可观察的观察值,但是代表代理所位于的观察单元的符号和代表由代理执行的行为的符号的符号组可以被用作观察值。
行为控制部分15使用历史存储部分14中存储的观察值系列和行为系列来学习状态转移概率模型作为环境模型以存储(获取)行为环境的结构。
另外,行为控制部分15根据学习后的状态转移概率模型来计算行为计划。此外,行为控制部分15根据该行为计划确定代理接下来要执行的行为,并且根据该行为来控制执行器12,由此使得代理执行该行为。
具体地,行为控制部分15包括学习部分21、模型存储部分22、状态识别部分23和行为确定部分24。
学习部分21使用历史存储部分14中存储的行为系列和观察值系列来学习模型存储部分22中存储的状态转移概率模型。
在这种情况下,由学习部分21学习的状态转移概率模型是由每个行为的状态转移概率和观察概率定义的状态转移概率模型,所述每个行为是状态由于代理执行的行为而进行状态转移的行为,所述观察概率是从状态观察到预定观察值的观察概率。
例如有HMM(隐马尔可夫模型)作为状态转移概率模型。但是,不是对于每个行为都存在普通HMM的状态转移概率。因此,在本实施例中,HMM(隐马尔可夫模型)的状态转移概率被扩展为由代理执行的每个行为的状态转移概率。具有如此扩展的状态转移概率的HMM(所述HMM也被称为扩展HMM)被用作学习部分21学习的对象。
模型存储部分22存储扩展HMM(状态转移概率和观察概率等作为用于定义扩展HMM的模型参数)。另外,模型存储部分22存储后面将要描述的抑制因子。
在识别行为模式中状态识别部分23使用历史存储部分14中存储的行为系列和观察值系列、根据模型存储部分22中存储的扩展HMM来识别代理的当前状况,并且将当前状态获得(识别)作为扩展HMM的状态,所述状态对应于当前状况。
然后状态识别部分23将当前状态提供给行为确定部分24。
另外,状态识别部分23更新模型存储部分22中存储的抑制因子,并且根据当前状态等更新在后面将要描述的过去时间管理表存储部分32中存储的过去时间管理表。
行为确定部分24用作计划者,用于计划在识别行为模式中要由代理执行的行为。
具体地,行为确定部分24被提供有来自状态识别部分23的当前状态,并且还被提供有作为来自目标确定部分16的作为目标的目标状态的、存储在模型存储部分22中的扩展HMM的状态之一。
行为确定部分24根据模型存储部分22中存储的扩展HMM来计算(确定)为一系列行为的行为计划,所述一系列行为最大化从来自状态识别部分23的当前状态到来自目标确定部分16的目标状态的状态转移的可能性。
此外,行为确定部分24根据行为计划确定接下来要由代理执行的行为,并且根据所确定的行为来控制执行器12。
在识别行为模式中目标确定部分16确定目标状态,然后将目标状态提供给行为确定部分24。
具体地,目标确定部分16包括目标选择部分31、过去时间管理表存储部分32、外部目标输入部分33和内部目标生成模块34。
目标选择部分31被提供有来自外部目标输入部分33的作为目标状态的外部目标和来自内部目标生成模块34的作为目标状态的内部目标。
目标选择部分31选择来自外部目标输入部分33的作为外部目标的状态或者来自内部目标生成模块34的作为内部目标的状态,将所选择的状态确定为目标状态,然后将该目标状态提供给行为确定部分24。
过去时间管理表存储部分32存储过去时间管理表。对于存储在模型存储部分22中的扩展HMM的每个状态,在过去时间管理表中登记自从状态变为当前状态起过去的过去时间等。
外部目标输入部分33将从(代理的)外部提供的状态设置为作为目标状态的外部目标,然后将该外部目标提供给目标选择部分31。
即,外部目标输入部分33例如当用户在外部指定状态作为目标状态时由用户操作。外部目标输入部分33将由用户的操作指定的状态设置为作为目标状态的外部目标,然后将该外部目标提供到目标选择部分31。
内部目标生成模块34在(代理的)内部生成内部目标作为目标状态,然后将该内部目标提供给目标选择部分31。
具体地,内部目标生成模块34包括随机目标生成部分35、分支结构检测部分36和开放端检测部分37。
随机目标生成部分35从存储在模型存储部分22中的扩展HMM的状态中随机地选择一个状态作为随机目标,将该随机目标设置为作为目标状态的内部目标,然后将该内部目标提供给目标选择部分31。
分支结构检测部分36根据存储在模型存储部分22中的扩展HMM的状态转移概率来检测分支结构的状态,所述状态可以在执行同一行为时进行向不同状态的状态转移,分支结构检测部分36将分支结构的状态设置为作为目标状态的内部目标,然后将该内部目标提供给目标选择部分31。
顺便提及,当分支结构检测部分36从扩展HMM检测到多个状态作为分支结构的状态时,目标选择部分31查找过去时间管理表存储部分32中的过去时间管理表,并且在分支结构的多个状态中选择其过去时间是最大值的分支结构的状态作为目标状态。
开放端检测部分37检测开放端,开放端在模型存储部分22中存储的扩展HMM中具有可以以其中观察到预定观察值的状态作为转移源进行的状态转移中要进行的状态转移,并且开放端是其中观察到与预定观察值相同的观察值的其他状态。然后,开放端检测部分37将开放端设置为作为目标状态的内部目标,并且将该内部目标提供给目标选择部分31。
[反射行为模式中的处理]
图5是帮助说明反射行为模式中的处理的流程图,该处理由图4的代理执行。
在步骤S11中,反射行为确定部分11将用于计时的变量t设置为例如1作为初始值。然后处理进行到步骤S12。
在步骤S12中,传感器13从行为环境中获得当前观察值(时刻t处的观察值)ot,并且输出观察值ot。然后处理进行到步骤S13。
在本实施例中时刻t处的观察值ot是图3B中所示的15个观察值O1到O15之一。
在步骤S13中,代理将由传感器13输出的观察值ot提供给反射行为确定部分11。然后处理进行到步骤S14。
在步骤S14中,反射行为确定部分11根据固有规则确定针对来自传感器13的观察值ot在时间t处要执行的行为ut,并且根据行为ut控制执行器12。然后处理进行到步骤S15。
在本实施例中在时间t处的行为ut是图3A中所示的5个行为U1至U5之一。
以下也将步骤S14中所确定的行为ut称为被确定行为ut。
在步骤S15中,执行器12在反射行为确定部分11的控制下执行驱动。代理由此执行被确定行为ut。
此时,传感器13观察执行器12,并且输出由代理执行的行为ut(代表行为ut的符号)。
然后处理从步骤S15进行到步骤S16,在步骤S16中,历史存储部分14以被添加到已经被存储为观察值和行为的历史的一系列观察值和行为中的形式存储由传感器13输出的观察值ot和行为ut。然后处理进行到步骤S17。
在步骤S17中,反射行为确定部分11确定代理是否已经执行了行为多次,次数预先被指定(设置)为反射行为模式中要执行的行为的数量。
当在步骤S17中确定代理还没有执行行为预先指定的次数时,处理进行到步骤S18,在步骤S18中,反射行为确定部分11将时刻t递增1。然后处理从步骤S18返回到步骤S12,以其后重复类似的处理。
当在步骤S17中确定代理已经执行了行为预先指定的次数时,即当时刻t等于预先指定的次数时,在反射行为模式中的处理结束。
根据在反射行为模式中的处理,在历史存储部分14中存储一系列观察值ot(观察值系列)和当观察到观察值ot时由代理执行的一系列行为ut(行为系列)(一系列行为ut和当已经执行了行为ut时在代理中观察到的一系列值ot+1)。
然后,代理中的学习部分21使用历史存储部分14中存储的观察值系列和行为系列作为学习数据来学习扩展HMM。
在扩展HMM中,普通(现有)HMM的状态转移概率被扩展为由代理执行的每个行为的状态转移概率。
图6A和6B是帮助说明扩展HMM的状态转移概率的图。
图6A示出了普通HMM的状态转移概率。
现在,假定采用其中从某一状态到任意状态的状态转移均是可能的遍历HMM作为包括扩展HMM的HMM。还假定HMM的状态数量为N。
在这种情况下,普通HMM具有从N个状态Si的每一个向N个状态Sj的每一个的N×N个状态转移的状态转移概率aij作为模型参数。
普通HMM的所有状态转移概率可以用二维表表示,在该二维表中,从状态Si向状态Sj的状态转移的状态转移概率aij布置在从顶部数的第i行和从左数的第j列中。
以下也将HMM的状态转移概率的表描述为状态转移概率A。
图6B示出了扩展HMM的状态转移概率A。
扩展HMM具有针对由代理执行的每个行为Um的状态转移概率。
以下也将关于某一行为Um的从状态Si向状态Sj的状态转移的状态转移概率描述为状态转移概率aij(Um)。
状态转移概率aij(Um)代表当代理执行行为Um时从状态Si向状态Sj发生状态转移的概率。
扩展HMM的所有状态转移概率可以用三维表表示,在该三维表中,关于行为Um的从状态Si向状态Sj的状态转移的状态转移概率aij(Um)布置在从顶部数的第i行、从左数的第j列和在从前侧起的深度方向上的第m平面中。
以下,在状态转移概率A的三维表中,将垂直方向上的轴称为i轴,将水平方向上的轴称为j轴,并且将深度方向上的轴称为m轴或者行为轴。
另外,由状态转移概率aij(Um)构成的平面也将被称为关于行为Um的状态转移概率平面,所述平面是通过使用行为轴上在位置m处的垂直于行为轴的平面来切割状态转移概率A的三维表而获得的。
此外,由状态转移概率aIj(Um)构成的平面也将被称为关于状态SI的行为平面,所述平面是通过使用i轴上在位置I处的垂直于i轴的平面来切割状态转移概率A的三维表而获得的。
形成关于状态SI的行为平面的状态转移概率aIj(Um)代表当以状态SI作为转移源发生状态转移时执行每个行为Um的概率。
顺便提及,如同普通HMM的情况,扩展HMM不仅具有针对每个行为的状态转移概率aij(Um),而且具有在初始时刻t=1处位于状态Si中的初始状态概率πi和在状态Si中观察到观察值Ok的观察概率bi(Ok)作为模型参数。
[学习扩展HMM]
图7是帮助说明学习扩展HMM的处理的流程图,所述处理由图4中的学习部分21使用作为学习数据存储在历史存储部分14中的观察值系列和行为系列来执行。
在步骤S21中,学习部分21初始化扩展HMM。
具体地,学习部分21初始化作为存储在模型存储部分22中的扩展HMM的模型参数的初始状态概率πi、(每个行为的)状态转移概率aij(Um)和观察概率bi(Ok)。
顺便提及,假定扩展HMM的状态的数量(总数)是N,则初始状态概率πi被初始化为例如1/N。假定在这种情况下,作为二维平面中的迷宫的行为环境由a×b个观察单元、即a个水平观察单元和b个垂直观察单元构成,则可以采用(a+Δ)×(b+Δ)个状态的数量作为扩展HMM的状态的数量N,其中Δ是作为裕量的整数。
另外,状态转移概率aij(Um)和观察概率bi(Ok)被初始化为例如可以取值为概率值的随机值。
在这种情况下,初始化状态转移概率aij(Um),以使得在关于每个行为Um状态转移概率平面中每行的状态转移概率aij(Um)的总和(ai,1(Um)+ai,2(Um)+…+ai,N(Um))是1.0。
类似地,初始化观察概率bi(Ok),以使得从每个状态Si观察到观察值O1,O2,…,OK的观察概率的总和(bi(O1)+bi(O2)+…+bi(OK))是1.0。
顺便提及,当执行所谓的追加学习时,存储在模型存储部分22中的扩展HMM的初始状态概率πi、状态转移概率aij(Um)和观察概率bi(Ok)被原样用作初始值。即,不执行步骤S21中的初始化。
在步骤S21后,处理进行到步骤S22。从步骤S22向下,执行扩展HMM的学习,其使用作为学习数据存储在历史存储部分14中的行为系列和观察值系列、根据Baum-Welch重评估法(通过关于行为扩展Baum-Welch重评估法而获得的方法)估计初始状态概率πi、每个行为的状态转移概率aij(Um)和观察概率bi(Ok)。
具体地,在步骤S22中,学习部分21计算前向概率αt+1(j)和后向概率βt(i)。
在扩展HMM中,当在时刻t处执行行为ut时,发生从当前状态Si向状态Sj的状态转移,并且在下一个时刻t+1处在状态转移后的状态Sj中观察到观察值ot+1。
在这样的扩展HMM中,前向概率αt+1(j)是在模型Λ中观察到学习数据的行为系列u1、u2、…、ut,观察到观察值系列o1、o2、…、ot+1并且代理在时刻t+1处位于状态Sj中的概率P(o1,o2,…,ot+1,u1,u2,…,ut,st+1=j|Λ),模型Λ是当前的扩展HMM(扩展HMM由实际存储在模型存储部分22中的初始状态概率πi、状态转移概率aij(Um)和观察概率bi(Ok)定义)。前向概率αt+1(j)通过式(1)来表达。
顺便提及,状态st代表在时刻t处的状态,并且当扩展HMM的状态的数量是N时是状态S1到SN之一。另外,式st+1=j表示在时刻t+1处的状态st+1是状态Sj。
式(1)的前向概率αt+1(j)代表当代理观察到学习数据的行为系列u1、u2、…、ut-1和观察值系列o1、o2、…、ot并且在时刻t处位于状态st时,在通过执行(观察)行为ut来进行状态转移后,代理在时刻t+1处位于状态Sj中并且观察到观察值ot+1的概率。
顺便提及,前向概率αt+1(j)的初始值α1(j)通过式(2)来表达。
α1(j)=πjbj(o1)…(2)
式(2)的初始值α1(j)代表起初(时刻t=0)处于状态Sj中并且观察到观察值o1的概率。
另外,在扩展HMM中,后向概率βt(i)是在模型Λ中代理在时刻t处位于状态Si中,其后观察到学习数据的行为系列ut+1、ut+2、…、uT-1并且观察到观察值系列ot+1、ot+2、…、oT的概率P(ot+1,ot+2,…,oT,ut+1,ut+2,…,uT-1,st=i|Λ),模型Λ是当前的扩展HMM。后向概率βt(i)通过式(3)来表达。
顺便提及,T表示学习数据的观察值系列的观察值的数量。
式(3)的后向概率βt(i)代表当在时刻t+1处的状态st+1是状态Sj并且在通过在代理在时刻t+1处位于状态Sj的情况下在时刻t处在状态Si中执行(观察)行为ut而进行状态转移后观察到观察值ot+1,其后观察到学习数据的行为系列ut+1、ut+2、…、uT-1并且观察到观察值系列ot+2、ot+3、…、oT时,在时刻t处的状态st是状态Si的概率。
顺便提及,后向概率βt(i)的初始值βT(i)通过式(4)来表达。
βT(i)=1…(4)
式(4)的初始值βT(i)表示在结尾处(时刻t=T)处于状态Si的概率是1.0,即代理在结尾处总是处于状态Si。
扩展HMM与普通HMM的不同在于:扩展HMM使用每个行为的状态转移概率aij(ut)作为从某一状态Si向某一状态Sj的状态转移的状态转移概率,如式(1)和式(3)中所示。
在步骤S22中计算了前向概率αt+1(j)和后向概率βt(i)后,处理进行到步骤S23,在步骤S23中,学习部分21使用前向概率αt+1(j)和后向概率βt(i)重评估初始状态概率πi、每个行为Um的状态转移概率aij(Um)和观察概率bi(Ok)作为扩展HMM的模型参数Λ。
在这种情况下,当状态转移概率被扩展到每个行为Um的状态转移概率aij(Um)时,如下通过扩展Baum-Welch重评估法执行模型参数的重评估。
使用前向概率αt(i)和后向概率βt+1(j),通过式(5)来表达状态转移的概率ξt+1(i,j,Um),其中通过在作为当前扩展HMM的模型Λ中观察到行为系列U=u1,u2,…,uT-1和观察值系列O=o1,o2,…,oT的情况下在时刻t处在状态Si中执行行为Um来进行向时刻t+1处状态Sj的所述状态转移。
另外,在时间t处在状态Si中执行行为ut=Um的概率γt(i,Um)可以被计算为通过针对时间t+1处的状态Sj边缘化概率ξt+1(i,j,Um)而获得的概率。概率γt(i,Um)通过式(6)来表达。
学习部分21使用式(5)的概率ξt+1(i,j,Um)和式(6)的概率γt(i,Um)来重新估计扩展HMM的模型参数Λ。
假定通过重新估计模型参数Λ而获得的估计值被使用符号(′)表示为模型参数Λ′,根据式(7)来获得初始状态概率的估计值π′i,所述估计值是模型参数Λ′。
另外,根据式(8)来获得每个行为的状态转移概率的估计值a′ij(Um),所述估计值是模型参数Λ′。
式(8)的状态转移概率的估计值a′ij(Um)的分子代表通过在状态Si中执行行为ut=Um而向状态Sj进行状态转移的次数的期望值,并且式(8)的状态转移概率的估计值a′ij(Um)的分母代表通过在状态Si中执行行为ut=Um而进行状态转移的次数的期望值。
根据式(9)来获得观察概率的估计值b′j(Ok),所述估计值是模型参数Λ′。
式(9)的观察概率的估计值b′j(Ok)的分子代表向状态Sj进行状态转移并且在状态Sj中观察到观察值Ok的次数的期望值,并且式(9)的观察概率的估计值b′j(Ok)的分母代表向状态Sj进行状态转移的次数的期望值。
在步骤S23中重新估计初始状态概率、状态转移概率和观察概率的估计值π′i、a′ij(Um)和b′j(Ok)作为模型参数Λ′后,学习部分21将以覆盖的方式分别将估计值π′i作为新初始状态概率πi、估计值a′ij(Um)作为新状态转移概率aij(Um)和估计值b′j(Ok)作为新观察概率bj(Ok)存储在模型存储部分22中。然后处理进行到步骤S24。
在步骤S24中,确定扩展HMM的模型参数即存储在模型存储部分22中的(新)初始状态概率πi、(新)状态转移概率aij(Um)和(新)观察概率bi(Ok)是否已经收敛。
当在步骤S24中确定扩展HMM的模型参数还没有收敛时,处理返回到步骤S22,以使用存储在模型存储部分22中的新初始状态概率πi、新状态转移概率aij(Um)和新观察概率bi(Ok)重复类似的处理。
当在步骤S24中确定扩展HMM的模型参数已经收敛时,即例如当步骤S23中重新估计后的扩展HMM的模型参数几乎未从步骤S23中的重新估计之前的扩展HMM的模型参数改变时,学习扩展HMM的处理结束。
如上所述,通过使用由代理执行的行为的行为系列和当代理已经执行了行为时在代理中观察到的观察值的观察值系列,学习由每个行为的状态转移概率aij(Um)定义的扩展HMM,通过在扩展HMM中的观察值系列获得行为环境的结构,并且获得每个观察值和当观察到该观察值时执行的行为之间的关系(由代理执行的行为和当已经执行了行为时观察到的观察值(在所述行为之后观察到的观察值)之间的关系)。
结果,如下文中将描述的,通过使用这种学习后的扩展HMM可以在识别行为模式中将适当的行为确定为要由行为环境中的代理执行的行为。
[识别行为模式中的处理]
图8是帮助说明识别行为模式中的处理的流程图,所述处理由图4中的代理执行。
在识别行为模式中,如上所述,代理确定目标、识别当前状况并且计算行为计划以从当前状况达到目标。此外,代理根据该行为计划确定接下来要执行的行为,并且执行该行为。然后代理重复上述处理。
在步骤S31中,状态识别部分23将用于计时的变量t设置为例如1作为初始值。然后处理进行到步骤S32。
在步骤S32中,传感器13从行为环境中获得当前观察值(在时刻t处的观察值)ot,并且输出观察值ot。然后处理进行到步骤S33。
在步骤S33中,历史存储部分14将由传感器13获得的在时刻t处的观察值ot和当观察到观察值ot时(紧邻在传感器13获得观察值ot之前)由传感器13输出的行为ut-1(由代理在紧邻在前的时刻t-1处执行的行为ut-1)以被添加到已经存储的观察值和行为系列中的形式存储为观察值和行为的历史。然后处理进行到步骤S34。
在步骤S34中,状态识别部分23使用由代理执行的行为和当已经执行了行为时在代理中观察到的观察值、根据扩展HMM识别代理的当前状况,并且获得作为对应于当前状况的扩展HMM的状态的当前状态。
具体地,状态识别部分23从历史存储部分14中读出0个或者更多个最新行为的行为系列以及一个或更多个最新观察值的观察值系列作为用于识别的行为系列和观察值系列,所述系列用于识别代理的当前状况。
此外,状态识别部分23观察用于识别的行为系列和观察值系列,并且在模型存储部分22中存储的所学习的扩展HMM中,根据维特比算法(通过将维特比算法扩展到行为而获得的算法)获得最佳状态概率δt(j)和最佳路径ψt(j),最佳状态概率δt(j)是在时刻(当前时刻)t处位于状态Sj中的状态概率的最大值,最佳路径ψt(j)是提供最佳状态概率δt(j)的状态系列。
根据维特比算法,可以从当在普通HMM中观察到某一观察值系列时跟踪的状态的系列(状态系列)中估计最大化观察到该观察值系列的可能性的状态系列(最大可能状态系列)。
但是,因为在扩展HMM中状态转移概率关于行为进行了扩展,因此需要关于行为扩展维特比算法,以便使其应用于扩展HMM。
因此,状态识别部分23分别根据式(10)和式(11)来获得最佳状态概率δt(j)和最佳路径ψt(j)。
在这种情况下,式(10)中的max[X]表示当指示状态Si的下标i改变为范围1到N中的整数时所获得的X的最大值,N是状态的数量。另外,式(11)中的argmax{X}表示当下标i改变为范围1到N中的整数时最大化所获得的X的下标i。
状态识别部分23观察用于识别的行为系列和观察值系列,并且获得最大可能状态系列,其是根据式(11)的最佳路径ψt(j)在时间t处到达状态Sj并且最大化式(10)的最佳状态概率δt(j)的状态系列。
此外,状态识别部分23将该最大可能状态系列设置为当前状况的识别结果并且获得(估计)最大可能状态系列的最后状态作为当前状态st。
在获得当前状态st后,状态识别部分23根据当前状态st更新存储在过去时间管理表存储部分32中的过去时间管理表。然后处理从步骤S34进行到步骤S35。
具体地,与扩展HMM的每个状态相关联,在过去时间管理表存储部分32的过去时间管理表中登记自从状态变为当前状态起过去的过去时间。状态识别部分23将已经变为当前状态st的状态的过去时间重置为例如0,并且在过去时间管理表中将其他状态的过去时间递增例如1。
如上所述,当目标选择部分31选择目标状态时,在需要时查找过去时间管理表。
在步骤S35中,状态识别部分23根据当前状态st更新存储在模型存储部分22中的抑制因子。下面将描述抑制因子的更新。
此外,在步骤S35中,状态识别部分23将当前状态st提供给行为确定部分24。然后处理进行到步骤S36。
在步骤S36中,目标确定部分16从扩展HMM的状态中确定目标状态,并且将目标状态提供给行为确定部分24。然后处理进行到步骤S37。
在步骤S37中,行为确定部分24使用模型存储部分22中存储的抑制因子(在紧邻在前的步骤S35中更新的抑制因子)来修正存储在同一模型存储部分22中的扩展HMM的状态转移概率。由此行为确定部分24将修正的转移概率计算为修正后的状态转移概率。
在后面将要描述的由行为确定部分24对行为计划的计算中,被修正的转移概率被用作扩展HMM的状态转移概率。
在步骤S37之后,处理进行到步骤S38,在步骤S38中,行为确定部分24基于存储在模型存储部分22中的扩展HMM、根据例如维特比算法(通过将维特比算法扩展到行为而获得的算法)计算行为计划为最大化从来自状态识别部分23的当前状态向来自目标确定部分16的目标状态的状态转移的可能性的一系列行为。
根据维特比算法,在普通HMM中,可以例如在从两个状态之一向另一个状态的状态系列、即从当前状态向目标状态的状态系列中,估计最大化观察到某一观察值系列的可能性的最大可能状态系列。
但是,如上所述,因为在扩展HMM中状态转移概率关于行为进行了扩展,因此需要关于行为扩展维特比算法,以便应用于扩展HMM。
因此,行为确定部分24根据式(12)来获得状态概率δ′t(j)。
在这种情况下,式(12)中的max[X]表示当指示状态Si的下标i改变为范围1到N中的整数并且指示行为Um的下标m改变为范围1到M中的整数时获得的X的最大值,其中N是状态的数量,M是行为的数量。
式(12)通过从用于获得最佳状态概率δt(j)的式(10)中删除观察概率bj(ot)获得。另外,在式(12)中,状态概率δ′t(j)考虑到行为Um而获得。这对应于维特比算法关于行为的扩展。
行为确定部分24在前向上执行式(12)的计算,并且暂时存储取最大状态概率δ′t(j)的下标i和指示当每个时刻发生向由下标i表示的状态Si的状态转移时执行的行为Um的下标m。
顺便提及,通过由抑制因子修正学习的扩展HMM的状态转移概率aij(Um)而获得的修正的转移概率在式(12)的计算中用作状态转移概率aij(Um)。
行为确定部分24以当前状态st作为第一状态来计算式(12)的状态概率δ′t(j),并且当目标状态Sgoal的状态概率δ′t(Sgoal)变为预定阈值δ′th或者更大时结束式(12)的状态概率δ′t(j)的计算,如式(13)中所示。
δ′t(Sgoal)≥δ′th …(13)
顺便提及,例如,根据式(14)来设置式(13)中的阈值δ′th。
δ′th=0.9T′ …(14)
在这种情况下,式(14)中的T′表示式(12)的计算的次数(从式(12)获得的最大可能状态系列的系列长度)。
根据式(14),当发生一个可能的状态转移时通过采用0.9作为状态概率来设置阈值δ′th。
因此,根据式(13),当连续发生T′个可能的状态转移时,结束式(12)的状态概率δ′t(j)的计算。
结束式(12)的状态概率δ′t(j)的计算,行为确定部分24通过下述方式来获得从当前状态st向目标状态Sgoal的最大可能状态系列(在许多情况下为最短路径)和当提供最大可能状态系列的状态转移发生时执行的一系列行为Um:通过从结束式(12)的状态概率δ′t(j)的计算时开始,即在相反的方向上从目标状态Sgoal向当前状态st跟踪针对状态Si和行为Um存储的下标i和m。
具体地,如上所述,行为确定部分24存储取最大状态概率δ′t(j)的下标i和表示当在前向上计算式(12)的状态概率δ′t(j)时每个时刻发生向由下标i表示的状态Si的状态转移时执行的行为Um的下标m。
每个时刻的下标i表示当在暂时倒退的方向上从状态Sj返回状态Si时哪个状态Si具有最大状态概率。每个时刻的下标m表示进行提供最大状态概率的状态转移的行为Um。
因此,当每个时刻的下标i和m从结束式(12)的状态概率δ′t(j)的计算的时刻逐个时刻地回溯、并且到达开始式(12)的状态概率δ′t(j)的计算的时刻时,获得通过布置从当前状态st向目标状态Sgoal的状态系列的状态的一系列下标和当以暂时倒退的顺序发生所述状态系列的状态转移时执行的行为系列的行为的一系列下标的每个而形成的系列。
行为确定部分24获得从当前状态st向目标状态Sgoal的状态系列(最大可能状态系列)和当通过重新布置按时间顺序以暂时倒退的顺序布置的系列发生状态系列的状态转移时执行的行为系列。
在发生从当前状态st向目标状态Sgoal的最大可能状态系列的状态转移时执行的行为系列是行为计划,这些行为系列如上所述由行为确定部分24获得。
在这种情况下,在行为确定部分24中获得的最大可能状态系列与行为计划一起是在代理根据行为计划执行行为时发生(应该发生)的状态转移的状态系列。因此,如果当代理根据行为计划执行行为时发生不按照最大可能状态系列的状态布置的状态转移,则即使代理根据行为计划执行行为代理也可能无法到达目标状态。
在行为确定部分24如上所述在步骤S38中获得行为计划后,处理进行到步骤S39,在步骤S39中,行为确定部分24根据行为计划确定接下来要执行的行为ut。然后处理进行到步骤S40。
即,行为确定部分24将作为行为计划的行为系列的第一行为设置为接下来要执行的被确定行为ut。
在步骤S40中,行为确定部分24根据紧邻在前的步骤S39中确定的行为(被确定行为)ut控制执行器12,并且代理由此执行行为ut。
其后处理从步骤S40进行到步骤S41,其中状态识别部分23将时刻t递增1。处理返回到步骤S32,以重复从步骤S32向下类似的处理。
顺便提及,例如,当操作代理以便结束识别行为模式时、当关断对代理的供电时或者当代理的模式从识别行为模式改变为另一个模式(反射行为模式等)时,结束图8的识别行为模式中的处理。
如上所述,状态识别部分23使用由代理执行的行为和当已经执行了行为时在代理中观察到的观察值来识别代理的当前状况,并且根据扩展HMM获得对应于当前状况的当前状态;目标确定部分16确定目标状态;并且行为确定部分24计算行为计划,所述行为计划是基于扩展HMM最大化从当前状态向目标状态的状态转移的可能性(状态概率)的一系列行为,并且行为确定部分24根据该行为计划确定接下来要由代理执行的行为。因此,可以将适当的行为确定为要由代理执行的行为以便代理到达目标状态。
现有的行为确定方法彼此单独地准备了学习观察值系列的状态转移概率模型和作为用于实现状态转移概率模型的状态转移的行为的模型的行为模型,并且进行学习。
因此,由于学习了状态转移概率模型和行为模型这两个模型,因此学习需要大量的计算成本和存储资源。
另一方面,图4的代理学习在扩展HMM中彼此相关联的观察值系列和行为系列,所述扩展HMM是单个模型。因此,可以使用少量的计算成本和存储资源来执行学习。
另外,现有的行为确定方法需要使用状态转移概率模型来计算直到目标状态的状态系列,并且使用行为模型来计算获得该状态系列的行为。即,现有的行为确定方法需要使用单独的模型计算直到目标状态的状态系列,并且计算获得该状态系列的行为。
因此,现有的行为确定方法需要直到行为的计算的大量的计算成本。
另一方面,图4的代理可以同时确定从当前状态到目标状态的最大可能状态系列和用于获得最大可能状态系列的行为系列。因此,可以以小量的计算成本来确定接下来要由代理执行的行为。
[目标状态的确定]
图9是帮助说明确定目标状态的处理的流程图,所述处理由图4中的目标确定部分16在图8中的步骤S36中执行。
在目标确定部分16中,在步骤S51中,目标选择部分31确定是否设置了外部目标。
当在步骤S51中确定设置了外部目标时,即当例如用户操作外部目标输入部分33以将模型存储部分22中存储的扩展HMM的一个状态指定为作为目标状态的外部目标,并且目标状态(指示目标状态的下标)从外部目标输入部分33提供给目标选择部分31时,处理进行到步骤S52,在步骤S52中,目标选择部分31从外部目标输入部分33选择外部目标,然后将外部目标提供给行为确定部分24。然后处理返回。
顺便提及,用户不仅可以通过操作外部目标输入部分33而且可以通过操作诸如PC(个人计算机)等的终端来指定作为目标状态的状态(状态的下标)。在这种情况下,外部目标输入部分33通过与由用户操作的终端通信来识别由用户指定的状态,然后将该状态提供给目标选择部分31。
另一方面,当在步骤S51中确定未设置外部目标时,处理进行到步骤S53,在步骤S53中,开放端检测部分37根据模型存储部分22中存储的扩展HMM从扩展HMM的状态检测开放端。然后处理进行到步骤S54。
在步骤S54中,目标选择部分31确定是否检测到开放端。
当开放端检测部分37从扩展HMM的状态检测到开放端时,开放端检测部分37将作为开放端的状态(指示状态的下标)提供给目标选择部分31。目标选择部分31根据是否从开放端检测部分37提供了开放端来确定是否检测到开放端。
当在步骤S54中确定检测到开放端时,即当一个或更多个开放端从开放端检测部分37提供给目标选择部分31时,处理进行到步骤S55,在步骤S55中,目标选择部分31从来自开放端检测部分37的一个或更多个开放端中选择例如具有最小的指示状态的下标的开放端作为目标状态,然后将该目标状态提供给行为确定部分24。然后处理返回。
当在步骤S54中确定未检测到开放端时,即当没有开放端从开放端检测部分37提供给目标选择部分31时,处理进行到步骤S56,在步骤S56中,分支结构检测部分36根据模型存储部分22中存储的扩展HMM从扩展HMM的状态中检测分支结构的状态。然后处理进行到步骤S57。
在步骤S57中,目标选择部分31确定是否检测到分支结构的状态。
在这种情况下,当分支结构检测部分36从扩展HMM的状态中检测到分支结构的状态时,分支结构检测部分36将该分支结构的状态(指示分支结构的状态的下标)提供给目标选择部分31。目标选择部分31根据是否从分支结构检测部分36提供了分支结构的状态来确定是否检测到分支结构的状态。
当在步骤S57中确定检测到分支结构的状态时,即当一个或更多个分支结构的状态从分支结构检测部分36提供给目标选择部分31时,处理进行到步骤S58,在步骤S58中,目标选择部分31从来自分支结构检测部分36的一个或更多个分支结构的状态中选择一个状态作为目标状态,然后将目标状态提供给行为确定部分24。然后处理返回。
具体地,查找过去时间管理表存储部分32中的过去时间管理表,目标选择部分31识别来自分支结构检测部分36的一个或更多个分支结构的状态的过去时间。
此外,目标选择部分31从来自分支结构检测部分36的一个或更多个分支结构的状态中检测具有最长过去时间的状态,并且选择该状态作为目标状态。
另一方面,当在步骤S57中确定未检测到分支结构的状态时,即当没有分支结构的状态从分支结构检测部分36提供给目标选择部分31时,处理进行到步骤S59,在步骤S59中,随机目标生成部分35随机选择模型存储部分22中存储的扩展HMM的一个状态,然后将该状态提供给目标选择部分31。
此外,在步骤S59中,目标选择部分31选择来自随机目标生成部分35的状态作为目标状态,然后将目标状态提供给行为确定部分24。然后处理返回。
顺便提及,后面将详细描述由开放端检测部分37的开放端检测和由分支结构检测部分36的分支结构的状态的检测。
[行为计划的计算]
图10A、10B和10C是帮助说明由图4中的行为确定部分24计算行为计划的图。
图10A示意性地示出了用于计算行为计划的学习的扩展HMM。
在图10A中,圆圈(o)标记代表扩展HMM的状态,并且在圆圈标记中输入的数字是由圆圈标记代表的状态的下标。指示由圆圈标记代表的状态的箭头表示可能的状态转移(其状态转移概率不是0.0(可以视为0.0的值)的状态转移)。
在图10A的扩展HMM中,在对应于状态Si的观察单元的位置处布置状态Si。
其间可能进行状态转移的两个状态代表代理可以在对应于两个相应的状态之间的两个观察单元之间移动。因此,指示扩展HMM的状态转移的箭头表示通道,代理可以在行为环境中移动通过这个通道。
在图10A中,存在布置两个(多个)状态Si和Si′以便在一个观察单元的位置处彼此重叠的情况。这表示这两个(多个)状态Si和Si′对应于所述一个观察单元。
例如,在图10A中,状态S3和S30对应于一个观察单元,并且状态S34和S35也对应于一个观察单元。类似地,状态S21和S23对应于一个观察单元,状态S2和S17对应于一个观察单元,状态S37和S48对应于一个观察单元,状态S31和S32对应于一个观察单元。
当使用在其结构改变的行为环境中获得的观察值系列和行为系列作为学习数据来学习扩展HMM时,获得如图10A所示的其中多个状态对应于一个观察单元的扩展HMM。
即,在图10A中,使用例如在其中在对应于状态S21和S23的观察单元与对应于状态S2和S17的观察单元之间存在墙壁和通道之一的结构的行为环境中获得的观察值系列和行为系列作为学习数据来学习扩展HMM。
另外,在图10A中,还使用在其中在对应于状态S21和S23的观察单元与对应于状态S2和S17的观察单元之间存在墙壁和通道中的另一个的结构的行为环境中获得的观察值系列和行为系列作为学习数据来学习扩展HMM。
结果,在图10A的扩展HMM中,通过状态S21和状态S17获得在对应于状态S21和S23的观察单元与对应于状态S2和S17的观察单元之间具有墙壁的结构的行为环境。
即,在扩展HMM中,获得下述行为环境的结构:其中,由于在对应于状态S21和S23的观察单元的状态S21与对应于状态S2和S17的观察单元的状态S17之间存在墙壁,因此不进行状态转移并且不允许通道。
另外,在扩展HMM中,通过状态S23和状态S2来获得在对应于状态S21和S23的观察单元与对应于状态S2和S17的观察单元之间具有通道的结构的行为环境。
即,在扩展HMM中,获得下述行为环境的结构:其中,进行状态转移,并且在对应于状态S21和S23的观察单元的状态S23与对应于状态S2和S17的观察单元的状态S2之间允许通道。
如上所述,在扩展HMM中,即使当行为环境的结构改变时,也可以获得行为环境的结构,所述结构发生改变。
图10B和图10C示出了由行为确定部分24计算的行为计划的示例。
在图10B和图10C中,图10A中的状态S30(或者状态S3)是目标状态,对应于代理所位于的观察单元的状态S28被设置为当前状态,并且计算用于从当前状态到达目标状态的行为计划。
图10B示出了由行为确定部分24在时刻t=1处计算的行为计划PL1。
在图10B中,图10A中的一系列状态S28、S23、S2、S16、S22、S29和S30被设置为从当前状态到达目标状态的最大可能状态系列,并且计算当提供最大可能状态系列的状态转移发生时执行的行为的行为系列作为行为计划PL1。
行为确定部分24将行为计划PL1的从第一状态S28向下一个状态S23移动的行为设置为被确定行为。代理执行被确定行为。
结果,代理从对应于作为当前状态的状态S28的观察单元在向右方向上向对应于状态S21和S23的观察单元移动(执行图3A的行为U2),并且从时刻t=1经过一个时刻而导致时刻t变为时刻t=2。
在图10B中(在图10C中同样),在对应于状态S21和S23的观察单元与对应于状态S2和S17的观察单元之间有墙壁。
如上所述,在其中获得在对应于状态S21和S23的观察单元与对应于状态S2和S17的观察单元之间有墙壁的结构的状态中,对应于状态S21和S23的观察单元是状态S21。在时刻t=2处,状态识别部分23识别出当前状态是状态S21。
状态识别部分23更新用于抑制状态转移的抑制因子,以便关于由代理在从当前状态紧邻在前的状态向当前状态的状态转移时执行的行为,抑制在紧邻在前的状态和当前状态以外的状态之间的状态转移,并且不抑制紧邻在前的状态和当前状态之间的状态转移(不抑制以下也将称为使能)。
即,在这种情况下,由于当前状态是状态S21并且紧邻在前的状态是状态S28,因此抑制因子被更新以便抑制在紧邻在前的状态S28和当前状态S21以外的状态之间的状态转移,即例如在时刻t=1处获得的行为计划PL1中的第一状态S28和下一个状态S23之间的状态转移。
此外,抑制因子被更新以便使能紧邻在前的状态s28和当前状态S21之间的状态转移。
然后,在时刻t=2处,行为确定部分24将状态S21设置为当前状态,将状态S30设置为目标状态,获得用于从当前状态到达目标状态的最大可能状态系列S21、S28、S27、S26、S25、S20、S15、S10、S1、S17、S16、S22、S29和S30,并且计算当提供最大可能状态系列的状态转移发生时执行的行为的行为系列作为行为计划。
此外,行为确定部分24将从行为计划的第一状态S21向下一个状态S28的移动的行为设置为被确定行为。代理执行被确定行为。
结果,代理从对应于作为当前状态的状态S21的观察单元在向左方向上向对应于状态S28的观察单元移动(执行图3A中的行为U4),并且从时刻t=2经过一个时刻而导致时刻t变为t=3。
在时刻t=3处,状态识别部分23识别出当前状态是状态S28。
然后,在时刻t=3处,行为确定部分24将状态S28设置为当前状态,将状态S30设置为目标状态,获得从当前状态到达目标状态的最大可能状态系列,并且计算当提供最大可能状态系列的状态转移发生时执行的行为的行为系列作为行为计划。
图10C示出了由行为确定部分24在时刻t=3处计算的行为计划PL3。
在图10C中,获得一系列状态S28、S27、S26、S25、S20、S15、S10、S1、S17、S16、S22、S29和S30为最大可能状态系列,并且计算当提供最大可能状态系列的状态转移发生时执行的行为的行为系列为行为计划PL3。
即,在时刻t=3处,即使当前状态是与时刻t=1处相同的状态S28,并且目标状态是与时刻t=1处相同的状态S30,也计算得到与时刻t=1处的行为计划PL1不同的行为计划PL3。
这是因为如上所述在时刻t=2处抑制因子被更新以便抑制状态S28和状态S23之间的状态转移,并且在时刻t=3处获得最大可能状态系列中,抑制选择状态S23作为从作为当前状态的状态S28的状态转移的转移目的地,由此选择作为可以从状态S28向其进行状态转移的状态的状态S27,而不是状态S23。
在计算行为计划PL3后,行为确定部分24将从行为计划PL3的第一状态S28向下一个状态S27移动的行为设置为被确定行为。代理执行被确定行为。
结果,代理从对应于作为当前状态的状态S28的观察单元在向下方向上向对应于状态S27的观察单元移动(执行图3A中的行为U3)。其后,在每个时刻类似地计算行为计划。
[使用抑制因子修正状态转移概率]
图11是帮助说明使用抑制因子来修正扩展HMM的状态转移概率的图,由行为确定部分24在图8中的步骤S37中进行所述修正。
如图11中所示,行为确定部分24通过将扩展HMM的状态转移概率Altm乘以抑制因子Ainhibit来修正扩展HMM的状态转移概率Altm,由此获得修正转移概率Astm,其是修正后的状态转移概率Altm。
然后行为确定部分24使用修正转移概率Astm作为扩展HMM的状态转移概率而计算行为计划。
在这种情况下,在计算行为计划时,因为下面的原因,用于计算的状态转移概率由抑制因子修正。
学习后的扩展HMM的状态可以包括分支结构的状态,所述状态允许当执行一个行为时向不同状态的状态转移。
例如,在如上所述的图10A中的状态S29的情况下,当执行用于在向左方向上移动的行为U4(图3A)时,可以进行向左侧的状态S3的状态转移,或者可以进行向在同一左侧的状态S30的状态转移。
因此,当执行一个特定行为时可以发生从状态S29的不同状态转移,并且状态S29是分支结构的状态。
当关于一个特定行为可以发生不同的状态转移时,即,例如当在执行一个特定行为时可以发生向某一状态的状态转移或者也可以发生向其他状态的状态转移时,抑制因子抑制除了可以发生的不同状态转移的一个状态转移之外的状态转移的发生,以使得仅仅发生这一个状态转移。
即,假定关于一个特定行为可以发生的不同状态转移被称为分支结构,当使用从结构上改变的行为环境获得的观察值系列和行为系列作为学习数据而学习扩展HMM时,扩展HMM获得行为环境的结构上的改变作为分支结构。结果,分支结构的状态发生。
因此,由于分支结构的状态的发生,因此即使当行为环境的结构改变为各种结构时,扩展HMM也获得行为环境的所有各种结构。
通过扩展HMM获得的、在结构上改变的行为环境的各种结构是要长时间存储而不被忘记的信息。因此,已经获得这样的信息(具体地为扩展HMM的状态转移概率)的扩展HMM也将被称为长期记忆。
当当前状态是分支结构的状态时,在结构上改变的行为环境的当前结构确定作为分支结构的不同状态转移的哪一个有可能作为从当前状态的状态转移。
即,即使当从作为长期记忆的扩展HMM的状态转移概率看可能进行状态转移时,取决于在结构上改变的行为环境的当前结构状态转移也可能无法进行。
因此,代理根据通过独立于长期记忆而识别代理的当前状况获得的当前状态来更新抑制因子。然后,代理通过使用抑制因子修正作为长期记忆的扩展HMM的状态转移概率来获得修正转移概率作为修正后的状态转移概率,修正转移概率抑制在行为环境的当前结构中不能进行的状态转移并且使能在行为环境的当前结构中可以进行的状态转移。代理使用修正转移概率来计算行为计划。
修正转移概率是通过使用根据每个时刻的当前状态更新的抑制因子修正作为长期记忆的状态转移概率而在每个时刻获得的信息,并且是满足短时间存储的信息。因此修正转移概率也将被称为短期记忆。
行为确定部分24(图4)执行通过使用抑制因子修正扩展HMM的状态转移概率而获得修正转移概率的处理如下。
当通过如图6B中所示的三维表表达扩展HMM的所有状态转移概率Altm时,抑制因子Ainhibit也通过具有与扩展HMM的状态转移概率Altm的三维表相同尺寸的三维表来表达。
用于表达扩展HMM的状态转移概率Altm的三维表也将被称为状态转移概率表。用于表达抑制因子Ainhibit的三维表也将被称为抑制因子表。
当扩展HMM的状态的数量是N,并且可以由代理执行的行为的数量是M时,状态转移概率表是N×N×M个元素、即N个元素宽、N个元素高和M个元素深的三维表。因此,在这种情况下,抑制因子表也是N×N×M个元素的三维表。
顺便提及,除了抑制因子Ainhibit之外,也可以通过N×N×M个元素的三维表来表达修正转移概率Astm。用于表达修正转移概率Astm的三维表也将被称为修正转移概率表。
例如,假定状态转移概率表中在从顶部起的第i行、从左起的第j列和在从前侧起的深度方向上的第m个平面的位置表达为(i,j,m),则行为确定部分24通过下述方式获得修正转移概率Astm作为修正转移概率表的位置(i,j,m)中的元素:通过根据式(15)将作为状态转移概率表的位置(i,j,m)中的元素的状态转移概率Altm(=aij(Um))乘以作为抑制因子表的位置(i,j,m)中的元素的抑制因子Ainhibit。
Astm=Altm×Ainhibit …(15)
顺便提及,抑制因子在每个时刻在代理的状态识别部分23(图4)中更新如下。
状态识别部分23更新抑制因子,以便关于由代理在从紧邻在前的状态Si向当前状态Sj的状态转移时执行的行为Um,抑制在当前状态Sj紧邻在前的状态Si和当前状态Sj以外的状态之间的状态转移,并且不抑制(使能)在紧邻在前的状态Si和当前状态Sj之间的状态转移。
具体地,假定通过在行为轴的位置m处使用垂直于行为轴的平面切割抑制因子表而获得的平面被称为关于行为Um的抑制因子平面,状态识别部分23用1.0来覆盖N×N个抑制因子即关于行为Um的抑制因子平面的N个水平抑制因子和N个垂直抑制因子中的、作为从顶部起的第i行和从左起的第j列中的位置(i,j)中的元素的抑制因子,并且使用0.0来覆盖从顶部起的第i行中的N个抑制因子中的、作为除了位置(i,j)之外的位置中的元素的抑制因子。
结果,根据通过使用抑制因子来修正状态转移概率而获得的修正转移概率,在来自分支结构的状态的状态转移(分支结构)中,仅仅可以执行最近的经历、即已经进行的最近的状态转移,而不能进行其他状态转移。
扩展HMM表达代理到当前为止所经历(通过学习获得)的行为环境的结构。此外,当行为环境的结构改变为各种结构时,扩展HMM将行为环境的各种结构表达为分支结构。
另一方面,抑制因子表达作为由作为长期记忆的扩展HMM拥有的分支结构的多个状态转移的哪一个建模行为环境的当前结构。
因此,通过将作为长期记忆的扩展HMM的状态转移概率乘以抑制因子而修正状态转移概率,并且使用修正转移概率作为修正后的转移概率(短期记忆)来计算行为计划,即使当行为环境的结构改变时,也可以考虑到改变后的结构(当前结构)而获得行为计划,而扩展HMM不用重新学习改变后的结构。
即,当在结构上改变的行为环境的结构是已经通过扩展HMM获得的结构时,通过根据当前状态来更新抑制因子,并且使用更新后的抑制因子来修正扩展HMM的状态转移概率,可以考虑到行为环境的改变后的结构来获得行为计划,而不用重新学习扩展HMM。
即,可以迅速而高效地获得适应于行为环境的结构上的改变的行为计划,降低了计算成本。
顺便提及,当行为环境被改变为未由扩展HMM获得的结构时,为了确定在改变后的结构的行为环境中的适当行为需要使用改变后的行为环境中观察到的观察值系列和行为系列来重新学习扩展HMM。
在行为确定部分24原样地使用扩展HMM的状态转移概率来计算行为计划的情况下,假定即使当行为环境的当前结构是其中只能进行作为分支结构的多个状态转移的一个而不能进行其他状态转移的结构时也可以根据维特比算法来进行作为分支结构的所有多个状态转移,当发生从当前状态st向目标状态Sgoal的最大可能状态系列的状态转移时要执行的行为系列被计算作为行为计划。
另一方面,在行为确定部分24通过抑制因子修正扩展HMM的状态转移概率,并且使用修正转移概率作为修正后的状态转移概率来计算行为计划的情况下,假定不能进行由抑制因子抑制的状态转移,并且当发生从当前状态st向目标状态Sgoal的最大可能状态系列的状态转移而没有抑制因子抑制的状态转移时要执行的行为系列可以被计算作为行为计划。
具体地,例如,在如上所述的图10A中,状态S28是分支结构的状态,当执行用于在向右方向上移动的行为U2时,从该状态可以向两个状态S21和状态S23进行状态转移。
在图10A中,如上所述,在时刻t=2处,状态识别部分23更新抑制因子,以便关于由代理在从当前状态S21紧邻在前的状态S28向当前状态S21的状态转移时执行的用于在向右方向上移动的行为U2,抑制从紧邻在前的状态S28向当前状态S21以外的状态S23的状态转移,并且使能从紧邻在前的状态S28向当前状态S21的状态转移。
结果,在时刻t=3处,在图10C中,即使当前状态是状态S28并且目标状态是状态S30,并且当前状态和目标状态都与图10B中在时刻t=1时相同,由于抑制因子抑制了当执行在向右方向上的移动的行为U2时从状态S28向状态S21以外的状态S23的状态转移,因此与时刻t=1处的不同的状态系列、即其中不进行从状态S28向状态S23的状态转移的状态系列S28、S27、S26、S25、…、S30被获得作为用于从当前状态到达目标状态的最大可能状态系列,并且当发生提供该状态系列的状态转移时要执行的行为系列被计算作为行为计划PL3。
抑制因子被更新,以便使能从作为分支结构的多个状态转移中代理经历过的状态转移,并且抑制除了代理经历过的状态转移之外的状态转移。
即,抑制因子被更新,以便关于由代理在从紧邻在前的状态向当前状态的状态转移时执行的行为,抑制在当前状态紧邻在前的状态和当前状态以外的状态之间的状态转移(从紧邻在前的状态向当前状态以外的状态的状态转移),并且使能在紧邻在前的状态和当前状态之间的状态转移(从紧邻在前的状态向当前状态的状态转移)。
当作为抑制因子的更新执行了仅使能在作为分支结构的多个状态转移中的代理经历过的状态转移和抑制除了代理经历过的状态转移之外的状态转移时,通过更新抑制因子而抑制的状态转移保持被抑制,除非代理其后经历这些状态转移。
当根据使用修正转移概率计算的行为计划确定接下来要由代理执行的行为时,不计算包括引起由抑制因子抑制的状态转移的行为的任何行为计划,其中所述修正转移概率是通过如上所述在行为确定部分24中由抑制因子修正扩展HMM的状态转移概率而获得的。因此,由抑制因子抑制的状态转移保持被抑制,除非通过根据行为计划确定接下来要执行的行为的方法以外的方法来确定接下来要执行的行为,或者除非代理偶然经历了由抑制因子抑制的状态转移。
因此,即使当行为环境的结构从其中不能进行被抑制因子抑制的状态转移的结构改变为其中可以进行所述状态转移的结构时,也不能计算包括引起所述状态转移的行为的行为计划,直到代理幸运地经历了由抑制因子抑制的状态转移为止。
因此,状态识别部分23不仅随着抑制因子的更新使能在作为分支结构的多个状态转移中代理经历过的状态转移并抑制代理经历过的状态转移之外的状态转移,而且根据时间的经过而放开状态转移的抑制。
即,状态识别部分23更新抑制因子,以便使能在作为分支结构的多个状态转移中代理经历过的状态转移,以及抑制代理经历过的状态转移以外的状态转移,并且还更新抑制因子以便根据时间的经过来放开状态转移的抑制。
具体地,状态识别部分23例如根据式(16)将时刻t处的抑制因子Ainhibit(t)更新为时刻t+1处的抑制因子Ainhibit(t+1),以使得抑制因子根据时间的经过而收敛到1.0。
Ainhibit(t+1)=Ainhibit(t)+c(1-Ainhibit(t))(0≤c≤1)…(16)
在式(16)中,系数c高于0.0而低于1.0。系数c越高,则抑制因子越快收敛到1.0。
根据式(16),随着时间的经过放开曾经抑制的状态转移(其抑制因子被设置为0.0的状态转移)的抑制,以使得即使当代理未经历该状态转移时也计算包括引起该状态转移的行为的行为计划。
以下也将为了根据时间的经过而放开状态转移的抑制执行的抑制因子更新称为对应于由于自然衰减引起的遗忘的更新。
[抑制因子更新]
图12是帮助说明更新抑制因子的处理的流程图,所述处理由图4中的状态识别部分23在图8的步骤S35中执行。
顺便提及,当在图8中在识别行为模式中的处理的步骤S31中时刻t被初始化为1时,将抑制因子初始化为1.0作为初始值。
在更新抑制因子的处理的步骤S71中,状态识别部分23更新模型存储部分22中存储的所有抑制因子Ainhibit作为对应于由于自然衰减引起的遗忘的更新,即根据式(16)的更新。然后处理进行到步骤S72。
在步骤S72中,状态识别部分23根据模型存储部分22中存储的扩展HMM(扩展HMM的状态转移概率)确定当前状态Sj紧邻在前的状态Si是否是分支结构的状态、并且当前状态Sj是否是可以通过执行同一行为从作为紧邻在前的状态Si的分支结构的状态向其进行状态转移的不同状态之一。
在这种情况下,可以像在分支结构检测部分36(图4)检测分支结构的状态的情况中那样确定紧邻在前的状态Si是否是分支结构的状态。
当在步骤S72中确定紧邻在前的状态Si不是分支结构的状态或者确定紧邻在前的状态Si是分支结构的状态、但是当前状态Sj不是可以通过执行同一行为从作为紧邻在前的状态Si的分支结构的状态向其进行状态转移的不同状态之一时,处理跳过步骤S73和S74,并且返回。
当在步骤S72中确定紧邻在前的状态Si是分支结构的状态并且当前状态Sj是可以通过执行同一行为从作为紧邻在前的状态Si的分支结构的状态向其进行状态转移的不同状态之一时,处理进行到步骤S73,在步骤S73中,状态识别部分23将模型存储部分22中存储的抑制因子Ainhibit中关于紧邻在前的行为Um的、从紧邻在前的状态Si向当前状态Sj的状态转移的抑制因子hij(Um)(在抑制因子表的位置(i,j,m)中的抑制因子)更新为1.0。然后处理进行到步骤S74。
在步骤S74中,状态识别部分23将模型存储部分22中存储的抑制因子Ainhibit中关于紧邻在前的行为Um的、从紧邻在前的状态Si向当前状态Sj以外的状态Sj′的状态转移的抑制因子hij′(Um)(在抑制因子表的位置(i,j′,m)中的抑制因子)更新为0.0。然后处理返回。
在现有的行为确定方法中,采用静态结构的建模来学习诸如HMM等的状态转移概率模型。因此,当在学习了状态转移概率模型后学习对象的结构发生改变时,需要将改变后的结构作为对象重新学习状态转移概率模型。因此,需要高的计算成本来处理学习对象的结构上的改变。
另一方面,在图4的代理中,扩展HMM获取行为环境结构上的改变作为分支结构。当紧邻在前的状态是分支结构的状态时,更新抑制因子,以便关于在从紧邻在前的状态向当前状态的状态转移时执行的行为抑制在紧邻在前的状态和当前状态以外的状态之间的状态转移。通过使用更新后的抑制因子来修正扩展HMM的状态转移概率。根据作为修正后的状态转移概率的修正转移概率来计算行为计划。
因此,当行为环境的结构改变时,可以以低计算成本来计算适应于(按照)改变的结构的行为计划(而不用重新学习扩展HMM)。
另外,更新抑制因子以便根据时间的经过而放开状态转移的抑制。因此,即使当代理未偶然经历在过去抑制的状态转移时,随着时间的经过也可以计算包括引起在过去抑制的状态转移的行为的行为计划。结果,当行为环境的结构被改变为与当在过去抑制状态转移时的结构不同的结构时,可以迅速地计算适合于改变后的结构的行为计划。
[开放端的检测]
图13是帮助说明由图4的开放端检测部分37检测为开放端的扩展HMM的状态的图。
开放端广义而言是作为转移源的状态,在扩展HMM中预先知道可能会发生代理未经历过的从其的状态转移。
具体地,未被分配状态转移概率(其状态转移概率是0.0(视为0.0的值))的、并且因为下述原因而不能从其进行状态转移的状态对应于开放端,所述原因为:虽然在所述状态的状态转移概率和被分配了与在观察的状态中相同的观察值的观察概率(所述观察概率不是值0.0(不视为0.0的值))的其他状态的状态转移概率之间的比较显示当执行某一行为时可以进行向下一个状态的状态转移,但是在该状态中还没有执行该行为。
因此,当在扩展HMM中检测到在可以以其中观察到预定观察值的状态作为转移源的状态转移中具有还没有执行的状态转移的其他状态,并且在所述其他状态中观察到与预定观察值相同的观察值时,所述其他状态是开放端。
如图13中所示,开放端在概念上例如是对应于通过将代理放置在房间中并且以房间中的某一区域作为对象进行学习由扩展HMM获得的结构的端部(房间中所学习区域的端部)的状态,或者,开放端在概念上例如是对应于到新房间的入口的状态,所述入口作为以代理所位于的房间的全部区域为对象来执行学习、并且其后将代理可以移向的新房间被加到代理所位于的房间的邻近的结果而出现。
所检测的开放端表示代理未知的区域扩展到由扩展HMM获得的结构的部分之外。因此,通过以开放端作为目标状态来计算行为计划,代理积极地执行步入未知区域中的行为。结果,代理可以更广泛地学习行为环境的结构(获得用作用于学习行为环境的结构的学习数据的观察值系列和行为系列),并且高效地获得补充其结构未在扩展HMM中获得(行为环境中接近对应于作为开放端的状态的观察单元的结构)的模糊部分所需要的经历。
开放端检测部分37首先生成行为模板,以便检测开放端。
在生成行为模板时,开放端检测部分37将扩展HMM的观察概率B={bi(Ok)}进行阈值处理,并且建立状态Si的每个观察值Ok的列表,其中,以等于或者高于阈值的概率观察到观察值Ok。
图14A和14B是帮助说明列出状态Si的处理的图,其中,以等于或者高于阈值的概率观察到观察值Ok。
图14A示出了扩展HMM的观察概率B的示例。
具体地,图14A示出了扩展HMM的观察概率B的示例,其中状态Si的数量N是5,并且观察值Ok的数量M是3。
开放端检测部分37将阈值设置在例如0.5,并且执行检测等于或者高于阈值的观察概率B的阈值处理。
在这种情况下,在图14A中,阈值处理检测关于状态S1观察到观察值O3的观察概率b1(O3)=0.7、关于状态S2观察到观察值O2的观察概率b2(O2)=0.8、关于状态S3观察到观察值O3的观察概率b3(O3)=0.8、关于状态S4观察到观察值O2的观察概率b4(O2)=0.7和关于状态S5观察到观察值O1的观察概率b5(O1)=0.9。
其后,对于每个观察值O1、O2和O3,开放端检测部分37列出并且检测状态Si,其中以等于或者高于阈值的概率观察到观察值Ok。
图14B示出了针对每个观察值O1、O2和O3列出的状态Si。
对于观察值O1,将状态S5列出为其中以等于或者高于阈值的概率观察到观察值O1的状态。对于观察值O2,将状态S2和S4列出为其中以等于或者高于阈值的概率观察到观察值O2的状态。对于观察值O3,将状态S1和S3列出为其中以等于或者高于阈值的概率观察到观察值O3的状态。
其后,开放端检测部分37使用扩展HMM的状态转移概率A={aij(Um)}来计算关于每个观察值Ok的每个行为Um的转移概率对应值,所述转移概率对应值是对应于在针对观察值Ok列出的从状态Si的状态转移中其状态转移概率aij(Um)是最大值的状态转移的状态转移概率aij(Um)的值;并且,开放端检测部分37将针对关于每个观察值Ok的每个行为Um计算的转移概率对应值设置为当观察到观察值Ok时执行的行为Um的行为概率,并且生成行为模板C,行为模板C是以行为概率为元素的矩阵。
图15是帮助说明使用针对观察值Ok列出的状态Si来生成行为模板的方法的图。
开放端检测部分37在三维状态转移概率表中从针对观察值Ok列出的状态Si的状态转移的状态转移概率中检测最大状态转移概率,所述状态转移概率布置在列(横向)方向(j轴方向)上。
具体地,例如,现在将关注观察值O2,并且假定针对观察值O2列出状态S2和S4。
在这种情况下,开放端检测部分37将注意力导向关于状态S2的行为平面,关于状态S2的行为平面通过在i轴上的位置i=2处用垂直于i轴的平面来切割三维状态转移概率表而获得;并且,开放端检测部分37在关于状态S2的行为平面内检测在执行行为U1时发生的、从状态S2的状态转移的状态转移概率a2,j(U1)的最大值。
即,开放端检测部分37在关于状态S2的行为平面中的行为轴上的位置m=1处检测在j轴方向上布置的状态转移概率a2,1(U1)、a2,2(U1)、…、a2,N(U1)的最大值。
开放端检测部分37类似地从关于状态S2的行为平面中检测在执行其他行为Um时发生的、从状态S2的状态转移的状态转移概率的最大值。
此外,关于作为针对观察值O2列出的另一个状态的状态S4,开放端检测部分37类似地从关于状态S4的行为平面中检测在执行每个行为Um时发生的、从状态S4的状态转移的状态转移概率的最大值。
如上所述,开放端检测部分37检测当关于针对观察值O2列出的状态S2和S4的每一个执行每个行为Um时发生的状态转移的状态转移概率的最大值。
其后,开放端检测部分37平均如上所述关于针对每个行为Um的观察值O2列出的状态S2和S4检测的状态转移概率的最大值,并且将通过平均获得的平均值设置为对应于关于观察值O2的状态转移概率的最大值的转移概率对应值。
针对每个行为Um获得关于观察值O2的转移概率对应值。关于观察值O2获得的每个行为Um的转移概率对应值表示当观察到观察值O2时执行行为Um的概率(行为概率)。
开放端检测部分37类似地获得转移概率对应值作为关于其他观察值Ok的每个行为Um的行为概率。
然后开放端检测部分37生成作为行为模板C的矩阵,其在从上数的第k行和从左数的第m列中以当观察到观察值Ok时执行行为Um的行为概率作为元素。
因此行为模板C是K行M列的矩阵,在该矩阵中,行数等于观察值Ok的数量,列数等于行为Um的数量。
在生成行为模板C后,开放端检测部分37使用行为模板C计算基于观察概率的行为概率D。
图16是帮助说明计算基于观察概率的行为概率D的方法的图。
假定在第i行第k列中以在状态Si中观察到观察值Ok的观察概率bi(Ok)作为元素的矩阵被称为观察概率矩阵B,则观察概率矩阵B是N行K列的矩阵,在该矩阵中,行数等于状态Si的数量N,列数等于观察值Ok的数量K。
开放端检测部分37通过根据式(17)将N行K列的观察概率矩阵B乘以是K行M列的矩阵的行为模板C,来计算基于观察概率的行为概率D,所述行为概率D是在第i行第m列中以在其中观察到观察值Ok的状态Si中执行行为Um的概率为元素的矩阵。
D=BC …(17)
除了如上所述计算基于观察概率的行为概率D之外,开放端检测部分37还计算基于状态转移概率的行为概率E。
图17是帮助说明计算基于状态转移概率的行为概率E的方法的图。
开放端检测部分37通过将在由i轴、j轴和行为轴构成的三维状态转移概率表A中关于在i轴方向上的每个状态Si的每个行为Um的状态转移概率aij(Um)相加在一起,来计算基于状态转移概率的行为概率E,所述行为概率E是在第i行第m列中以在状态Si中执行行为Um的概率作为元素的矩阵。
即,开放端检测部分37通过下述方式计算基于状态转移概率的行为概率E,所述行为概率E是N行M列的矩阵:当注意力转向i轴上的位置i和行为轴上的位置m时获得在由i轴、j轴和行为轴构成的三维状态转移概率表A中在水平方向(列方向)上布置的状态转移概率aij(Um)的总和,即在与j轴平行的、通过点(i,m)的直线中布置的状态转移概率aij(Um)的总和,并且将所述总和设置为矩阵第i行第m列中的元素。
在如上所述计算基于观察概率的行为概率D和基于状态转移概率的行为概率E后,开放端检测部分37根据式(18)计算差分行为概率F,其是基于观察概率的行为概率D和基于状态转移概率的行为概率E之间的差。
F=D-E …(18)
像基于观察概率的行为概率D和基于状态转移概率的行为概率E一样,差分行为概率F是N行M列的矩阵。
图18是示意性地示出了差分行为概率F的图。
图18中的小正方形代表矩阵的元素。没有图案的正方形表示其值是0.0(视为0.0的值)的元素。以黑色填充的正方形表示其值不是0.0(不是视为0.0的值)的元素。
根据差分行为概率F,当存在作为其中观察到观察值Ok的状态的多个状态,并且已知可以从多个状态的一部分(其中代理已经执行了行为Um的状态)执行行为Um时,可以检测到其中当执行行为Um时发生的状态转移未反映在状态转移概率aij(Um)中的其他状态(代理没有执行过行为Um的状态),即开放端。
具体地,当执行行为Um时发生的状态转移反映在了状态Si的状态转移概率aij(Um)中时,在基于观察概率的行为概率D的第i行第m列中的元素与基于状态转移概率的行为概率E的第i行第m列中的元素取值相互近似。
另一方面,当执行行为Um时发生的状态转移未反映在状态Si的状态转移概率aij(Um)中时,在基于观察概率的行为概率D的第i行第m列中的元素是由于其中观察到与状态Si中相同的观察值并且已经执行了行为Um的状态的状态转移概率的影响而不能视为0.0的某一值,而在基于状态转移概率的行为概率E的第i行第m列中的元素是0.0(包括可以视为0.0的小值)。
因此,当在状态Si的状态转移概率aij(Um)中未反映当执行行为Um时发生的状态转移时,在差分行为概率F的第i行第m列中的元素具有不能视为0.0的值(绝对值)。因此,可以通过检测差分行为概率F中具有不能视为0.0的值的元素来检测开放端和还没有在开放端中执行的行为。
即,当差分行为概率F的第i行第m列中的元素具有不能视为0.0的值时,开放端检测部分37检测状态Si为开放端,并且检测行为Um为还没有在作为开放端的状态Si中执行的行为。
图19是帮助说明检测开放端的处理的流程图,所述处理在图9的步骤S53中由图4中的开放端检测部分37执行。
在步骤S81中,开放端检测部分37将模型存储部分22(图4)中存储的扩展HMM的观察概率B={bi(Ok)}进行阈值处理,并且由此建立状态Si的每个观察值Ok的列表,其中观察到观察值Ok的概率等于或者高于阈值,如参照图14A和14B所述。
在步骤S81后,处理进行到步骤S82,在步骤S82中,如参照图15所述,开放端检测部分37使用模型存储部分22中存储的扩展HMM的状态转移概率A={aij(Um)}计算关于每个观察值Ok的每个行为Um的转移概率对应值,所述转移概率对应值是对应于在从针对观察值Ok列出的从状态Si的状态转移中其状态转移概率aij(Um)是最大值的状态转移的状态转移概率aij(Um)的值,并且开放端检测部分37将关于每个观察值Ok针对每个行为Um计算的转移概率对应值设置为当观察到观察值Ok时执行行为Um的行为概率,并且生成行为模板C,所述行为模板C是以行为概率作为元素的矩阵。
其后,处理从步骤S82进行到步骤S83,在步骤S83中,开放端检测部分37根据式(17)通过将观察概率矩阵B乘以行为模板C而计算基于观察概率的行为概率D。然后处理进行到步骤S84。
在步骤S84中,如参照图17所述,开放端检测部分37通过将状态转移概率表A中关于i轴方向上的每个状态Si的每个行为Um的状态转移概率aij(Um)相加在一起,来计算基于状态转移概率的行为概率E,所述行为概率E是在第i行第m列中以在状态Si中执行行为Um的概率作为元素的矩阵。
然后处理从步骤S84进行到步骤S85,在步骤S85中,开放端检测部分37根据式(18)计算差分行为概率F,其是基于观察概率的行为概率D和基于状态转移概率的行为概率E之间的差。然后处理进行到步骤S86。
在步骤S86中,开放端检测部分37将差分行为概率F进行阈值处理,由此检测差分行为概率F中其值等于或者高于阈值的元素为作为检测的对象的检测对象元素。
此外,开放端检测部分37检测检测对象元素的第i行第m列,检测作为开放端的状态Si,并且检测作为在开放端Si中还没有执行的未经历的行为的行为Um。然后处理返回。
通过执行开放端中未经历的行为,代理可以探查在开放端之外延续的未知区域。
现有的行为确定方法在确定代理的目标时,等同地(无区分地)对待已知区域(学习过的区域)和未知区域(还未学习的区域)而不考虑代理的经验。因此,需要执行多个行为来积累未知区域的经验。结果,需要许多尝试和许多时间来广泛地学习行为环境的结构。
另一方面,图4的代理检测开放端,并且以开放端作为目标状态来确定行为。因此图4的代理可以高效地学习行为环境的结构。
即,开放端是代理未经历的未知区域延伸到其外的状态。因此,通过检测开放端并且以开放端为目标状态来确定行为,代理可以积极地进入未知区域中。由此,代理可以高效地积累经验以更广泛地学习行为环境的结构。
[分支结构的状态的检测]
图20是帮助说明一种由图4的分支结构检测部分36检测分支结构的状态的方法的图。
扩展HMM获得行为环境中结构上改变的部分作为分支结构的状态。可以通过参考作为长期记忆的扩展HMM的状态转移概率来检测对应于代理已经经历的结构上的改变的分支结构的状态。当检测到分支结构的状态时,代理可以识别出行为环境中结构上发生改变的部分的存在。
当在行为环境中存在结构上发生改变的部分时,期望定期或者不定期地主动查看这样的部分的当前结构,并且在抑制因子中反映当前结构,或者继而在作为短期记忆的修正转移概率中反映当前结构。
因此,图4的代理可以在分支结构检测部分36中检测分支结构的状态,并且在目标选择部分31中选择分支结构的状态作为目标状态。
如图20中所示,分支结构检测部分36检测分支结构的状态。
状态转移概率表A中关于每个行为Um的状态转移概率平面被归一化,以使得在每行的水平方向(列方向)上的总和是1.0。
因此,当注意力转向关于行为Um的状态转移概率平面中的某一行i,并且状态Si不是分支结构的状态时,第i行中的状态转移概率aij(Um)的最大值是1.0或者很接近1.0的值。
另一方面,当状态Si是分支结构的状态时,第i行中的状态转移概率aij(Um)的最大值远远小于1.0,诸如图20中所示的0.6或者0.5等,并且大于通过将其总和是1.0的状态转移概率均等地除以状态的数量N而获得的值(平均值)1/N。
因此,当关于每个行为Um的状态转移概率平面中的每行i中的状态转移概率aij(Um)的最大值比小于1.0的阈值amax_th小并且比平均值1/N大时,分支结构检测部分36根据式(19)检测状态Si为分支结构的状态。
在式(19)中,Aijm表示三维状态转移概率表A中在i轴方向上从上起的第i位置、在j轴方向上从左起的第j位置和在行为轴方向上从前起的第m位置中的状态转移概率aij(Um)。
另外,在式(19)中,max(Aijm)表示状态转移概率表A中在j轴方向上从左起的第S位置(作为从状态Si的状态转移的转移目的地的状态是状态S)和在行为轴方向上从前起的第U位置(当从状态Si的状态转移发生时执行的行为是行为U)中的N个状态转移概率A1,S,U到AN,S,U(a1,S(U)到aN,S(U))的最大值。
顺便提及,可以根据检测分支结构的状态的灵敏度在范围1/N<amax_th<1.0中调整式(19)中的阈值amax_th。阈值amax_th越接近1.0,则可以越灵敏地检测分支结构的状态。
当检测到一个或更多个分支结构的状态时,分支结构检测部分36将一个或更多个分支结构的状态提供给目标选择部分31,如参照图9所述。
查找过去时间管理表存储部分32中的过去时间管理表,目标选择部分31识别出来自分支结构检测部分36的一个或更多个分支结构的状态的过去时间。
然后,目标选择部分31从来自分支结构检测部分36的一个或更多个分支结构的状态中检测其过去时间最长的状态,并且选择该状态作为目标状态。
通过如上所述从一个或更多个分支结构的状态中检测其过去时间最长的状态并且选择该状态作为目标状态,可以暂时均等地将一个或更多个分支结构的状态中的每一个设置为目标状态,并且执行行为以检查对应于分支结构的状态的结构如何。
在现有的行为确定方法中,确定目标时不将注意转向分支结构的状态,因此经常将不是分支结构的状态的状态设置为目标。因此,当要掌握行为环境的最新结构时,经常执行不必要的行为。
另一方面,图4的代理以分支结构的状态设置为目标状态来确定行为。因此,可以较早地掌握对应于分支结构的状态的部分的最新结构,并且将其反映在抑制因子中。
顺便提及,当将分支结构的状态设置为目标状态时,代理在到达了作为目标状态的分支结构的状态(对应于分支结构的状态的观察单元)后可以根据扩展HMM来识别通过其可以从分支结构的状态向不同的状态进行状态转移的行为,并且通过执行该行为来移动。代理由此可以识别(掌握)对应于分支结构的状态的部分的结构,该状态即为可以从当前分支结构的状态向其进行状态转移的状态。
[模拟]
图21A和21B是示出了图4的代理的模拟中使用的行为环境的图,该模拟由本发明人执行。
具体地,图21A示出了第一结构的行为环境,图21B示出了第二结构的行为环境。
在第一结构的行为环境中,位置pos1、pos2和pos3是代理可以通过的通道,而在第二结构的行为环境中,位置pos1到pos3是代理不能通过的墙壁。
顺便提及,可以使位置pos1到pos3的每一个单独地为通道或者墙壁。
在模拟中,使代理在第一结构和第二结构的行为环境的每一个中在反射行为模式(图5)中执行行为,获得用作4000步(次)的学习数据的观察值系列和行为系列,并且学习扩展HMM。
图22是示意性地示出了学习后的扩展HMM的图。
在图22中,圆圈(o)标记表示扩展HMM的状态,并且圆圈标记中输入的数字是由圆圈标记代表的状态的下标。用于指示由圆圈标记代表的状态的箭头代表可能的状态转移(其状态转移概率不是0.0(可以视为0.0的值)的状态转移)。
在图22的扩展HMM中,状态Si被布置在对应于状态Si的观察单元的位置处。
其间可能进行状态转移的两个状态表示代理可以在对应于该两个相应的状态的两个观察单元之间移动。因此,用于表示扩展HMM的状态转移的箭头表示代理可以在行为环境中移动通过的通道。
在图22中,存在两个(多个)状态Si和Si′被布置为在一个观察单元的位置处彼此重叠的情况。这表示该两个(多个)状态Si和Si′对应于所述一个观察单元。
在图22中,如同在图10A的情况中,状态S3和S30对应于一个观察单元,并且状态S34和S35也对应于一个观察单元。类似地,状态S21和S23对应于一个观察单元,状态S2和S17对应于一个观察单元,状态S37和S48对应于一个观察单元,以及状态S31和S32对应于一个观察单元。
在图22中,状态S29、状态S39、状态S28、状态S1、状态S16、状态S12、状态S42、状态S36和状态S25是分支结构的状态,其中,当执行在向左方向上的移动的行为U4(图3B)时可以进行从状态S29向不同状态S3和S30的状态转移,当执行在向右方向上的移动的行为U2时可以进行从状态S39向不同状态S34和S35的状态转移,当执行在向左方向上的移动的行为U4时可以进行从状态S28向不同状态S34和S35的状态转移(状态S28也是下述状态:当执行在向右方向上的移动的行为U2时可以进行从状态S28向不同状态S21和S23的状态转移),当执行在向上方向上的移动的行为U1时可以进行从状态S1向不同状态S2和S17的状态转移,当执行在向下方向上的移动的行为U3时可以进行从状态S16向不同状态S2和S17的状态转移,当执行在向左方向上的移动的行为U4时可以进行从状态S12向不同状态S2和S17的状态转移,当执行在向下方向上的移动的行为U3时可以进行从状态S42向不同状态S37和S48的状态转移,当执行在向下方向上的移动的行为U3时可以进行从状态S36向不同状态S31和S32的状态转移,以及当执行在向左方向上的移动的行为U4时可以进行从状态S25向不同状态S31和S32的状态转移。
顺便提及,图22中的虚线箭头代表仅在第二结构的行为环境中可能的状态转移。因此,当行为环境的结构是第一结构(图21A)时,不能进行由图22中虚线箭头代表的状态转移。
在模拟中,进行初始设置以将对应于由图22中的虚线箭头代表的状态转移的抑制因子设置为0.0,并且将对应于其他状态转移的抑制因子设置为1.0。由此防止代理模拟开始后立即计算包括实施仅在第二结构的行为环境中可能的状态转移的行为的行为计划。
图23至29是示出了代理的图,所述代理根据学习后的扩展HMM来计算到达目标状态的行为计划,并且执行根据行为计划确定的行为。
顺便提及,图23至29在上侧示出了行为环境中的代理和目标状态(对应于目标状态的观察单元),并且在下侧示出了扩展HMM。
图23示出了时刻t=t0处的代理。
在时刻t=t0处,行为环境的结构是第一结构(图21A),其中位置pos1到pos3是通道。
此外,在时刻t=t0处,目标状态(对应于目标状态的观察单元)是左下状态S37,并且代理位于状态S20(对应于状态S20的观察单元)中。
然后,代理计算用于去往作为目标状态的状态S37的行为计划,并且作为根据行为计划确定的行为而从作为当前状态的状态S20在向左方向上移动。
图24示出了在时刻t=t1(>t0)处的代理。
在时刻t=t1处,行为环境的结构从第一结构改变到其中位置pos1是代理可以通过的通道而位置pos2和pos3是代理不能通过的墙壁的结构。
此外,在时刻t=t1处,与时刻t=t0处相同,目标状态是左下状态S37并且代理位于状态S31中。
图25示出了在时刻t=t2(>t1)处的代理。
在时刻t=t2处,行为环境的结构是其中位置pos1是代理可以通过的通道而位置pos2和pos3是代理不能通过的墙壁的结构(下文中也将该结构称为改变后的结构)。
此外,在时刻t=t2处,目标状态是上侧的状态S3,并且代理位于状态S31中。
然后,代理计算用于去往作为目标状态的状态S3的行为计划,并且将作为根据行为计划确定的行为而从作为当前状态的状态S31在向上方向上移动。
在这种情况下,在时刻t=t2处,计算用于进行状态系列S31、S36、S39、S35和S3的状态转移的行为计划。
顺便提及,当行为环境是第一结构时,对应于状态S37和S48的观察单元与对应于状态S31和S32的观察单元之间的位置pos1(图21A)、对应于状态S3和S30的观察单元与对应于状态S34和S35的观察单元之间的位置pos2以及对应于状态S21和S23的观察单元与对应于状态S2和S17的观察单元之间的位置pos3的每一个均是通道。因此代理可以通过位置pos1到pos3。
但是,当行为环境改变为改变后的结构时,位置pos2和pos3是墙壁,从而代理不能通过位置pos2和pos3。
如上所述,在模拟的初始设置中,只有对应于仅在第二结构的行为环境中可能的状态转移的抑制因子被设置为0.0。在时刻t=t2处,不抑制在第一结构的行为环境中可能的状态转移。
因此,在时刻t=t2处,虽然对应于状态S3和S30的观察单元与对应于状态S34和S35的观察单元之间的位置pos2是代理不能通过的墙壁,但是代理计算包括进行从状态S35向状态S3的状态转移以通过对应于状态S3和S30的观察单元与对应于状态S34和S35的观察单元之间的位置pos2的行为的行为计划。
图26示出了在时刻t=t3(>t2)处的代理。
在时刻t=t3处,行为环境的结构保持为改变后的结构。
此外,在时刻t=t3处,目标状态是上侧的状态S3,并且代理位于状态S28中。
然后,代理计算用于去往作为目标状态的状态S3的行为计划,并且将作为根据行为计划确定的行为而从作为当前状态的状态S28在向右方向上移动。
在这种情况下,在时刻t=t3处,计算用于进行状态系列S28、S23、S2、S16、S22、S29和S3的状态转移的行为计划。
在时刻t=t2之后代理还计算出与时刻t=t2处计算的用于进行状态系列S31、S36、S39、S35和S3的状态转移的行为计划(图25)类似的行为计划,并且通过执行根据行为计划确定的行为移动到对应于状态S35的观察单元。此时,代理认识到代理不能通过对应于状态S3(和S30)的观察单元与对应于状态(S34和)S35的观察单元之间的位置pos2,即认识到通过执行根据行为计划确定的行为而从对应于行为计划的状态系列S31、S36、S39、S35和S3的状态S39能够到达的状态不是临近状态S39的状态S35,而是状态S34。代理更新对应于不能进行的、从状态S39向状态S35的状态转移的抑制因子为0.0。
结果,在时刻t=t3处,代理计算用于进行状态系列S28、S23、S2、S16、S22、S29和S3的状态转移的行为计划,该行为计划不引起其中代理可以通过位置pos2的从状态S39向状态S35的状态转移。
顺便提及,当行为环境是改变后的结构时,对应于状态S21和S23的观察单元与对应于状态S2和S17的观察单元之间的位置pos3(图21)是代理不能通过的墙壁。
如上所述,在模拟的初始设置中,只有对应于仅在第二结构的行为环境中可能的状态转移的抑制因子被设置为0.0,其中位置pos1到pos3是代理不能通过的墙壁。在时刻t=t3处,不抑制从状态S23向状态S2的状态转移,所述状态转移在第一结构的行为环境中是可能的,并且对应于通过位置pos3。
因此,在时刻t=t3处,代理计算行为计划,所述行为计划进行从状态S23向状态S2的状态转移以通过对应于状态S21和S23的观察单元与对应于状态S2和S17的观察单元之间的位置pos3。
图27示出了在时刻t=t4(=t3+1)处的代理。
在时刻t=t4处,行为环境的结构是改变后的结构。
此外,在时刻t=t4处,目标状态是上侧的状态S3,并且代理位于状态S21中。
代理通过执行根据在时刻t=t3处计算的用于进行状态系列S28、S23、S2、S16、S22、S29和S3的状态转移的行为计划(图26)确定的行为,从对应于状态S28的观察单元移动到对应于状态S21和S23的观察单元。此时,代理认识到,通过执行根据行为计划确定的行为而从对应于行为计划的状态系列S28、S23、S2、S16、S22、S29和S3的状态S28可以到达的状态不是临近状态S28的状态S23,而是状态S21。代理将对应于从状态S28向状态S23的状态转移的抑制因子更新为0.0。
结果,在时刻t=t4处,代理计算不包括从状态S28向状态S23的状态转移(并且继而不包括代理通过对应于状态S21和S23的观察单元与对应于状态S2和S17的观察单元之间的位置pos3)的行为计划。
在这种情况下,在时刻t=t4处,计算用于进行状态系列S28、S27、S26、S25、S20、S15、S10、S1、S2、S16、S22、S29和S3的状态转移的行为计划。
图28示出了在时刻t=t5(=t4+1)处的代理。
在时刻t=t5处,行为环境的结构是改变后的结构。
此外,在时刻t=t5处,目标状态是上侧的状态S3,并且代理位于状态S28中。
代理通过执行根据在时刻t=t4处计算的用于进行状态系列S28、S27、S26、S25、S20、S15、S10、S1、S2、S16、S22、S29和S3的状态转移的行为计划(图27)确定的行为,从对应于状态S21的观察单元移动到对应于状态S28的观察单元。
图29示出了在时刻t=t6(>t5)处的代理。
在时刻t=t6处,行为环境的结构是改变后的结构。
此外,在时刻t=t6处,目标状态是上侧的状态S3,并且代理位于状态S15中。
然后,代理计算用于去往作为目标状态的状态S3的行为计划,并且将作为根据行为计划确定的行为而从作为当前状态的状态S15在向右方向上移动。
在这种情况下,在时刻t=t6处,计算用于进行状态系列S10、S1、S2、S16、S22、S29和S3的状态转移的行为计划。
如上所述,即使当行为环境的结构改变时,代理也观察改变后的结构(确定(识别)当前状态),并且更新抑制因子。然后,代理使用更新后的抑制因子重新计算行为计划,并且可以最终到达目标状态。
[代理的应用的示例]
图30是示出了应用图4的代理的清洁机器人的一般外观的图。
图30中的清洁机器人51包括用作清洁器的模块、对应于图4的代理中的执行器12和传感器13的模块和用于执行无线电通信的模块。
图30中的清洁机器人将起居室设置为行为环境,执行移动作为行为,并且在起居室中执行清洁。
计算机主机52用作图4中的反射行为确定部分11、历史存储部分14、行为控制部分15和目标确定部分16(具有对应于反射行为确定部分11、历史存储部分14、行为控制部分15和目标确定部分16的模块)。
计算机主机52安装在起居室或者其他房间中,并且连接到用于控制通过无线LAN(局域网)等的无线电通信的接入点53。
计算机主机52通过经由接入点53与清洁机器人51执行无线电通信来与清洁机器人51交换必要数据。由此清洁机器人51移动来作为与图4的代理的行为类似的行为。
顺便提及,在图30中,为了小型化清洁机器人51并且考虑到在清洁机器人51中结合足够的电源和足够的计算能力的困难,清洁机器人51仅仅设置有对应于执行器12和传感器13的模块,该模块是在形成图4的代理的模块中的最小必需模块,与清洁机器人51分离的计算机主机52设置有其他模块。
但是,向清洁机器人51和计算机主机52的每一个提供的形成图4的代理的模块不限于上述模块。
具体地,例如,清洁机器人51可以设置有不仅对应于执行器12和传感器13的模块,而且可以设置有对应于不要求具有高级计算功能的反射行为确定部分11的模块,并且计算机主机52可以设置有对应于需要高级计算功能和高存储容量的历史存储部分14、行为控制部分15和目标确定部分16的模块。
根据扩展HMM,在其中在不同位置处的观察单元中观察到同一观察值的行为环境中,可以使用观察值系列和行为系列来识别代理的当前状况,并且可以唯一地识别当前状态或者继而唯一地识别代理所位于的观察单元(位置)。
图4的代理根据当前状态更新抑制因子,并且继续计算行为计划同时通过更新后的抑制因子修正扩展HMM的状态转移概率。由此代理即使在其结构概率性地改变的行为环境中也可以到达目标状态。
这样的代理例如适用于诸如在例如生活环境中工作的清洁机器人等的实际机器人,所述生活环境由于人的生活活动而在结构上动态地改变,并且人生活在该环境中。
例如,可以通过开关房间的门或者改变房间中家具的布置等在结构上改变诸如房间等的生活环境。
但是,因为房间本身的形状不改变,因此结构上改变的部分和结构上不改变的部分共存于生活环境中。
根据扩展HMM,结构上改变的部分可以被存储为分支结构的状态。因此,可以高效地(以低存储容量)表达包括结构上改变的部分的生活环境。
另一方面,对于在生活环境中被用作由人操作的清洁器的替代装置以实现清洁整个房间的目的的清洁机器人,该清洁机器人必须识别清洁机器人自身的位置,并且在其结构概率性地改变的房间(其结构可以改变的房间)中自适应地改变路径的同时移动。
图4的代理特别有益于在如此识别清洁机器人自身的位置并且在其结构概率性地改变的生活环境中自适应地改变路径的同时实现目的(清洁整个房间)。
顺便提及,从降低清洁机器人的制造成本的视点看,期望避免在清洁机器人中结合作为高级传感器的摄像机和用于执行诸如识别由摄像机输出的图像等图像处理的图像处理装置作为用于观察观察值的装置。
即,为了降低清洁机器人的制造成本,期望使用便宜的装置作为清洁机器人用来观察观察值的装置,诸如通过在多个方向上输出超声波或者激光等来测量距离的距离测量装置。
但是,当采用诸如距离测量装置等便宜装置作为用于观察观察值的装置时,经常在生活环境的不同位置处观察到同一观察值,难以仅用单一时刻的观察值唯一地识别清洁机器人的位置。
即使在因此难以仅用单一时刻的观察值唯一地识别清洁机器人的位置的生活环境中,也可以根据扩展HMM使用观察值系列和行为系列来唯一地识别位置。
[一个状态一个观察值约束]
图4中的学习部分21使用学习数据来学习扩展HMM,以便最大化根据Baum-Welch重评估法观察到学习数据的可能性。
Baum-Welch重评估法本质上是一种通过梯度方法来收敛模型参数的方法。从而模型参数可以落入到局部最小值。
通过初始值依赖、即模型参数对于初始值的依赖来确定模型参数是否落入到局部最小值。
本实施例使用遍历HMM作为扩展HMM。遍历HMM具有特别显著的初始值依赖。
学习部分21(图4)可以在一个状态一个观察值约束下学习扩展HMM,以便减小初始值依赖。
在这种情况下,一个状态一个观察值约束使得在扩展HMM(包括扩展HMM的HMM)的一个状态中观察到(仅仅)一个观察值。
顺便提及,当在结构上改变的行为环境中没有任何约束地学习扩展HMM时,可以在学习后的扩展HMM中混合通过具有在观察概率上的分布而表示行为环境的结构上的改变的情况和通过具有状态转移的分支结构而表示行为环境的结构上的改变的情况。
通过具有在观察概率上的分布而表示行为环境的结构上的改变的情况是在某一状态中观察到多个观察值的情况。通过具有状态转移的分支结构而表示行为环境的结构上的改变的情况是由同一行为引起向不同状态的状态转移的情况(当执行某一行为时有可能进行从当前状态向某一状态的状态转移,也有可能进行向与某一状态不同的状态的状态转移)。
根据一个状态一个观察值约束,行为环境的结构上的改变仅仅通过在扩展HMM中具有状态转移的分支结构表示。
顺便提及,当行为环境的结构不改变时,可以不施加一个状态一个观察值约束而学习扩展HMM。
通过向扩展HMM的学习中引入状态划分,并且更期望地向扩展HMM的学习中引入状态合并(综合),可以施加一个状态一个观察值约束。
[状态划分]
图31A和31B是帮助说明用于实现一个状态一个观察值约束的状态划分的概要的图。
在状态划分中,当在其模型参数(初始状态概率πi、状态转移概率aij(Um)和观察概率bi(Ok))通过Baum-Welch重评估法收敛的扩展HMM中的一个状态中观察到多个观察值时,该状态被划分为多个状态,状态的数量等于多个观察值的数量,以便在一个状态中观察到多个观察值的每一个。
图31A示出了紧接着模型参数通过Baum-Welch重评估法收敛后的扩展HMM(扩展HMM的一部分)。
在图31A中,扩展HMM具有三个状态S1、S2和S3。可以在状态S1和S2之间进行状态转移,并且可以在状态S2和S3之间进行状态转移。
此外,在图31A中,在状态S1中观察到一个观察值O15,在状态S2中观察到两个观察值O7和O13,在状态S3中观察到一个观察值O5。
因为图31A中在状态S2中观察到作为多个观察值的两个观察值O7和O13,所以状态S2被划分为在数量上等于两个观察值O7和O13的数量的两个状态。
图31B示出了状态划分后的扩展HMM(扩展HMM的一部分)。
在图31B中,图31A中划分之前的状态S2被划分为两个状态,即划分后的状态S2和状态S4,状态S4是紧接着模型参数已经收敛后的扩展HMM中的无效状态之一(例如其状态转移概率和观察概率全部是0.0(可以视为0.0的值)的状态)。
此外,在图31B中,在划分后的状态S2中仅观察到观察值O13,其是在划分之前的状态S2中观察的两个观察值O7和O13之一,并且在划分后的状态S4中仅观察到观察值O7,其是在划分之前的状态S2中观察的两个观察值O7和O13的另一个。
另外,在图31B中,在划分后的状态S2与状态S1和S3的每一个之间,与划分前的状态S2相同,状态转移是可能的。在划分后的状态S4与状态S1和S3的每一个之间,与划分前的状态S2相同,状态转移也是可能的。
在状态划分中,学习部分21(图4)首先检测其中在学习后(紧邻模型参数已经收敛后)的扩展HMM中观察到多个观察值的状态作为要划分的划分对象状态。
图32是帮助说明用于检测划分对象状态的方法的图。
图32示出了扩展HMM的观察概率矩阵B。
如参照图16所述,观察概率矩阵B是将在状态Si中观察到观察值Ok的观察概率bi(Ok)作为第i行第k列的元素的矩阵。
在学习扩展HMM(包括扩展HMM的HMM)中,观察概率矩阵B中在某一状态Si中观察到观察值O1到OK的观察概率bi(O1)到bi(Ok)的每一个均被归一化,以使得观察概率bi(O1)到bi(Ok)的总和是1.0。
因此,当在一个状态Si中观察到(仅仅)一个观察值时,状态Si的观察概率bi(O1)到bi(Ok)的最大值是1.0(可以视为1.0的值),并且除了最大值以外的观察概率是0.0(可以视为0.0的值)。
另一方面,当在一个状态Si中观察到多个观察值时,状态Si的观察概率bi(O1)到bi(Ok)的最大值远远小于1.0,诸如图32中所示的0.6或者0.5等,并且大于通过将其总和是1.0的观察概率除以观察值O1到OK的数量K而获得的值(平均值)1/K。
因此,可以根据式(20)通过关于每个状态Si搜索小于比1.0小的阈值bmax_th并且大于平均值1/K的观察概率Bik=bi(Ok)来检测划分对象状态。
在式(20)中,Bik表示在观察概率矩阵B的第i行第k列中的元素,并且等于在状态Si中观察到观察值Ok的观察概率bi(Ok)。
在式(20)中,argfind(1/K<Bik<bmax_th)表示当在状态Si的下标i是S的情况下可以检索到(找到)满足括号中的条件表达式1/K<Bik<bmax_th的观察概率BSK时所有满足括号中的条件表达式1/K<Bik<bmax_th的观察概率BSK的下标k。
顺便提及,式(20)中的阈值bmax_th可以根据检测划分对象状态的灵敏度在范围1/K<bmax_th<1.0中调整。使得阈值bmax_th越接近1.0,则可以越灵敏地检测到划分对象状态。
当可以检索到(找到)满足式(20)中括号中的条件表达式1/K<Bik<bmax_th的观察概率BSK时,学习部分21(图4)检测其下标i是S的状态作为划分对象状态。
此外,学习部分21检测式(20)中表达的所有下标k的观察值Ok作为划分对象状态(其下标i是S的状态)中观察到的多个观察值。
然后学习部分21将划分对象状态划分为在数量上等于划分对象状态中观察到的多个观察值的数量的多个状态。
假定在划分划分对象状态的划分后的状态被称为划分后状态,则可以将划分对象状态用作划分后状态之一,并且可以采用在划分时在扩展HMM中的无效状态作为划分后的其他状态。
具体地,例如,当划分对象状态被划分为三个划分后状态时,可以将划分对象状态用作三个划分后状态之一,并且可以采用在划分时在扩展HMM中的无效状态作为其他两个划分后状态。
另外,可以采用在划分时在扩展HMM中的无效状态作为所有的多个划分后状态。但是,在这种情况下,在状态划分后必须使得划分对象状态成为无效状态。
图33A和33B是帮助说明一种将划分对象状态划分为划分后状态的方法的图。
在图33A和33B中,扩展HMM具有七个状态S1到S7,其中两个状态S6和S7是无效状态。
此外,在图33A和33B中,状态S3被设置为其中观察到两个观察值O1和O2的划分对象状态,并且划分对象状态S3被划分为:划分后状态S3,其中观察到观察值O1;以及划分后状态S6,其中观察到观察值O2。
学习部分21(图4)如下将划分对象状态S3划分为两个划分后状态。
学习部分21向划分划分对象状态S3的划分后的状态S3分配多个观察值O1和O2之一,例如观察值O1,并且将在划分后状态S3中观察到被分配给划分后状态S3的观察值O1的观察概率设置为1.0,将观察到其他观察值的观察概率设置为0.0。
此外,学习部分21将以划分后状态S3为转移源的状态转移的状态转移概率a3,j(Um)设置为以划分对象状态S3为转移源的状态转移的状态转移概率a3,j(Um),并且将以划分后状态S3为转移目的地的状态转移的状态转移概率设置为通过下述方式获得的值:通过以在划分对象状态S3中观察到被分配给划分后状态S3的观察值的观察概率来修正以划分对象状态S3为转移目的地的状态转移的状态转移概率。
学习部分21关于另一个划分后状态S6类似地设置观察概率和状态转移概率。
图33A是帮助说明设置划分后状态S3和S6的观察概率的图。
在图33A和33B中,作为通过划分划分对象状态S3而获得的两个划分后状态S3和S6之一的划分后状态S3被分配有观察值O1,观察值O1是在划分对象状态S3中观察到的观察值O1和O2之一,并且另一个划分后状态S6被分配有另一个观察值O2。
在这种情况下,如图33A中所示,学习部分21将在被分配了观察值O1的划分后状态S3中观察到观察值O1的观察概率设置为1.0,并且将观察到其他观察值的观察概率设置为0.0。
此外,如图33A中所示,学习部分21将在被分配了观察值O2的划分后状态S6中观察到观察值O2的观察概率设置为1.0,并且将观察到其他观察值的观察概率设置为0.0。
通过式(21)来表达如上所述的观察概率的设置。
B(S3,:)=0.0
B(S3,O1)=1.0
B(S6,:)=0.0
B(S6,O2)=1.0 …(21)
在式(21)中,B(,)是二维阵列,阵列的元素B(S,0)表示在状态S中观察到观察值O的观察概率。
作为阵列的下标的冒号(:)表示作为冒号的维度的所有元素。因此,在式(21)中,式B(S3,:)=0.0表示在状态S3中观察到相应观察值O1到Ok的观察概率全部被设置为0.0。
根据式(21),在状态S3中观察到相应观察值O1到Ok的观察概率全部被设置为0.0(B(S3,:)=0.0),然后只有观察到观察值O1的观察概率被设置为1.0(B(S3,O1)=1.0)。
此外,根据式(21),在状态S6中观察到相应观察值O1到Ok的观察概率全部被设置为0.0(B(S6,:)=0.0),然后只有观察到观察值O2的观察概率被设置为1.0(B(S6,O2)=1.0)。
图33B是帮助说明设置划分后状态S3和S6的状态转移概率的图。
应当将与以划分对象状态S3作为转移源的状态转移类似的状态转移作为以划分后状态S3和S6的每一个作为转移源的状态转移。
因此,如图33B中所示,学习部分21将以划分后状态S3为转移源的状态转移的状态转移概率设置为以划分对象状态S3作为转移源的状态转移的状态转移概率。此外,如图33B中所示,学习部分21还将以划分后状态S6为转移源的状态转移的状态转移概率设置为以划分对象状态S3作为转移源的状态转移的状态转移概率。
另一方面,应当将使得以划分对象状态S3作为转移目的地的状态转移按照划分对象状态S3中观察到相应观察值O1和O2的观察概率的比率(比)划分的状态转移作为以被分配了观察值O1的划分后状态S3和被分配了观察值O2的划分后状态S6作为转移目的地的状态转移。
因此,如图33B中所示,学习部分21通过将以划分对象状态S3为转移目的地的状态转移的状态转移概率乘以在划分对象状态S3中观察到被分配给划分后状态S3的观察值O1的观察概率来修正以划分对象状态S3为转移目的地的状态转移的状态转移概率,由此获得通过观察值O1的观察概率来修正状态转移概率而产生的修正值。
然后学习部分21将以被分配了观察值O1的划分后状态S3为转移目的地的状态转移的状态转移概率设置为通过观察值O1的观察概率来修正状态转移概率而产生的修正值。
此外,如图33B中所示,学习部分21通过将以划分对象状态S3为转移目的地的状态转移的状态转移概率乘以在划分对象状态S3中观察到被分配给划分后状态S6的观察值O2的观察概率来修正以划分对象状态S3为转移目的地的状态转移的状态转移概率,由此获得通过观察值O2的观察概率来修正状态转移概率而产生的修正值。
然后学习部分21将以被分配了观察值O2的划分后状态S6为转移目的地的状态转移的状态转移概率设置为通过观察值O2的观察概率来修正状态转移概率而产生的修正值。
通过式(22)来表达如上所述的状态转移概率的设置。
A(S3,:,:)=A(S3,:,:)
A(S6,:,:)=A(S3,:,:)
A(:,S3,:)=B(S3,O1)A(:,S3,:)
A(:,S6,:)=B(S3,O2)A(:,S3,:) …(22)
在式(22)中,A(,,)是三维阵列,并且阵列的元素A(S,S′,U)表示当执行行为U时从作为状态转移源的状态S向状态S′进行状态转移的状态转移概率。
像在式(21)中那样,作为阵列的下标的冒号(:)代表作为冒号的维度的所有元素。
因此,在式(22)中,例如A(S3,:,:)表示当执行每个行为时从作为转移源的状态S3向每个状态S的状态转移的所有状态转移概率。在式(22)中,例如A(:,S3,:)表示当执行每个行为时从每个状态向作为转移目的地的状态S3的状态转移的所有状态转移概率。
根据式(22),对于所有的行为,以划分后状态S3作为转移源的状态转移的状态转移概率被设置为以划分对象状态S3作为转移源的状态转移的状态转移概率(A(S3,:,:)=A(S3,:,:))。
另外,对于所有的行为,以划分后状态S6作为转移源的状态转移的状态转移概率被设置为以划分对象状态S3作为转移源的状态转移的状态转移概率(A(S6,:,:)=A(S3,:,:))。
此外,根据式(22),对于所有的行为,将以划分对象状态S3作为转移目的地的状态转移的状态转移概率A(:,S3,:)乘以在划分对象状态S3中观察到被分配给划分后状态S3的观察值O1的观察概率B(S3,O1),由此获得修正以划分对象状态S3作为转移目的地的状态转移的状态转移概率A(:,S3,:)而产生的修正值B(S3,O1)A(:,S3,:)。
然后,对于所有的行为,将以被分配了观察值O1的划分后状态S3作为转移目的地的状态转移的状态转移概率A(:,S3,:)设置为修正值B(S3,O1)A(:,S3,:)(A(:,S3,:)=B(S3,O1)A(:,S3,:))。
另外,根据式(22),对于所有的行为,将以划分对象状态S3作为转移目的地的状态转移的状态转移概率A(:,S3,:)乘以在划分对象状态S3中观察到被分配给划分后状态S6的观察值O2的观察概率B(S3,O2),由此获得修正以划分对象状态S3作为转移目的地的状态转移的状态转移概率A(:,S3,:)而产生的修正值B(S3,O2)A(:,S3,:)。
然后,对于所有的行为,将以被分配了观察值O2的划分后状态S6作为转移目的地的状态转移的状态转移概率A(:,S6,:)设置为修正值B(S3,O2)A(:,S3,:)(A(:,S6,:)=B(S3,O2)A(:,S3,:))。
[状态合并]
图34A和34B是帮助说明用于实现一个状态一个观察值约束的状态合并的概要的图。
在状态合并中,在通过Baum-Welch重评估法收敛其模型参数的扩展HMM中,当在执行某一行为时存在多个状态(不同状态)作为以一个状态作为转移源的状态转移的转移目的地、并且在所述多个状态的每个中观察到相同的观察值时,其中观察到相同观察值的所述多个状态被合并为一个状态。
此外,在状态合并中,在其模型参数收敛了的扩展HMM中,当在执行某一行为时存在多个状态作为以一个状态作为转移目的地的状态转移的转移源、并且在所述多个状态的每一个中观察到相同的观察值时,其中观察到相同观察值的所述多个状态被合并为一个状态。
即,在状态合并中,在其模型参数收敛了的扩展HMM中,当针对每个行为发生以相同状态作为转移源或者转移目的地的状态转移、并且存在其中观察到相同观察值的多个状态时,这样的多个状态是冗余的,从而被合并为一个状态。
在这种情况下,状态合并包括:前向合并,当在执行某一行为时存在多个状态作为从一个状态的状态转移的转移目的地的状态时,其合并作为转移目的地的多个状态;以及后向合并,当在执行某一行为时存在多个状态作为向一个状态的状态转移的转移源的状态时,其合并作为转移源的多个状态。
图34A示出了前向合并的示例。
在图34A中,扩展HMM具有状态S1到S5,并且从状态S1向状态S2和S3的状态转移、从状态S2向状态S4的状态转移和从状态S3向状态S5的状态转移是可能的。
当在状态S1中执行相同的行为时,进行从状态S1向作为转移目的地的多个状态S2和S3的状态转移的每一个,即从状态S1向作为转移目的地的状态S2的状态转移和从状态S1向作为转移目的地的状态S3的状态转移。
此外,在状态S2和状态S3中观察到相同的观察值O5。
在这种情况下,学习部分21(图4)将作为通过相同的行为进行的从一个状态S1的状态转移的转移目的地的、并且在其中观察到相同观察值O5的多个状态S2和S3设置为要合并的合并对象状态,并且将合并对象状态S2和S3合并为一个状态。
以下也将通过合并多个合并对象状态而获得的一个状态称为代表性状态。在图34A中,两个合并对象状态S2和S3被合并为一个代表性状态S2。
当执行某一行为时可以从某一状态向其中观察到相同观察值的状态发生的多个状态转移看起来是从一个转移源状态向多个转移目的地状态的分支。因此,这样的状态转移将被称为前向分支。在图34A中,从状态S1向状态S2的状态转移和从状态S1向状态S3的状态转移是前向分支。
顺便提及,在前向分支的情况下,作为分支源的状态是作为转移源的状态S1,并且作为分支目的地的状态是作为其中观察到相同观察值的转移目的地的状态S2和S3。也作为转移目的地状态的分支目的地状态S2和S3是合并对象状态。
图34B是后向合并的示例。
在图34B中,扩展HMM具有状态S1到S5,并且从状态S1向状态S3的状态转移、从状态S2向状态S4的状态转移、从状态S3向状态S5的状态转移和从状态S4向状态S5的状态转移是可能的。
当在状态S3和S4中执行相同的行为时,进行从作为转移源的多个状态S3和S4向状态S5的状态转移的每一个,即进行从作为转移源的状态S3向状态S5的状态转移和从作为转移源的状态S4向状态S5的状态转移。
此外,在状态S3和状态S4中观察到相同的观察值O7。
在这种情况下,学习部分21(图4)将作为通过相同的行为进行的从一个状态S5的状态转移的转移源的、并且在其中观察到相同观察值O7的多个状态S3和S4设置为合并对象状态,并且将合并对象状态S3和S4合并为作为一个状态的代表性状态。
在图34B中,作为两个合并对象状态S3和S4之一的状态S3是代表性状态。
当执行某一行为时从其中观察到相同观察值的多个状态向作为转移目的地的某一状态的状态转移看起来是从一个转移目的地状态向多个转移源状态的分支。因此,这样的状态转移将被称为后向分支。在图34B中,从状态S3向状态S5的状态转移和从状态S4向状态S5的状态转移是后向分支。
顺便提及,在后向分支的情况下,作为分支源的状态是作为转移目的地的状态S5,并且作为分支目的地的状态是其中观察到相同观察值的、作为转移源的状态S3和S4。也作为转移源状态的分支目的地状态S3和S4是合并对象状态。
在状态合并中,学习部分21(图4)首先将作为学习后(紧邻在模型参数已经收敛之后)的扩展HMM中的分支目的地状态的多个状态检测为合并对象状态。
图35A和35B是帮助说明用于检测合并对象状态的方法的图。
当在执行预定行为时存在作为扩展HMM的状态的、为状态转移的转移源或者转移目的地的多个状态并且在所述多个相应状态中观察到的、具有最大观察概率的观察值彼此一致时,学习部分21将所述多个状态检测为合并对象状态。
图35A表示一种用于将作为前向分支的分支目的地的多个状态检测为合并对象状态的方法。
具体地,图35A示出了关于某一行为Um的状态转移概率平面A和观察概率矩阵B。
在关于每个行为Um的状态转移概率平面A中,状态转移概率被归一化以使得关于每个状态Si,以状态Si为转移源的状态转移概率aij(Um)的总和(当下标i和m固定、下标j从1向N改变时所取的aij(Um)的总和)是1.0。
因此,当在以某一状态Si为分支源的前向上没有分支时关于某一行为Um以状态Si为转移源的状态转移概率(在关于行为Um的状态转移概率平面A中的水平方向上的某一行i中布置的状态转移概率)的最大值是1.0(可以视为1.0的值),并且除了所述最大值之外的状态转移概率是0.0(可以视为0.0的值)。
另一方面,当在以某一状态Si为分支源的前向上有分支时关于某一行为Um以状态Si为转移源的状态转移概率的最大值远远小于1.0,诸如图35A中所示的0.5等,并且大于通过将其总和是1.0的状态转移概率等同地除以状态S1至SN的数量N而获得的值(平均值)1/N。
因此,可以通过搜索状态Si来检测作为前向分支的分支源的状态,以使得根据式(19),在关于行为Um的状态转移概率平面中行i中的状态转移概率aij(Um)(=Aijm)的最大值小于比1.0小的阈值amax_th并且大于平均值1/N,就像在如上所述检测分支结构的状态的情况下那样。
顺便提及,在这种情况下,可以根据检测作为前向分支的分支源的状态的灵敏度在范围1/N<amax_th<1.0中调整式(19)中的阈值amax_th。使阈值amax_th越接近1.0,则可以越灵敏地检测作为分支源的状态。
当如上所述检测作为前向分支的分支源的状态(以下也将所述状态称为分支源状态)时,学习部分21(图4)检测多个状态作为从分支源状态的前向分支的分支目的地。
即,根据式(23),当行为Um的下标m是U并且前向分支的分支源状态Si的下标i是S时,学习部分21检测多个状态作为从分支源状态的前向分支的分支目的地。
在式(23)中,Aijm表示在三维状态转移概率表中在i轴方向上从上起的第i位置、在j轴方向上从左起的第j位置和在行为轴方向上从前起的第m位置上的状态转移概率aij(Um)。
另外,在式(23)中,argfind(amin_th1<Aijm)表示:在行为Um的下标m是U并且分支源状态Si的下标i是S的情况下,当可以检索到(找到)满足括号中的条件表达式amin_th1<Aijm的状态转移概率AS,j,U时所有满足括号中的条件表达式amin_th1<Aijm的状态转移概率AS,j,U的下标j。
顺便提及,可以根据检测作为前向分支的分支目的地的多个状态的灵敏度在范围0.0<amin_th1<1.0中调整式(23)中的阈值amin_th1。使阈值amin_th1越接近1.0,则可以越灵敏地检测作为前向分支的分支目的地的多个状态。
当可以检索到(找到)满足式(23)中的括号中的条件表达式amin_th1<Aijm的状态转移概率Aijm时,学习部分21(图4)将其下标是j的状态Sj检测为作为前向分支的分支目的地的状态的候选(以下也将所述状态称为分支目的地状态)。
其后,当检测到多个状态作为前向分支的分支目的地状态的候选时,学习部分21确定在分支目的地状态的多个相应候选中观察到的具有最大观察概率的观察值是否彼此一致。
然后学习部分21在作为在前向分支的分支目的地状态的多个分支目的地状态候选中检测其具有最大观察概率的观察值彼此一致的候选。
具体地,学习部分21根据式(24)获得关于多个分支目的地状态的候选的每一个的具有最大观察概率的观察值Omax。
在式(24)中,Bik表示在状态Si中观察到观察值Ok的观察概率bi(Ok)。
在式(24)中,argmax(Bik)表示观察概率矩阵B中其下标是S的状态的最大观察概率BS,K的下标k。
当关于作为多个分支目的地状态候选的多个状态Si的每一个的下标i在式(24)中获得的最大观察概率BS,K的下标k彼此一致时,学习部分21在作为前向分支的分支目的地状态的多个分支目的地状态候选中检测其在式(24)中获得的下标k彼此一致的候选。
在图35A中,状态S3被检测为前向分支的分支源状态,并且其从分支源状态S3的状态转移的状态转移概率都是0.5的状态S1和S4被检测为前向分支的分支目的地状态的候选。
关于作为前向分支的分支目的地状态的候选的状态S1和S4,在状态S1中观察到的具有最大观察概率1.0的观察值O2和在状态S4中观察到的具有最大观察概率0.9的观察值O2彼此一致。因此,状态S1和S4被检测为前向分支的分支目的地状态。
图35B表示一种用于将作为后向分支的分支目的地的多个状态检测作为合并对象状态的方法。
具体地,图35B示出了关于某一行为Um的状态转移概率平面A和观察概率矩阵B。
在关于每个行为Um的状态转移概率平面A中,状态转移概率被归一化以使得关于每个状态Si,以状态Si为转移源的状态转移概率aij(Um)的总和是1.0,如上参照图35A所述。但是,不执行使得以状态Sj为转移目的地的状态转移概率aij(Um)的总和(在下标j和m固定、下标i从1向N改变时所取的aij(Um)的总和)是1.0的归一化。
但是,当有可能进行从状态Si向状态Sj的状态转移时,以状态Sj为转移目的地的状态转移概率aij(Um)是非0.0(可以视为0.0的值)的正值。
因此,可以根据式(25)来检测后向分支的分支源状态(可以是分支源状态的状态)和分支目的地状态的候选。
在式(25)中,Aijm表示三维状态转移概率表中在i轴方向上从顶部起的第i位置、在j轴方向上从左起的第j位置和在行为轴方向上从前起的第m位置上的状态转移概率aij(Um)。
另外,在式(25)中,argfind(amin_th2<Aijm)表示在行为Um的下标m是U并且分支源状态Sj的下标j是S的情况下,当可以检索到(找到)满足括号中的条件表达式amin_th2<Aijm的状态转移概率Ai,S,U时所有满足括号中的条件表达式amin_th2<Aijm的状态转移概率Ai,S,U的下标i。
顺便提及,可以根据用于检测后向分支的分支源状态和分支目的地状态(分支目的地状态的候选)的灵敏度在范围0.0<amin_th2<1.0中调整式(25)中的阈值amin_th2。使得阈值amin_th2与1.0越接近,则可以越灵敏地检测后向分支的分支源状态和分支目的地状态。
当可以检索到(找到)满足式(25)中的括号中的条件表达式amin_th2<Aijm的多个状态转移概率Aijm时,学习部分21(图4)将其下标j是S的状态检测为后向分支的分支源状态(作为可能为分支源状态的状态)。
学习部分21还将下述状态检测为分支目的地状态的候选:当可以检索到满足式(25)中的括号中的条件表达式amin_th2<Aijm的多个状态转移概率Aijm时与满足式(25)中的括号中的条件表达式amin_th2<Aijm的多个状态转移概率Aijm对应的状态转移的多个分支源状态,即当可以检索到满足条件表达式amin_th2<Aijm的多个状态转移概率Ai,S,U时以满足括号中的条件表达式amin_th2<Aijm的多个状态转移概率Ai,S,U的每一个的i(由式(25)表示的多个i)为下标的多个状态Si。
其后,学习部分21确定在后向分支的分支目的地状态的多个相应候选中观察到的具有最大观察概率的观察值是否彼此一致。
然后,像在检测前向分支的分支目的地状态的情况中那样,学习部分21在作为后向分支的分支目的地状态的多个分支目的地状态候选中检测其具有最大观察概率的观察值彼此一致的候选。
在图35B中,状态S2被检测为后向分支的分支源状态,并且其向分支源状态S2的状态转移的状态转移概率都是0.5的状态S2和S5被检测为后向分支的分支目的地状态候选。
关于作为后向分支的分支目的地状态候选的状态S2和S5,在状态S2中观察到的具有最大观察概率1.0的观察值O3和在状态S5中观察到的具有最大观察概率0.8的观察值O3彼此一致。因此,状态S2和S5被检测为后向分支的分支目的地状态。
当学习部分21如上所述检测到前向和后向分支的分支源状态以及从分支源状态分支出来的多个分支目的地状态时,学习部分21将所述多个分支目的地状态合并为一个代表性状态。
在这种情况下,学习部分21例如将在多个分支目的地状态中具有最小下标的分支目的地状态设置为代表性状态,并且将多个分支目的状态合并为该代表性状态。
即,例如,当三个状态被检测为从某一分支源状态分支出来的多个分支目的地状态时,学习部分21将在多个分支目的地状态中具有最小下标的目的地状态设置为代表性状态,并且将多个分支目的地状态合并为该代表性状态。
另外,学习部分21使得三个分支目的地状态中未被设置为代表性状态的其他两个状态为无效状态。
顺便提及,可以从无效状态而不是分支目的地状态中选择状态合并中的代表性状态。在这种情况下,在多个分支目的地状态被合并为代表性状态后,使得多个分支目的地状态全部为无效状态。
图36A和36B是帮助说明一种用于将从某一分支源状态分支出来的多个分支目的地状态合并为一个代表性状态的方法的图。
在图36A和36B中,扩展HMM具有7个状态S1到S7。
此外,在图36A和36B中,两个状态S1和S4被设置为合并对象状态,两个合并对象状态S1和S4中具有最小下标的状态S1被设置为代表性状态,并且两个合并对象状态S1和S4被合并为一个代表性状态S1。
学习部分21(图4)如下将两个合并对象状态S1和S4合并为一个代表性状态S1。
学习部分21将在代表性状态S1中观察到相应观察值Ok的观察概率b1(Ok)设置为在作为合并对象状态的多个状态S1和S4的每一个中观察到相应观察值Ok的观察概率b1(Ok)和b4(Ok)的平均值,并且将作为合并对象状态的多个状态S1和S4的、除了代表性状态S1之外的状态S4中观察到相应观察值Ok的观察概率b4(Ok)设置为0。
另外,学习部分21将以代表性状态S1作为转移源的状态转移的状态转移概率a1,j(Um)设置为以作为合并对象状态的多个状态S1和S4的每一个作为转移源的状态转移的状态转移概率a1,j(Um)和a4,j(Um)的平均值,并且将以代表性状态S1作为转移目的地的状态转移的状态转移概率ai,1(Um)设置为以作为合并对象状态的多个状态S1和S4的每一个作为转移目的地的状态转移的状态转移概率ai,1(Um)和ai,4(Um)的和。
此外,学习部分21将以作为合并对象状态的多个状态S1和S4的、除代表性状态S1外的状态S4为转移源的状态转移的状态转移概率a4,j(Um)和以状态S4为转移目的地的状态转移的状态转移概率ai,4(Um)设置为0。
图36A是帮助说明设置观察概率的图,所述设置在状态合并中进行。
学习部分21将在代表性状态S1中观察到观察值O1的观察概率b1(O1)设置为在合并对象状态S1和S4中观察到观察值O1的观察概率b1(O1)和b4(O1)的平均值(b1(O1)+b4(O1))/2。
类似地设置在代表性状态S1中观察到另一个观察值Ok的观察概率b1(Ok)。
此外,学习部分21将在合并对象状态S1和S4的除了代表性状态S1之外的状态S4中观察到相应观察值Ok的观察概率b4(Ok)设置为0。
通过式(26)来表达如上所述的观察概率的设置。
B(S1,:)=(B(S1,:)+B(S4,:))/2
B(S4,:)=0.0 …(26)
在式(26)中,B(,)是二维阵列,并且阵列的元素B(S,O)表示在状态S中观察到观察值O的观察概率。
作为阵列的下标的冒号(:)表示作为冒号的维度的所有元素。因此,在式(26)中,式B(S4,:)=0.0表示在状态S4中观察到相应观察值的观察概率全部被设置为0.0。
根据式(26),在代表性状态S1中观察到相应观察值Ok的观察概率被设置为在合并对象状态S1和S4的每一个中观察到相应观察值Ok的观察概率b1(Ok)和b4(Ok)的平均值(B(S1,:)=(B(S1,:)+B(S4,:))/2)。
此外,根据式(26),在合并对象状态S1和S4的、除了代表性状态S1之外的状态S4中观察到相应观察值值Ok的观察概率b4(Ok)被设置为0(B(S4,:)=0.0)。
图36B是帮助说明设置状态转移概率的图,所述设置在状态合并中进行。
以作为合并对象状态的多个状态的每一个作为转移源的状态转移不一定彼此一致。以作为合并对象状态的多个状态的每一个作为转移源的状态转移应当有可能作为以通过合并所述合并对象状态而获得的代表性状态作为转移源的状态转移。
因此,如图36B中所示,学习部分21将以代表性状态S1作为转移源的状态转移的状态转移概率a1,j(Um)设置为以多个合并对象状态S1和S4的每一个作为转移源的状态转移的状态转移概率a1,j(Um)和a4,j(Um)的平均值。
以作为合并对象状态的多个状态的每一个作为转移目的地的状态转移也不一定彼此一致。以作为合并对象状态的多个状态的每一个作为转移目的地的状态转移应当有可能作为以通过合并所述合并对象状态而获得的代表性状态作为转移目的地的状态转移。
因此,如图36B中所示,学习部分21将以代表性状态S1为转移目的地的状态转移的状态转移概率ai,1(Um)设置为以合并对象状态S1和S4的每一个作为转移目的地的状态转移的状态转移概率ai,1(Um)和ai,4(Um)的和。
顺便提及,虽然以合并对象状态S1和S4作为转移源的状态转移的状态转移概率a1,j(Um)和a4,j(Um)的平均值被用作以代表性状态S1作为转移源的状态转移的状态转移概率a1,j(Um),但是以合并对象状态S1和S4作为转移目的地的状态转移的状态转移概率ai,1(Um)和ai,4(Um)的和被用作以代表性状态S1作为转移目的地的状态转移的状态转移概率ai,1(Um),因为在关于每个行为Um的状态转移概率平面A中,虽然归一化状态转移概率aij(Um)以使得以状态Si为转移源的状态转移概率aij(Um)的总和是1.0,但是不执行使得以状态Sj为转移目的地的状态转移概率aij(Um)的总和是1.0的归一化。
除了以代表性状态S1为转移源的状态转移概率和以代表性状态S1为转移目的地的状态转移概率的设置之外,学习部分21将以合并对象状态S4(除了代表性状态S1之外的合并对象状态)为转移源的状态转移概率和以合并对象状态S4为转移目的地的状态转移概率设置为0,其中,通过将合并对象状态S1和S4合并为代表性状态S1而使得合并对象状态S4对于行为环境的结构的表达不必要。
通过式(27)来表达如上所述的状态转移概率的设置。
A(S1,:,:)=(A(S1,:,:)+A(S4,:,:))/2
A(:,S1,:)=A(:,S1,:)+A(:,S4,:)
A(S4,:,:)=0.0
A(:,S4,:)=0.0 …(27)
在式(27)中,A(,,)是三维阵列,并且阵列的元素A(S,S′,U)表示当执行行为U时从作为转移源的状态S向状态S′进行状态转移的状态转移概率。
像在式(26)中那样,作为阵列的下标的冒号(:)表示作为冒号的维度的所有元素。
因此,在式(27)中,A(S1,:,:)例如表示当执行每个行为时从作为转移源的状态S1向每个状态的状态转移的所有状态转移概率。在式(27)中,A(:,S1,:)例如表示当执行每个行为时从每个状态向作为转移目的地的状态S1的状态转移的所有状态转移概率。
根据式(27),关于所有行为,以代表性状态S1为转移源的状态转移的状态转移概率被设置为以合并对象状态S1和S4为转移源的状态转移的状态转移概率a1,j(Um)和a4,j(Um)的平均值(A(S1,:,:)=(A(S1,:,:)+A(S4,:,:))/2)。
另外,关于所有的行为,以代表性状态S1为转移目的地的状态转移的状态转移概率被设置为以合并对象状态S1和S4为转移目的地的状态转移的状态转移概率ai,1(Um)和ai,4(Um)的和(A(:,S1,:)=A(:,S1,:)+A(:,S4,:))。
此外,根据式(27),关于所有的行为,以合并对象状态S4为转移源的状态转移概率和以合并对象状态S4为转移目的地的状态转移概率被设置为0(A(S4,:,:)=0.0,A(:,S4,:)=0.0),其中,通过将合并对象状态S1和S4合并为代表性状态S1而使得合并对象状态S4对于行为环境的结构的表达不必要。
如上所述,以合并对象状态S4为转移源的状态转移概率和以合并对象状态S4为转移目的地的状态转移概率被设置为0.0,其中,通过将合并对象状态S1和S4合并为代表性状态S1而使得合并对象状态S4对于行为环境的结构的表达不必要,并且在被使得不必要的合并对象状态S4中将观察到每个观察值的观察概率设置为0.0。由此使得不必要的合并对象状态S4变为无效状态。
[在一个状态一个观察值约束下的扩展HMM的学习]
图37是帮助说明一种用于学习扩展HMM的处理的流程图,所述处理由图4中的学习部分21在一个状态一个观察值约束下执行。
在步骤S91中,学习部分21使用历史存储部分14中存储的作为学习数据的观察值系列和行为系列,根据Baum-Welch重评估法执行扩展HMM的初始学习,即与在图7中的步骤S21至S24类似的处理。
在模型参数已经在步骤S91中的初始学习中收敛后,学习部分21将扩展HMM的模型参数存储在模型存储部分22(图4)中。然后处理进行到步骤S92。
在步骤S92中,学习部分21从模型存储部分22中存储的扩展HMM中检测划分对象状态。然后处理进行到步骤S93。
当在步骤S92中学习部分21不能检测到划分对象状态时,即当模型存储部分22中存储的扩展HMM中没有划分对象状态时,处理跳过步骤S93和S94,并且进行到步骤S95。
在步骤S93中,学习部分21执行状态划分,其将在步骤S92中检测到的划分对象状态划分为多个划分后状态。然后处理进行到步骤S94。
在步骤S94中,学习部分21使用历史存储部分14中存储的作为学习数据的观察值系列和行为系列,根据Baum-Welch重评估法执行在模型存储部分22中存储的、并且其中已经在紧邻在前的步骤S93中执行了状态划分的扩展HMM的学习,即与图7的步骤S22至S24类似的处理。
顺便提及,在步骤S94中的学习中(也在后述的步骤S97中),存储在模型存储部分22中的扩展HMM的模型参数被原样用作模型参数的初始值。
在扩展HMM的模型参数已经在步骤S94的学习中收敛后,学习部分21将扩展HMM的模型参数存储(覆盖)在模型存储部分22(图4)中。然后处理进行到步骤S95。
在步骤S95中,学习部分21从存储在模型存储部分22中的扩展HMM中检测合并对象状态。然后处理进行到步骤S96。
当在步骤S95中学习部分21不能检测到合并对象状态时,即当存储在模型存储部分22中的扩展HMM中没有合并对象状态时,处理跳过步骤S96和S97,并且进行到步骤S98。
在步骤S96中,学习部分21执行状态合并,用于将在步骤S95中检测到的合并对象状态合并为代表性状态。然后处理进行到步骤S97。
在步骤S97中,学习部分21使用历史存储部分14中存储的作为学习数据的观察值系列和行为系列,根据Baum-Welch重评估法执行模型存储部分22中存储的、并且其中在紧邻在前的步骤S96中执行了状态合并的扩展HMM的学习,即与图7中的步骤S22至S24类似的处理。
在扩展HMM的模型参数已经在步骤S97中的学习中收敛后,学习部分21将扩展HMM的模型参数存储(覆盖)在模型存储部分22(图4)中。然后处理进行到步骤S98。
在步骤S98中,学习部分21确定是否在步骤S92中检测划分对象状态的处理中未检测到划分对象状态并且在步骤S95中检测合并对象状态的处理中未检测到合并对象状态。
当在步骤S98中确定检测到划分对象状态和合并对象状态的至少一个时,处理返回到步骤S92,以重复从步骤S92向下的类似处理。
当在步骤S98中确定检测不到划分对象状态和合并对象状态两者的任何一个时,结束学习扩展HMM的处理。
通过重复如上所述的状态划分、在状态划分后的扩展HMM的学习、状态合并和在状态合并后的扩展HMM的学习直到检测不到划分对象状态和合并对象状态的任何一个时,执行满足一个状态一个观察值约束的学习,并且可以获得其中在一个状态中观察到(仅仅)一个观察值的扩展HMM。
图38是帮助说明检测划分对象状态的处理的流程图,所述处理由图4中的学习部分21在图37的步骤S92中执行。
在步骤S111中,学习部分21将指示状态Si的下标的变量i初始化为例如1。然后处理进行到步骤S112。
在步骤S112中,学习部分21将指示观察值Ok的下标的变量k初始化为例如1。然后处理进行到步骤S113。
在步骤S113中,学习部分21确定在状态Si中观察到观察值Ok的观察概率Bik=bi(Ok)是否满足式(20)中括号中的条件表达式1/K<Bik<bmax_th。
当在步骤S113中确定观察概率Bik=bi(Ok)不满足条件表达式1/K<Bik<bmax_th时,处理跳过步骤S114,并且进行到步骤S115。
当在步骤S113中确定观察概率Bik=bi(Ok)满足条件表达式1/K<Bik<bmax_th时,处理进行到步骤S114,在步骤S114中,学习部分21将观察值Ok作为要划分的观察值(要在一对一基础上分配给划分后状态的观察值)与状态Si相关联地暂时存储在图中未示出的存储器中。
其后的处理从步骤S114进行到步骤S115,在步骤S115中,确定下标k是否等于观察值的数量K(以下也称为符号的数量)。
当在步骤S115中确定下标k不等于符号的数量K时,处理进行到步骤S116,在步骤S116中,学习部分21将下标k递增1。然后处理从步骤S116返回到步骤S113,以重复从步骤S113向下的类似处理。
当在步骤S115中确定下标k等于符号的数量K时,处理进行到步骤S117,在步骤S117中,学习部分21确定下标i是否等于状态的数量N(扩展HMM的状态的数量)。
当在步骤S117中确定下标i不等于状态的数量N时,处理进行到步骤S118,在步骤S118中,学习部分21将下标i递增1。然后处理从步骤S118返回到步骤S112,以重复从步骤S112向下的类似处理。
当在步骤S117中确定下标i等于状态的数量N时,处理进行到步骤S119,在步骤S119中,学习部分21将在步骤S114中与要划分的观察值相关联地存储的每个状态Si检测为划分对象状态。然后处理返回。
图39是帮助说明划分状态(划分划分对象状态)的处理的流程图,所述处理由图4中的学习部分21在图37中的步骤S93中执行。
在步骤S131中,学习部分21将其状态还没有被设置为感兴趣的状态的划分对象状态之一选择为感兴趣的状态。然后处理进行到步骤S132。
在步骤S132中,学习部分21将与感兴趣的状态相关联的、要划分的观察值的数量设置为感兴趣的状态被划分成的划分后状态的数量Cs(以下也所述数量称为划分数量),并且总共选择Cs个状态作为划分后状态,所述Cs个状态即在扩展HMM的状态中的感兴趣的状态和Cs-1个无效状态的状态。
其后处理从步骤S132进行到步骤S133,在步骤S133中,学习部分21将与感兴趣的状态相关联的、Cs个要划分的观察值中的一个分配给Cs个划分后状态的每一个。然后处理进行到步骤S134。
在步骤S134中,学习部分21将用于计数Cs个划分后状态的变量c初始化为例如1。然后处理进行到步骤S135。
在步骤S135中,学习部分21在Cs个划分后状态中选择第c个划分后状态作为划分后感兴趣的状态,注意力转向该划分后感兴趣的状态。然后处理进行到步骤S136。
在步骤S136中,学习部分21将在划分后感兴趣的状态中观察到被分配给划分后感兴趣的状态的要划分的观察值的观察概率设置为1.0,并且将观察到其他观察值的观察概率设置为0.0。然后处理进行到步骤S137。
在步骤S137中,学习部分21将以划分后感兴趣的状态为转移源的状态转移的状态转移概率设置为以感兴趣的状态为转移源的状态转移的状态转移概率。然后处理进行到步骤S138。
在步骤S138中,学习部分21通过在感兴趣的状态中观察到被分配给划分后感兴趣的状态的划分对象状态的观察值的观察概率来修正以感兴趣的状态为转移目的地的状态转移的状态转移概率,如参照图33A和33B所述,并且学习部分21由此获得状态转移概率的修正值。然后处理进行到步骤S139。
在步骤S139中,学习部分21将以划分后感兴趣的状态为转移目的地的状态转移的状态转移概率设置为在紧邻在前的步骤S138中获得的修正值。然后处理进行到步骤S140。
在步骤S140中,学习部分21确定变量c是否等于划分数量Cs。
当在步骤140中确定变量c不等于划分数量Cs时,处理进行到步骤S141,在步骤S141中,学习部分21将变量c递增1。然后处理返回到步骤S135。
当在步骤S140中确定变量c等于划分数量Cs时,处理进行到步骤S142,在步骤S142中,学习部分21确定是否所有的划分对象状态已经被选择为感兴趣的状态。
当在步骤S142中确定未将所有的划分对象状态选择为感兴趣的状态时,处理返回到步骤S131,以重复从步骤S131向下的类似处理。
当在步骤S142中确定已经将所有的划分对象状态选择为感兴趣的状态时,即当已经完成了所有划分对象状态的划分时,处理返回。
图40是帮助说明检测合并对象状态的处理的流程图,所述处理由图4中的学习部分21在图37的步骤S95中执行。
在步骤S161中,学习部分21将指示行为Um的下标的变量m初始化为例如1。然后处理进行到步骤S162。
在步骤S162中,学习部分21将指示状态Si的下标的变量i初始化为例如1。然后处理进行到步骤S163。
在步骤S163中,学习部分21在模型存储部分22中存储的扩展HMM中检测关于行为Um以状态Si为转移源向每个状态Sj的状态转移的状态转移概率Aijm(=aij(Um))的最大值max(Aijm)。然后处理进行到步骤S164。
在步骤S164中,学习部分21确定最大值max(Aijm)是否满足式(19),即式1/N<max(Aijm)<amax_th。
当在步骤S164中确定最大值max(Aijm)不满足式(19)时,处理跳过步骤S165,并且进行到步骤S166。
当在步骤S164中确定最大值max(Aijm)满足式(19)时,处理进行到步骤S165,在步骤S165中,学习部分21检测状态Si作为前向分支的分支源状态。
此外,学习部分21检测状态Sj作为前向分支的分支目的地状态,状态Sj是在关于行为Um以前向分支的分支源状态Si为转移源的状态转移中其状态转移概率Aijm=aij(Um)满足式(23)中括号中的条件表达式amin_th1<Aijm的状态转移的转移目的地。然后处理从步骤S165进行到步骤S166。
在步骤S166中,学习部分21确定下标i是否等于状态的数量N。
当在步骤S166中确定下标i不等于状态的数量N时,处理进行到步骤S167,在步骤S167中,学习部分21将下标i递增1。然后处理返回到步骤S163。
当在步骤S166中确定下标i等于状态的数量N时,处理进行到步骤S168,在步骤S168中,学习部分21将指示状态Sj的下标的变量j初始化为例如1。然后处理进行到步骤S169。
在步骤S169中,学习部分21确定是否存在多个状态Si′作为在关于行为Um从每个状态Si′向作为转移目的地的状态Sj的状态转移中其状态转移概率Ai′jm=ai′j(Um)满足式(25)中括号中的条件表达式amin_th2<Ai′jm的状态转移的转移源。
当在步骤S169中确定没有多个状态Si′作为满足式(25)中括号中的条件表达式amin_th2<Ai′jm的状态转移的转移源时,处理跳过步骤S170,并且进行到步骤S171。
当在步骤S169中确定存在多个状态Si′作为满足式(25)中括号中的条件表达式amin_th2<Ai′jm的状态转移的转移源时,处理进行到步骤S170,在步骤S170中,学习部分21检测状态Sj作为后向分支的分支源状态。
此外,学习部分21检测多个状态Si′作为后向分支的分支目的地状态,所述多个状态Si′作为在关于行为Um从每个状态Si′向以后向分支的分支源状态Sj作为转移目的地的状态转移中其状态转移概率Ai′jm=ai′j(Um)满足式(25)中括号中的条件表达式amin_th2<Ai′jm的状态转移的转移源。然后处理从步骤S170进行到步骤S171。
在步骤S171中,学习部分21确定下标j是否等于状态的数量N。
当在步骤S171中确定下标j不等于状态的数量N时,处理进行到步骤S172,在步骤S172中,学习部分21将下标j递增1。然后处理返回到步骤S169。
当在步骤S171中确定下标j等于状态的数量N时,处理进行到步骤S173,在步骤S173中,学习部分21确定下标m是否等于行为Um的数量M(以下也将所述数量称为行为数量)。
当在步骤S173中确定下标m不等于行为Um的数量M时,处理进行到步骤S174,在步骤S174中,学习部分21将下标m递增1。然后处理返回到步骤S162。
当在步骤S173中确定下标m等于行为Um的数量M时,处理进行到图41中的步骤S191。
图41是从图40继续的流程图。
在图41中的步骤S191中,学习部分21将在由图40中的步骤S161至S174的处理检测到的分支源状态中还没有被设置为感兴趣的状态的一个分支源状态选择为感兴趣的状态。然后处理进行到步骤S192。
在步骤S192中,关于与感兴趣的状态相关地检测到的多个分支目的地状态的每一个(分支目的地状态的候选),即关于从作为分支源的感兴趣的状态分支出的多个分支目的地状态(分支目的地状态的候选)的每一个,学习部分21根据式(24)检测在分支目的地状态中观察到的具有最大观察概率的观察值Omax(以下也将该观察值称为最大概率观察值)。然后处理进行到步骤S193。
在步骤S193中,学习部分21确定与感兴趣的状态相关地检测到的多个分支目的地状态是否包括其最大概率观察值Omax彼此一致的分支目的地状态。
当在步骤S193中确定与感兴趣的状态相关地检测到的多个分支目的地状态不包括其最大概率观察值Omax彼此一致的分支目的地状态时,处理跳过步骤S194,并且进行到步骤S195。
当在步骤S193中确定与感兴趣的状态相关地检测到的多个分支目的地状态包括其最大概率观察值Omax彼此一致的分支目的地状态时,处理进行到步骤S194,在步骤S194中,学习部分21将在与感兴趣的状态相关地检测到的多个分支目的地状态中其最大概率观察值Omax彼此一致的多个分支目的地状态检测为一组的合并对象状态。然后处理进行到步骤S195。
在步骤S195中,学习部分21确定是否已经将所有的分支源状态选择为感兴趣的状态。
当在步骤S195中确定还没有将所有的分支源状态选择为感兴趣的状态时,处理返回到步骤S191。
当在步骤S195中确定已经将所有的分支源状态选择为感兴趣的状态时,处理返回。
图42是帮助说明合并状态(合并合并对象状态)的处理的流程图,所述处理由图4中的学习部分21在图37的步骤S96中执行。
在步骤S211中,学习部分21将合并对象状态的组中还没有被选择为感兴趣的组的一个组选择为感兴趣的组。然后处理进行到步骤S212。
在步骤S212中,学习部分21将在感兴趣的组的多个合并对象状态中例如具有最小下标的合并对象状态选择为感兴趣的组的代表性状态。然后处理进行到步骤S213。
在步骤S213中,学习部分21将在代表性状态中观察到每个观察值的观察概率设置为在感兴趣的组的多个相应的合并对象状态中观察到每个观察值的观察概率的平均值。
此外,在步骤S213中,学习部分21将在感兴趣的组的除了代表性状态之外的合并对象状态中观察到每个观察值的观察概率设置为0.0。然后处理进行到步骤S214。
在步骤S214中,学习部分21将以代表性状态为转移源的状态转移的状态转移概率设置为以感兴趣的组的合并对象状态的每一个作为转移源的状态转移的状态转移概率的平均值。然后处理进行到步骤S215。
在步骤S215中,学习部分21将以代表性状态作为转移目的地的状态转移的状态转移概率设置为以感兴趣的组的合并对象状态的每一个作为转移目的地的状态转移的状态转移概率的和。然后处理进行到步骤S216。
在步骤S216中,学习部分21将以感兴趣的组的除了代表性状态之外的合并对象状态作为转移源的状态转移和以感兴趣的组的除了代表性状态之外的合并对象状态作为转移目的地的状态转移的状态转移概率设置为0.0。然后处理进行到步骤S217。
在步骤S217中,学习部分21确定是否已经将合并对象状态的所有组选择为感兴趣的组。
当在步骤S217中确定还没有将所有的合并对象状态的组选择为感兴趣的组时,处理返回到步骤S211。
当在步骤S217中确定已经将所有的合并对象状态的组选择为感兴趣的组时,处理返回。
图43A、43B和43C是帮助说明在一个状态一个观察值约束下的扩展HMM的学习的模拟的图,所述模拟由本发明人执行。
图43A是示出了模拟中使用的行为环境的图。
在模拟中,其结构被转换为第一结构和第二结构的环境用作行为环境。
在第一结构的行为环境中,位置pos是墙壁,从而不能被通过,而在第二结构的行为环境中,位置pos是通道,从而可以被通过。
在模拟中,在第一结构的行为环境和第二结构的行为环境的每一个中获得用作学习数据的观察值系列和行为系列,并且执行扩展HMM的学习。
图43B示出了在没有一个状态一个观察值约束的情况下作为学习的结果获得的扩展HMM。图43C示出了在一个状态一个观察值约束下作为学习的结果获得的扩展HMM。
在图43B和图43C中,圆圈(o)标记代表扩展HMM的状态,并且在圆圈标记中输入的数是由圆圈标记代表的状态的下标。指示由圆圈标记代表的状态的箭头代表可能的状态转移(其状态转移概率不是0.0(可以视为0.0的值)的状态转移)。
另外,在图43B和图43C中,在左侧位置以垂直方向布置的状态(代表状态的圆圈标记)是扩展HMM中的无效状态。
图43B中的扩展HMM确认在没有一个状态一个观察值约束的学习中,模型参数落入局部最小值中,在学习后的扩展HMM中通过具有在观察概率上的分布而代表在结构上改变的行为环境的第一结构和第二结构的情况和通过具有状态转移的分支结构而代表在结构上改变的行为环境的第一结构和第二结构的情况相互混合,从而不能通过扩展HMM的状态转移适当地代表在结构上改变的行为环境的结构。
另一方面,图43C中的扩展HMM确认在一个状态一个观察值约束下的学习中,在学习后的扩展HMM中通过仅仅具有状态转移的分支结构而代表在结构上改变的行为环境的第一结构和第二结构,从而可以通过扩展HMM的状态转移来适当地代表在结构上改变的行为环境的结构。
根据在一个状态一个观察值约束下的学习,当行为环境的结构改变时,在扩展HMM中公共地存储结构上不改变的部分,并且在扩展HMM中用状态转移的分支结构(作为当执行某一行为时发生的状态转移的向不同状态的(多个)状态转移)来代表结构上改变的部分。
因此,由于可以用单个扩展HMM来适当地代表结构上改变的行为环境而不用针对每种结构准备模型,因此可以用少量存储资源对结构上改变的行为环境建模。
[在用于根据预定策略来确定行为的识别行为模式中的处理]
在图8的识别行为模式中的处理中,图4的代理假定代理位于行为环境的已知区域(当使用在该区域中观察的观察值系列和行为系列学习了扩展HMM时的区域(学习区域))中识别代理的当前状况,获得对应于当前状况的作为扩展HMM的状态作为当前状态,并且确定用于从当前状态到达目标状态的行为。但是,代理不一定位于已知区域中,而是可以位于未知区域(未学习的区域)中。
在代理位于未知区域的情况下,即使在如参照图8所述确定了行为时,该行为也不一定是用于到达目标状态的适当行为,反而可能实际上是不必要或者冗余的行为,诸如在未知区域中的迷路等。
因此,在识别行为模式中的代理可以确定代理的当前状况是未知状况(其中观察到目前为止还未观察过的观察值系列和行为系列的状况)(没有在扩展HMM中获得的状况)还是已知状况(其中观察到目前为止观察过的观察值系列和行为系列的状况)(在扩展HMM中获得的状况),并且根据确定的结果来确定适当的行为。
图44是帮助说明在这样的识别行为模式中的处理的流程图。
在图44中的识别行为模式中,代理执行与图8中步骤S31至S33的处理类似的处理。
其后,处理进行到步骤S301,在步骤S301中,代理的状态识别部分23(图4)从历史存储部分14中读出其系列长度(形成系列的值的数量)q是预定长度Q的最新观察值系列和当观察到所述观察值系列的每个观察值时执行的行为的行为系列作为用于识别出代理的当前状况的用于识别的观察值系列和行为系列,并且由此获得用于识别的观察值系列和行为系列。
然后,处理从步骤S301进行到步骤S302,在步骤S302中,状态识别部分23在模型存储部分22中存储的学习过的扩展HMM中观察用于识别的观察值系列和行为系列,并且根据基于维特比算法的上述式(10)和(11)来获得最佳状态概率δt(j)和最佳路径ψt(j),最佳状态概率δt(j)是在时刻t处位于状态Sj中的状态概率的最大值,最佳路径ψt(j)是提供最佳状态概率δt(j)的状态系列。
此外,状态识别部分23观察用于识别的观察值系列和行为系列,并且获得最大可能状态系列,该最大可能状态系列是用于从式(11)中的最佳路径ψt(j)到达状态Sj的状态系列,所述状态系列最大化时刻t处式(10)中的最佳状态概率δt(j)。
其后处理从步骤S302进行到步骤S303,在步骤S303中,状态识别部分23根据最大可能状态系列来确定代理的当前状况是已知状况还是未知状况。
以下,用于识别的观察值系列(或者用于识别的观察值系列和行为系列)将被表示为O,并且其中观察到用于识别的观察值系列O和行为系列的最大可能状态系列将被表示为X。顺便提及,形成最大可能状态系列X的状态的数量等于用于识别的观察值系列O的系列长度q。
观察到用于识别的观察值系列O的第一观察值的时刻t被设置为例如1。最大可能状态系列X在时刻t处的状态(从开始起的第t个状态)将被表示为Xt,并且从状态Xt向时刻t+1处的状态Xt+1的状态转移的状态转移概率将被表示为A(Xt,Xt+1)。
此外,在最大可能状态系列X中观察到用于识别的观察值系列O的可能性将被表示为P(O|X)。
在步骤S303中,状态识别部分23确定是否满足式(28)和式(29)。
A(Xt,Xt+1)>Threstrans(0<t<q) …(28)
P(O|X)>Thresobs …(29)
式(28)中的Threstrans是用于区分从状态Xt向状态Xt+1的状态转移是否可以发生的阈值。式(29)中的Thresobs是用于区分在最大可能状态系列X中是否可以观察到用于识别的观察值系列O的阈值。例如,通过模拟等将可以适当地进行上述区分的值设置为阈值Threstrans和Thresobs。
当不满足式(28)和式(29)的至少一个时,状态识别部分23在步骤S303中确定代理的当前状况是未知状况。
当满足式(28)和式(29)两者时,状态识别部分23在步骤S303中确定代理的当前状况是已知状况。
当在步骤S303中确定当前状况是已知状况时,状态识别部分23获得最大可能状态系列X的最后状态作为当前状态St(将最大可能状态系列X的最后状态估计为当前状态St)。然后处理进行到步骤S304。
在步骤S304中,状态识别部分23根据当前状态St更新存储在过去时间管理表存储部分32(图4)中的过去时间管理表,就像图8的步骤S34中那样。
其后代理执行与图8中从步骤S35向下的处理类似的处理。
另一方面,当在步骤S303中确定当前状况是未知状况时,处理进行到步骤S305,在步骤S305中,状态识别部分23根据模型存储部分22中存储的扩展HMM计算用于使代理到达当前状况的状态系列的当前状况状态系列的一个或更多个候选。
此外,状态识别部分23将当前状况状态系列的一个或更多个候选提供给行为确定部分24(图4)。然后处理从步骤S305进行到步骤S306。
在步骤S306中,行为确定部分24使用来自状态识别部分23的当前状况状态系列的一个或更多个候选根据预定策略来确定接下来要由代理执行的行为。
其后代理执行与图8中从步骤S40向下的处理类似的处理。
如上所述,在当前状况是未知状况时,代理计算当前状况状态系列的一个或更多个候选,并且使用当前状况状态系列的一个或更多个候选根据预定策略来确定代理的行为。
即,在当前状况是未知状况时,代理从可以从过去的经历获得的状态系列、即在学习的扩展HMM中发生的状态转移的状态系列(以下也将该状态系列称为经历的状态系列)中获得导致当前状况的状态系列作为当前状况状态系列的候选,在所述状态系列中观察到某一系列长度q的最新观察值系列和最新行为系列。
然后代理使用(重新使用)当前状况状态系列作为经历的状态系列根据预定策略来确定代理的行为。
[当前状况状态系列的候选的计算]
图45是帮助说明计算当前状况状态系列的候选的处理的流程图,所述处理由图4的状态识别部分23在图44中的步骤S305中执行。
在步骤S311中,状态识别部分23从历史存储部分14(图4)中读出其系列长度q是预定长度Q′的最新观察值系列和当观察到所述观察值系列的每个观察值时执行的行为的行为系列(由代理执行的行为的最新行为系列,其系列长度q是预定长度Q′;以及,当执行所述行为系列的行为时在代理中观察到的观察值的观察值系列)作为用于识别的观察值系列和行为系列,并且由此获得用于识别的观察值系列和行为系列。
在这种情况下,作为由状态识别部分23在步骤S311中获得的用于识别的观察值系列的系列长度q的长度Q′例如是1,其短于作为在图44的步骤S301中获得的观察值系列的系列长度q的长度Q。
即,如上所述,代理从经历的状态系列中获得其中观察到用于识别的观察值系列和行为系列作为最新观察值系列和最新行为系列的状态系列作为当前状况状态系列的候选。当用于识别的观察值系列和行为系列的系列长度q太长时,可能在经历的状态系列中找不到其中观察到这样长系列长度q的用于识别的观察值系列和行为系列的状态系列(或者仅仅有找到这样的状态系列的大致等于0的可能性)。
因此,状态识别部分23在步骤S311中获得短系列长度q的用于识别的观察值系列和行为系列,以便能够从经历的状态系列中获得其中观察到用于识别的观察值系列和行为系列的状态系列。
在步骤S311后,处理进行到步骤S312,在步骤S312中,状态识别部分23在模型存储部分22中存储的扩展HMM中观察在步骤S311中获得的用于识别的观察值系列和行为系列,并且根据基于维特比算法的上述式(10)和(11)获得最佳状态概率δt(j)和最佳路径ψt(j),最佳状态概率δt(j)是在时刻t处位于状态Sj中的状态概率的最大值,最佳路径ψt(j)是提供最佳状态概率δt(j)的状态系列。
即,状态识别部分23从经历的状态系列中获得最佳路径ψt(j),其是其系列长度为Q′的状态系列,在所述状态系列中观察到用于识别的观察值系列和行为系列。
以下也将作为根据维特比算法获得(估计)的最佳路径ψt(j)的状态系列称为用于识别的状态系列。
在步骤S312中,针对扩展HMM的N个状态Sj的每一个获得最佳状态概率δt(j)和用于识别的状态系列(最佳路径ψt(j))。
在步骤S312中获得用于识别的状态系列后,处理进行到步骤S313,在步骤S313中,状态识别部分23从在步骤S312中获得的用于识别的状态系列中选择一个或更多个用于识别的状态系列作为当前状况状态系列的候选。然后处理返回。
即,在步骤S313中,例如选择其可能性即最佳状态概率δt(j)等于或者高于阈值(例如最佳状态概率δt(j)的最大值(最大可能性)的0.8倍的值)的用于识别的状态系列作为当前状况状态系列的候选。
或者,例如选择其最佳状态概率δt(j)在R个最高分级中的R(R是一或者更大的整数)个用于识别的状态系列作为当前状况状态系列的候选。
图46是帮助说明计算当前状况状态系列的候选的处理的另一个示例的流程图,所述处理由图4中的状态识别部分23在图44中的步骤S305中执行。
在图45中计算当前状况状态系列的候选的处理中,用于识别的观察值系列和行为系列的系列长度q被固定为短长度Q′,并且获得长度Q′的用于识别的状态系列或者继而获得长度Q′的当前状况状态系列的候选。
另一方面,在图46中计算当前状况状态系列的候选的处理中,代理自适应(自主)地调整用于识别的观察值系列和行为系列的系列长度q。由此,获得具有最长系列长度q的状态系列作为当前状况状态系列的候选,在所述状态系列中,在经历的状态系列中观察到更像在通过扩展HMM获得的行为环境的结构中的代理的当前位置的结构的结构,即用于识别的观察值系列和行为系列(最新观察值系列和最新行为系列)。
在图46中计算当前状况状态系列的候选者的处理的步骤S321中,状态识别部分23(图4)将系列长度q初始化为例如最小的1。处理进行到步骤S322。
在步骤S322中,状态识别部分23从历史存储部分14(图4)中读出其系列长度是长度q的最新观察值系列和当观察到所述观察值系列的每个观察值时执行的行为的行为系列作为用于识别的观察值系列和行为系列,由此获得用于识别的观察值系列和行为系列。然后处理进行到步骤S323。
在步骤S323中,状态识别部分23在模型存储部分22中存储的学习过的扩展HMM中观察具有系列长度q的用于识别的观察值系列和行为系列,并且根据基于维特比算法的上述式(10)和(11)获得最佳状态概率δt(j)和最佳路径ψt(j),最佳状态概率δt(j)是在时刻t处位于状态Sj中的状态概率的最大值,最佳路径ψt(j)是提供最佳状态概率δt(j)的状态系列。
此外,状态识别部分23观察用于识别的观察值系列和行为系列,并且从式(11)中的最佳路径ψt(j)获得最大可能状态系列,其是用于到达状态Sj的状态系列,该状态系列最大化时刻t处式(10)中的最佳状态概率δt(j)。
其后处理从步骤S323进行到步骤S324,在步骤S324中,状态识别部分23根据最大可能状态系列来确定代理的当前状况是已知状况还是未知状况,就像在图44中的步骤S303中那样。
当在步骤S324中确定当前状况是已知状况时,即当可以从经历的状态系列中获得其中观察到具有系列长度q的用于识别的观察值系列和行为系列(最新观察值系列和最新行为系列)的状态系列时,处理进行到步骤S325,在步骤S325中,状态识别部分23将系列长度q递增1。
然后处理从步骤S325返回到步骤S322,以重复从步骤S322向下的类似处理。
当在步骤324中确定当前状况是未知状况时,即当不能从经历的状态系列中获得其中观察到具有系列长度q的用于识别的观察值系列和行为系列(最新观察值系列和最新行为系列)的状态系列时,处理进行到步骤S326,在步骤S326中,状态识别部分23在随后的步骤S326到S328中获得具有最长系列长度的状态系列,在所述状态系列中,从经历的状态系列中观察到用于识别的观察值系列和行为系列(最新观察值系列和最新行为系列)作为当前状况状态系列的候选。
即,在步骤S322到S325中,根据其中观察到用于识别的观察值系列和行为系列的最大可能状态系列确定代理的当前状况是已知状况还是未知状况,同时将用于识别的观察值系列和行为系列的系列长度q递增1。
因此,将最大可能状态系列提供为具有最长系列长度的、在经历的状态系列中观察到用于识别的观察值系列和行为系列的状态系列(状态系列之一),在该最大可能状态系列中,观察到具有系列长度q-1的用于识别的观察值系列和行为系列,系列长度q-1是紧邻在步骤S324中确定当前状况是未知状况后将系列长度q递减1而获得的。
因此,在步骤S326中,状态识别部分23从历史存储部分14(图4)中读出其系列长度是长度q-1的最新观察值系列和当观察到所述观察值系列的每个观察值时执行的行为的行为系列作为用于识别的观察值系列和行为系列,并且由此获得用于识别的观察值系列和行为系列。然后处理进行到步骤S327。
在步骤S327中,状态识别部分23在模型存储部分22中存储的学习过的扩展HMM中观察在步骤S326中获得的具有系列长度q-1的用于识别的观察值系列和行为系列,并且根据基于维特比算法的上述式(10)和(11)获得最佳状态概率δt(j)和最佳路径ψt(j),最佳状态概率δt(j)是在时刻t处位于状态Sj中的状态概率的最大值,最佳路径ψt(j)是提供最佳状态概率δt(j)的状态系列。
即,状态识别部分23从在学习过的扩展HMM中发生的状态转移的状态系列中获得最佳路径ψt(j)(用于识别的状态系列),其是具有系列长度q-1的其中观察到用于识别的观察值系列和行为系列的状态系列。
在步骤S327中获得用于识别的状态系列后,处理进行到步骤S328,在步骤S328中,状态识别部分23从在步骤S327中获得的用于识别的状态系列中选择一个或更多个用于识别的状态系列作为当前状况状态系列的候选,就像在图45中的步骤S313中那样。然后处理返回。
如上所述,通过递增系列长度q并且获得具有系列长度q-1的用于识别的观察值系列和行为系列,可以从经历的状态系列中获得适当的当前状况状态系列的候选(与更像在通过扩展HMM获得的行为环境的结构中的代理的当前位置的结构的结构对应的状态系列),所述系列长度q-1是通过在紧邻确定当前状况是未知状况后将系列长度q递减1而获得的。
即,当用于获得当前状况状态系列的候选的用于识别的观察值系列和行为系列的系列长度固定时,如果固定系列长度太短或者太长,则不能获得适当的当前状况状态系列的候选。
具体地,当用于识别的观察值系列和行为系列的系列长度太短时,经历的状态系列包括具有观察到这样的观察长度的用于识别的观察值系列和行为系列的高可能性的许多状态系列,从而获得大量具有高可能性的用于识别的状态系列。
结果,当从这样的大量具有高可能性的用于识别的状态系列中选择当前状况状态系列的候选时,可以提高在经历的状态系列中更适合地表示当前状况的状态系列未被选择为当前状况状态系列的候选的可能性。
另一方面,当用于识别的观察值系列和行为系列的系列长度太长时,经历的状态系列可能不包括具有观察到这样太长的观察长度的用于识别的观察值系列和行为系列的高可能性的状态系列,从而可能提高不能获得当前状况状态系列的候选的可能性。
另一方面,如参照图46所述,重复作为具有观察到用于识别的观察值系列和行为系列的最高可能性的状态转移的状态系列的最大可能状态系列的估计,并且重复根据最大可能状态系列来确定代理的当前状况是在扩展HMM中获得的已知状况还是未在扩展HMM中获得的未知状况,直到确定代理的当前状况是未知状况为止,同时递增(增大)用于识别的观察值系列和行为系列的系列长度。估计一个或更多个用于识别的状态系列作为状态转移的状态系列,在所述状态转移中,观察到当确定代理的当前状况是未知状况时具有比系列长度q短一个样本的系列长度q-1的用于识别的观察值系列和行为系列。从一个或更多个用于识别的状态系列中选择当前状况状态系列的一个或更多个候选。由此,可以将代表更像在由扩展HMM获得的行为环境的结构中的代理的当前位置的结构的结构的状态系列获得为当前状况状态系列的候选。
结果,可以通过充分利用经历的状态系列来确定行为。
[根据策略的行为的确定]
图47是帮助说明根据策略来确定行为的处理的流程图,所述处理由图4中的行为确定部分24在图44的步骤S306中执行。
在图47中,行为确定部分24根据第一策略确定行为,以执行由代理在扩展HMM中获得的已知状况中类似代理的当前状况的已知状况中执行的行为。
具体地,在步骤S341中,行为确定部分24将来自状态识别部分23(图4)的当前状况状态系列的一个或更多个候选的一个候选选择为感兴趣的状态系列,该候选还没有被设置为将注意力转向其的感兴趣的状态系列。
在步骤S342中,行为确定部分24根据模型存储部分22中存储的扩展HMM获得针对每个行为Um的以感兴趣的状态系列的最后状态作为转移源的状态转移的状态转移概率的和作为行为适合度,所述行为适合度用于指示与感兴趣的状态系列相关地执行行为Um(根据第一策略)的适合度。
具体地,假定最后状态被表示为SI(I是整数1到N之一),行为确定部分24获得在关于每个行为Um的状态转移概率平面中的j轴方向(水平方向)上布置的状态转移概率aI,1(Um)、aI,2(Um)、…、aI,N(Um)的和作为行为适合度。
然后处理从步骤S342进行到步骤S343,在步骤S343中,行为确定部分24将关于在已经获得其行为适合度的M(种)行为U1至UM中的其行为适合度低于阈值的行为Um获得的行为适合度设置为0.0。
即,通过将关于其行为适合度低于阈值的行为Um获得的行为适合度设置为0.0,行为确定部分24从关于感兴趣的状态系列根据第一策略要执行的下一个行为的候选中排除其行为适合度低于阈值的行为Um,从而选择其行为适合度等于或者高于阈值的行为Um作为根据第一策略要执行的下一个行为的候选。
在步骤S343后,处理进行到步骤S344,在步骤S344中,行为确定部分24确定是否已经将当前状况状态系列的所有候选设置为感兴趣的状态系列。
当在步骤S344中确定还没有将当前状况状态系列的所有候选设置为感兴趣的状态系列时,处理返回到步骤S341。然后,在步骤S341中,行为确定部分24从来自状态识别部分23的当前状况状态系列的一个或更多个候选中选择一个还没有被设置为感兴趣的状态系列的候选作为新的感兴趣的状态系列。其后重复类似的处理。
当在步骤S344中确定当前状况状态系列的所有候选者已经被设置为感兴趣的状态系列时,处理进行到步骤S345,在步骤S345中,行为确定部分24根据关于每个行为Um的行为适合度从下一个行为的候选中确定下一个行为,所述行为适合度是关于来自状态识别部分23的当前状况状态系列的一个或更多个候选的每一个获得的。
即,行为确定部分24例如确定其行为适合度最大的候选为下一个行为。
另外,行为确定部分24获得关于每个行为Um的行为适合度的期望值(平均值),并且根据期望值来确定下一个行为。
具体地,例如,关于每个行为Um,行为确定部分24获得关于每个行为Um的行为适合度的期望值(平均值),所述行为适合度是关于当前状况状态系列的一个或更多个候选的每一个获得的。
然后行为确定部分24根据关于每个行为Um的期望值确定例如其期望值最大的行为Um为下一个行为。
或者,行为确定部分24根据关于每个行为Um的期望值通过例如SoftMax方法来确定下一个行为。
具体地,行为确定部分24以对应于关于以整数m为其下标的行为Um的期望值的概率随机生成M个行为U1至UM的下标1至M的范围中的整数m,并且确定以所生成的整数m为其下标的行为Um是下一个行为。
如上所述,当根据第一策略确定行为时,代理执行由代理在与代理的当前状况类似的已知状况中执行的行为。
因此,根据第一策略,当代理处于未知状况中并且期望代理执行与代理在已知状况中采取的行为类似的行为时,可以使代理执行适当的行为。
根据这样的第一策略的行为的确定不仅可以在代理处于未知状况中的情况下进行,而且可以在例如如上所述代理已经到达开放端之后确定要执行的行为的情况下进行。
当代理处于未知状况中并且使代理执行与在已知状况中采取的行为类似的行为时,代理可能在行为环境中迷路。
当代理在行为环境中迷路时,代理可以返回已知地点(区域)(当前状况变为已知状况),或者可以探索未知地点(当前状况继续保持在未知状况)。
因此,当期望代理返回已知地点或者代理探索未知地点时,将难以断言使代理在行为环境中迷路的行为作为要由代理执行的行为是适当的。
因此,行为确定部分24可以不仅根据第一策略而且根据下面的第二策略和第三策略来确定下一个行为。
图48是帮助说明根据第二策略确定行为的概要的图。
第二策略是用于增加使得能够识别代理的(当前)状况的信息的策略。通过根据第二策略确定行为,可以将适当的行为确定为代理要返回到已知地点的行为。结果,代理可以高效地返回到已知地点。
具体地,在根据第二策略确定行为中,行为确定部分24将下述行为确定为下一个行为:所述行为进行从来自状态识别部分23的当前状况状态系列的一个或更多个候选的最后状态st向作为紧邻最后状态st在前的状态的紧邻在前的状态st-1的状态转移,例如如图48中所示。
图49是帮助说明一种根据第二策略来确定行为的处理的流程图,所述处理由图4中的行为确定部分24在图44中的步骤S306中执行。
在步骤S351中,行为确定部分24选择来自状态识别部分23(图4)的当前状况状态系列的一个或更多个候选的一个候选作为感兴趣的状态系列,该候选还没有被设置为注意力将要转向其的感兴趣的状态系列。然后处理进行到步骤S352。
在这种情况下,当来自状态识别部分23的当前状况状态系列的候选的系列长度是1,从而没有紧邻最后状态在前的紧邻在前状态时,行为确定部分24在执行步骤S351的处理之前参照模型存储部分22中存储的扩展HMM(扩展HMM的状态转移概率),并且获得一个状态作为转移目的地,可以从这个状态向来自状态识别部分23的当前状况状态系列的一个或更多个候选的每一个的最后状态进行状态转移。
然后行为确定部分24将通过布置所述状态而获得的状态系列作为转移目的地,并且将最后状态作为当前状况状态系列的候选,可以从这个被布置的状态向来自状态识别部分23的当前状况状态系列的一个或更多个候选的每个的最后状态进行状态转移。这对于后面描述的图51同样成立。
在步骤S352中,行为确定部分24根据模型存储部分22中存储的扩展HMM获得针对每个行为Um从感兴趣的状态系列的最后状态向最后状态紧邻在前的紧邻在前状态的状态转移的状态转移概率作为行为适合度,所述行为适合度用于指示与感兴趣的状态系列相关地执行行为Um(根据第二策略)的适合度。
具体地,行为确定部分24获得从最后状态Si向紧邻在前状态Sj的状态转移的状态转移概率aij(Um)作为关于行为Um的行为适合度,所述状态转移是当执行行为Um时进行的。
然后处理从步骤S352进行到步骤S353,在步骤S353中,行为确定部分24将关于在M(种)行为U1至UM中的、除了其行为适合度是最大值的行为之外的行为获得的行为适合度设置为0.0。
即,通过将关于除了其行为适合度是最大值的行为之外的行为获得的行为适合度设置为0.0,从而行为确定部分24选择其行为适合度最大的行为作为要根据第二策略与感兴趣的状态系列相关地执行的下一个行为的候选。
在步骤S353后,处理进行到步骤S354,在步骤S354中,行为确定部分24确定是否已经将当前状况状态系列的所有候选设置为感兴趣的状态系列。
当在步骤S354中确定还没有将当前状况状态系列的所有候选设置为感兴趣的状态系列时,处理返回到步骤S351。然后,在步骤S351中,行为确定部分24从来自状态识别部分23的当前状况状态系列的一个或更多个候选中将选择一个还没有被设置为感兴趣的状态系列的候选作为新的感兴趣的状态系列。其后重复类似的处理。
当在步骤S354中确定已经将当前状况状态系列的所有候选者设置为感兴趣的状态系列时,处理进行到步骤S355,在步骤S355中,行为确定部分24根据关于每个行为Um的行为适合度从下一个行为的候选中确定下一个行为,就像图47中的步骤S345中那样,所述行为适合度是关于来自状态识别部分23的当前状况状态系列的一个或更多个候选的每一个获得的。然后处理返回。
当如上所述根据第二策略确定行为时,代理执行从折回代理采取的路径开始的行为。结果,增加了使能识别代理的状况的信息(观察值)。
因此,根据第二策略,当代理在未知状况下时可以使代理执行适当的行为,并且期望代理执行返回已知地点的行为。
图50是帮助说明根据第三策略确定行为的概要的图。
第三策略是用于增加在扩展HMM中未获得的未知状况的信息的策略。通过根据第三策略来确定行为,可以将适当的行为确定为代理探索未知地点的行为。结果,代理可以高效地探索未知地点。
具体地,在根据第三策略确定行为中,行为确定部分24将下述行为确定为下一个行为:所述行为进行除了从来自状态识别部分23的当前状况状态系列的一个或更多个候选的最后状态st向作为紧邻最后状态st在前的状态的紧邻在前的状态st-1的状态转移之外的状态转移,例如如图50中所示。
图51是帮助说明根据第三策略确定行为的处理的流程图,所述处理由图4中的行为确定部分24在图44中的步骤S306中执行。
在步骤S361中,行为确定部分24选择来自状态识别部分23(图4)的当前状况状态系列的一个或更多个候选的一个候选作为感兴趣的状态系列,这个候选还没有被设置为注意力要转向其的感兴趣的状态系列。然后处理进行到步骤S362。
在步骤S362中,行为确定部分24根据模型存储部分22中存储的扩展HMM获得针对每个行为Um从感兴趣的状态系列的最后状态向最后状态紧邻在前的紧邻在前状态的状态转移的状态转移概率来作为行为适合度,所述行为适合度用于指示与感兴趣的状态系列相关地执行行为Um(根据第三策略)的适合度。
具体地,行为确定部分24获得从最后状态Si向紧邻在前状态Sj的状态转移的状态转移概率aij(Um)作为关于行为Um的行为适合度,所述状态转移是当执行行为Um时进行的。
然后处理从步骤S362进行到步骤S363,在步骤S363中,行为确定部分24将在M(种)行为U1至UM中其行为适合度是最大值的行为检测为关于感兴趣的状态系列实现将状态返回至紧邻在前的状态的状态转移的行为(以下也将所述行为称为返回行为)。
在步骤S363后,处理进行到步骤S364,在步骤S364中,行为确定部分24确定是否已经将当前状况状态系列的所有候选设置为感兴趣的状态系列。
当在步骤S364中确定还没有将当前状况状态系列的所有候选设置为感兴趣的状态系列时,处理返回到步骤S361。然后,在步骤S361中,行为确定部分24从来自状态识别部分23的当前状况状态系列的一个或更多个候选中选择一个还没有被设置为感兴趣的状态系列的候选作为新的感兴趣的状态系列。其后重复类似的处理。
当在步骤S364中确定已经将当前状况状态系列的所有候选设置为感兴趣的状态系列时,行为确定部分24复位将当前状况状态系列的所有候选作为感兴趣的状态系列的选择。然后处理进行到步骤S365。
在步骤S365中,像在步骤S361中那样,行为确定部分24选择来自状态识别部分23的当前状况状态系列的一个或更多个候选的一个候选作为感兴趣的状态系列,所述候选还没有被设置为注意力要转向其的感兴趣的状态系列。然后处理进行到步骤S366。
在步骤S366中,像在图47中的步骤S342中那样,行为确定部分24根据模型存储部分22中存储的扩展HMM获得针对每个行为Um以感兴趣的状态系列的最后状态作为转移源的状态转移的状态转移概率的和来作为行为适合度,所述行为适合度用于指示与感兴趣的状态系列相关地执行行为Um(根据第三策略)的适合度。
其后处理从步骤S366进行到步骤S367,在步骤S367中,行为确定部分24将关于在已经获得其行为适合度的M个(种)行为U1到UM中的、其行为适合度低于阈值的行为Um而获得的行为适合度和关于返回行为获得的行为适合度设置为0.0。
即,通过将关于其行为适合度低于阈值的行为Um获得的行为适合度设置为0.0,从而行为确定部分24选择其行为适合度等于或者高于阈值的行为Um作为要关于感兴趣的状态系列根据第三策略执行的下一个行为的候选。
此外,通过将关于在与感兴趣的状态系列相关地选择的、其行为适合度等于或者高于阈值的行为Um中的返回行为获得的行为适合度设置为0.0,从而行为确定部分24选择除了返回行为之外的行为作为要与感兴趣的状态系列相关地根据第三策略执行的下一个行为的候选。
在步骤S367后,处理进行到步骤S368,在步骤S368中,行为确定部分24确定是否已经将当前状况状态系列的所有候选设置为感兴趣的状态系列。
当在步骤S368中确定还没有将当前状况状态系列的所有候选设置为感兴趣的状态系列时,处理返回到步骤S365。然后,在步骤S365中,行为确定部分24从来自状态识别部分23的当前状况状态系列的一个或更多个候选中选择一个还没有被设置为感兴趣的状态系列的候选作为新的感兴趣的状态系列。其后重复类似的处理。
当在步骤S368中确定已经将当前状况状态系列的所有候选设置为感兴趣的状态系列时,处理进行到步骤S369,在步骤S369中,行为确定部分24根据关于每个行为Um的行为适合度从下一个行为的候选中确定下一个行为,就像图47中的步骤S345中那样,所述行为适合度是关于来自状态识别部分23的当前状况状态系列的一个或更多个候选的每一个获得的。然后处理返回。
当如上所述根据第三策略确定行为时,代理执行除了返回行为之外的行为,即探索未知地点的行为。结果,增加了关于在扩展HMM中未获得的未知状况的信息。
因此,根据第三策略,当代理处于未知状况时,可以使代理执行适当的行为,并且期望代理探索未知地点。
如上所述,代理根据扩展HMM将当前状况状态系列的候选计算为使代理到达当前状况的状态系列,并且使用当前状况状态系列的候选根据预定策略确定接下来要由代理执行的行为。由此即使当代理未被提供有要执行的行为的诸如用于计算代理的报酬的报酬函数等的度量时,代理也可以根据在扩展HMM中获得的经历来确定行为。
顺便提及,作为用于消除状况的模糊的行为确定方法,例如,日本待审专利公开第2008-186326号描述了一种通过一个报酬函数来确定行为的方法。
图44中的识别行为模式中的处理与日本待审专利公开第2008-186326号的行为确定方法的不同之处例如在于:根据扩展HMM来计算作为使代理到达当前状况的状态系列的当前状况状态系列的候选,并且使用当前状况状态系列的候选确定行为;可以在已经由代理经历过的状态系列中获得具有最长系列长度q的、其中观察到用于识别的观察值系列和行为系列的状态系列作为当前状况状态系列的候选(图46);以及,可以改变(从多个策略中选择)在行为确定时遵循的策略,如下面将要描述的。
如上所述,第二策略增加了使得能够识别代理的状况的信息,并且第三策略增加了关于在扩展HMM中未获得的未知状况的信息。因此第二和第三策略是增加某些信息的策略。
除了参照图48至51所述的方法之外,还可以如下地进行根据第二和第三策略从而增加某些信息的行为的确定。
通过式(30)来表达当代理在某一时刻t执行行为Um时观察到观察值O的概率Pm(O)。
顺便提及,ρi表示在时刻t处位于状态Si中的状态概率。
现在假定其发生概率由概率Pm(O)表达的信息量被表示为I(Pm(O)),通过式(31)来表达当根据增加某些信息的策略来确定行为时行为Um′的下标m′。
式(31)中的argmax{I(Pm(O))}表示在行为Um的下标m中最大化括号中的信息量I(Pm(O))的下标m′。
现在假定使得能够识别代理的状况的信息(以下也将所述信息称为识别使能信息)被用作信息,则根据式(31)来确定行为Um′是根据增加识别使能信息的第二策略来确定行为。
另外,假定关于在扩展HMM中未获得的未知状况的信息(以下也将所述信息称为未知状况信息)被用作信息,则根据式(31)来确定行为Um′是根据增加未知状况信息的第三策略来确定行为。
假定其发生概率由概率Pm(O)表达的信息的熵被表示为HO(Pm),则可以通过下式来等价地表达式(31)。
即,可以通过式(32)表达熵HO(Pm)。
当式(32)的熵HO(Pm)较大时,观察到相应观察值O的概率Pm(O)是均匀的。因此,增大了使得不知道观察到哪个观察值或者继而不知道代理在哪里的模糊性,并且可以说增大了获得代理未知的信息或者关于未知世界的信息的可能性。
因此,由于通过使熵HO(Pm)大而增加了未知状况信息,所以当根据增加未知状况信息的第三策略来确定行为时的式(31)可以由最大化熵HO(Pm)的式(33)等价地表达。
式(33)中的argmax{HO(Pm)}表示在行为Um的下标m中最大化括号中的熵HO(Pm)的下标m′。
另一方面,当式(32)的熵HO(Pm)较小时,观察到相应观察值O的概率Pm(O)仅在特定观察值处为高。因此,消除了使得不知道观察到哪个观察值或者继而不知道代理在哪里的模糊性,并且容易确定代理的位置。
因此,由于通过使熵HO(Pm)小而增加了识别使能信息,所以当根据增大识别使能信息的第二策略来确定行为时的式(31)可以由最小化熵HO(Pm)的式(34)等价地表达。
式(34)中的argmin{HO(Pm)}表示在行为Um的下标m中最小化括号中的熵HO(Pm)的下标m′。
顺便提及,另外,根据概率Pm(O)的最大值和阈值之间在幅度上的关系,例如可以将最大化概率Pm(O)的行为Um确定为下一个行为。
当概率Pm(O)的最大值大于阈值(等于或者大于阈值)时将最大化概率Pm(O)的行为Um确定为下一个行为是为了消除模糊性而确定行为,即根据第二策略来确定行为。
另一方面,当概率Pm(O)的最大值等于或者小于阈值(小于阈值)时将最大化概率Pm(O)的行为Um确定为下一个行为是为了提高模糊性而确定行为,即根据第三策略来确定行为。
以上,使用当代理在某一时刻t处执行行为Um时观察到观察值的概率Pm(O)来确定行为。另外,可以使用当代理在某一时刻t处执行行为Um时从状态向状态Sj进行状态转移的式(35)中的概率Pmj来确定行为。
具体地,通过式(36)表达当根据增大通过概率Pmj来表示其发生概率的信息量I(Pmj)的策略确定行为时的行为Um′的下标m′。
式(36)中的argmax{I(Pmj)}表示行为Um的下标m中最大化括号中的信息量I(Pmj)的下标m′。
现在假定将识别使能信息用作信息,则根据式(36)来确定行为Um′是根据增大识别使能信息的第二策略来确定行为。
另外,假定将未知状况信息用作信息,则根据式(36)来确定行为Um′是根据增大未知状况信息的第三策略来确定行为。
假定通过概率Pmj来表达其发生概率的信息的熵被表示为Hj(Pm),式(36)可以等价地由下式表达。
即,可以通过式(37)来表达熵Hj(Pm)。
当式(37)的熵Hj(Pm)较大时,从状态Si向状态Sj进行相应的状态转移的概率Pmj是均匀的。因此,增大了使得不知道进行哪个状态转移或者继而不知道代理在哪里的模糊性,并且增大了获得关于代理未知的未知世界的信息的可能性。
因此,由于通过使熵Hj(Pm)大而增大了未知状况信息,所以当根据增加未知状况信息的第三策略来确定行为时的式(36)可以由最大化熵Hj(Pm)的式(38)等价地表达。
式(38)中的argmax{Hj(Pm)}表示在行为Um的下标m中最大化括号中的熵Hj(Pm)的下标m′。
另一方面,当式(37)的熵Hj(Pm)较小时,从状态Si向状态Sj进行相应状态转移的概率Pmj仅在特定状态转移时为高。因此,消除了使得不知道观察到哪个观察值或者继而不知道代理在哪里的模糊性,并且容易确定代理的位置。
因此,由于通过使熵Hj(Pm)小而增大了识别使能信息,所以当根据增大识别使能信息的第二策略来确定行为时的式(36)可以由最小化熵Hj(Pm)的式(39)等价地表达。
式(39)中的argmin{Hj(Pm)}表示在行为Um的下标m中最小化括号中的熵Hj(Pm)的下标m′。
顺便提及,另外,根据概率Pmj的最大值和阈值之间在幅度上的关系,例如可以将最大化概率Pmj的行为Um确定为下一个行为。
当概率Pmj的最大值大于阈值(等于或者大于阈值)时将最大化概率Pmj的行为Um确定为下一个行为是为了消除模糊性而确定行为,即根据第二策略来确定行为。
另一方面,当概率Pmj的最大值等于或者小于阈值(小于阈值)时将最大化概率Pmj的行为Um确定为下一个行为是为了提高模糊性而确定行为,即根据第三策略来确定行为。
另外,可以使用当观察到观察值O时处于状态SX中的后验概率P(X|O)来进行使得消除模糊性的行为确定,即根据第二策略的行为确定。
即,通过式(40)来表达后验概率P(X|O)。
假定后验概率P(X|O)的熵被表示为H(P(X|O)),可以通过确定使得减小熵H(P(X|O))的行为来进行根据第二策略的行为确定。
即,可以通过根据式(41)确定行为Um来进行根据第二策略的行为确定。
式(41)中的argmin{}表示在行为Um的下标m中最小化括号中的值的下标m′。
式(41)中的argmin{}的括号中的∑P(O)H(P(X|O))是观察到观察值O的概率P(O)和当观察到观察值O时处于状态SX中的后验概率P(X|O)的熵H(P(X|O))的乘积的总和,其中观察值O从观察值O1改变到观察值OK,并且∑P(O)H(P(X|O))表示当执行行为Um时观察到观察值O1到OK的整个熵。
根据式(41),最小化熵∑P(O)H(P(X|O))的行为,即提高唯一地确定观察值O的可能性的行为被确定为下一个行为。
因此,根据式(41)确定行为是为了消除模糊性而确定行为,即根据第二策略来确定行为。
另外,可以进行使得提高模糊性的行为确定,即根据第三策略的行为确定,以便最大化减少量,假定所述减少量是未知状况信息的量,所述减少量表示下述量:后验概率P(X|O)的熵H(P(X|O))相对于处于状态SX中的先验概率P(X)的熵H(P(X))降低这个量。
即通过式(42)来表达先验概率P(X)。
可以根据式(43)来确定最大化后验概率P(X|O)的熵H(P(X|O))相对于处于状态SX中的先验概率P(X)的熵H(P(X))降低的量的行为Um′。
式(43)中的argmax{}表示行为Um的下标m中最大化括号中的值的下标m′。
根据式(43),将通过将观察到观察值O的概率P(O)乘以先验概率P(X)的熵H(P(X))和当执行行为Um时处于状态SX中并且观察到观察值O的后验概率P(X|O)的熵H(P(X|O))之间的差H(P(X))-H(P(X|O))而获得的乘积值P(O)(H(P(X))-H(P(X|O)))的总和∑P(O)(H(P(X))-H(P(X|O)))作为通过执行行为Um而增加的未知状况信息的量,其中观察值O从观察值O1改变到观察值OK,先验概率P(X)是当观察值O未知时处于状态SX中的状态概率。最大化未知状况信息的量的行为被确定为下一个行为。
[策略的选择]
代理可以根据参考图47至51所述的第一到第三策略来确定行为。在确定行为时要遵循的策略不仅可以预先设置,而且可以从作为多个策略的第一到第三策略中自适应地选择。
图52是帮助说明当代理根据多个策略确定行为时选择要遵循的策略的处理的流程图。
根据第二策略,确定使得增加识别使能信息并且消除模糊性的行为,即使代理返回已知地点(区域)的行为。
另一方面,根据第三策略,确定使得增加未知状况信息并且提高模糊性的行为,即使代理探索未知地点的行为。
顺便提及,根据第一策略,不知道代理返回已知地点还是探索未知地点,但是执行由代理在与代理的当前状况类似的已知状况中执行的行为。
为了广泛地获得行为环境的结构,即可以说是为了增加代理的知识(已知世界),必须确定使得代理探索未知地点的行为。
另一方面,为了代理获得未知地点作为已知地点,代理需要从未知地点返回到已知地点,并且学习扩展HMM(追加学习),以将未知地点与已知地点连接。因此,为了代理获得未知地点作为已知地点,必须确定使代理返回到已知地点的行为。
通过以良好平衡(well-balanced)的方式确定使代理探索未知地点的行为并且确定使代理返回到已知地点的行为,可以高效地在扩展HMM中建模行为环境的整个结构。
因此,代理可以根据从代理的状况变为未知状况起的过去时间从第二和第三策略中选择确定行为时要遵循的策略,如图52中所示。
在步骤S381中,行为确定部分24(图4)根据状态识别部分23中的当前状况的识别结果来获得从未知状况起的过去时间(以下也将所述过去时间称为未知状况过去时间)。然后处理进行到步骤S382。
在这种情况下,未知状况过去时间是在状态识别部分23中连续获得当前状况是未知状况的识别结果的次数。当获得当前状况是已知状况的识别结果时,未知状况过去时间被复位为0。因此,当当前状况不是未知状况时(当当前状况是已知状况时),未知状况过去时间是0。
在步骤S382中,行为确定部分24确定未知状况过去时间是否大于预定阈值。
当在步骤S382中确定未知状况过去时间不大于预定阈值时,即当已经过去了代理的状况是未知状况的不太多的时间时,处理进行到步骤S383,在步骤S383中,行为确定部分24从第二和第三策略中选择用于增加未知状况信息的第三策略作为在确定行为时要遵循的策略。然后处理返回到步骤S381。
当在步骤S382中确定未知状况过去时间大于预定阈值时,即当已经过去了代理的状况是未知状况的相当多的时间时,处理进行到步骤S384,在步骤S384中,行为确定部分24从第二和第三策略中选择用于增加识别使能信息的第二策略作为在确定行为时要遵循的策略。然后处理返回到步骤S381。
在图52中,根据从代理的状况变为未知状况起的过去时间来选择在确定行为时要遵循的策略。另外,可以根据例如已知状况的时间或者未知状况的时间与预定邻近时间的比率来选择在确定行为时要遵循的策略。
图53是帮助说明当根据已知状况的时间或者未知状况的时间与预定邻近时间的比率确定行为时选择要遵循的策略的处理的流程图。
在步骤S391中,行为确定部分24(图4)从状态识别部分23获得针对预定邻近时间的状况的识别结果,并且根据识别结果计算状况是未知状况的比率(以下也将所述比率称为未知比率)。然后处理进行到步骤S392。
在步骤S392中,行为确定部分24确定未知比率是否大于预定阈值。
当在步骤S392中确定未知比率不大于预定阈值时,即当代理的状况是未知状况的比率不很高时,处理进行到步骤S393,在步骤S393中,行为确定部分24从第二和第三策略中选择用于增加未知状况信息的第三策略作为在确定行为时要遵循的策略。然后处理进行到步骤S391。
当在步骤S392中确定未知比率大于预定阈值时,即当代理的状况是未知状况的比率很高时,处理进行到步骤S394,在步骤S394中,行为确定部分24从第二和第三策略中选择用于增加识别使能信息的第二策略作为在确定行为时要遵循的策略。然后处理返回到步骤S391。
顺便提及,虽然在图53中根据针对预定邻近时间的状况的识别结果中状况是未知状况的比率(未知比率)来选择策略,但是可以根据针对预定邻近时间的状况的识别结果中状况是已知状况的比率(以下也将这个比率称为已知比率)来选择策略。
在根据已知比率来进行策略选择的情况下,当已知比率高于阈值时选择第三策略作为在确定行为时的策略,或者当已知比率不高于阈值时选择第二策略作为在确定行为时的策略。
另外,在图52的步骤S383中和图53的步骤S393中,例如可以以一次对多次的比率选择第一策略取代第三策略作为在确定行为时的策略。
通过如此选择策略,可以在扩展HMM中高效地建模行为环境的整个结构。
[应用本发明的计算机的描述]
接着,上述系列处理不仅可以通过硬件,而且通过软件执行。当通过软件执行所述系列处理时,构成软件的程序安装到通用计算机等上。
图54示出了其上安装了用于执行上述系列处理的程序的计算机的实施例的配置的示例。
程序可以预先记录在作为计算机中包括的记录介质的硬盘105或者ROM 103上。
或者,程序可以存储(记录)在可移除记录介质111上。这样的可移除记录介质111可以被提供作为所谓的套装软件。在这种情况下,可移除记录介质111包括例如软盘、CD-ROM(致密盘只读存储器)、MO(磁光盘)、DVD(数字通用盘)、磁盘和半导体存储器。
除了如上所述从可移除记录介质111安装到计算机上之外,程序还可以经由通信网络或者广播网络下载到计算机,并且安装到内置的硬盘105上。具体地,程序可以从下载站点例如通过经由用于数字卫星广播的人造卫星的无线电传送到计算机,或者通过经由诸如局域网和互联网等网络的连线传送到计算机。
计算机包括CPU(中央处理单元)102。CPU 102经由总线101与输入输出接口110连接。
当CPU 102经由输入输出接口110例如通过用户对输入部分107的操作而被提供命令时,CPU 102根据命令运行存储在ROM(只读存储器)103中的程序。或者,CPU 102将硬盘105中存储的程序加载到RAM(随机存取存储器)104中,然后运行该程序。
由此CPU 102执行根据上述流程图的处理或者通过上述方框图的配置执行的处理。根据需要,然后CPU 102例如从输出部分106输出处理结果、从通信部分108发送结果、或者经由输入输出接口110将结果记录在硬盘105上。
顺便提及,输入部分107包括键盘、鼠标和麦克风等。输出部分106包括LCD(液晶显示器)和扬声器等。
在本说明书中,由计算机根据程序执行的处理不一定必须以被描述为流程图的顺序按照时序来执行。即,由计算机根据程序执行的处理也包括并行或者单独地执行的处理(例如并行处理或者基于对象的处理)
另外,程序可以由一个计算机(处理器)处理,或者可以进行由多个计算机执行的分布式处理。此外,程序可以被传送到远程计算机并且由远程计算机运行。
应当注意,本发明的实施例不限于上述实施例,并且在不背离本发明的精神的情况下,可以进行各种改变。
本申请包含与在2009年6月11日提交于日本专利局的日本在先专利申请JP 2009-140064中公开的主题相关的主题,所述日本在先专利申请JP 2009-140064的全部内容通过引用合并于此。
Claims (20)
1.一种信息处理设备,包括:
学习装置,用于使用由能够执行行为的代理执行的行为和当所述代理已经执行了行为时在所述代理中观察到的观察值学习由以下定义的状态转移概率模型:
状态由于由所述代理执行的行为而进行状态转移的每个所述行为的状态转移概率;以及
从所述状态观察到预定观察值的观察概率。
2.根据权利要求1所述的信息处理设备,
其中,所述学习装置在在所述状态转移概率模型的一个状态中观察到一个观察值的一个状态一个观察值约束下学习所述状态转移概率模型。
3.根据权利要求2所述的信息处理设备,
其中,所述学习装置通过重复下面所述进行满足所述一个状态一个观察值约束的学习,直到检测不到划分对象状态为止:
在学习后的所述状态转移概率模型中检测其中观察到多个观察值的状态作为要划分的划分对象状态;
将所述划分对象状态划分为多个状态,在所述多个状态的每一个中,观察到所述多个观察值之一;并且
在所述划分对象状态被划分为所述多个状态后,重新学习所述状态转移概率模型。
4.根据权利要求3所述的信息处理设备,
其中,所述学习装置通过下面所述将所述划分对象状态划分为多个划分后状态:
将所述多个观察值之一分配给通过划分所述划分对象状态而获得的划分后状态;
将在所述划分后状态中观察到被分配给所述划分后状态的观察值的观察概率设置为1,并且将在所述划分后状态中观察到其他观察值的观察概率设置为0;并且
将以所述划分后状态作为转移源的状态转移的状态转移概率设置为以所述划分对象状态作为转移源的状态转移的状态转移概率,并且将以所述划分后状态作为转移目的地的状态转移的状态转移概率设置为通过以被分配给所述划分后状态的观察值在所述划分对象状态中的观察概率修正以所述划分对象状态为转移目的地的状态转移的状态转移概率所获得的值。
5.根据权利要求2所述的信息处理设备,
其中,当在执行预定行为时存在多个状态作为状态转移的转移源状态或者转移目的地状态、并且在所述多个状态的每一个中观察到相同的观察值时,所述学习装置将所述多个状态合并为一个状态。
6.根据权利要求5所述的信息处理设备,
其中,所述学习装置通过下面所述将作为合并对象状态的多个状态合并为代表性状态:
当在执行预定行为时在状态转移的所述状态转移概率模型中存在多个状态作为转移源状态或者转移源目的地状态、并且在多个相应状态中观察到的具有最大所述观察概率的观察值彼此一致时,检测所述多个状态作为要合并的所述合并对象状态;
将当作为所述合并对象状态的多个状态被合并为所述一个状态时在作为所述一个状态的所述代表性状态中观察到每个观察值的观察概率设置为在作为所述合并对象状态的多个相应状态中观察到每个观察值的观察概率的平均值,并且将在除了所述代表性状态之外的所述合并对象状态中观察到每个观察值的观察概率设置为0;
将以所述代表性状态作为转移源的状态转移的状态转移概率设置为以作为所述合并对象状态的多个相应状态作为转移源的状态转移的状态转移概率的平均值,并且将以所述代表性状态作为转移目的地的状态转移的状态转移概率设置为以作为所述合并对象状态的多个相应状态作为转移目的地的状态转移的状态转移概率的和;并且
将以除了所述代表性状态之外的所述合并对象状态作为转移源的状态转移的状态转移概率和以除了所述代表性状态之外的所述合并对象状态作为转移目的地的状态转移的状态转移概率设置为0。
7.根据权利要求6所述的信息处理设备,
其中,所述学习装置通过重复下面所述执行满足所述一个状态一个观察值约束的学习,直到检测不到合并对象状态为止:
从学习后的所述状态转移概率模型中检测多个状态作为所述合并对象状态;
将作为所述合并对象状态的多个状态合并为所述代表性状态;并且
在合并后,重新学习所述状态转移概率模型。
8.根据权利要求2所述的信息处理设备,
其中,所述状态转移概率模型是扩展HMM(隐马尔可夫模型),通过将HMM的状态转移概率扩展到由所述代理执行的每个行为的状态转移概率而获得所述扩展HMM,并且
所述学习装置执行所述扩展HMM的学习,以根据Baum-Welch重评估法估计关于每个行为的所述状态转移概率和所述观察概率。
9.一种信息处理设备的信息处理方法,所述信息处理方法包括步骤:
使用由能够执行行为的代理执行的行为和当所述代理已经执行了行为时在所述代理中观察到的观察值来学习由以下定义的状态转移概率模型:
状态由于由所述代理执行的行为而进行状态转移的每个所述行为的状态转移概率;以及
从所述状态观察到预定观察值的观察概率。
10.一种程序,用于使计算机用作:
学习装置,用于使用由能够执行行为的代理执行的行为和当所述代理已经执行了行为时在所述代理中观察到的观察值来学习由以下定义的状态转移概率模型:
状态由于由所述代理执行的行为而进行状态转移的每个所述行为的状态转移概率;以及
从所述状态观察到预定观察值的观察概率。
11.一种信息处理设备,包括:
状态识别装置,用于根据状态转移概率模型,使用由能够执行行为的代理执行的行为和当所述代理已经执行了行为时在所述代理中观察到的观察值来识别所述代理的当前状况,并且获得当前状态作为所述状态转移概率模型的状态,所述状态转移概率模型的状态对应于所述当前状况,所述状态转移概率模型是通过使用由所述代理执行的行为和当所述代理已经执行了行为时在所述代理中观察到的观察值来学习由以下定义的状态转移概率模型而获得的:
状态由于由所述代理执行的行为而进行状态转移的每个所述行为的状态转移概率;以及
从所述状态观察到预定观察值的观察概率;
目标确定装置,用于将所述状态转移概率模型的状态之一确定为被设置为目标的目标状态;以及
行为确定装置,用于根据所述状态转移概率模型来计算行为计划为最大化从所述当前状态向所述目标状态的状态转移的可能性的行为系列,并且根据所述行为计划确定接下来要由所述代理执行的行为。
12.根据权利要求11所述的信息处理设备,
其中,所述状态识别装置还更新用于抑制状态转移的抑制因子,以便关于在从紧邻在所述当前状态之前的紧邻在前状态向所述当前状态的状态转移时由所述代理执行的行为,抑制在所述紧邻在前状态和除了所述当前状态之外的状态之间的状态转移,并且
所述行为确定装置使用所述抑制因子来修正所述状态转移概率模型的所述状态转移概率,并且根据修正后的所述状态转移概率来计算所述行为计划。
13.根据权利要求12所述的信息处理设备,
其中,所述状态识别装置还更新所述抑制因子,以便随着时间的经过而放开所述状态转移的抑制。
14.根据权利要求11所述的信息处理设备,还包括:
开放端检测装置,用于检测开放端为在可以与作为转移源的其中观察到预定观察值的状态进行的状态转移中具有还没有执行的状态转移的其他状态,在所述其他状态中观察到与所述预定观察值相同的观察值,
其中,所述目标确定装置将所述开放端确定为所述目标状态。
15.根据权利要求14所述的信息处理设备,
其中,所述开放端检测装置
使用所述状态转移概率和所述观察概率来获得作为当观察到每个观察值时所述代理执行每个行为的概率的行为概率,
通过将所述行为概率乘以所述观察概率,计算基于观察概率的行为概率作为所述代理在其中观察到每个观察值的每个状态中执行每个行为的概率,
通过关于每个状态将以所述状态作为在每个行为中的转移源的状态转移的所述状态转移概率相加在一起,计算基于状态转移概率的行为概率作为所述代理在每个状态中执行每个行为的概率,并且
将其中基于所述观察概率的行为概率和基于所述状态转移概率的行为概率之间的差等于或者大于预定阈值的状态检测为所述开放端。
16.根据权利要求11所述的信息处理设备,还包括:
分支结构检测装置,用于根据所述状态转移概率检测分支结构的状态为下述状态:当执行一个行为时,从这个状态可以进行向不同状态的状态转移,
其中,所述目标确定装置将所述分支结构的状态确定为所述目标状态。
17.一种信息处理设备的信息处理方法,所述信息处理方法包括以下步骤:
根据状态转移概率模型,使用由能够执行行为的代理执行的行为和当所述代理已经执行了行为时在所述代理中观察到的观察值来识别所述代理的当前状况,并且获得当前状态作为所述状态转移概率模型的状态,所述状态转移概率模型的状态对应于所述当前状况,所述状态转移概率模型是通过使用由所述代理执行的行为和当所述代理已经执行了行为时在所述代理中观察到的观察值来学习由以下定义的所述状态转移概率模型而获得的:
状态由于由所述代理执行的行为而进行状态转移的每个所述行为的状态转移概率;以及
从所述状态观察到预定观察值的观察概率;
将所述状态转移概率模型的状态之一确定为被设置为目标的目标状态;并且
根据所述状态转移概率模型计算行为计划为最大化从所述当前状态向所述目标状态的状态转移的可能性的行为系列,并且根据所述行为计划确定接下来要由所述代理执行的行为。
18.一种程序,用于使计算机用作:
状态识别装置,用于根据状态转移概率模型,使用由能够执行行为的代理执行的行为和当所述代理已经执行了行为时在所述代理中观察到的观察值来识别所述代理的当前状况,并且获得当前状态作为所述状态转移概率模型的状态,所述状态转移概率模型的状态对应于所述当前状况,所述状态转移概率模型是通过使用由所述代理执行的行为和当所述代理已经执行了行为时在所述代理中观察到的观察值来学习由以下定义的状态转移概率模型而获得的:
状态由于由所述代理执行的行为而进行状态转移的每个所述行为的状态转移概率;以及
从所述状态观察到预定观察值的观察概率;
目标确定装置,用于将所述状态转移概率模型的状态之一确定为被设置为目标的目标状态;以及
行为确定装置,用于根据所述状态转移概率模型来计算行为计划为最大化从所述当前状态向所述目标状态的状态转移的可能性的行为系列,并且根据所述行为计划确定接下来要由所述代理执行的行为。
19.一种信息处理设备,包括:
学习部分,被配置为使用由能够执行行为的代理执行的行为和当所述代理已经执行了行为时在所述代理中观察到的观察值来学习由以下定义的状态转移概率模型:
状态由于由所述代理执行的行为而进行状态转移的每个所述行为的状态转移概率;以及
从所述状态观察到预定观察值的观察概率。
20.一种信息处理设备,包括:
状态识别部分,被配置为根据状态转移概率模型,使用由能够执行行为的代理执行的行为和当所述代理已经执行了行为时在所述代理中观察到的观察值来识别所述代理的当前状况,并且获得当前状态作为所述状态转移概率模型的状态,所述状态转移概率模型的状态对应于所述当前状况,所述状态转移概率模型是通过使用由所述代理执行的行为和当所述代理已经执行了行为时在所述代理中观察到的观察值来学习由以下定义的状态转移概率模型而获得的:
状态由于由所述代理执行的行为而进行状态转移的每个所述行为的状态转移概率;以及
从所述状态观察到预定观察值的观察概率;
目标确定部分,被配置为将所述状态转移概率模型的状态之一确定为被设置为目标的目标状态;以及
行为确定部分,被配置为根据所述状态转移概率模型来计算行为计划为最大化从所述当前状态向所述目标状态的状态转移的可能性的行为系列,并且根据所述行为计划确定接下来要由所述代理执行的行为。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009-140064 | 2009-06-11 | ||
JP2009140064A JP5440840B2 (ja) | 2009-06-11 | 2009-06-11 | 情報処理装置、情報処理方法、及び、プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101923663A true CN101923663A (zh) | 2010-12-22 |
CN101923663B CN101923663B (zh) | 2015-08-12 |
Family
ID=43307219
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010199038.8A Active CN101923663B (zh) | 2009-06-11 | 2010-06-04 | 信息处理设备、信息处理方法和程序 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8527434B2 (zh) |
JP (1) | JP5440840B2 (zh) |
CN (1) | CN101923663B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110832284A (zh) * | 2017-08-24 | 2020-02-21 | 北京嘀嘀无限科技发展有限公司 | 用于目的地预测的系统和方法 |
CN112989278A (zh) * | 2019-12-12 | 2021-06-18 | 北京沃东天骏信息技术有限公司 | 确定状态数据的方法和装置 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110320228A1 (en) * | 2010-06-24 | 2011-12-29 | Bmc Software, Inc. | Automated Generation of Markov Chains for Use in Information Technology |
JP2013058059A (ja) * | 2011-09-08 | 2013-03-28 | Sony Corp | 情報処理装置、情報処理方法、及び、プログラム |
JP5879899B2 (ja) * | 2011-10-12 | 2016-03-08 | ソニー株式会社 | 情報処理装置、情報処理方法、及びプログラム |
US9283678B2 (en) * | 2014-07-16 | 2016-03-15 | Google Inc. | Virtual safety cages for robotic devices |
CN104777433B (zh) * | 2015-05-04 | 2018-04-27 | 中颖电子股份有限公司 | 基于隐马尔可夫模型的锂离子电池剩余容量估计方法 |
US11062225B2 (en) * | 2016-12-09 | 2021-07-13 | Adobe Inc. | Techniques for providing sequential recommendations to users |
DE102017200196B3 (de) * | 2017-01-09 | 2018-04-05 | Ford Global Technologies, Llc | Steuern von Parkraum für Fahrzeuge |
US20190184561A1 (en) * | 2017-12-15 | 2019-06-20 | The Regents Of The University Of California | Machine Learning based Fixed-Time Optimal Path Generation |
US10676022B2 (en) | 2017-12-27 | 2020-06-09 | X Development Llc | Visually indicating vehicle caution regions |
EP3753684B1 (en) * | 2019-06-21 | 2022-08-10 | Robert Bosch GmbH | Method and system for robot manipulation planning |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1716280A (zh) * | 2004-06-29 | 2006-01-04 | 索尼株式会社 | 用光学信息进行情形识别的方法及装置 |
US20060262115A1 (en) * | 2005-05-02 | 2006-11-23 | Shapiro Graham H | Statistical machine learning system and methods |
US20070265811A1 (en) * | 2006-05-12 | 2007-11-15 | International Business Machines Corporation | Using stochastic models to diagnose and predict complex system problems |
CN101410855A (zh) * | 2006-03-28 | 2009-04-15 | 爱丁堡大学评议会 | 用于自动表征一个或多个对象的行为的方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06161551A (ja) * | 1992-11-19 | 1994-06-07 | Mitsubishi Heavy Ind Ltd | 自律移動物体の障害物回避システム |
JP4525477B2 (ja) | 2005-02-23 | 2010-08-18 | ソニー株式会社 | 学習制御装置および学習制御方法、並びに、プログラム |
JP4406436B2 (ja) | 2006-04-26 | 2010-01-27 | 日本電信電話株式会社 | 自律移動ロボットの動作計画方法、自律移動ロボットの動作計画方法を利用した自律移動ロボットの制御方法、自律移動ロボットの動作計画装置、自律移動ロボットの動作計画プログラム及びその記録媒体、自律移動ロボットの制御プログラム |
JP5070860B2 (ja) | 2007-01-31 | 2012-11-14 | ソニー株式会社 | 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム |
JP2013058059A (ja) * | 2011-09-08 | 2013-03-28 | Sony Corp | 情報処理装置、情報処理方法、及び、プログラム |
-
2009
- 2009-06-11 JP JP2009140064A patent/JP5440840B2/ja active Active
-
2010
- 2010-06-01 US US12/791,275 patent/US8527434B2/en active Active
- 2010-06-04 CN CN201010199038.8A patent/CN101923663B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1716280A (zh) * | 2004-06-29 | 2006-01-04 | 索尼株式会社 | 用光学信息进行情形识别的方法及装置 |
US20060262115A1 (en) * | 2005-05-02 | 2006-11-23 | Shapiro Graham H | Statistical machine learning system and methods |
CN101410855A (zh) * | 2006-03-28 | 2009-04-15 | 爱丁堡大学评议会 | 用于自动表征一个或多个对象的行为的方法 |
US20070265811A1 (en) * | 2006-05-12 | 2007-11-15 | International Business Machines Corporation | Using stochastic models to diagnose and predict complex system problems |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110832284A (zh) * | 2017-08-24 | 2020-02-21 | 北京嘀嘀无限科技发展有限公司 | 用于目的地预测的系统和方法 |
CN110832284B (zh) * | 2017-08-24 | 2023-10-10 | 北京嘀嘀无限科技发展有限公司 | 用于目的地预测的系统和方法 |
CN112989278A (zh) * | 2019-12-12 | 2021-06-18 | 北京沃东天骏信息技术有限公司 | 确定状态数据的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
JP5440840B2 (ja) | 2014-03-12 |
US8527434B2 (en) | 2013-09-03 |
CN101923663B (zh) | 2015-08-12 |
US20100318479A1 (en) | 2010-12-16 |
JP2010287027A (ja) | 2010-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101923663B (zh) | 信息处理设备、信息处理方法和程序 | |
CN101923662B (zh) | 信息处理设备、信息处理方法以及程序 | |
Tuggener et al. | Automated machine learning in practice: state of the art and recent results | |
Bai et al. | A model-based reinforcement learning with adversarial training for online recommendation | |
Voloshin et al. | Empirical study of off-policy policy evaluation for reinforcement learning | |
Chatzilygeroudis et al. | Quality-diversity optimization: a novel branch of stochastic optimization | |
Guo et al. | Modeling and optimization of environment in agricultural greenhouses for improving cleaner and sustainable crop production | |
Czajkowski et al. | The role of decision tree representation in regression problems–An evolutionary perspective | |
Cheng et al. | A non-linear case-based reasoning approach for retrieval of similar cases and selection of target credits in LEED projects | |
Hamrick et al. | Combining q-learning and search with amortized value estimates | |
Branke | MCDA and multiobjective evolutionary algorithms | |
Yaman et al. | Evolving plasticity for autonomous learning under changing environmental conditions | |
Hafez et al. | Topological Q-learning with internally guided exploration for mobile robot navigation | |
Videau et al. | Multi-objective genetic programming for explainable reinforcement learning | |
Afshar et al. | Automated reinforcement learning: An overview | |
Woodford et al. | Concurrent controller and simulator neural network development for a differentially-steered robot in evolutionary robotics | |
Houeland et al. | A learning system based on lazy metareasoning | |
Evans et al. | Replay as structural inference in the hippocampal-entorhinal system | |
Adra | Improving convergence, diversity and pertinency in multiobjective optimisation | |
Zăvoianu et al. | A soft-computing framework for automated optimization of multiple product quality criteria with application to micro-fluidic chip production | |
Wu et al. | High-dimensional function optimisation by reinforcement learning | |
Yang et al. | Towards behavior control for evolutionary robot based on RL with ENN | |
Ten Pas | Simulation based planning for partially observable markov decision processes with continuous observation spaces | |
Su et al. | Adaptive goal recognition using process mining techniques | |
Torabi et al. | Identification of Switched ARX Systems Using an Iterative Weighted Least Squares Algorithm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |