JP2011018245A - Recognition device and method, program, and recording medium - Google Patents
Recognition device and method, program, and recording medium Download PDFInfo
- Publication number
- JP2011018245A JP2011018245A JP2009163192A JP2009163192A JP2011018245A JP 2011018245 A JP2011018245 A JP 2011018245A JP 2009163192 A JP2009163192 A JP 2009163192A JP 2009163192 A JP2009163192 A JP 2009163192A JP 2011018245 A JP2011018245 A JP 2011018245A
- Authority
- JP
- Japan
- Prior art keywords
- node
- observation
- time
- probability
- action
- 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.)
- Withdrawn
Links
Images
Landscapes
- Image Analysis (AREA)
Abstract
【課題】変化する環境の中で自律的な学習を行う際に、現在自分が位置するノードは学習済の内部状態とされているノードなのか、新たに追加すべき内部状態とされるノードなのかを適切に認識できるようにする。
【解決手段】変数Nの値を1にセットし、ステップS202において、長さNの時系列情報が取得される。ステップS203において、認識器は、時系列情報に基づいて、Viterbiアルゴリズムを用いてノード列を出力し、ステップS204において、実際にあり得るノード列であるか否かを判定する。実際にあり得るノード列ではないと判定された場合、未知ノードであると認識される。一方、実際にあり得るノード列であると判定された場合、エントロピーが計算され、閾値以上であると判定された場合、変数Nの値がインクリメントされ、時系列情報が過去方向に延長される。閾値以上ではないと判定された場合、既知ノードであると認識される。
【選択図】図33When performing autonomous learning in a changing environment, the node where the user is currently located is a node that is in a learned internal state or a node that is in a newly added internal state To be able to recognize properly.
A value of a variable N is set to 1, and time series information of length N is acquired in step S202. In step S203, the recognizer outputs a node sequence using the Viterbi algorithm based on the time series information, and determines in step S204 whether the node sequence is actually possible. If it is determined that the node sequence is not actually possible, it is recognized as an unknown node. On the other hand, if it is determined that the node sequence is actually possible, the entropy is calculated, and if it is determined that the value is greater than or equal to the threshold value, the value of the variable N is incremented and the time-series information is extended in the past direction. If it is determined that it is not equal to or greater than the threshold value, it is recognized as a known node.
[Selection] Figure 33
Description
本発明は、認識装置および方法、プログラム、並びに記録媒体に関し、特に、変化する環境の中で自律的な学習を行う際に、現在自分が位置するノードは学習済の内部状態とされているノードなのか、新たに追加すべき内部状態とされるノードなのかを適切に認識できるようにする認識装置および方法、プログラム、並びに記録媒体に関する。 The present invention relates to a recognition apparatus and method, a program, and a recording medium, and in particular, when autonomous learning is performed in a changing environment, a node in which the node is currently located is a learned internal state. The present invention relates to a recognition apparatus and method, a program, and a recording medium that can appropriately recognize whether the node is an internal state to be newly added.
対象となるシステムから観測されるセンサ信号を時系列データとして扱い、状態および状態遷移を合わせ持つ確率モデルとして学習する方法としてHMM(隠れマルコフモデル)の利用が提案されている。HMMは、音声認識に広く利用される技術の一つである。HMMは、状態遷移確率と、各状態における出力確率密度関数で定義される状態遷移モデルであり、そのパラメータは、尤度を最大化するように推定される。パラメータの推定方法としては、Baum-Welch algorithmが広く利用されている。 The use of HMM (Hidden Markov Model) has been proposed as a method of learning a sensor signal observed from a target system as time series data and learning as a probabilistic model having both states and state transitions. HMM is one of the technologies widely used for speech recognition. The HMM is a state transition model defined by a state transition probability and an output probability density function in each state, and its parameters are estimated so as to maximize the likelihood. As a parameter estimation method, the Baum-Welch algorithm is widely used.
HMMでは、各状態から状態遷移確率を介して別の状態へ遷移することができるモデルとなっており、状態が遷移する過程としてモデル化が行われる。ただし、HMMでは、通常、観測されるセンサ信号がどの状態に対応するのかについては、確率的にしか決定されない。 The HMM is a model that can transition from each state to another state via a state transition probability, and modeling is performed as a process of state transition. However, in the HMM, it is usually determined only probabilistically to which state the observed sensor signal corresponds.
そこで、観測されるセンサ信号に基づいて、最も尤度が高くなるような状態遷移過程を決定する方法として、Viterbi Algorithmが広く利用されている。これにより、各時刻のセンサ信号に応じた状態を一意に確定することが可能となる。また、システムから観測されるセンサ信号が異なる状況で同じになったとしても、それぞれの時刻の前後におけるセンサ信号の時間変化の過程の違いに応じて、異なる状態遷移過程として扱うことが可能となる。perceptual aliasingの問題が完全に解決できるわけではないが、同じセンサ信号に対して異なる状態を割り当てることが可能であり、SOMなどに比べると、システムの状態をより詳細にモデル化することが可能である(例えば、非特許文献1参照)。 Therefore, the Viterbi Algorithm is widely used as a method for determining the state transition process with the highest likelihood based on the observed sensor signal. This makes it possible to uniquely determine the state corresponding to the sensor signal at each time. In addition, even if the sensor signals observed from the system are the same in different situations, it can be handled as different state transition processes according to the difference in the time change process of the sensor signals before and after each time. . Although the problem of perceptual aliasing cannot be solved completely, it is possible to assign different states to the same sensor signal, and it is possible to model the state of the system in more detail than SOM etc. Yes (for example, see Non-Patent Document 1).
ところで、HMMの学習において、状態の数および状態遷移の数が多くなると、正しくパラメータを推定するのが困難となる。特に、Baum-Welch algorithmは、必ずしも最適なパラメータを決定できることを保証する方法ではないため、パラメータの数が多くなると適切なパラメータを推定するのが極めて困難となる。また、学習すべき対象となるシステムが未知の場合、状態遷移モデルの構造やパラメータの初期値を適切に設定することは難しく、これもパラメータの推定を困難にする原因となる。 By the way, in HMM learning, when the number of states and the number of state transitions increase, it becomes difficult to correctly estimate parameters. In particular, the Baum-Welch algorithm is not necessarily a method for guaranteeing that an optimal parameter can be determined. Therefore, when the number of parameters increases, it is extremely difficult to estimate an appropriate parameter. Further, when the system to be learned is unknown, it is difficult to appropriately set the structure of the state transition model and the initial values of the parameters, which also makes it difficult to estimate the parameters.
音声認識においてHMMが有効に利用されているのは、扱う対象が音声信号に限定されており、音声に関する数多くの知見が利用可能であることが要因となっている。さらに、音声認識においてHMMの構造に関しては left-to-right型の構造が有効であることなどが長年に渡る膨大な研究成果の結果として得られていることなどが大きな要因である。従って、未知のシステムを対象とし、HMMの構造や初期値をあらかじめ決定するための情報が与えられない場合に、大規模なHMMを実用的なモデルとして機能させることは非常に難しい問題であると言える。 The reason why the HMM is effectively used in the speech recognition is that the object to be handled is limited to the speech signal, and a lot of knowledge about speech is available. Furthermore, in the speech recognition, the fact that the left-to-right type structure is effective as a result of an enormous amount of research results over many years is a major factor. Therefore, it is a very difficult problem to make a large-scale HMM function as a practical model when an unknown system is targeted and information for determining the structure and initial values of the HMM in advance is not given. I can say that.
さて、HMMが対象とする問題は上記の通り、センサ信号を構造化するというものであり、アクション信号に関する考慮はない。HMMを拡張し、エージェントがアクション信号を用いて環境に対し働きかけ、将来のセンサ信号に影響を与えることができる、という枠組みに置き換えたものは部分観測マルコフ決定過程(Partially observable Markov decision process, 以下、POMDP)と呼ばれる。 As described above, the problem targeted by the HMM is that the sensor signal is structured, and there is no consideration regarding the action signal. The HMM has been expanded and replaced with a framework in which agents can act on the environment using action signals and influence future sensor signals. Partially observable Markov decision process POMDP).
この問題のモデル学習は非常に困難な課題であり、これまで主に研究されてきたものは、事前知識によってスケルトンが与えられたモデル内の比較的少数のパラメータ推定のみであったり、あるいは強化学習的な枠組みで学習を駆動するようなものであった。さらに、学習の速度や収束性・安定性に課題のあるものも多く、実用性は必ずしも高くないと言える。 Model learning of this problem is a very difficult task, and what has been mainly studied so far is only a relatively small number of parameter estimates in the model given skeleton by prior knowledge, or reinforcement learning It was like driving learning in a dynamic framework. In addition, there are many problems with learning speed, convergence, and stability, so it can be said that the practicality is not necessarily high.
また、HMMの学習の方式として、バッチ学習方式と追加学習方式が存在する。ここで、バッチ学習方式は、例えば、1万ステップの遷移と観測のデータが得られる場合、1万ステップの遷移と観測に基づいて状態遷移確率テーブルと観測確率テーブルを生成して保存するものである。これに対して、追加学習方式は、例えば、最初に、1千ステップの遷移と観測に基づいて状態遷移確率テーブルと観測確率テーブルを生成して保存する。そして、その後の1千ステップの遷移と観測に基づいて状態遷移確率テーブルと観測確率テーブルの各値を変更して保存し、・・・というように、繰り返し学習を行って、内部モデルデータを更新(アップデート)していくものである。 Further, there are a batch learning method and an additional learning method as methods for learning the HMM. Here, the batch learning method is to generate and store a state transition probability table and an observation probability table based on 10,000 steps of transition and observation, for example, when 10,000 steps of transition and observation data are obtained. is there. On the other hand, in the additional learning method, for example, first, a state transition probability table and an observation probability table are generated and stored based on 1000-step transitions and observations. Then, change and save each value in the state transition probability table and the observation probability table based on the subsequent 1000-step transitions and observations, and so on to update the internal model data by repeatedly learning (Update).
従来のHMMの学習では、追加学習方式の学習の際に問題が発生する。HMMの学習では、事前に全てのデータを予め準備しておき、バッチ学習方式での学習を行なうという方法がよく採られているが、このような学習では環境に適応して経験から学ぶことが原理的に不可能である。言い換えれば、多様な実世界の中でより良い性能を発揮するためには、実環境での動作結果をフィードバックして追加学習を行なうという機能が必須である。ところが、追加学習を行なう際に「学習済みの記憶構造」と「新しい経験」とをどのように調停するのかという問題は未解決である。一方では「新しい経験」を速やかに反映させてすばやい適応を実現したいが、他方、これまでに確立した記憶構造が破壊される危険性もある。 In conventional HMM learning, a problem occurs during learning in the additional learning method. In HMM learning, a method of preparing all data in advance and performing learning in a batch learning method is often adopted, but in such learning, learning from experience can be adapted to the environment. It is impossible in principle. In other words, in order to exhibit better performance in various real worlds, a function of performing additional learning by feeding back the operation results in the real environment is essential. However, the problem of how to mediate “learned memory structure” and “new experience” when performing additional learning is still unsolved. On the one hand, we want to quickly adapt our “new experience” and realize quick adaptation. On the other hand, there is a risk that the memory structure established so far will be destroyed.
また、従来、追加学習を行うために、過去の学習データを分離して保持するか、または、過去の学習データを現在の記憶からリハースする等して、新たに得られたデータとを組み合わせて学習することが行われていた。しかしながら、そのようにしても、分離された過去の学習データに、「新しい体験」が反映されなかったり、リハースされる過去の学習データが、「新しい体験」の影響を受けて生成されてしまうなどの問題があった。このように、大規模なHMMの学習において、追加学習を行って実用的なモデルとして機能させることは困難であった。 Conventionally, in order to perform additional learning, past learning data is separated and held, or past learning data is rehearsed from the current memory and combined with newly obtained data. Learning was going on. However, even in such a case, the separated past learning data does not reflect the “new experience”, or rehearsed past learning data is generated under the influence of the “new experience”. There was a problem. Thus, in large-scale HMM learning, it is difficult to perform additional learning to function as a practical model.
さらに、例えば、学習すべき環境が変化した場合、観測シンボルの種類、ノード数が増えることになり、学習を進める際に、ノード数、観測シンボル数、またはアクション数を変更する必要に迫られこともある。このような場合、エージェントが自律的に環境の変化を認識して、状態遷移確率テーブル、および観測確率テーブルを拡張する必要がある。 Furthermore, for example, when the environment to be learned changes, the number of observation symbols and the number of nodes increase, and it is necessary to change the number of nodes, observation symbols, or actions when proceeding with learning. There is also. In such a case, it is necessary for the agent to autonomously recognize a change in the environment and expand the state transition probability table and the observation probability table.
エージェントが自律的に環境の変化を認識して、状態遷移確率テーブル、および観測確率テーブルを拡張する場合、そもそもエージェント自身が、新たに環境が拡張されたのか否かを認識する必要がある。つまり、エージェントが、現在自分が位置するノードは学習済の内部状態とされているノードなのか、新たに追加すべき内部状態とされるノードなのか認識できるようにしなければならない。 When an agent autonomously recognizes an environmental change and expands the state transition probability table and the observation probability table, it is necessary for the agent itself to recognize whether or not the environment has been newly expanded. That is, the agent must be able to recognize whether the node at which he is currently located is a learned internal state or a node to be newly added.
本発明はこのような状況に鑑みてなされたものであり、変化する環境の中で自律的な学習を行う際に、現在自分が位置するノードは学習済の内部状態とされているノードなのか、新たに追加すべき内部状態とされるノードなのかを適切に認識できるようにするものである。 The present invention has been made in view of such a situation. When autonomous learning is performed in a changing environment, is the node where the current position is a node in a learned internal state? This makes it possible to appropriately recognize whether the node is an internal state to be newly added.
本発明の一側面は、環境から得られるセンサ信号に基づいて観測シンボルを観測する観測手段と、時間の経過に伴って観測される前記観測シンボルを、前記観測シンボルが観測された時刻と対応付けて記憶する観測シンボル記憶手段と、前記観測シンボル記憶手段に記憶された情報を時系列情報として読み出し、前記時系列情報の最後の時刻におけるHMMのノードを認識する認識手段とを備え、前記認識手段は、可変長の前記時系列情報を読み出して認識する認識装置である。 One aspect of the present invention relates to observation means for observing an observation symbol based on a sensor signal obtained from an environment, and associating the observation symbol observed over time with the time at which the observation symbol was observed Observation symbol storage means for storing the information, and recognition means for reading out information stored in the observation symbol storage means as time series information and recognizing an HMM node at the last time of the time series information, the recognition means Is a recognition device that reads and recognizes the time-series information of variable length.
前記認識手段は、前記時系列情報に基づいて、前記時系列情報の長さに対応するノード列を認識し、前記環境において前記ノード列が、前記HMMの状態遷移確率および観測確率に基づいて、第1の閾値以上の確率で存在すると判定され、かつ前記時系列情報の最後の時刻における前記ノードの事後確率のエントロピーの値が第2の閾値未満となるまで、前記観測シンボル記憶手段から読み出す前記時系列情報の長さを過去方向に延長するようにすることができる。 The recognizing unit recognizes a node sequence corresponding to the length of the time series information based on the time series information, and the node sequence in the environment is based on the state transition probability and the observation probability of the HMM, Read from the observed symbol storage means until it is determined that the node exists with a probability equal to or greater than a first threshold and the entropy value of the posterior probability of the node at the last time of the time series information is less than a second threshold. The length of the time series information can be extended in the past direction.
前記認識手段は、前記過去方向に延長された前記時系列情報に基づいて前記時系列情報の長さに対応するノード列を認識し、前記環境において前記ノード列が、前記HMMの状態遷移確率および観測確率に基づいて、第1の閾値以上の確率で存在しないと判定された場合、前記時系列情報の最後の時刻における前記ノードが、新たに追加すべき内部状態の未知ノードであると認識して認識結果として出力し、前記環境において前記ノード列が、前記HMMの状態遷移確率および観測確率に基づいて、第1の閾値以上の確率で存在すると判定され、かつ前記時系列情報の最後の時刻における前記ノードの事後確率のエントロピーの値が第2の閾値未満と判定された場合、前記時系列情報の最後の時刻における前記ノードが、学習済の内部状態の既知ノードであると認識して認識結果として出力するようにすることができる。 The recognizing means recognizes a node sequence corresponding to the length of the time-series information based on the time-series information extended in the past direction, and the node sequence in the environment includes the state transition probability of the HMM and Based on the observation probability, when it is determined that the node does not exist with a probability equal to or higher than the first threshold, the node at the last time of the time series information is recognized as an unknown node in the internal state to be newly added. Is output as a recognition result, and it is determined that the node sequence exists in the environment with a probability equal to or higher than a first threshold based on the state transition probability and the observation probability of the HMM, and the last time of the time-series information If the entropy value of the posterior probability of the node at is determined to be less than a second threshold, the node at the last time of the time series information is in the learned internal state It may be output as the recognition result recognized as a known node.
前記認識結果を、認識された時刻と対応付けて記憶する認識結果記憶手段をさらに備えるようにすることができる。 A recognition result storage means for storing the recognition result in association with the recognized time can be further provided.
前記認識手段は、前記認識結果記憶手段に記憶されている認識結果が、時間の経過に伴って既知ノードから未知ノードに変化した時刻を特定し、前記観測シンボル記憶手段から読み出す前記時系列情報の長さを過去方向に延長することにより、前記特定された時刻より時間的に前の時系列情報が読み出される場合、認識結果の出力を保留するようにすることができる。 The recognizing means identifies the time when the recognition result stored in the recognition result storage means has changed from a known node to an unknown node over time, and reads the time series information read from the observation symbol storage means. By extending the length in the past direction, the output of the recognition result can be suspended when the time-series information temporally prior to the specified time is read out.
前記認識手段は、長さNの前記時系列情報の最後の時刻における前記ノードの事後確率のエントロピーの値と、長さN+1の前記時系列情報の最後の時刻における前記ノードの事後確率のエントロピーの値との差分を算出し、前記算出された差分が第3の閾値未満となるまで、前記観測シンボル記憶手段から読み出す前記時系列情報の長さを過去方向に延長するようにすることができる。 The recognizing means includes an entropy value of the posterior probability of the node at the last time of the time series information of length N and an entropy of the posterior probability of the node at the last time of the time series information of length N + 1. A difference with a value is calculated, and the length of the time series information read from the observation symbol storage means can be extended in the past direction until the calculated difference becomes less than a third threshold.
前記認識手段は、前記過去方向に延長された前記時系列情報に基づいて前記時系列情報の長さに対応するノード列を認識し、前記環境において前記ノード列が、前記HMMの状態遷移確率および観測確率に基づいて、第1の閾値未満の確率で存在すると判定された場合、前記時系列情報の最後の時刻における前記ノードが、新たに追加すべき内部状態の未知ノードであると認識するようにすることができる。 The recognizing means recognizes a node sequence corresponding to the length of the time-series information based on the time-series information extended in the past direction, and the node sequence in the environment includes the state transition probability of the HMM and Based on the observation probability, when it is determined that the node exists with a probability less than the first threshold, the node at the last time of the time series information is recognized as an unknown node in the internal state to be newly added. Can be.
前記認識手段は、前記環境において前記ノード列が、前記HMMの状態遷移確率および観測確率に基づいて、第1の閾値以上の確率で存在すると判定された場合、前記時系列情報の最後の時刻における前記ノードの事後確率のエントロピーの値が第2の閾値未満となるとき、前記時系列情報の最後の時刻における前記ノードが、学習済の内部状態の既知ノードである認識し、前記時系列情報の最後の時刻における前記ノードの事後確率のエントロピーの値が第2の閾値以上となるとき、認識結果の出力を保留するようにすることができる。 In the environment, when the node sequence is determined to exist with a probability equal to or higher than the first threshold based on the state transition probability and the observation probability of the HMM in the environment, the recognizing unit at the last time of the time series information When the entropy value of the posterior probability of the node is less than a second threshold, the node at the last time of the time series information is recognized as a known node in the learned internal state, and the time series information When the entropy value of the posterior probability of the node at the last time is equal to or greater than the second threshold, the output of the recognition result can be suspended.
前記環境に対して自分が実行する行動を行動シンボルとし特定し、時間の経過に伴って得られる前記行動シンボルを、前記行動が実行された時刻と対応付けて記憶する行動シンボル記憶手段をさらに備え、前記観測シンボル記憶手段に記憶された情報と時間的に同じ長さの情報が前記行動シンボル記憶手段から読み出され、前記時系列情報とされるようにすることができる。 Action symbol storage means for specifying an action to be executed for the environment as an action symbol, and storing the action symbol obtained with the passage of time in association with the time at which the action is executed is further provided. The information having the same time length as the information stored in the observation symbol storage means can be read from the action symbol storage means and used as the time-series information.
本発明の一側面は、時間の経過に伴って観測される環境から得られるセンサ信号に基づく前記観測シンボルを、前記観測シンボルが観測された時刻と対応付けて記憶する観測シンボル記憶手段に記憶された情報を可変長の時系列情報として読み出し、前記時系列情報の最後の時刻におけるHMMのノードを認識する認識方法である。 One aspect of the present invention is stored in an observation symbol storage unit that stores the observation symbol based on a sensor signal obtained from an environment observed with the passage of time in association with the time when the observation symbol is observed. Is a recognition method for reading out the information as variable-length time-series information and recognizing the node of the HMM at the last time of the time-series information.
本発明の一側面は、コンピュータを、環境から得られるセンサ信号に基づいて観測シンボルを観測する観測手段と、時間の経過に伴って観測される前記観測シンボルを、前記観測シンボルが観測された時刻と対応付けて記憶する観測シンボル記憶手段と、前記観測シンボル記憶手段に記憶された情報を時系列情報として読み出し、前記時系列情報の最後の時刻におけるHMMのノードを認識する認識手段とを備え、前記認識手段は、可変長の前記時系列情報を読み出して認識する認識装置として機能させるプログラムである。 One aspect of the present invention provides a computer, an observation means for observing an observation symbol based on a sensor signal obtained from an environment, and the observation symbol that is observed as time elapses. Observation symbol storage means associated with and stored in the observation symbol storage means as time series information, recognizing means for recognizing the node of the HMM at the last time of the time series information, The recognition means is a program that functions as a recognition device that reads and recognizes the variable-length time-series information.
本発明の一側面においては、環境から得られるセンサ信号に基づいて観測シンボルが観測され、時間の経過に伴って観測される前記観測シンボルを、前記観測シンボルが観測された時刻と対応付けられて記憶され、記憶された情報を時系列情報として読み出し、前記時系列情報の最後の時刻におけるHMMのノードが認識され、可変長の前記時系列情報が読み出されて認識される。 In one aspect of the present invention, an observation symbol is observed based on a sensor signal obtained from an environment, and the observation symbol observed with the passage of time is associated with a time when the observation symbol is observed. The stored information is read as time-series information, the node of the HMM at the last time of the time-series information is recognized, and the variable-length time-series information is read and recognized.
本発明によれば、変化する環境の中で自律的な学習を行う際に、現在自分が位置するノードは学習済の内部状態とされているノードなのか、新たに追加すべき内部状態とされるノードなのかを適切に認識できる。 According to the present invention, when autonomous learning is performed in a changing environment, whether the node where the user is currently located is a learned internal state or an internal state to be newly added. It is possible to properly recognize whether it is a node.
以下、図面を参照して、本発明の実施の形態について説明する。 Embodiments of the present invention will be described below with reference to the drawings.
最初に、アクション拡張型HMMについて説明する。 First, the action expansion type HMM will be described.
後述する本発明の自律行動学習装置は、例えば、迷路を自走して自分の位置を認識し、目的地へのルートを学習するロボットなどに適用される。 The autonomous behavior learning apparatus of the present invention to be described later is applied to, for example, a robot that self-runs in a maze, recognizes its own position, and learns a route to a destination.
図1は、迷路の例を示す図である。同図に示されるように、この迷路は、図2に示されるような複数の種類のパーツを組み合わせることにより構成されている。図2に示されるように、パーツのそれぞれは、同一の大きさの矩形として構成されており、15の異なる種類が用意されている。例えば、パーツ5は、横方向の通路を構成するためのものであり、パーツ10は、縦方向の通路を構成するためのものである。また、パーツ7、パーツ11、パーツ13は、それぞれT字路を構成するためのものであり、パーツ15は、十字路を構成するためのものである。
FIG. 1 is a diagram illustrating an example of a maze. As shown in the figure, this maze is configured by combining a plurality of types of parts as shown in FIG. As shown in FIG. 2, each of the parts is configured as a rectangle having the same size, and 15 different types are prepared. For example, the
また、この迷路は、その構造を変化させることもできるようになされている。例えば、図3において、図中点線の円により示される部分の2つのパーツを変更することにより、迷路の構造は、図4に示されるように変化する。すなわち、図3において、通り抜けできなかったものが、図4においては通り抜けできるように、迷路の構造を変化させることができる。 The maze can also change its structure. For example, in FIG. 3, the structure of the maze changes as shown in FIG. 4 by changing two parts of the portion indicated by the dotted circle. That is, the structure of the maze can be changed so that what cannot pass through in FIG. 3 can pass through in FIG.
さらに、図4において、図中点線の円により示される部分の2つのパーツを変更することにより、迷路の構造は、図5に示されるように変化する。すなわち、図4において、通り抜けできたものが、図5においては通り抜けできないように、迷路の構造を変化させることができる。 Furthermore, in FIG. 4, the structure of the maze changes as shown in FIG. 5 by changing two parts of the part indicated by the dotted circle. That is, the structure of the maze can be changed so that what can pass through in FIG. 4 cannot pass through in FIG.
このような迷路をロボットが自走する。この例では、迷路は2次元であり、通路の方向も水平または垂直方向のみなので、ロボットも上下左右の4方向に移動できるように設定するものとする。 The robot runs in such a maze. In this example, since the maze is two-dimensional and the direction of the passage is only horizontal or vertical, it is set so that the robot can move in four directions, up, down, left, and right.
図6は、ロボットの移動方向を説明する図である。同図における垂直方向、水平方向は、図1に対応しており、図中上下左右のいずれかの方向に、図中中央に示されるロボットが移動することが分かる。 FIG. 6 is a diagram illustrating the moving direction of the robot. The vertical direction and horizontal direction in the figure correspond to those in FIG. 1, and it can be seen that the robot shown in the center in the figure moves in either the top, bottom, left or right direction in the figure.
ここで、ロボットの所定の方向への移動をアクションと称することにする。例えば、図6の例では、図中の4つの矢印に対応する4通りのアクションが存在することになる。 Here, the movement of the robot in a predetermined direction is referred to as an action. For example, in the example of FIG. 6, there are four actions corresponding to the four arrows in the figure.
また、ロボットには、例えば、物体を検知するセンサが設けられており、センサから出力される信号を解析することにより、迷路上においてロボットが位置するパーツの種類を特定することが可能となるようになされている。すなわち、ロボットは、迷路上の各位置において、図2を参照して上述した15種類のパーツのいずれかに対応するセンサ信号を取得するのである。 In addition, the robot is provided with a sensor for detecting an object, for example, and by analyzing a signal output from the sensor, it is possible to specify the type of the part where the robot is located on the maze. Has been made. That is, the robot acquires sensor signals corresponding to any of the 15 types of parts described above with reference to FIG. 2 at each position on the maze.
本発明では、例えば、ロボットが自走した迷路上の各位置におけるセンサ信号に基づいて迷路の構造に対応する内部モデルデータを生成する。ここで、迷路を環境と称し、15種類のパーツのいずれかに対応するセンサ信号を観測シンボルと称することにする。本発明では、HMMを利用して、迷路の構造を学習し、上述した内部モデルデータを生成する。 In the present invention, for example, internal model data corresponding to the structure of the maze is generated based on the sensor signal at each position on the maze where the robot self-runs. Here, the maze is referred to as an environment, and a sensor signal corresponding to any of 15 types of parts is referred to as an observation symbol. In the present invention, the structure of the maze is learned using the HMM, and the internal model data described above is generated.
HMMの学習においては、環境から得られる観測に基づいて状態が認識される。上述したように、環境は、例えば迷路であり、観測は、例えば15種類のパーツのいずれかに対応するセンサ信号から特定される観測シンボルに対応する。なお、ロボットは、適宜、エージェントと称することにする。 In HMM learning, the state is recognized based on observations obtained from the environment. As described above, the environment is, for example, a maze, and the observation corresponds to an observation symbol specified from a sensor signal corresponding to, for example, any one of 15 types of parts. Note that the robot is appropriately referred to as an agent.
HMMの学習では、エージェントが、環境から得られる観測に基づいて自分がいる状態を認識する。ここでいう状態は、いわばエージェントが主観的に認識した状態であり、実際にエージェントが置かれた状態を外部から客観的に観察した場合、両者が異なることがある。例えば、2次元の迷路上においてロボットがいる位置を客観的に観察すれば、その位置は座標(x1,y1)であるのに対して、ロボット自身は、自分は座標(x2,y2)にいると認識する場合がある。このように、いわばエージェントが主観的に認識した状態がHMMでは、隠れ状態、内部状態、state、ノードなどと表現される。 In HMM learning, the agent recognizes the state of himself / herself based on observations obtained from the environment. The state here is a state that the agent has subjectively recognized. If the state where the agent is actually placed is observed objectively from the outside, the state may be different. For example, if the position of the robot on the two-dimensional maze is objectively observed, the position is the coordinates (x1, y1), whereas the robot itself is at the coordinates (x2, y2). May be recognized. In this way, the state subjectively recognized by the agent is expressed as a hidden state, an internal state, a state, a node, etc. in the HMM.
本実施例では、主に、迷路上の各位置、すなわち、迷路に配置された各パーツの位置のそれぞれを、HMMにおけるノード(状態、隠れ状態、内部状態、state)に対応付けて、それらのノードに観測シンボルを対応づけた例について説明する。 In the present embodiment, each position on the maze, that is, each position of each part arranged in the maze is associated with a node (state, hidden state, internal state, state) in the HMM, An example in which observation symbols are associated with nodes will be described.
ところで、通常のHMMは、センサ信号を構造化するというものであり、アクション信号に関する考慮はない。エージェントがアクション信号を用いて環境に対してアクションを実行し、今後観測される観測シンボルに影響を与えることができるようにするという状況における学習は、HMMでは想定されていない。このような問題の解決は、部分観測マルコフ決定過程(Partially observable Markov decision process, 以下、POMDP)と呼ばれる。 By the way, the normal HMM is to structure the sensor signal, and there is no consideration regarding the action signal. Learning in a situation where an agent uses an action signal to perform an action on the environment so as to influence an observation symbol observed in the future is not assumed in the HMM. The solution of such a problem is called a partially observable Markov decision process (hereinafter referred to as POMDP).
そこで、本発明では、HMMを拡張して上記の問題を解決する。すなわち、本発明では、HMMを、アクション信号を考慮したものとなるように拡張する。このように拡張したHMMをアクション拡張型HMMと称することにする。 Therefore, the present invention solves the above problem by extending the HMM. That is, in the present invention, the HMM is expanded so as to consider the action signal. The HMM expanded in this way is referred to as an action expanded HMM.
図7は、通常のHMMを説明する図である。同図に示されるように、HMMは、ある1つのノードから他の1つのノードへ遷移(状態遷移)する確率を、起こりえる遷移の数だけ学習する。すなわち、ノード数×ノード数のテーブルの各行列位置に、状態遷移確率の値を設定し、状態遷移確率テーブルという2次元のテーブルを生成する。また、HMMは、ある1つのノードにおいて、それぞれの観測シンボルが観測される確率を学習する。すなわち、ノード数×観測シンボル数のテーブルの各行列位置に、観測確率の値を設定し、観測確率テーブルという2次元のテーブルを生成する。 FIG. 7 is a diagram for explaining a normal HMM. As shown in the figure, the HMM learns the probability of transition (state transition) from one node to another node by the number of possible transitions. That is, a state transition probability value is set at each matrix position in the node number × node number table, and a two-dimensional table called a state transition probability table is generated. Also, the HMM learns the probability that each observation symbol is observed at a certain node. That is, an observation probability value is set at each matrix position in the node number × observation symbol number table, and a two-dimensional table called an observation probability table is generated.
例えば、図7の状態遷移確率テーブルにおいて、図中垂直方向に記述されたノードのそれぞれは、遷移元のノードを表し、図中水平方向に記述されたノードのそれぞれが遷移先のノードを表す。従って、例えば、状態遷移確率テーブルのn行m列に記述された数値は、インデックスnのノード(第n番目のノード)からインデックスmのノード(第m番目のノード)へ遷移する確率を表している。そして、状態遷移確率テーブルの各行(例えば、n行目)に記述された全ての数値を合計すると、1となるようになされている。 For example, in the state transition probability table of FIG. 7, each of the nodes described in the vertical direction in the figure represents a transition source node, and each of the nodes described in the horizontal direction in the figure represents a transition destination node. Therefore, for example, the numerical value described in the n-th row and m-th column of the state transition probability table represents the probability of transition from the node with index n (n-th node) to the node with index m (m-th node). Yes. Then, all the numerical values described in each row (for example, the nth row) of the state transition probability table are summed to be 1.
また、例えば、図7の観測確率テーブルのn行p列に記述された数値は、インデックスnのノード(第n番目のノード)において、インデックスpの観測シンボル(第p番目の観測シンボル)が観測される確率を表している。そして、観測確率テーブルの各行(例えば、n行目)に記述された全ての数値を合計すると、1となるようになされている。 Further, for example, in the numerical value described in the n-th row and the p-th column of the observation probability table of FIG. 7, the observation symbol (p-th observation symbol) of the index p is observed at the node of the index n (n-th node). Represents the probability of being. Then, the sum of all the numerical values described in each row (for example, the nth row) of the observation probability table is 1.
図8は、アクション拡張型HMMを説明する図である。同図に示されるように、アクション拡張型HMMでは、状態遷移確率テーブルを、アクション毎に生成する。例えば、上方向への移動というアクションの結果、ある1つのノードから他の1つのノードへ遷移する確率を、上方向移動アクションの状態遷移確率テーブルとして生成する。また、下方向への移動というアクションの結果、ある1つのノードから他の1つのノードへ遷移する確率を、下方向移動アクションの状態遷移確率テーブルとして生成する。同様に、左方向移動アクションの状態遷移確率テーブルと、右方向移動アクションの状態遷移確率テーブルも生成される。 FIG. 8 is a diagram for explaining an action expansion type HMM. As shown in the figure, in the action expanded HMM, a state transition probability table is generated for each action. For example, as a result of the action of upward movement, the probability of transition from one node to another node is generated as a state transition probability table for the upward movement action. Further, as a result of the action of moving downward, the probability of transition from one node to another is generated as a state transition probability table for the downward moving action. Similarly, a state transition probability table for the leftward movement action and a state transition probability table for the rightward movement action are also generated.
例えば、図8の状態遷移確率テーブルを、複数枚の2次元のテーブルとしてみると、図中垂直方向に記述されたノードのそれぞれは、それぞれのアクションにおける遷移元のノードを表し、図中水平方向に記述されたノードのそれぞれが遷移先のノードを表す。従って、例えば、k枚目の状態遷移確率テーブルのn行m列に記述された数値は、インデックスkのアクション(第k番目のアクション)を実行することにより、インデックスnのノードからインデックスmのノードへ遷移する確率を表している。そして、状態遷移確率テーブルの各行(例えば、k枚目のテーブルのn行目)に記述された全ての数値を合計すると、1となるようになされている。 For example, when the state transition probability table in FIG. 8 is viewed as a plurality of two-dimensional tables, each of the nodes described in the vertical direction in the figure represents a transition source node in each action, and in the horizontal direction in the figure. Each of the nodes described in 1 represents a transition destination node. Therefore, for example, the numerical value described in the n-th row and m-th column of the k-th state transition probability table is obtained by executing the action of index k (k-th action) from the node of index n to the node of index m. Represents the probability of transition to The sum of all the numerical values described in each row of the state transition probability table (for example, the nth row of the k-th table) is 1.
このように、アクション拡張型HMMでは、2次元の状態遷移確率テーブルがアクション毎に生成され、いわば3次元の状態遷移確率テーブルが生成されることになる。 Thus, in the action extended HMM, a two-dimensional state transition probability table is generated for each action, so to speak, a three-dimensional state transition probability table is generated.
なお、アクション拡張型HMMにおいても、通常のHMMの場合と同様に、ノード数×観測シンボル数のテーブルの各行列位置に、観測確率の値を設定し、2次元の観測確率テーブルが生成される。 Note that, in the action expanded HMM, as in the case of a normal HMM, an observation probability value is set at each matrix position in the table of the number of nodes × the number of observation symbols, and a two-dimensional observation probability table is generated. .
例えば、図8の観測確率テーブルのn行p列に記述された数値は、図7の場合と同様に、インデックスnのノードにおいて、インデックスpの観測シンボルが観測される確率を表している。そして、観測確率テーブルの各行(例えば、n行目)に記述された全ての数値を合計すると、1となるようになされている。 For example, the numerical value described in n rows and p columns of the observation probability table of FIG. 8 represents the probability that the observation symbol of index p is observed at the node of index n, as in the case of FIG. Then, the sum of all the numerical values described in each row (for example, the nth row) of the observation probability table is 1.
ここでは、センサ信号に基づいて15通りの観測シンボルが得られる場合であって、離散観測信号を取得する場合の例について説明した。しかし、例えば、少しずつ変化するセンサ信号に基づいてほぼ無限の観測シンボルが得られるような、連続観測信号を取得する場合にもアクション拡張型HMMを用いることができる。 Here, an example in which 15 observation symbols are obtained based on a sensor signal and a discrete observation signal is obtained has been described. However, for example, the action extended HMM can also be used when acquiring a continuous observation signal such that an almost infinite observation symbol is obtained based on a sensor signal that changes little by little.
また、ここでは、エージェントが4通りのアクションのいずれかを実行する場合であって、離散アクション集合を実行する場合の例について説明した。しかし、例えば、エージェントが、少しずつ移動方向を変え、ほぼ無限のアクションの中から1つのアクションを実行するような、連続アクション集合を実行する場合にもアクション拡張型HMMを用いることができる。 Further, here, an example has been described in which the agent executes any one of four actions, and executes a discrete action set. However, for example, the action extended HMM can also be used when the agent changes a moving direction little by little and executes a continuous action set in which one action is executed from among almost infinite actions.
ここまで、アクション拡張型HMMについて説明した。 So far, the action expansion type HMM has been described.
図9は、本発明を適用した自律行動学習装置10の構成例を示すブロック図である。同図の自律行動学習装置10は、例えば、図1に示されるような迷路上を移動するロボットの制御装置などとして構成される。この例では、自律行動学習装置10に、センサ部31、行動出力部32、観測バッファ33、学習器34、認識器35、行動生成器36、内部モデルデータ記憶部37、認識結果バッファ38、および行動出力バッファ39が設けられている。
FIG. 9 is a block diagram showing a configuration example of the autonomous
センサ部31は、例えば、迷路などの環境において、上述した観測シンボルを観測するためのセンサ信号(または観測信号)を出力する。センサ部31から出力された観測信号は、その観測信号が出力された時刻と対応付けられて観測バッファ33に記憶されるようになされている。
For example, the
例えば、時刻t,t+1,t+2,・・・Tの各時刻で取得した観測信号に対応する観測シンボルot, ot+1, ot+2, ・・・, oTが各時刻の観測シンボルとして観測バッファ33に記憶されることになる。
For example, observation symbols o t , o t + 1 , o t + 2 ,..., O T corresponding to observation signals acquired at times t , t + 1 , t + 2 ,. It is stored in the
行動出力部32は、例えば、ロボットが実行すべきアクション(日本語で行動)を、ロボットに実行させるための制御信号を出力する機能ブロックである。行動出力部32から出力された制御信号は、その制御信号に対応するアクションを特定する情報に変換され、その制御信号が出力された時刻と対応付けられて行動出力バッファ39に記憶されるようになされている。
The
例えば、時刻t,t+1,t+2,・・・Tの各時刻で実行したアクションct, ct+1, ct+2, ・・・, cTが各時刻のアクションとして行動出力バッファ39に記憶されることになる。
For example, the actions c t , c t + 1 , c t + 2 ,..., C T executed at the times t, t + 1, t + 2,. It is stored in the
学習器34は、観測バッファ33および行動出力バッファ39に記憶されている情報に基づいて、内部モデルデータを生成または更新し、内部モデルデータ記憶部37に記憶させる。
The
内部モデルデータ記憶部37に記憶されている内部モデルデータには、上述した、3次元の状態遷移確率テーブル、および2次元の観測確率テーブルが含まれる。さらに、内部モデルデータ記憶部37に記憶されている内部モデルデータには、後述する、状態遷移確率の計算のための頻度変数および観測確率の計算のための頻度変数が含まれる。
The internal model data stored in the internal model
認識器35は、観測バッファ33および行動出力バッファ39に記憶されている情報、並びに内部モデルデータ記憶部37に記憶されている状態遷移確率テーブルおよび観測確率テーブルに基づいて、現在、ロボットが位置するノードを認識するようになされている。認識器35から出力された認識結果は、その認識結果が出力された時刻と対応付けられて認識結果バッファ38に記憶されるようになされている。
Based on the information stored in the
行動生成器36は、内部モデルデータ記憶部37に記憶されている内部モデルデータ、行動出力バッファ39に記憶されている情報、および認識器35が出力する認識結果に基づいて、ロボットが実行すべきアクションを決定する。そして、行動生成器36は、決定されたアクションに対応する制御信号を出力するように、行動出力部32を制御する。
The
このように、自律行動学習装置10は、例えば、ロボットを迷路上で移動させて、自動的に迷路の構造などを学習させることができるようになされている。
As described above, the autonomous
次に、図9の学習器34におけるアクション拡張型HMMの学習アルゴリズムについて説明する。
Next, the learning algorithm of the action expansion type HMM in the
通常のHMMではノードsiからsjへの状態遷移確率を状態遷移確率テーブルaijでモデル化するが、アクション拡張型HMMではアクションパラメータcを用いてaij(c)としてモデル化する。 In the normal HMM, the state transition probability from the node s i to s j is modeled by the state transition probability table a ij , but in the action expanded HMM, it is modeled as a ij (c) using the action parameter c.
学習アルゴリズムとしては、Baum-Welchアルゴリズムを用いる。forward確率、backward確率の計算ができれば、Baum-Welchアルゴリズムに基づくパラメータ推定(期待値最大化法)が可能となるので、以下ではそれらの確率の計算について説明する。 A Baum-Welch algorithm is used as a learning algorithm. If the forward probability and the backward probability can be calculated, parameter estimation (expected value maximization method) based on the Baum-Welch algorithm can be performed. Therefore, calculation of these probabilities will be described below.
ここで、アクション集合C = {c1, c2, ・・・, cn}に属するアクションckによって、ノードsi からsj への遷移が起きる確率を、3次元の確率表現テーブルaij(k) ≡ aijkで表すこととする。なお、この例の場合、離散アクション集合を実行することになる。 Here, the probability that the transition from the node s i to s j occurs by the action c k belonging to the action set C = {c 1 , c 2 ,..., C n } is expressed as a three-dimensional probability expression table a ij. (k) ≡ a ijk In this example, a discrete action set is executed.
まずforward確率の計算について説明する。 First, calculation of the forward probability will be described.
時刻1,2,・・・t-1の各時刻においてエージェントが取得したセンサ信号に対応する観測シンボルを、それぞれo1,o2,・・・,ot?1で表すことにする。また、時刻1,2,・・・t-1の各時刻においてエージェントが実行したアクションを、それぞれc1,c2,・・・,ct?1で表すことにする。この場合、時刻tにおいてエージェントが取得したセンサ信号に対応する観測シンボルがotであるとき、エージェントがノードsjにいるforward確率αt(j)は、式(1)の漸化式により表すことができる。
ただし、bj(o)は、ノードsjの下で観測シンボルoが得られる観測確率である。
Here, b j (o) is an observation probability that the observation symbol o is obtained under the node s j .
次に、backward確率の計算について説明する。 Next, calculation of the backward probability will be described.
エージェントが時刻tにおいて状態iにいた場合、時刻t,t+1,t+2,・・・T-1の各時刻において、それぞれアクションct,ct+1,・・・,cT?1を実行し、各時刻で取得したセンサ信号に対応する観測シンボルが、それぞれot+1,ot+2,・・・,oTであるbackward確率βt(i)は、式(2)の漸化式により表すことができる。 If the agent is in state i at time t, actions c t , c t + 1 ,..., C T at times t, t + 1, t + 2 ,. 1 is executed, the observation symbols corresponding to sensor signals obtained at each time, each o t + 1, o t + 2, ···, backward probability βt is o T (i) has the formula (2) It can be expressed by the recurrence formula.
このように計算されるforward確率と、backward確率とを用いて、状態遷移確率の推定と、観測確率の推定を行なうことができる。 By using the forward probability and the backward probability calculated in this way, it is possible to estimate the state transition probability and the observation probability.
離散アクション集合を実行する場合の状態遷移確率の推定と観測確率の推定は、次のようにして行なわれる。 The estimation of the state transition probability and the observation probability when executing the discrete action set are performed as follows.
状態遷移確率aij(k)の推定は、Baum-WelchアルゴリズムのM−ステップで行なう。ここで、状態遷移確率aij(k)は、エージェントが状態iにいるとき、アクションkを実行することにより状態jに遷移する確率を意味する。すなわち、式(3)を演算することにより、状態遷移確率の推定値a´ij(k)を得ることができる。 The state transition probability a ij (k) is estimated in the M-step of the Baum-Welch algorithm. Here, the state transition probability a ij (k) means the probability of transition to the state j by executing the action k when the agent is in the state i. In other words, the estimated value a ′ ij (k) of the state transition probability can be obtained by calculating Expression (3).
観測確率bj(o)の推定も、やはりBaum-WelchアルゴリズムのM-ステップで行なう。ここで、観測確率bj(o)は、エージェントが状態jにいるとき、観測シンボルoに対応するセンサ信号を取得する確立を意味する。すなわち、式(4)を演算することにより、観測確率の推定値b´j(o)を得ることができる。 The observation probability b j (o) is also estimated by the M-step of the Baum-Welch algorithm. Here, the observation probability b j (o) means establishment of acquiring a sensor signal corresponding to the observation symbol o when the agent is in the state j. That is, by calculating equation (4), an estimated value b ′ j (o) of the observation probability can be obtained.
式(4)は、離散観測信号を取得する場合の例であるが、連続観測信号を取得する場合は、時刻tにおいて取得された観測信号otを、式(5)に示されるγt(j)よって重み付けた信号分布を用いて、観測確率密度関数bj(o)のパラメータを再推定すればよい。なお、γt(j)は、時刻tにおいてエージェントが状態jにいる場合の重み係数を表している。 Equation (4) is an example of obtaining a discrete observation signal. However, when obtaining a continuous observation signal, the observation signal o t obtained at time t is expressed as γ t ( j) The parameters of the observation probability density function b j (o) may be re-estimated using the weighted signal distribution. Note that γ t (j) represents a weighting coefficient when the agent is in the state j at time t.
通常は、ガウス分布などの対数凹又は楕円型対称確率密度をモデルとして用い、観測確率密度関数bj(o)のパラメータの再推定を行うことができる。 Normally, logarithmic concave such as Gaussian distribution or elliptical symmetrical probability density is used as a model, and the parameters of the observed probability density function b j (o) can be re-estimated.
ガウス分布などの対数凹又は楕円型対称確率密度のモデルのパラメータとしては、状態jにおける観測信号の平均ベクトルμ´jおよび共分散行列U´jを用いることができる。平均ベクトルμ´jおよび共分散行列U´jは、それぞれ、式(6)および式(7)により求めることができる。 As a parameter of a log-concave or elliptical symmetry probability density model such as a Gaussian distribution, an average vector μ ′ j of an observation signal in a state j and a covariance matrix U ′ j can be used. The average vector μ ′ j and the covariance matrix U ′ j can be obtained by Expression (6) and Expression (7), respectively.
次に連続アクション集合を実行する場合の例について説明する。 Next, an example of executing a continuous action set will be described.
連続アクションの場合、離散アクションの場合と異なり、離散アクションckより連続アクションcの出力される確率ρk(c)の学習が必要となる。確率ρk(c)を学習することにより、連続アクションcを、あたかも離散アクションckであるようにラベリングする(離散アクションに対応付ける)ことができるからである。 In the case of the continuous action, unlike the case of the discrete action, it is necessary to learn the probability ρ k (c) that the continuous action c is output from the discrete action c k . This is because by learning the probability ρ k (c), the continuous action c can be labeled as if it were the discrete action c k (corresponding to the discrete action).
連続アクションの場合のforward確率の計算は次のようにして行なわれる。 The calculation of the forward probability in the case of continuous action is performed as follows.
時刻1,2,・・・t-1の各時刻においてエージェントが取得したセンサ信号に対応する観測シンボルを、それぞれo1,o2,・・・,ot?1で表すことにする。また、時刻1,2,・・・t-1の各時刻においてエージェントが実行した連続アクションから推定される離散アクションを、それぞれc1,c2,・・・,ct?1で表すことにする。この場合、時刻tにおいてエージェントが取得したセンサ信号に対応する観測シンボルがotであるとき、エージェントがノードsjにいるforward確率αt(j)は、式(8)の漸化式により表すことができる。
ただし、ρk(c)は、離散アクションckより連続アクションcの出力される確率を表す。
なお、ρk(c)をどのようにして求めるかについては、後述する。
Here, ρ k (c) represents the probability that the continuous action c is output from the discrete action c k .
Note that how ρ k (c) is obtained will be described later.
エージェントが時刻tにおいて状態iにいた場合、時刻t,t+1,t+2,・・・T-1の各時刻において、エージェントが実行した連続アクションから推定される離散アクションを、それぞれアクションct,ct+1,・・・,cT?1とし、各時刻で取得したセンサ信号に対応する観測シンボルが、それぞれot+1,ot+2,・・・,oTであるbackward確率βt(i)は、式(9)の漸化式により表すことができる。 When the agent is in the state i at time t, the discrete actions estimated from the continuous actions executed by the agent at the times t, t + 1, t + 2,. t , c t + 1 , ..., c T? 1, and observation symbols corresponding to sensor signals obtained at each time, each o t + 1, o t + 2, ···, a o T backward probability [beta] t (i) is gradually formula (9) It can be expressed by a chemical formula.
連続アクション集合を実行する場合の状態遷移確率の推定と観測確率の推定は、次のようにして行なわれる。 The estimation of the state transition probability and the observation probability when the continuous action set is executed is performed as follows.
状態遷移確率aij(k)の推定は、離散アクションの場合と同様に、Baum-WelchアルゴリズムのM−ステップで行なう。ここで、状態遷移確率aij(k)は、エージェントが状態iにいるとき、アクションkを実行することにより状態jに遷移する確率を意味する。すなわち、式(10)を演算することにより、状態遷移確率の推定値a´ij(k)を得ることができる。 The state transition probability a ij (k) is estimated in the M-step of the Baum-Welch algorithm as in the case of the discrete action. Here, the state transition probability a ij (k) means the probability of transition to the state j by executing the action k when the agent is in the state i. In other words, the estimated value a ′ ij (k) of the state transition probability can be obtained by calculating Expression (10).
観測確率bj(o)の推定は、離散アクションの場合と全く同一なので、ここでは説明を省略する。 Since the estimation of the observation probability b j (o) is exactly the same as in the case of the discrete action, the description is omitted here.
次に、離散アクションckより連続アクションcの出力される確率ρk(c)をどのようにして求めるかについて説明する。 Next, how to obtain the probability ρ k (c) that the continuous action c is output from the discrete action c k will be described.
確率ρk(c)もBaum-Welch アルゴリズムのM−ステップで行なうようにすることができる。すなわち、連続観測信号の場合における観測確率の推定と同様の方式で推定することができる。 The probability ρ k (c) can also be performed in the M-step of the Baum-Welch algorithm. That is, it can be estimated by the same method as the estimation of the observation probability in the case of continuous observation signals.
時刻tにおいて実行されるアクションctを、式(11)に示されるξt(i,j,k)よって重み付けた信号分布を用いて、確率ρk(c)を推定すればよい。 The probability ρ k (c) may be estimated using a signal distribution obtained by weighting the action ct executed at time t by ξ t (i, j, k) shown in Expression (11).
観測確率の場合と同様にガウス分布などをモデルとして用い、確率ρk(c)を推定することができる。 As with the observation probability, the probability ρ k (c) can be estimated using a Gaussian distribution or the like as a model.
この場合、連続アクションcをラベリングして得られる離散アクションckより生成されるアクション信号の平均ベクトルνkおよび共分散行列V´kを、それぞれ式(12)および式(13)により演算する。このようにして演算された、アクション信号の平均ベクトルνkおよび共分散行列V´kを、ガウス分布などのモデルのパラメータとして用いるようにすればよい。 In this case, the average vector ν k and the covariance matrix V ′ k of the action signal generated from the discrete action c k obtained by labeling the continuous action c are calculated by the equations (12) and (13), respectively. The action signal average vector ν k and covariance matrix V ′ k calculated as described above may be used as parameters of a model such as a Gaussian distribution.
このようにして、アクション拡張型HMMにおける3次元の状態遷移確率テーブルと、2次元の観測確率テーブルを学習により生成することができる。 In this way, a three-dimensional state transition probability table and a two-dimensional observation probability table in the action expanded HMM can be generated by learning.
ここまで説明したアクション拡張型HMMの学習アルゴリズムにより、通常のHMMと同様に、状態遷移確率と観測確率を得ることができる。 The state transition probability and the observation probability can be obtained by the action extended type HMM learning algorithm described so far as in the case of a normal HMM.
しかし、状態の数(ノード数)をN、観測シンボル数をM、アクション数をKとすると、3次元の状態遷移確率テーブルと、2次元の観測確率テーブルにおいて算出すべきパラメータ数は、N2K+NMとなる。このように、アクション拡張型HMMにおいては、N,M,Kの数が増大すると、学習処理の負荷も加速度的に増大することが明らかである。例えば、Nが250程度、Mが15程度、Kが5程度の環境においては、30万規模のパラメータを算出する必要がある。数少ないサンプルからこれほど多くのパラメータを適切に決定することは非常に困難である。 However, if the number of states (number of nodes) is N, the number of observation symbols is M, and the number of actions is K, the number of parameters to be calculated in the three-dimensional state transition probability table and the two-dimensional observation probability table is N 2. K + NM. As described above, in the action expansion type HMM, it is clear that the load of the learning process increases at an accelerated rate as the number of N, M, and K increases. For example, in an environment where N is about 250, M is about 15, and K is about 5, it is necessary to calculate 300,000 scale parameters. It is very difficult to properly determine so many parameters from a few samples.
しかしながら、例えば、モデルに制約を加えることでパラメータの自由度を減らし、学習を安定化させることが可能である。次に、必然的に大規模となるアクション拡張型HMMの学習を効率的かつ適切に行うために必要となる技術について説明する。 However, for example, by adding constraints to the model, it is possible to reduce the degree of freedom of parameters and stabilize learning. Next, a technique necessary for efficiently and appropriately learning an action expanded HMM that inevitably has a large scale will be described.
本発明では、アクション拡張型HMMの学習において、一状態一観測制約およびアクション遷移制約を課すことにする。 In the present invention, one-state one-observation constraint and action transition constraint are imposed in learning of the action-expanded HMM.
最初に、一状態一観測制約について説明する。一状態一観測制約は、例えば、あるノードで観測される観測シンボルは、原則として1つに限るという制約である。なお、一状態一観測制約の下でも、同じ観測シンボルを別々のノードで観測することは許容される。 First, one-state one-observation constraint will be described. The one-state one-observation constraint is a constraint that, for example, the number of observation symbols observed at a certain node is limited to one in principle. Note that it is permissible to observe the same observation symbol at different nodes even under the one-state one-observation constraint.
アクション拡張型HMMの学習において、一状態一観測制約を課すことにより事象の表現方式が限定され、結果として、状態遷移確率テーブルと観測確率テーブルの生成のために必要となるパラメータの自由度が減少する。 In action-expanded HMM learning, the representation method of events is limited by imposing one-state one-observation constraint, and as a result, the degree of freedom of parameters required for generating the state transition probability table and the observation probability table is reduced. To do.
一状態一観測制約を実現する方式の1つとして、例えば、離散観測型HMMの学習においてなされているように、目的関数に観測確率をスパースにするような制約項を加えるという方式がある。 As one of the methods for realizing one-state one-observation constraint, for example, there is a method of adding a constraint term that makes the observation probability sparse in the objective function, as is done in the learning of the discrete observation type HMM.
例えば、目的関数に観測確率をスパースにするような重みλを乗じた制約項ΣjH(bj)を加えるという方式が考えられる。ここで、H(bj)は、ノードsjで観測され得るすべて観測シンボルに対する観測確率ベクトルbjに対して定義されるエントロピーとされる。これ以外にも、観測確率ベクトルbjのL1ノルムとL2ノルムの差分Σj(||bj||1 ? ||bj||2)などを、制約項とする方式も考えられる。 For example, a method of adding a constraint term Σ j H (b j ) multiplied by a weight λ that makes the observation probability sparse is added to the objective function. Here, H (b j ) is an entropy defined for the observation probability vector b j for all observation symbols that can be observed at the node s j . In addition to this, a method in which the difference Σ j (|| b j || 1 ? || b j || 2 ) between the L1 norm and the L2 norm of the observation probability vector b j is also considered as a constraint term.
あるいはまた、上述の目的関数に観測確率をスパースにするような重みλを乗じた制約項ΣjH(bj)を加えるという方式以外の方式で一状態一観測制約を実現することも可能である。このような方式の例としてスプリットアルゴリズムを適用する例が考えられる。 Alternatively, the one-state one-observation constraint can be realized by a method other than the method of adding the constraint term Σ j H (b j ) obtained by multiplying the above objective function by a weight λ that makes the observation probability sparse. is there. As an example of such a method, an example in which a split algorithm is applied can be considered.
図10と図11は、スプリットアルゴリズムを説明する図である。図10と図11では、図中の円でノードが示されており、各ノードで観測されるシンボルとして図2を参照して上述したパーツの図形が表示されている。 10 and 11 are diagrams for explaining the split algorithm. In FIGS. 10 and 11, nodes are indicated by circles in the drawings, and the figure of the part described above with reference to FIG. 2 is displayed as a symbol observed at each node.
図10は、エージェントの学習の結果得られた状態遷移確率テーブルと観測確率テーブルの内容を可視化した図である。図10の例は、ノードS10、ノードS20、ノードS30が存在する場合の例を示している。この例の場合、エージェントは、ノードS10で十字路のパーツ(図2のパーツ15)を100%の確率で観測し、ノードS10において右方向に移動するアクションを実行するとエージェントは100%の確率でノードS20に移動(遷移)する。
FIG. 10 is a diagram visualizing the contents of the state transition probability table and the observation probability table obtained as a result of agent learning. The example of FIG. 10 shows an example in the case where the node S10, the node S20, and the node S30 exist. In this example, when the agent observes the crossroad part (
また、ノードS20では、図2のパーツ7とパーツ13が、それぞれ50%の確率で観測される。ノードS20において右方向に移動するアクションを実行すると100%の確率でノードS30に遷移し、ノードS20において左方向に移動するアクションを実行すると100%の確率でノードS10に遷移する。
Further, at the node S20, the
さらに、ノードS30では、図2のパーツ5が100%の確率で観測され、ノードS30において左方向に移動するアクションを実行すると100%の確率でノードS20に遷移する。
Further, at the node S30, the
なお、図10(図11も同じ)は、状態遷移確率テーブルと観測確率テーブルの内容を可視化したものであり、実際には、図10に対応する状態遷移確率テーブルと観測確率テーブルが内部モデルデータとして学習されている。このような内部モデルデータにスプリットアルゴリズムを適用すると、状態遷移確率テーブルと観測確率テーブルの内容は、図11に示されるように変化する。 Note that FIG. 10 (the same applies to FIG. 11) is a visualization of the contents of the state transition probability table and the observation probability table. Actually, the state transition probability table and the observation probability table corresponding to FIG. As learned. When the split algorithm is applied to such internal model data, the contents of the state transition probability table and the observation probability table change as shown in FIG.
図11は、図10に対応する状態遷移確率テーブルと観測確率テーブルの内容にスプリットアルゴリズムを適用した場合に得られる状態遷移確率テーブルと観測確率テーブルの内容を可視化した図である。 FIG. 11 is a diagram visualizing the contents of the state transition probability table and the observation probability table obtained when the split algorithm is applied to the contents of the state transition probability table and the observation probability table corresponding to FIG.
図11の例では、ノードS10、ノードS21、ノードS22、ノードS30が存在する。すなわち、図10のノードS20が図11においてノードS21とノードS22に分割(スプリット)されたのである。この例の場合、ノードS10では図2のパーツ15が100%の確率で観測され、ノードS10において右方向に移動するアクションを実行すると50%の確率でノードS21に遷移し、50%の確率でノードS22に遷移する。
In the example of FIG. 11, there are a node S10, a node S21, a node S22, and a node S30. That is, the node S20 in FIG. 10 is divided (split) into the node S21 and the node S22 in FIG. In this example, the
また、ノードS21では図2のパーツ7が100%の確率で観測され、ノードS21において右方向に移動するアクションを実行すると100%の確率でノードS30に遷移し、左方向に移動するアクションを実行すると100%の確率でノードS10に遷移する。 2 is observed at a probability of 100% in the node S21. When an action of moving to the right in the node S21 is executed, the action moves to the node S30 with a probability of 100% and an action of moving to the left is executed. Then, a transition to the node S10 is made with a probability of 100%.
ノードS22では図2のパーツ13が100%の確率で観測され、ノードS22において右方向に移動するアクションを実行すると100%の確率でノードS30に遷移し、左方向に移動するアクションを実行すると100%の確率でノードS10に遷移する。
The
さらに、ノードS30では、図2のパーツ5が100%の確率で観測され、ノードS30において左方向に移動するアクションを実行すると50%の確率でノードS21に遷移し、50%の確率でノードS22に遷移する。
Further, at node S30,
このように、スプリットアルゴリズムを適用することにより、一状態一観測制約を実現することが可能である。 Thus, by applying the split algorithm, it is possible to realize one-state one-observation constraint.
すなわち、スプリットアルゴリズムの適用は、期待値最大化法で求められた局所最適解に対して一状態一観測制約を適用し、修正された解に対して再度期待値最大化法に基づく局所最適化を施す処理を繰り返すことで、最終的に一状態一観測制約を満たす局所最適解を求める処理になる。 In other words, the split algorithm is applied by applying the one-state one-observation constraint to the local optimal solution obtained by the expected value maximization method, and again by using the local optimization based on the expected value maximization method for the corrected solution. By repeating the processing, the processing for obtaining a local optimal solution that finally satisfies the one-state one-observation constraint is obtained.
なお、図10と図11を参照して上述した例では、各ノードで観測される観測シンボルの観測確率が100%とされるように分割されると説明したが、実際には、観測シンボルの観測確率が100%とされることは稀である。一状態一観測制約は、厳密な意味で1つのノードで観測される観測シンボルが常に1つに限られるようにするものではないからである。すなわち、一状態一観測制約は、1つのノードで観測される観測シンボルが複数ある場合でも、そのうち1つの観測シンボルの観測確率が閾値以上となるようにするものである。 In the example described above with reference to FIGS. 10 and 11, it has been described that the observation symbol observed at each node is divided so that the observation probability is 100%. It is rare that the observation probability is 100%. This is because the one-state one-observation constraint does not always limit the number of observation symbols observed at one node to one in a strict sense. That is, the one-state one-observation constraint is such that even when there are a plurality of observation symbols observed at one node, the observation probability of one observation symbol is equal to or greater than a threshold value.
図9の学習器34により内部モデルデータに対してスプリットアルゴリズムが適用される場合の処理について、図12のフローチャートを参照して説明する。
Processing when the split algorithm is applied to the internal model data by the
ステップS101において、学習器34は、内部モデルデータ記憶部37に記憶されている観測確率テーブルを参照し、観測確率bjの最大値が閾値th1以下のノードsjを1つ探す。
In step S101, the
ステップS102において、学習器34は、ステップS101の処理の結果、最大値が閾値th1以下のノードsjが見つかったか否かを判定し、見つかったと判定された場合、処理は、ステップS103に進む。
In step S102, the
ステップS103において、学習器34は、観測確率テーブルを参照し、ステップS102で見つかったと判定されたノードsjにおける各観測シンボルの観測確率をチェックする。そして、学習器34は、ノードsjおいて、観測確率が閾値th2以上となる観測シンボルの数をカウントし、それらの観測シンボルをリストする。
In step S103, the
例えば、K個の観測確率が閾値th2以上となる観測シンボルが存在する場合、観測シンボルok(k = 1, ・・・,K)がリストされる。 For example, if the observation symbols of K observation probability is a threshold th2 or more are present, observation symbols o k (k = 1, ··· , K) are listed.
ステップS104において、学習器34は、ノードsjをK個に分割する。
In step S104, the
このとき、ノードsjが分割された後の観測確率テーブルにおける観測確率および状態遷移確率テーブルにおける状態遷移確率は、次のようにして設定される。 At this time, the observation probability in the observation probability table after the node s j is divided and the state transition probability in the state transition probability table are set as follows.
ノードsjが分割された結果得られるK個のノードのうちの第k番目のノードを、sj kと表すこととし、ノードsj kで観測される各観測シンボルの観測確率のそれぞれを要素とするベクトルをbj kと表すことにする。 The k-th node among the K nodes obtained as a result of dividing the node s j is represented as s j k, and each observation probability of each observation symbol observed at the node s j k is an element. Let be expressed as b j k .
ステップS104において、学習器34は、ベクトルbj kを、観測シンボルokに対する観測確率だけが突出して大きく(1に極めて近く)、その他の観測シンボルに対する観測確率はきわめて微小な範囲の一様乱数となるように設定する。
In step S104, the
また、ノードsjが分割される前のノードsiからノードsjへの状態遷移確率をaijで表すこととし、ノードsjが分割された後のノードsiからノードsj kへの状態遷移確率をak ijで表すことにする。 In addition, the state transition probability from the node s i to the node s j before the node s j is divided is represented by a ij , and the node s i to the node s j k after the node s j is divided The state transition probability is represented by a k ij .
ステップS104において、学習器34は、状態遷移確率をak ijが、分割前の状態遷移確率aijを分割前の各観測シンボルの観測確率の比で案分されたものとなるように設定する。
In step S104, the
さらに、ノードsjが分割される前のノードsjからノードsiへの状態遷移確率をajiで表すこととし、ノードsjが分割された後のノードsj kからノードsiへの状態遷移確率をak jiで表すことにする。 Furthermore, the state transition probabilities from the previous node s j to the node s i to node s j is divided and be represented by a ji, from node s j k after the node s j is divided to the node s i The state transition probability is represented by a k ji .
ステップS104において、K個の状態遷移確率ak jiのそれぞれに、状態遷移確率ajiを設定する。 In step S104, a state transition probability a ji is set for each of the K state transition probabilities a k ji .
このようにして、スプリットアルゴリズムの適用の処理が実行される。 In this way, the split algorithm application process is executed.
次に、アクション遷移制約について説明する。アクション遷移制約は、一状態一観測制約が課されていることを前提とした制約である。 Next, action transition constraints will be described. The action transition constraint is a constraint on the premise that a one-state one-observation constraint is imposed.
アクション遷移制約は、あるノードsiから、同一のアクションckによって遷移可能な遷移先のノードsj(j=1,・・・ , J)、またはノードsiへ同一のアクションckによって遷移可能な遷移元のノードsj(j=1,・・・,J)では、それぞれ異なる観測シンボルoj(j=1,・・・,J)が観測されるべきであるという制約である。前者をforward制約、後者をbackward制約と称する。すなわち、アクション遷移制約の下では、同一のアクションckによって遷移可能な複数の遷移先(または遷移元)のノードにおいて、同一の観測シンボルが観測されることは許容されないのである。なお、アクション遷移制約の下でも、異なる観測シンボルを観測するノードであれば、同一のアクションckによって遷移可能な遷移先のノードが複数存在することは許容される。 The action transition constraint is a transition from a node s i to a transition destination node s j (j = 1,..., J) that can be transitioned by the same action c k or the same action c k to the node s i . In the possible transition source node s j (j = 1,..., J), a different observation symbol o j (j = 1,..., J) should be observed. The former is called a forward constraint and the latter is called a backward constraint. That is, under the action transition constraint, it is not allowed to observe the same observation symbol at a plurality of transition destination (or transition source) nodes that can be transitioned by the same action ck . It should be noted that even under an action transition constraint, it is allowed that a plurality of transition destination nodes that can be transitioned by the same action ck exist as long as the nodes observe different observation symbols.
アクション遷移制約を実現する方式の例としてフォワードマージアルゴリズムおよびバックワードマージアルゴリズムを適用する例が考えられる。 An example of applying a forward merge algorithm and a backward merge algorithm can be considered as an example of a method for realizing an action transition constraint.
図13と図14は、フォワードマージアルゴリズムを説明する図である。 13 and 14 are diagrams for explaining the forward merge algorithm.
図13と図14では、図中の円でノードが示されており、各ノードで観測されるシンボルとして図2を参照して上述したパーツの図形が表示されている。 In FIG. 13 and FIG. 14, nodes are indicated by circles in the drawings, and the graphics of the parts described above with reference to FIG. 2 are displayed as symbols observed at each node.
図13は、エージェントの学習の結果得られた状態遷移確率テーブルと観測確率テーブルの内容を可視化した図である。図13の例は、ノードS10、ノードS21、ノードS22、ノードS31、ノードS32が存在する場合の例を示している。この例の場合、ノードS10において右方向に移動するアクションを実行すると50%の確率でノードS21に遷移し、50%の確率でノードS22に遷移する。 FIG. 13 is a diagram visualizing the contents of the state transition probability table and the observation probability table obtained as a result of agent learning. The example of FIG. 13 illustrates an example in which the node S10, the node S21, the node S22, the node S31, and the node S32 exist. In the case of this example, when the action of moving in the right direction is executed in the node S10, the transition is made to the node S21 with a probability of 50% and the transition is made to the node S22 with a probability of 50%.
ノードS21では、図2のパーツ5が100%の確率で観測され、ノードS22でも図2のパーツ5が100%の確率で観測される。
At node S21,
さらに、ノードS21において右方向に移動するアクションを実行すると100%の確率でノードS31に遷移し、ノードS22において右方向に移動するアクションを実行すると100%の確率でノードS32に遷移する。 Further, if an action moving rightward is executed in the node S21, transition to the node S31 is made with a probability of 100%, and if an action moving rightward is executed in the node S22, the action is changed to the node S32 with a probability of 100%.
なお、図13(図14も同じ)は、状態遷移確率テーブルと観測確率テーブルの内容を可視化したものであり、実際には、図13に対応する状態遷移確率テーブルと観測確率テーブルが内部モデルデータとして学習されている。このような内部モデルデータにフォワードマージアルゴリズムを適用すると、状態遷移確率テーブルと観測確率テーブルの内容は、図14に示されるように変化する。 FIG. 13 (same for FIG. 14) is a visualization of the contents of the state transition probability table and the observation probability table. Actually, the state transition probability table and the observation probability table corresponding to FIG. As learned. When the forward merge algorithm is applied to such internal model data, the contents of the state transition probability table and the observation probability table change as shown in FIG.
図14は、図13に対応する状態遷移確率テーブルと観測確率テーブルの内容にフォワードマージアルゴリズムを適用した場合に得られる状態遷移確率テーブルと観測確率テーブルの内容を可視化した図である。 FIG. 14 is a diagram visualizing the contents of the state transition probability table and the observation probability table obtained when the forward merge algorithm is applied to the contents of the state transition probability table and the observation probability table corresponding to FIG.
図14の例では、ノードS10、ノードS20、ノードS31、ノードS32が存在する。すなわち、図13のノードS21とノードS22が図14のノードS20に併合(マージ)されたのである。この例の場合、ノードS20では図2のパーツ5が100%の確率で観測され、ノードS10において右方向に移動するアクションを実行すると100%の確率でノードS20に遷移する。
In the example of FIG. 14, there are a node S10, a node S20, a node S31, and a node S32. That is, the node S21 and the node S22 in FIG. 13 are merged with the node S20 in FIG. In this example, the
また、ノードS20において右方向に移動するアクションを実行すると50%の確率でノードS31に遷移し、50%の確率でノードS32に遷移する。 Further, when an action of moving in the right direction is executed in the node S20, the node transits to the node S31 with a probability of 50%, and transits to the node S32 with a probability of 50%.
このように、フォワードマージアルゴリズムを適用することにより、アクション遷移制約のうちのforward制約を実現することが可能である。 Thus, by applying the forward merge algorithm, it is possible to realize a forward constraint among the action transition constraints.
つまり、アクション遷移制約の下では、同一のアクションckによって遷移可能な複数の遷移先のノードにおいて、同一の観測シンボルが観測されることは許容されないので、図13のノードS21とノードS22が図14のノードS20にマージされたのである。なお、仮にノードS10において右方向に移動するアクションを実行することにより遷移するノードS23が存在した場合、ノードS23でパーツ5以外のパーツが観測されるときは、ノード23がマージの対象となることはない。アクション遷移制約の下でも、異なる観測シンボルを観測するノードであれば、同一のアクションckによって遷移可能な遷移先のノードが複数存在することは許容されるからである。
That is, under the action transition constraint, the same observation symbol is not allowed to be observed at a plurality of transition destination nodes that can be transitioned by the same action ck , so that the nodes S21 and S22 in FIG. It is merged into 14 nodes S20. Note that if there is a node S23 that transitions by executing an action of moving to the right in the node S10, when a part other than the
すなわち、1つのノードにおいて所定のアクションを実行した場合に遷移し得る遷移先ノードのそれぞれでの観測確率分布が類似するノードを発見し、発見されたノードが併合(マージ)されるのである。 That is, a node having a similar observation probability distribution at each transition destination node that can transition when a predetermined action is executed in one node is found, and the discovered nodes are merged.
なお、図13と図14を参照して上述した例では、所定の観測シンボルが観測されるノードへの状態遷移確率が100%とされるようにマージされると説明したが、実際には、状態遷移確率が100%とされることは稀である。forward制約は、厳密な意味で同一のアクションckによって遷移可能な複数の遷移先のノードにおいて、同一の観測シンボルが観測されることは許容しないものではないからである。 In the example described above with reference to FIG. 13 and FIG. 14, it has been described that merging is performed so that the state transition probability to a node where a predetermined observation symbol is observed is 100%. It is rare that the state transition probability is 100%. This is because the forward constraint does not allow the same observation symbol to be observed in a plurality of transition destination nodes that can be transitioned by the same action c k in a strict sense.
図9の学習器34により内部モデルデータに対してフォワードマージアルゴリズムが適用される場合の処理について、図15のフローチャートを参照して説明する。
Processing when the forward merge algorithm is applied to the internal model data by the
ステップS121において、学習器34は、内部モデルデータ記憶部37に記憶されている状態遷移確率テーブルを参照し、ある1つのアクションckの状態遷移確率テーブルをチェックする。
In step S121, the
ステップS122において、学習器34は、ステップS121の処理でチェックした状態遷移確率テーブルの中で、ある1つの遷移元ノードsiを特定し、ノードsiから各遷移先ノードへの状態遷移確率を要素とするベクトルaij(k)をチェックする。そして、学習器34は、状態遷移確率の値が閾値以上となった遷移先ノードsjをリストする。
In step S122, the
ステップS123において、学習器34は、ステップS122の処理でリストされた遷移先ノードを観測シンボル毎に分類する。
In step S123, the
なお、上述したように、アクション遷移制約は、一状態一観測制約が課されていることを前提とした制約だから、遷移先ノードで観測される観測シンボルは、ほぼ1つに特定することが可能である。 Note that as described above, action transition constraints are based on the premise that one-state one-observation constraint is imposed, so it is possible to specify almost one observation symbol observed at the transition destination node. It is.
ステップS124において、学習器34は、ステップS123の処理で分類された同一の観測シンボルのノードをマージする。
In step S124, the
すなわち、ステップS123の処理でマージされた、観測シンボルmに対応するノード群を、sj m,l(l = 1,・・・,L)で表すものとし、L個のノードsj m,lを1つのノードsj mにマージするのである。 That is, the node group corresponding to the observation symbol m merged in the process of step S123 is represented by s j m, l (l = 1,..., L), and L nodes s j m, l is merged into one node s j m .
このとき、L個のノードsj m,lが1つのノードsj mにマージされた後の状態遷移確率テーブルにおける状態遷移確率および観測確率テーブルにおける観測確率は、次のようにして設定される。 At this time, the state transition probability in the state transition probability table after the L nodes s j m, l are merged into one node s j m and the observation probability in the observation probability table are set as follows. .
ノードsiからノードsj mへの状態遷移確率aij mは、式(14)により求められて設定される。 The state transition probability a ij m from the node s i to the node s j m is obtained and set by Expression (14).
ここで、aij m,lは、マージされる前のノードsiから1個のノードsj m,lへの状態遷移確率を表すものとする。
Here, a ij m, l represents the state transition probability from the node s i before merging to one node s j m, l .
ノードsj mからノードsiへの状態遷移確率aji mは、aji m,lの単純平均、またはΣkakj m,lによる重み付き平均として求められて設定される。 Node s state transition probability a ji m from j m to the node s i is, a ji m, simple average of l, or Σ k a kj m, is obtained and set as a weighted average by l.
L個のノードsj m,lが1つのノードsj mにマージされた後のノードsj mにおける観測シンボルmの観測確率bj mは、bj m,lの単純平均、またはΣkakj m,lによる重み付き平均として求められて設定される。 The observation probability b j m of the observation symbol m at the node s j m after the L nodes s j m, l are merged into one node s j m is the simple average of b j m, l or Σ k It is obtained and set as a weighted average by a kj m, l .
ステップS124では、このように、状態遷移確率aij m、状態遷移確率aji m、観測確率bj mが設定される。 In step S124, the state transition probability a ij m , the state transition probability a ji m , and the observation probability b j m are set in this way.
このようにして、フォワードマージアルゴリズムの適用の処理が実行される。 In this way, the process of applying the forward merge algorithm is executed.
図16と図17は、バックワードマージアルゴリズムを説明する図である。 16 and 17 are diagrams for explaining the backward merge algorithm.
図16と図17では、図中の円でノードが示されており、各ノードで観測されるシンボルとして図2を参照して上述したパーツの図形が表示されている。 In FIG. 16 and FIG. 17, nodes are indicated by circles in the drawings, and the graphics of the parts described above with reference to FIG. 2 are displayed as symbols observed at each node.
図16は、エージェントの学習の結果得られた状態遷移確率テーブルと観測確率テーブルの内容を可視化した図である。図16の例は、ノードS11、ノードS12、ノードS21、ノードS22、ノードS30が存在する場合の例を示している。この例の場合、ノードS11において右方向に移動するアクションを実行すると100%の確率でノードS21に遷移する。ノードS12において右方向に移動するアクションを実行すると100%の確率でノードS22に遷移する。 FIG. 16 is a diagram visualizing the contents of the state transition probability table and the observation probability table obtained as a result of agent learning. The example of FIG. 16 illustrates an example in which the node S11, the node S12, the node S21, the node S22, and the node S30 exist. In this example, when an action of moving in the right direction is executed in the node S11, the transition to the node S21 is made with a probability of 100%. When the action of moving in the right direction is executed in the node S12, the transition to the node S22 is made with a probability of 100%.
また、ノードS21では、図2のパーツ7が100%の確率で観測される。ノードS22では、図2のパーツ7が100%の確率で観測される。
Further, at the node S21, the
さらに、ノードS21において右方向に移動するアクションを実行すると100%の確率でノードS30に遷移し、ノードS22において右方向に移動するアクションを実行すると100%の確率でノードS30に遷移する。 Further, when an action moving in the right direction is executed in the node S21, transition to the node S30 is performed with a probability of 100%, and when an action moving in the right direction is executed in the node S22, transition to the node S30 is performed with a probability of 100%.
なお、図16(図17も同じ)は、状態遷移確率テーブルと観測確率テーブルの内容を可視化したものであり、実際には、図16に対応する状態遷移確率テーブルと観測確率テーブルが内部モデルデータとして学習されている。このような内部モデルデータにバックワードマージアルゴリズムを適用すると、状態遷移確率テーブルと観測確率テーブルの内容は、図17に示されるように変化する。 Note that FIG. 16 (same for FIG. 17) is a visualization of the contents of the state transition probability table and the observation probability table. Actually, the state transition probability table and the observation probability table corresponding to FIG. As learned. When the backward merge algorithm is applied to such internal model data, the contents of the state transition probability table and the observation probability table change as shown in FIG.
図17は、図16に対応する状態遷移確率テーブルと観測確率テーブルの内容にバックワードマージアルゴリズムを適用した場合に得られる状態遷移確率テーブルと観測確率テーブルの内容を可視化した図である。 FIG. 17 is a diagram visualizing the contents of the state transition probability table and the observation probability table obtained when the backward merge algorithm is applied to the contents of the state transition probability table and the observation probability table corresponding to FIG.
図17の例では、ノードS11、ノードS12、ノードS20、ノードS30が存在する。すなわち、図16のノードS21とノードS22が図17のノードS20に併合(マージ)されたのである。この例の場合、ノードS20では図2のパーツ7が100%の確率で観測される。
In the example of FIG. 17, there are a node S11, a node S12, a node S20, and a node S30. That is, the nodes S21 and S22 in FIG. 16 are merged with the node S20 in FIG. In this example, the
また、ノードS11において右方向に移動するアクションを実行すると100%の確率でノードS20に遷移し、ノードS12において右方向に移動するアクションを実行すると100%の確率でノードS20に遷移する。 Further, when an action that moves in the right direction is executed in the node S11, a transition is made to the node S20 with a probability of 100%, and when an action that moves in the right direction is executed in the node S12, a transition to the node S20 is made with a probability of 100%.
さらに、ノードS20において右方向に移動するアクションを実行すると100%の確率でノードS30に遷移する。 Furthermore, when an action of moving in the right direction is executed in the node S20, the transition to the node S30 is made with a probability of 100%.
このように、バックワードマージアルゴリズムを適用することにより、アクション遷移制約のうちのbackward制約を実現することが可能である。 In this way, by applying the backward merge algorithm, it is possible to realize the backward constraint among the action transition constraints.
つまり、アクション遷移制約の下では、同一のアクションckによって遷移可能な複数の遷移元のノードにおいて、同一の観測シンボルが観測されることは許容されないので、図16のノードS21とノードS22が図17のノードS20にマージされたのである。なお、仮に右方向に移動するアクションを実行することによりノードS30に遷移するノードS23が存在した場合、ノードS23でパーツ7以外のパーツが観測されるときは、ノード23がマージの対象となることはない。アクション遷移制約の下でも、異なる観測シンボルを観測するノードであれば、同一のアクションckによって遷移可能な遷移元のノードが複数存在することは許容されるからである。
That is, under the action transition constraint, the same observation symbol is not allowed to be observed at a plurality of transition source nodes that can be transitioned by the same action ck , so that the nodes S21 and S22 in FIG. It is merged into 17 nodes S20. If there is a node S23 that transitions to the node S30 by executing an action that moves to the right, if a part other than the
すなわち、1つのノードに対して、共通のアクションによって遷移してくる遷移元ノードのそれぞれでの観測確率分布が類似するノードを発見し、発見されたノードが併合されるのである。 That is, for a single node, a node having a similar observation probability distribution at each of the transition source nodes that are transitioned by a common action is discovered, and the discovered nodes are merged.
図9の学習器34により内部モデルデータに対してバックワードマージアルゴリズムが適用される場合の処理について、図18のフローチャートを参照して説明する。
Processing when the backward merge algorithm is applied to the internal model data by the
ステップS141において、学習器34は、内部モデルデータ記憶部37に記憶されている状態遷移確率テーブルを参照し、ある1つのアクションckの状態遷移確率テーブルをチェックする。
In step S141, the
ステップS142において、学習器34は、ステップS141の処理でチェックした状態遷移確率テーブルの中で、ある1つの遷移先ノードsjを特定し、ノードsjへの各遷移元ノードからの状態遷移確率を要素とするベクトルaij(k)をチェックする。そして、学習器34は、状態遷移確率の値が閾値以上となった遷移元ノードsiをリストする。
In step S142, the
ステップS143において、学習器34は、ステップS142の処理でリストされた遷移元ノードを観測シンボル毎に分類する。
In step S143, the
なお、上述したように、アクション遷移制約は、一状態一観測制約が課されていることを前提とした制約だから、遷移元ノードで観測される観測シンボルは、ほぼ1つに特定することが可能である。 Note that, as described above, action transition constraints are based on the premise that one-state one-observation constraint is imposed, so it is possible to specify almost one observation symbol observed at the transition source node. It is.
ステップS144において、学習器34は、ステップS143の処理で分類された同一の観測シンボルのノードをマージする。
In step S144, the
すなわち、ステップS143の処理でマージされた、観測シンボルmに対応するノード群を、si m,l(l=1,・・・,L)で表すものとし、L個のノードsi m,lを1つのノードsi mにマージするのである。 That is, the node group corresponding to the observation symbol m merged in the process of step S143 is represented by s i m, l (l = 1,..., L), and L nodes s i m, l is merged into one node s i m .
このとき、L個のノードsi m,lが1つのノードsi mにマージされた後の状態遷移確率テーブルにおける状態遷移確率および観測確率テーブルにおける観測確率は、次のようにして設定される。 At this time, the state transition probability in the state transition probability table and the observation probability in the observation probability table after the L nodes s i m, l are merged into one node s i m are set as follows. .
ノードsjへのノードsi mからの状態遷移確率aij mは、aji m,lの単純平均、またはΣkaki m,lによる重み付き平均として求められて設定される。 State transition probability a ij m from node s i m to the node s j is, a ji m, simple average of l, or Σ k a ki m, it is obtained and set as a weighted average by l.
ノードsjからのノードsi mへの状態遷移確率aji mは、Σlaji m,lにより求められて設定される。 The state transition probability a ji m from the node s j to the node s i m is obtained and set by Σ l a ji m, l .
L個のノードsi m,lが1つのノードsi mにマージされた後のノードsi mにおける観測シンボルmの観測確率bi mは、bi m,lの単純平均、またはΣkaki m,lによる重み付き平均として求められて設定される。 The observation probability b i m of the observation symbol m at the node s i m after the L nodes s i m, l are merged into one node s i m is the simple average of b i m, l or Σ k It is obtained and set as a weighted average by a ki m, l .
ステップS124では、このように、状態遷移確率aij m、状態遷移確率aji m、観測確率bj mが設定される。 In step S124, the state transition probability a ij m , the state transition probability a ji m , and the observation probability b j m are set in this way.
このようにして、バックワードマージアルゴリズムの適用の処理が実行される。 In this way, the backward merging algorithm application process is executed.
このように一状態一観測制約およびアクション遷移制約を課すことで、学習処理の負荷を軽減することが可能となる。 By imposing the one-state one-observation constraint and the action transition constraint in this way, it is possible to reduce the load of the learning process.
図19は、アクション拡張型HMMにおける状態遷移確率テーブルと観測確率テーブルの尤度を比較する表である。同図の最も左側の列は、学習の回数(試行回数)を表している。試行回数の右側の列は、「最初の学習」の列とされており、それぞれの試行回数時に学習された状態遷移確率テーブルと観測確率テーブルの尤度の値が記述されている。「最初の学習」の右側の列は、「スプリット・マージ後」の列とされている。この列には、「最初の学習」によって得られた状態遷移確率テーブルと観測確率テーブルに対して、図12、図15、および図18の処理を施すことにより得られた状態遷移確率テーブルと観測確率テーブルの尤度の値が記述されている。さらに、「スプリット・マージ後」の右側の列は、「増分」の列とされている。この列には、「スプリット・マージ後」の列に記述された尤度値と「最初の学習」の列に記述された尤度値との差分が記述されている。 FIG. 19 is a table for comparing the likelihoods of the state transition probability table and the observation probability table in the action expanded HMM. The leftmost column in the figure represents the number of learning (number of trials). The column on the right side of the number of trials is a column of “first learning”, which describes the likelihood values of the state transition probability table and the observation probability table learned at each trial number. The column on the right side of “first learning” is the column “after split / merging”. In this column, the state transition probability table and the observation probability table obtained by performing the processing of FIG. 12, FIG. 15 and FIG. 18 on the state transition probability table and the observation probability table obtained by “first learning”. The likelihood value of the probability table is described. Further, the column on the right side of “after split / merge” is the column of “increment”. In this column, the difference between the likelihood value described in the “after split / merging” column and the likelihood value described in the “first learning” column is described.
図19に示されるように、図12、図15、および図18の処理を施すことにより尤度が向上することが分かる。また、図12、図15、および図18の処理を施すことにより、尤度値は、「−60」付近の値をとる回数が多くなることが分かる。つまり、尤度値は、「−60」付近の値をとるような学習が行われた場合、与えられた環境を最も適切に学習したといえる。これに対して、「最初の学習」の列に記述された尤度は、学習の都度、値が大きく変化しており、学習を繰り返しても与えられた環境を最も適切に学習することは困難であることが判る。 As shown in FIG. 19, it is understood that the likelihood is improved by performing the processes of FIGS. 12, 15, and 18. It can also be seen that the number of times that the likelihood value takes a value in the vicinity of “−60” increases by performing the processes of FIGS. 12, 15, and 18. That is, it can be said that the likelihood value is most appropriately learned in the case where learning is performed in the vicinity of “−60”. On the other hand, the likelihood described in the “first learning” column changes greatly every time learning is performed, and it is difficult to learn the given environment most appropriately even if learning is repeated. It turns out that it is.
すなわち、一状態一観測制約とアクション遷移制約を課すことで、アクション拡張型HMMの学習の精度を高めることができるのである。 That is, by imposing one-state one-observation constraint and action transition constraint, it is possible to improve the learning accuracy of the action expanded HMM.
図20乃至図26は、一状態一観測制約とアクション遷移制約を課すことによる学習結果の変化を説明する図である。 FIGS. 20 to 26 are diagrams for explaining the change in the learning result by imposing one-state one-observation constraint and action transition constraint.
ここでは、図20に示される迷路において、図中円で示される位置のパーツを変更し、図21に示されるような構造に変化させた迷路を環境としてエージェントに学習させる場合を例として説明する。 Here, a case will be described as an example where, in the maze shown in FIG. 20, the part at the position shown by a circle in the figure is changed and the agent learns the maze changed to the structure shown in FIG. 21 as the environment. .
図22は、図20と図21に示される環境を学習したエージェントの状態遷移確率テーブルと観測確率テーブルの内容を可視化した図である。図22の例では、図中の円でノードが示されており、図中の三角形で表現された方向のアクションにより遷移するノードが線により接続されている。また、図中の円の内部にしめされた番号が、その円で示されるノードのインデックスを表している。図22の例は、一状態一観測制約とアクション遷移制約を課すことなく得られた状態遷移確率テーブルと観測確率テーブルの内容を可視化した図とされる。 FIG. 22 is a diagram in which the contents of the state transition probability table and the observation probability table of the agent who has learned the environment shown in FIGS. 20 and 21 are visualized. In the example of FIG. 22, nodes are indicated by circles in the figure, and the nodes that are transitioned by the action in the direction represented by the triangles in the figure are connected by lines. In addition, the number shown inside the circle in the figure represents the index of the node indicated by the circle. The example of FIG. 22 is a diagram visualizing the contents of the state transition probability table and the observation probability table obtained without imposing one state one observation constraint and action transition constraint.
これに対して、図23は、図22に対応する状態遷移確率テーブルと観測確率テーブルに、一状態一観測制約とアクション遷移制約を課す処理を施すことにより得られた状態遷移確率テーブルと観測確率テーブルの内容を可視化した図とされる。 On the other hand, FIG. 23 shows a state transition probability table and an observation probability obtained by subjecting the state transition probability table and the observation probability table corresponding to FIG. The table contents are visualized.
図23においては、図22のノード28がノード28とノード31に分割されている。また、図23においては、図22のノード17とノード19がノード7にマージされている。さらに、図23においては、図22のノード12とノード25がノード12にマージされている。
In FIG. 23, the
なお、エージェントが学習のために迷路上を移動していた時間帯において、迷路が図20に示される構造とされていた時間帯と、迷路が図21に示される構造とされていた時間帯とが存在する。従って、図23に示される各ノードの位置が完全に、図20または図21のパーツの位置と一致するものではない。例えば、図23のノード24、ノード36、ノード2、ノード18によって、迷路の構造が時間帯によって変化し得ることが適切に学習されていることが分かる。
It should be noted that in the time zone in which the agent was moving on the maze for learning, the time zone in which the maze was configured as shown in FIG. 20 and the time zone in which the maze was configured as shown in FIG. Exists. Therefore, the position of each node shown in FIG. 23 does not completely match the position of the part in FIG. 20 or FIG. For example, it can be understood that the structure of the maze can be appropriately changed by the time zone by the
実際には、迷路の規模はさらに大きいものとされる。例えば、図24に示されるような迷路を環境としてエージェントに学習させる。この場合、一状態一観測制約とアクション遷移制約を課すことなく得られた状態遷移確率テーブルと観測確率テーブルの内容を可視化すると図25に示されるようになる。これに対して、一状態一観測制約とアクション遷移制約を課すことにより得られた状態遷移確率テーブルと観測確率テーブルの内容を可視化すると図26に示されるようになる。 In practice, the size of the maze is even larger. For example, the agent learns using a maze as shown in FIG. 24 as an environment. In this case, the contents of the state transition probability table and the observation probability table obtained without imposing one state one observation constraint and action transition constraint are visualized as shown in FIG. On the other hand, when the contents of the state transition probability table and the observation probability table obtained by imposing one state one observation constraint and action transition constraint are visualized, it is as shown in FIG.
図25と比較して、図26は、現実の迷路(図24)の構造に近いものとなっていることが分かる。 Compared with FIG. 25, FIG. 26 is close to the structure of the actual maze (FIG. 24).
ここまで、必然的に大規模となるアクション拡張型HMMの学習を効率的かつ適切に行うために必要となる技術について説明した。 So far, the technology necessary for efficiently and appropriately learning the action-expanded HMM that inevitably has a large scale has been described.
次に、ここまで説明してきた、図9の学習器34によるアクション拡張型HMMの学習処理について、図27のフローチャートを参照して説明する。
Next, the action expansion type HMM learning process by the
ステップS161において、学習器34は、初期の内部モデルデータを取得する。ここで、初期の内部モデルデータは、例えば、ロボットが迷路上を移動することで生成された直後の状態遷移確率テーブルと観測確率テーブルとされる。状態遷移確率テーブルと観測確率テーブルに設定される状態遷移確率と観測確率は、例えば、各時刻においてロボットが実行したアクションと、そのアクションを実行した結果観測された観測シンボルとの組み合わせからなる情報に基づいて生成される。
In step S161, the
ステップS162において、学習器34は、ステップS161の処理で取得した内部モデルデータを最適化する。このとき、例えば、最尤推定法などにより、状態遷移確率テーブルの各値と観測確率テーブルの各値が最適化されるように変更される。
In step S162, the
ステップS163において、学習器34は、ステップS162の処理で最適化された内部モデルデータが、上述した一状態一観測制約、およびアクション遷移制約を満たすか否かを判定する。
In step S163, the
例えば、1つのノードで観測される観測シンボルが複数ある場合でも、そのうち1つの観測シンボルの観測確率が閾値以上となる場合、一状態一観測制約を満たすことになる。また、例えば、同一のアクションによって遷移可能な複数の遷移先のノードにおいて、同一の観測シンボルが観測される確率が閾値以下となる場合、アクション遷移制約を満たすことになる。 For example, even when there are a plurality of observation symbols observed at one node, if one of the observation symbols has an observation probability equal to or higher than a threshold, the one-state one-observation constraint is satisfied. In addition, for example, in a plurality of transition destination nodes that can be transitioned by the same action, when the probability that the same observation symbol is observed is equal to or less than a threshold value, the action transition constraint is satisfied.
ステップS163において、内部モデルデータが、上述した一状態一観測制約、およびアクション遷移制約を満たさないと判定された場合、処理は、ステップS164に進む。 If it is determined in step S163 that the internal model data does not satisfy the one-state one-observation constraint and the action transition constraint described above, the process proceeds to step S164.
ステップS164において、学習器34は、一状態一観測制約、およびアクション遷移制約を満たすように、内部モデルデータを変更する。このとき、例えば、図12、図15、および図18を参照して上述した処理が実行されることにより、状態遷移確率テーブルの各値と観測確率テーブルの各値が変更される。
In step S164, the
ステップS164の処理の後、処理は、ステップS162に戻る。そして、ステップS163において、一状態一観測制約、およびアクション遷移制約を満たすと判定されるまで、ステップS162乃至ステップS164の処理が繰り返し実行される。 After the process of step S164, the process returns to step S162. In step S163, the processes in steps S162 to S164 are repeatedly executed until it is determined that the one-state one-observation constraint and the action transition constraint are satisfied.
ステップS163において、一状態一観測制約、およびアクション遷移制約を満たすと判定された場合、処理は、ステップS165に進む。 If it is determined in step S163 that the one-state one-observation constraint and the action transition constraint are satisfied, the process proceeds to step S165.
ステップS165において、学習器34は、内部モデルデータを、内部モデルデータ記憶部37に保存する。
In step S165, the
このようにして、アクション拡張型HMMの学習処理が実行される。 In this manner, the action expansion type HMM learning process is executed.
ところで、HMMの学習の方式として、バッチ学習方式と追加学習方式が存在する。ここで、バッチ学習方式は、例えば、1万ステップの遷移と観測のデータが得られる場合、1万ステップの遷移と観測に基づいて状態遷移確率テーブルと観測確率テーブルを生成して保存するものである。これに対して、追加学習方式は、例えば、最初に、1千ステップの遷移と観測に基づいて状態遷移確率テーブルと観測確率テーブルを生成して保存する。そして、その後の1千ステップの遷移と観測に基づいて状態遷移確率テーブルと観測確率テーブルの各値を変更して保存し、・・・というように、繰り返し学習を行って、内部モデルデータを更新(アップデート)していくものである。 By the way, there are a batch learning method and an additional learning method as methods for learning the HMM. Here, the batch learning method is to generate and store a state transition probability table and an observation probability table based on 10,000 steps of transition and observation, for example, when 10,000 steps of transition and observation data are obtained. is there. On the other hand, in the additional learning method, for example, first, a state transition probability table and an observation probability table are generated and stored based on 1000-step transitions and observations. Then, change and save each value in the state transition probability table and the observation probability table based on the subsequent 1000-step transitions and observations, and so on to update the internal model data by repeatedly learning (Update).
例えば、迷路上を自走するロボットによるアクション拡張型HMMの学習などの場合、追加学習方式での学習を行うことが求められる。バッチ学習方式での学習では、迷路の構造の変化などを適応的に学ぶことが原理的に不可能であり、変化する環境の中でより良い性能を発揮するためには、動作結果をフィードバックする追加学習方式による学習が必須となるからである。 For example, in the case of learning of an action expansion type HMM by a robot that runs on the maze, it is required to perform learning by an additional learning method. In learning with the batch learning method, it is impossible in principle to adaptively learn changes in the structure of the maze, etc. In order to achieve better performance in a changing environment, the operation results are fed back. This is because learning by the additional learning method is essential.
ところが、追加学習を行なう際に「学習済みの記憶構造」と「新しい経験」とをどのように統合するのかという問題は未解決である。一方では「新しい経験」を速やかに反映させてすばやい適応を実現したいという要請もあるが、他方、これまでに確立した記憶構造が破壊される危険性もある。 However, the problem of how to integrate “learned memory structure” and “new experience” when performing additional learning is still unsolved. On the one hand, there is a request to realize quick adaptation by quickly reflecting “new experience”, but there is also a risk of destroying the memory structure established so far.
例えば、図28に示されるような迷路の構造を学習するロボットが、1度学習して内部モデルデータを保存した後、図中の円101で示される範囲内を長時間移動し続けた場合、円102で示される範囲の位置に対応する内部モデルデータが破壊されることがある。すなわち、せっかく適切に学習されて記憶されていた円102で示される範囲の位置に対応する内部モデルデータが誤って更新されることがある。追加学習方式の学習では、新しく得られた遷移と観測に基づいてのみ、内部モデルデータが更新されるので、円101で示される範囲内の位置が誤って、円102で示される範囲の位置に対応するノードと認識されることがあるからである。
For example, when a robot that learns the structure of the maze as shown in FIG. 28 keeps moving for a long time within the range indicated by the
このような問題に対処するために、例えば、従来、追加学習方式での学習を行うために、内部モデルデータを迷路の各範囲に対応させて分離して保持するなどされていた。あるいはまた、過去の学習により得られた内部モデルデータを現在の記憶からリハースする等して、学習することが行われていた。 In order to cope with such a problem, for example, conventionally, in order to perform learning by the additional learning method, the internal model data is separately held corresponding to each range of the maze. Alternatively, learning is performed by rehearsing internal model data obtained by past learning from the current memory.
しかしながら、従来の方式を採用しても、例えば、分離された過去の内部モデルデータに、「新しい体験」が反映されなかったり、リハースされる過去の内部モデルデータが、「新しい体験」の影響を受けて生成されてしまうなどの問題があった。このように、従来の方式では、大規模なHMMの学習において、追加学習を行って実用的なモデルとして機能させることは困難であった。例えば、過去の学習に用いられたデータと、新たな学習に用いられるデータとをまとめてバッチ学習するようにすれば、適切な学習結果を得ることができるが、これを実現するには、膨大な記憶容量と計算量が求められることになる。 However, even if the conventional method is adopted, for example, “new experience” is not reflected in the separated past internal model data, or past internal model data that is rehearsed affects the “new experience”. There was a problem that it was received and generated. As described above, in the conventional method, it is difficult to perform additional learning to function as a practical model in large-scale HMM learning. For example, if batch learning is performed on data used for past learning and data used for new learning, an appropriate learning result can be obtained. A large storage capacity and calculation amount are required.
次に、必然的に大規模となるアクション拡張型HMMにおける追加学習方式での学習を安定的に行うことができるようにするための技術について説明する。 Next, a technique for enabling stable learning in the additional learning method in the action expanded HMM that inevitably has a large scale will be described.
本発明においては、学習器34が、次のような追加学習方式による学習を行い、変化する環境の中でより良い性能を発揮でき、かつ安定的な学習を行うことができるようにする。具体的には、後述する状態遷移確率の推定のための頻度変数と観測確率の推定のための頻度変数とを算出して保存することにより、アクション拡張型HMMにおける追加学習方式での学習を安定的に行うことができるようにする。
In the present invention, the
バッチ学習方式による学習は、換言すれば、複数の時間帯において得られた遷移と観測に基づく学習を足し合わせたものということもできる。例えば、図29に示されるように、バッチ学習方式の学習で用いられる遷移と観測の全体データDAが構成されていると考えられる。すなわち、全体データDAは、第1の時間帯において得られたデータセットD1と、第2の時間帯において得られたデータセットD2と、第3の時間帯において得られたデータセットD3と、・・・により構成されていると考えられる。 In other words, the learning by the batch learning method can be said to be a combination of learning obtained based on observation and transition obtained in a plurality of time zones. For example, as shown in FIG. 29, it is considered that transition and observation whole data DA used in batch learning learning is configured. That is, the entire data DA includes a data set D1 obtained in the first time zone, a data set D2 obtained in the second time zone, a data set D3 obtained in the third time zone,・ It is thought that it is composed of
アクション拡張型HMMの学習における状態遷移確率の推定は、上述した式(3)により行なわれるが、ここでは、図29に示されるように、複数のデータセットが存在している場合を考える。 The estimation of the state transition probability in learning of the action expanded HMM is performed by the above-described equation (3). Here, consider a case where a plurality of data sets exist as shown in FIG.
第n番目の学習データセットDnにおける状態遷移確率の推定値a´ij(k)(n)は、式(15)により求めることができる。 The estimated value a ′ ij (k) (n) of the state transition probability in the n-th learning data set Dn can be obtained by Expression (15).
ここで、状態遷移確率の推定の説明において、t∈Dnは、特に言及がない場合、この表記により(t,t+1∈Dn)を表すものとする。また、学習データセットDnには、各時刻において実行したアクション、各時刻におけるノード、各時刻における観測シンボルを表す情報が含まれているものとする。 Here, in the description of the estimation of the state transition probability, t∈Dn represents (t, t + 1∈Dn) by this notation unless otherwise specified. Further, it is assumed that the learning data set Dn includes information representing an action executed at each time, a node at each time, and an observation symbol at each time.
式(15)における分子は、学習データセットDnの中で、アクションckを実行することにより、ノードiからノードjに遷移した頻度を表すものと言える。一方、式(15)の分母は、学習データセットDnの中で、アクションckを実行することにより、ノードiから他のノードに遷移した頻度を表すものと言える。 It can be said that the numerator in the equation (15) represents the frequency of transition from the node i to the node j by executing the action c k in the learning data set Dn. On the other hand, the denominator of Expression (15) can be said to represent the frequency of transition from node i to another node by executing action ck in learning data set Dn.
いま、式(15)における分子に対応する式を表す変数χij(k)(n)を式(16)で示されるものとして定義する。 Now, a variable χ ij (k) (n) representing an expression corresponding to the numerator in Expression (15) is defined as represented by Expression (16).
式(16)より式(17)を得ることができる。 Expression (17) can be obtained from Expression (16).
式(17)と式(15)より式(18)が導出される。 Expression (18) is derived from Expression (17) and Expression (15).
このように、状態遷移確率の推定値は、変数χij(k)(n)を用いて表すことができるのである。 Thus, the estimated value of the state transition probability can be expressed using the variable χ ij (k) (n) .
ここで、変数χij(k)(n)は、式(15)における分子に相当し、学習データセットDnの中で、アクションckを実行することにより、ノードiからノードjに遷移した頻度を表すものと言えるから、状態遷移確率の推定のための頻度変数と称することにする。 Here, the variable χ ij (k) (n) corresponds to the numerator in the equation (15), and the frequency of transition from the node i to the node j by executing the action c k in the learning data set Dn. Therefore, it is called a frequency variable for estimating the state transition probability.
本発明では、追加学習方式の学習を行う場合、安定的な学習を行うことができるようにするために、上述した頻度変数χij(k)(n)を用いて状態遷移確率の推定値を求めることにする。すなわち、学習器34が、1つの学習データセットに基づく学習を行う都度、頻度変数を更新して内部モデルデータの1つとして内部モデルデータ記憶部37に記憶させて保存するようにする。
In the present invention, when performing the learning of the additional learning method, in order to enable stable learning, the estimated value of the state transition probability is calculated using the frequency variable χ ij (k) (n) described above. I will ask. That is, each time the
つまり、新たに学習を行う際に、過去の学習データセットに対応する頻度変数を読み出して、その頻度変数に新たな学習に基づいて得られた頻度変数を足しこむことにより頻度変数の値を更新する。さらに、更新された頻度変数に基づいて得られる状態遷移確率の推定値を求めることにより、追加学習方式の学習を行うのである。このようにすることで、学習データセットD1,D2,D3・・・をまとめてバッチ学習するのとほぼ同等の結果を得ることができるのである。 In other words, when a new learning is performed, the frequency variable corresponding to the past learning data set is read, and the frequency variable is updated by adding the frequency variable obtained based on the new learning to the frequency variable. To do. Furthermore, learning of the additional learning method is performed by obtaining an estimated value of the state transition probability obtained based on the updated frequency variable. In this way, it is possible to obtain a result almost equivalent to batch learning of the learning data sets D1, D2, D3.
次に、複数回の学習により得られたそれぞれの内部モデルデータの統合について説明する。すなわち、学習データセットD1,D2,・・・Dn・・・に基づいて計算される状態遷移確率の推定値a´ij(k)(1),a´ij(k)(2),・・・a´ij(k)(n),・・・の統合について説明する。 Next, the integration of each internal model data obtained by multiple learning will be described. That is, estimated values a ′ ij (k) (1) and a ′ ij (k) (2) of state transition probabilities calculated based on the learning data sets D 1 , D 2 ,... D n. ,... A ′ ij (k) (n) ,.
このような場合、例えば、重みwn(Σwn=1)を設定し、式(19)に示されるように、状態遷移確率の推定値a´ij(k)(1),a´ij(k)(2),・・・a´ij(k)(n),・・・を統合することも考えられる。 In such a case, for example, a weight w n (Σw n = 1) is set, and the state transition probability estimated values a ′ ij (k) (1) , a ′ ij ( k) (2) , ... a´ ij (k) (n) , ... can be integrated.
式(19)は、上述した状態遷移確率の推定値のそれぞれに、各学習データセットに対応する重みw1,w2,・・・,wn,・・・を乗じて足し合わせることを意味している。 Equation (19) means that the estimated values of the state transition probabilities described above are multiplied by the weights w 1 , w 2 ,..., W n ,. is doing.
しかしながら、上述したように本発明では、学習データセットに対応する頻度変数に基づいて得られる状態遷移確率の推定値を求めるようにしたので、式(19)による統合は適さない。 However, as described above, in the present invention, since the estimated value of the state transition probability obtained based on the frequency variable corresponding to the learning data set is obtained, the integration according to Expression (19) is not suitable.
本発明では、学習データセットに対応する頻度変数に基づいて得られる状態遷移確率の推定値を求めるようにしたので、それぞれの状態遷移確率の推定値の信頼性を考慮して統合を行う必要がある。すなわち、学習データセットのデータ量(シーケンス長)を考慮して重みを設定する必要がある。 In the present invention, since the estimated value of the state transition probability obtained based on the frequency variable corresponding to the learning data set is obtained, it is necessary to perform integration in consideration of the reliability of the estimated value of each state transition probability. is there. That is, it is necessary to set the weight in consideration of the data amount (sequence length) of the learning data set.
また、学習データセットに対応する頻度変数は、過去の学習に基づいて既に設定されている状態遷移確率の値によって変化し得る。例えば、状態遷移確率の値が低い遷移が数多く発生した学習データセットから得られる頻度変数の値は必然的に小さい値となり易く、状態遷移確率の値が高い遷移が数多く発生した学習データセットから得られる頻度変数の値は必然的に大きい値となり易い。上述したように頻度変数は、式(15)における分子に対応する式で表されるからである。従って、頻度変数の値の大きさも考慮して重みを設定する必要がある。 Further, the frequency variable corresponding to the learning data set may change depending on the value of the state transition probability that has already been set based on past learning. For example, the value of a frequency variable obtained from a learning data set in which many transitions with low state transition probabilities have occurred is inevitably small, and obtained from a learning data set in which many transitions with high state transition probabilities have occurred The value of the frequency variable is inevitably large. This is because the frequency variable is expressed by an expression corresponding to the numerator in Expression (15) as described above. Therefore, it is necessary to set the weight in consideration of the value of the frequency variable.
本発明では、統合後の状態遷移確率の推定値a´ij(k)を式(20)により求めるようにする。 In the present invention, the estimated value a ′ ij (k) of the state transition probability after integration is obtained by Expression (20).
このとき、上述したように重みwnの考慮が必要となる。具体的には、シーケンス長Tnの学習データセットDnに対応する頻度変数χij(k)(n)について、式(21)に示される関係を満たすように重みwnを設定する。 In this case, it is necessary to consider the weight w n, as described above. Specifically, for the frequency variable χ ij (k) (n) corresponding to the learning data set Dn having the sequence length Tn, the weight w n is set so as to satisfy the relationship shown in Expression (21).
このように、学習データセットごとに、その学習データセットのシーケンス長に応じた重みの調整を行いながら、頻度変数χij(k)(n)をすべてのデータセットに渡って累積すれば、全データをまとめてバッチ学習するのとほぼ同等の結果を得ることができる。すなわち、式(22)により、頻度変数χij(k)を求め、式(20)を参照して上述したように、頻度変数χij(k)を用いて統合後の状態遷移確率の推定値a´ij(k)を求めるのである。 In this way, for each training data set, if the frequency variable χ ij (k) (n) is accumulated over all data sets while adjusting the weight according to the sequence length of the training data set, The result is almost equivalent to batch learning of data. That is, the frequency variable χ ij (k) is obtained from the equation (22), and the estimated value of the state transition probability after integration using the frequency variable χ ij (k) as described above with reference to the equation (20). a ′ ij (k) is obtained.
このようにすることで、例えば、学習データセットD1,D2,・・・Dn・・・のそれぞれに対応する状態遷移確率テーブルを保存するなどしなくても、全ての学習データセットをまとめてバッチ学習するのとほぼ同等の結果を得ることができるのである。すなわち、既に記憶されている、学習データセットDn-1までを学習することにより得られた頻度変数に、学習データセットDnを学習することにより得られた頻度変数を足しこんで状態遷移確率の推定値を求める。これにより、学習データセットD1,D2,・・・Dnをまとめてバッチ学習するのとほぼ同等の結果を得ることができるのである。 In this way, for example, all the learning data sets can be stored without storing the state transition probability table corresponding to each of the learning data sets D 1 , D 2 ,... D n. The result is almost equivalent to batch learning together. That is, the state transition probability obtained by adding the frequency variable obtained by learning the learning data set D n to the frequency variable obtained by learning up to the learning data set D n−1 already stored. Obtain an estimate of. Thus, learning data sets D 1, D 2, it is possible to collectively · · · D n to obtain substantially the same results as batch learning.
一方、アクション拡張型HMMの学習における観測確率の推定は、上述した式(4)により行なわれるが、ここでは、図29に示されるように、複数のデータセットが存在している場合を考える。 On the other hand, the estimation of the observation probability in learning of the action expanded HMM is performed by the above-described equation (4). Here, a case where a plurality of data sets exist as shown in FIG. 29 is considered.
第n番目の学習データセットDnにおける観測確率の推定値b´j(o)(n)は、式(23)により求めることができる。 The estimated value b ′ j (o) (n) of the observation probability in the n-th learning data set Dn can be obtained by Expression (23).
なお、状態遷移確率の推定の説明の場合と異なり、ここでは、t∈Dnの表記により(t,t+1∈Dn)を表すものではない。 Unlike the description of the estimation of the state transition probability, here, (t, t + 1εDn) is not represented by tεDn.
また、学習データセットDnには、各時刻において実行したアクション、各時刻におけるノード、各時刻における観測シンボルを表す情報が含まれているものとする。ot=oは、時刻tにおける観測シンボルがoであることを表している。 Further, it is assumed that the learning data set Dn includes information representing an action executed at each time, a node at each time, and an observation symbol at each time. o t = o indicates that the observation symbol at time t is o.
式(23)における分子は、学習データセットDnの中で、ノードjにおいて観測シンボルoが観測された頻度を表すものと言える。一方、式(23)の分母は、学習データセットDnの中で、ノードjにおいていずれかの観測シンボルが観測された頻度を表すものと言える。 The numerator in Expression (23) can be said to represent the frequency at which the observation symbol o is observed at the node j in the learning data set Dn. On the other hand, it can be said that the denominator of Expression (23) represents the frequency of observation of any observation symbol at node j in the learning data set Dn.
いま、式(23)における分子に対応する式を表す変数ωj(o)(n)を式(24)で示されるものとして定義する。 Now, a variable ω j (o) (n) representing an expression corresponding to the numerator in Expression (23) is defined as represented by Expression (24).
式(24)より式(25)を得ることができる。 Expression (25) can be obtained from Expression (24).
式(25)と式(23)より式(26)が導出される。 Equation (26) is derived from Equation (25) and Equation (23).
このように、観測確率の推定値は、変数ωj(o)(n)を用いて表すことができるのである。 Thus, the estimated value of the observation probability can be expressed using the variable ω j (o) (n) .
ここで、変数ωj(o)(n)は、式(23)における分子に相当し、学習データセットDnの中で、ノードjにおいて観測シンボルoが観測された頻度を表すものと言えるから、観測確率の推定のための頻度変数と称することにする。 Here, the variable ω j (o) (n) corresponds to the numerator in the equation (23), and can be said to represent the frequency at which the observation symbol o is observed at the node j in the learning data set Dn. It will be called a frequency variable for estimating the observation probability.
本発明では、状態遷移確率の場合と同様に、追加学習方式の学習を行う場合、安定的な学習を行うことができるようにするために、上述した変数ωj(o)(n)を用いて観測確率の推定値を求めることにする。すなわち、学習器34が、1つの学習データセットに基づく学習を行う都度、頻度変数更新して内部モデルデータの1つとして内部モデルデータ記憶部37に記憶させて保存するようにする。
In the present invention, as in the case of the state transition probability, the variable ω j (o) (n) described above is used in order to enable stable learning when learning in the additional learning method. Thus, the estimated value of the observation probability is obtained. That is, each time the
そして、新たに学習を行う際に、過去の学習データセットに対応する頻度変数を読み出して、その頻度変数に新たな学習に基づいて得られた頻度変数を足しこむことにより頻度変数の値を更新する。さらに、更新された頻度変数に基づいて得られる観測確率の推定値を求めることにより、追加学習方式の学習を行うのである。 When new learning is performed, the frequency variable corresponding to the past learning data set is read, and the frequency variable is updated by adding the frequency variable obtained based on the new learning to the frequency variable. To do. Furthermore, learning of the additional learning method is performed by obtaining an estimated value of the observation probability obtained based on the updated frequency variable.
次に、複数回の学習により得られたそれぞれの内部モデルデータの統合について説明する。すなわち、学習データセットD1,D2,・・・Dn・・・に基づいて計算される観測確率の推定値b´j(o)(1),b´j(o)(2),・・・b´j(o)(n),・・・の統合について説明する。 Next, the integration of each internal model data obtained by multiple learning will be described. That is, the learning data sets D 1, D 2, ··· D n estimates of the observation probability is calculated based on ··· b'j (o) (1 ), b'j (o) (2), ... Integration of b ′ j (o) (n) ,.
統合にあたって、状態遷移確率の推定値の統合の場合と同様の理由で、重みw´nの考慮が必要となる。 In the integration, it is necessary to consider the weight w ′ n for the same reason as in the case of integrating the estimated values of the state transition probabilities.
本発明では、統合後の状態遷移確率の推定値b´j(o)を式(27)により求めるようにする。 In the present invention, the estimated value b ′ j (o) of the state transition probability after integration is obtained by equation (27).
このとき、シーケンス長Tnの学習データセットDnに対応する頻度変数ωj(o)(n)について、式(28)に示される関係を満たすように重みw´nを設定する。 At this time, for the frequency variable ω j (o) (n) corresponding to the learning data set Dn having the sequence length Tn, the weight w ′ n is set so as to satisfy the relationship shown in Expression (28).
このように、学習データセットごとに、その学習データセットのシーケンス長に応じた重みの調整を行いながら、頻度変数ωj(o)(n)をすべてのデータセットに渡って累積すれば、全データをまとめてバッチ学習するのとほぼ同等の結果を得ることができる。すなわち、式(29)により、頻度変数ωj(o)を求め、式(27)を参照して上述したように、頻度変数ωj(o)を用いて統合後の観測確率の推定値b´j(o)を求めるのである。 In this way, for each training data set, if the frequency variable ω j (o) (n) is accumulated over all data sets while adjusting the weight according to the sequence length of the training data set, The result is almost equivalent to batch learning of data. That is, the frequency variable ω j (o) is obtained from the equation (29), and the estimated value b of the observation probability after integration using the frequency variable ω j (o) as described above with reference to the equation (27). ´ j (o) is obtained.
このようにすることで、例えば、学習データセットD1,D2,・・・Dn・・・のそれぞれに対応する観測確率テーブル、状態遷移確率テーブルを保存するなどしなくても、全ての学習データセットをまとめてバッチ学習するのとほぼ同等の結果を得ることができるのである。すなわち、既に記憶されている、学習データセットDn-1までを学習することにより得られた頻度変数に、学習データセットDnを学習することにより得られた頻度変数を足しこんで観測確率の推定値を求める。これにより、学習データセットD1,D2,・・・Dnをまとめてバッチ学習するのとほぼ同等の結果を得ることができるのである。 In this way, for example, all of the learning data sets D 1 , D 2 ,... D n . It is possible to obtain almost the same result as batch learning of learning data sets. That is, by adding the frequency variable obtained by learning the learning data set D n to the frequency variable obtained by learning up to the learning data set D n−1 already stored, the observation probability is calculated. Get an estimate. As a result, it is possible to obtain almost the same result as batch learning of learning data sets D 1 , D 2 ,... D n .
例えば、式(15)または式(23)の計算結果をそのまま保存して追加学習方式による学習を行っても学習データセットD1,D2,・・・Dnをまとめてバッチ学習するのとほぼ同等の結果を得ることはできない。式(15)または式(23)の計算結果は、確率の値として算出されるものであり、あり得る遷移の確率の合計値が1となるように正規化されているからである。仮に、式(15)または式(23)の計算結果をそのまま保存して、追加学習方式による学習を行っても、まとめてバッチ学習するのとほぼ同等の結果を得ることができるようにするためには、例えば、学習データセットのそれぞれに対応するテーブルを保存するなどの必要がある。このため、本発明では、式(15)または式(23)における分子に対応する式により得られる頻度変数を保存するようにしたのである。 For example, the learning data sets D 1 , D 2 ,... D n are batch-learned together even if the calculation results of Expression (15) or Expression (23) are stored as they are and learning by the additional learning method is performed. Nearly equivalent results cannot be obtained. This is because the calculation result of the equation (15) or the equation (23) is calculated as a probability value and is normalized so that the total value of the probabilities of possible transitions is 1. Even if the calculation result of the equation (15) or the equation (23) is stored as it is and learning by the additional learning method is performed, a result almost the same as batch learning can be obtained. For example, it is necessary to store a table corresponding to each learning data set. For this reason, in the present invention, the frequency variable obtained by the equation corresponding to the numerator in the equation (15) or the equation (23) is stored.
このようにして、状態遷移確率と観測確率を求めるようにすれば、追加学習方式による学習を行って、変化する環境の中でより良い性能を発揮できるとともに、安定的な学習を行うことができるようになる。 If the state transition probability and the observation probability are obtained in this way, learning by the additional learning method can be performed, and better performance can be exhibited in a changing environment, and stable learning can be performed. It becomes like this.
また、そのようにするために、過去の学習のそれぞれに対応する内部モデルデータを全て保存するなどの必要がなく、例えば、内部モデルデータ記憶部37の記憶容量を小さいものとすることができる。さらに、追加学習方式による学習の結果、内部モデルデータを更新する際の演算量を少なくすることができ、環境の変化をより迅速に認識させるようにすることが可能となる。
In order to do so, it is not necessary to store all the internal model data corresponding to each of the past learnings. For example, the storage capacity of the internal model
ここまでの追加学習方式に関する説明は、離散観測信号を取得する場合の例について説明した。連続観測信号を取得する場合は、時刻tにおいてエージェントが状態jにいる場合の重み係数γt(j)よって重み付けた信号分布を用いて、観測確率密度関数bj(o)のパラメータを再推定すればよい。このとき、重み係数γt(j)が式(30)を満たすように調整する必要がある。 The explanation about the additional learning method so far has described the example in the case of obtaining the discrete observation signal. When acquiring continuous observation signals, reestimate the parameters of the observation probability density function b j (o) using the signal distribution weighted by the weighting coefficient γ t (j) when the agent is in state j at time t. do it. At this time, it is necessary to adjust so that the weight coefficient γ t (j) satisfies the expression (30).
いまの場合、γ′t(j)が頻度相当の意味を有するものとなる。 In this case, γ ′ t (j) has a meaning equivalent to the frequency.
そして、γ′t(j) ≡ w′nγt(j)を用いて観測信号の平均ベクトルおよび共分散行列を推定すればよい。 Then, the average vector and covariance matrix of the observed signal may be estimated using γ ′ t (j) ≡w ′ n γ t (j).
通常は、ガウス分布などの対数凹又は楕円型対称確率密度をモデルとして用い、観測確率密度関数bj(o)のパラメータの再推定を行うことができる。 Normally, logarithmic concave such as Gaussian distribution or elliptical symmetrical probability density is used as a model, and the parameters of the observed probability density function b j (o) can be re-estimated.
ガウス分布などの対数凹又は楕円型対称確率密度のモデルのパラメータとしては、状態jにおける観測信号の平均ベクトルμ´jおよび共分散行列U´jを用いることができる。平均ベクトルμ´jおよび共分散行列U´jは、それぞれ、式(31)および式(32)により求めることができる。 As a parameter of a log-concave or elliptical symmetry probability density model such as a Gaussian distribution, an average vector μ ′ j of an observation signal in a state j and a covariance matrix U ′ j can be used. The average vector μ ′ j and the covariance matrix U ′ j can be obtained by Expression (31) and Expression (32), respectively.
以上に説明した通り、追加学習方式による学習時の安定性を確保することができるが、追加学習方式の場合、直近の学習結果により大きな重みを与えて内部モデルデータを更新させることが多い。新しい経験は、環境の変化をより適切に学習するのに都合が良いと考えられるからである。 As described above, stability at the time of learning by the additional learning method can be ensured, but in the case of the additional learning method, the internal model data is often updated by giving a larger weight to the latest learning result. This is because the new experience is considered convenient for learning about environmental changes more appropriately.
例えば、10万サンプルからなる学習を終えた学習器に対して100サンプルの新規データを与えて追加学習方式の学習をさせる場合を考える。既に学習したものの大きさ(10万)に対して新たに学習するデータの量(100)が小さいため、そのまま学習すると新たな学習の影響度は0.1%となる。このような場合、環境の変化を適切に学習しているとは言い難い。 For example, consider a case in which 100 samples of new data are given to a learning device that has completed learning of 100,000 samples to perform learning of an additional learning method. Since the amount of newly learned data (100) is small with respect to the size of already learned (100,000), if the learning is performed as it is, the influence of new learning becomes 0.1%. In such a case, it is difficult to say that learning about changes in the environment is appropriate.
そこで、例えば、新たな学習の影響度である学習率を指定することができれば便利である。例えば、上述の例において、学習率を0.1(10%)と指定した場合、新たに学習するデータの量を変えることなく、影響度を100倍にすることができる。 Therefore, for example, it is convenient if a learning rate that is the degree of influence of new learning can be designated. For example, in the above example, when the learning rate is specified as 0.1 (10%), the degree of influence can be increased by 100 times without changing the amount of data to be newly learned.
本発明では、上述した学習率の指定があった場合でも、学習の安定性を損なうことがないようにする。 In the present invention, even when the learning rate is specified as described above, the learning stability is not impaired.
上述したように、状態遷移確率の推定のための頻度変数χij(k)は、式(33)で示されるように更新される。なお式(33)における⇒は、χij(k)が右辺に示されるように更新されることを表している。 As described above, the frequency variable χ ij (k) for estimating the state transition probability is updated as shown in Expression (33). In the equation (33), ⇒ indicates that χ ij (k) is updated as shown on the right side.
観測確率の推定のための頻度変数ωj(o)は、式(34)で示されるように更新される。なお式(34)における⇒は、ωj(o)が右辺に示されるように更新されることを表している。 The frequency variable ω j (o) for estimating the observation probability is updated as shown in Expression (34). In Expression (34), ⇒ indicates that ω j (o) is updated as shown on the right side.
いま、学習率r(0≦r≦1)が指定された場合、本発明では、状態遷移確率の推定のための頻度変数を算出するために、式(35)に示される重みWnと、重みzi(k)(n)を演算する。重みWnと、重みzi(k)(n)は、それぞれ新たな学習に基づいて得られた頻度変数に乗じるための重みと、既に保存されている頻度変数に乗じるための重みとして演算される。 Now, when the learning rate r (0 ≦ r ≦ 1) is specified, in the present invention, in order to calculate the frequency variable for estimating the state transition probability, the weight W n shown in the equation (35), The weights z i (k) (n) are calculated. The weight W n and the weight z i (k) (n) are respectively calculated as the weight for multiplying the frequency variable obtained based on the new learning and the weight for multiplying the already stored frequency variable. The
そして、状態遷移確率の推定のための頻度変数は、式(36)により演算される。 Then, the frequency variable for estimating the state transition probability is calculated by Expression (36).
なお、式(35)における重みzi(k)(n)は、重みWnが学習を繰り返すに従って一方的に大きくなることを考慮して設けられた重みであり、実際の演算では用いられないようにしてもよい。 Note that the weights z i (k) (n ) in Expression (35) are weights that are set in consideration that the weight W n increases unilaterally as learning is repeated, and are not used in actual calculations. You may do it.
また、学習率r(0≦r≦1)が指定された場合、観測確率の推定のための頻度変数を算出するために、式(37)に示される重みW´nと、重みzi (n)を演算する。重みW´nと、重みzi (n)は、それぞれ新たな学習に基づいて得られた頻度変数に乗じるための重みと、既に保存されている頻度変数に乗じるための重みとして演算される。 Further, when the learning rate r (0 ≦ r ≦ 1) is specified, the weight W ′ n shown in the equation (37) and the weight z i ( Calculate n) . The weights W ′ n and the weights z i (n) are calculated as weights for multiplying the frequency variables obtained based on the new learning and weights for multiplying the already stored frequency variables.
そして、状態遷移確率の推定のための頻度変数は、式(38)により演算される。 Then, the frequency variable for estimating the state transition probability is calculated by the equation (38).
なお、式(37)における重みzi (n)は、重みW´nが学習を繰り返すに従って一方的に大きくなることを考慮して設けられた重みであり、実際の演算では用いられないようにしてもよい。 The weight z i (n ) in the equation (37) is a weight provided in consideration of the fact that the weight W ′ n increases unilaterally as learning is repeated, and is not used in actual calculations. May be.
ここまでの学習率の指定のある追加学習方式に関する説明は、離散観測信号を取得する場合の例について説明した。連続観測信号を取得する場合も同様に、対応する重み変換を行ってから分布パラメータの推定を行えばよい。 The description of the additional learning method with the specified learning rate up to this point has been given of the example in the case of acquiring discrete observation signals. Similarly, when acquiring continuous observation signals, distribution parameters may be estimated after corresponding weight conversion.
このようにすることで、学習率の指定があった場合でも、学習の安定性を損なうことがないようにすることができる。 By doing so, it is possible to prevent the learning stability from being impaired even when the learning rate is specified.
ところで、頻度変数を用いた状態遷移確率の推定値a´ij(k)の算出については、上述したように式(20)により求めることができるが、実際には、分母のΣjχij(k)が小さい値となる場合、計算結果が擾乱することがある。上述した擾乱は、学習により得られる内部モデルデータの信頼性を損ねて、その後の環境の認識に影響し、エージェントが環境を誤って認識してしまう。さらに、その認識結果が、追加学習方式の学習の結果に対しても再帰的に悪影響を及ぼすため、この問題を解決する必要がある。 By the way, the calculation of the estimated value a′ij (k) of the state transition probability using the frequency variable can be obtained by the equation (20) as described above, but actually, the denominator Σ j χ ij ( When k) becomes a small value, the calculation result may be disturbed. The disturbance described above impairs the reliability of the internal model data obtained by learning, affects the subsequent recognition of the environment, and causes the agent to mistakenly recognize the environment. Furthermore, since the recognition result adversely affects the learning result of the additional learning method, it is necessary to solve this problem.
ここで、Nik=Σjχij(k)とする。Nikが小さい値となる場合、計算結果が擾乱するという問題を解決するためには、状態遷移確率に対するNikの小ささに応じたペナルティ係数を乗ずるようにすればよい。すなわち、ペナルティ係数をη(Nik)とし、状態遷移確率の推定値a´ij(k)を、式(39)により求めるようにすればよい。 Here, N ik = Σ j χ ij (k). In order to solve the problem that the calculation result is disturbed when N ik is a small value, a penalty coefficient corresponding to the smallness of N ik with respect to the state transition probability may be multiplied. That is, the penalty coefficient is η (N ik ), and the estimated value a′ij (k) of the state transition probability may be obtained by Expression (39).
ただし、関数η(x)は、定義域0≦xに対して値域0≦η(x)≦1を満たす単調増加関数であるものとする。
Note that the function η (x) is a monotonically increasing function that satisfies the
関数η(x)は、例えば、式(40)により表される関数とされる。 The function η (x) is, for example, a function represented by Expression (40).
式(40)におけるα(>0),βは、必要に応じて適切に調整されるパラメータであり、例えば、指定された学習率rに応じて調整されるようにしてもよい。 Α (> 0) and β in the equation (40) are parameters that are appropriately adjusted as necessary, and may be adjusted according to the designated learning rate r, for example.
ところで、上述したように、本発明においては、内部モデルデータとして、状態遷移確率の推定のための頻度変数と、観測確率の推定のための頻度変数とを記憶するようにした。そうすると、状態遷移確率の推定のための頻度変数と、観測確率の推定のための頻度変数に対しても、上述した一状態一観測制約とアクション遷移制約を課す処理を施すことが必要となる。 Incidentally, as described above, in the present invention, the frequency variable for estimating the state transition probability and the frequency variable for estimating the observation probability are stored as internal model data. Then, it is necessary to perform the above-described processing for imposing the one-state one-observation constraint and the action transition constraint on the frequency variable for estimating the state transition probability and the frequency variable for estimating the observation probability.
状態遷移確率の推定のための頻度変数と、観測確率の推定のための頻度変数に対するスプリットアルゴリズム適用の処理は、次のようにして行われる。 The process of applying the split algorithm to the frequency variable for estimating the state transition probability and the frequency variable for estimating the observation probability is performed as follows.
ここでは、ノードsjをK個のノードに分割する場合の例について説明する。なお、ノードsjが分割された結果得られるK個のノードのうちの第k番目のノードを、sj kと表すこととし、ノードsjが分割された後のノードsiからノードsj kへの状態遷移確率をak ijで表すことにする。また、ノードsjが分割された後のノードsj kからノードsiへの状態遷移確率をak jiで表すことにする。 Here, an example in which the node s j is divided into K nodes will be described. The k-th node among the K nodes obtained as a result of dividing the node s j is expressed as s j k, and the node s i to the node s j after the node s j is divided. the state transition probability of the k to be represented by a k ij. Further, a state transition probability from the node s j k to the node s i after the node s j is divided is represented by a k ji .
学習器34は、観測シンボルoについての観測確率bj(o)に対応する観測確率の推定のための頻度変数ωj(o)を、式(41)により求める。
The
また、学習器34は、状態遷移確率ak ijに対応する状態遷移確率の推定のための頻度変数χk ijが、分割前の頻度変数χijを分割前の各観測シンボルの観測確率に対応する観測確率の推定のための頻度変数ωj(ok)の比で案分されたものとなるように設定する。
Also, the
さらに、学習器34は、状態遷移確率ak jiに対応する状態遷移確率の推定のための頻度変数χk jiが、分割前の頻度変数χjiを分割前の各観測シンボルの観測確率に対応する観測確率の推定のための頻度変数ωj(ok)の比で案分されたものとなるように設定する。
Furthermore, the
状態遷移確率の推定のための頻度変数と、観測確率の推定のための頻度変数に対するフォワードマージアルゴリズム適用の処理は、次のようにして行われる。 The process of applying the forward merge algorithm to the frequency variable for estimating the state transition probability and the frequency variable for estimating the observation probability is performed as follows.
ここでは、L個のノード群sj m,l(l=1,・・・,L)を1つのノードsj mにマージする場合の例について説明する。なお、マージされた後のノードsiからノードsj mへの状態遷移確率をaij mで表し、マージされた後のノードsj mからノードsiへの状態遷移確率をaji mで表すことにする。また、マージされた後の各観測シンボルの観測確率のそれぞれを要素とするベクトルを、bj mで表すことにする。 Here, an example in which L node groups s j m, l (l = 1,..., L) are merged into one node s j m will be described. Incidentally, it expressed from node s i after being merged state transition probability to the node s j m in a ij m, a state transition probability from the node s j m after being merged into a node s i at a ji m I will represent it. Also, a vector whose elements are the observation probabilities of the respective observation symbols after being merged is represented by b j m .
学習器34は、状態遷移確率aij mに対応する状態遷移確率の推定のための頻度変数χij mをΣlχij m,lにより求めて設定する。ここで、χij m,lは、マージされる前のノードsiからノードsj m,lへの状態遷移確率に対応する状態遷移確率の推定のための頻度変数とされる。
The
また、学習器34は、状態遷移確率aji mに対応する状態遷移確率の推定のための頻度変数χji mをΣlχji m,lにより求めて設定する。ここで、χji m,lは、マージされる前のノードsj m,lからノードsiへの状態遷移確率に対応する状態遷移確率の推定のための頻度変数とされる。
Also, the
さらに、学習器34は、ベクトルbj mの要素のそれぞれに対応する状態遷移確率の推定のための頻度変数のそれぞれを要素とするベクトルωj mをΣlωj m,lにより求めて設定する。
Further, the
そして学習器34は、すべてのマージが終了したら、修正された状態遷移確率の推定のための頻度変数と観測確率の推定のための頻度変数とを用いて状態遷移確率と観測確率とを再計算する。
When all the merges are completed, the
状態遷移確率の推定のための頻度変数と、観測確率の推定のための頻度変数に対するバックワードマージアルゴリズム適用の処理は、次のようにして行われる。 The process of applying the backward merge algorithm to the frequency variable for estimating the state transition probability and the frequency variable for estimating the observation probability is performed as follows.
ここでは、L個のノード群sj m,l(l=1,・・・,L)を1つのノードsj mにマージする場合の例について説明する。なお、マージされた後のノードsiからノードsj mへの状態遷移確率をaij mで表し、マージされた後のノードsj mからノードsiへの状態遷移確率をaji mで表すことにする。また、マージされた後の各観測シンボルの観測確率のそれぞれを要素とするベクトルを、bj mで表すことにする。 Here, an example in which L node groups s j m, l (l = 1,..., L) are merged into one node s j m will be described. Incidentally, it expressed from node s i after being merged state transition probability to the node s j m in a ij m, a state transition probability from the node s j m after being merged into a node s i at a ji m I will represent it. Also, a vector whose elements are the observation probabilities of the respective observation symbols after being merged is represented by b j m .
学習器34は、状態遷移確率aij mに対応する状態遷移確率の推定のための頻度変数χij mをΣlχij m,lにより求めて設定する。ここで、χij m,lは、マージされる前のノードsiからノードsj m,lへの状態遷移確率に対応する状態遷移確率の推定のための頻度変数とされる。
The
また、学習器34は、状態遷移確率aji mに対応する状態遷移確率の推定のための頻度変数χji mをΣlχji m,lにより求めて設定する。ここで、χji m,lは、マージされる前のノードsj m,lからノードsiへの状態遷移確率に対応する状態遷移確率の推定のための頻度変数とされる。
Also, the
さらに、学習器34は、ベクトルbi mの要素のそれぞれに対応する観測確率の推定のための頻度変数のそれぞれを要素とするベクトルωi mをΣlωi m,lにより求めて設定する。
Furthermore, the
そして学習器34は、すべてのマージが終了したら、修正された状態遷移確率の推定のための頻度変数と観測確率の推定のための頻度変数とを用いて状態遷移確率と観測確率とを再計算する。
When all the merges are completed, the
このようにすることで、状態遷移確率の推定のための頻度変数と、観測確率の推定のための頻度変数に対しても、上述した一状態一観測制約とアクション遷移制約が課されることになる。 By doing so, the above-described one-state one-observation constraint and action transition constraint are imposed on the frequency variable for estimating the state transition probability and the frequency variable for estimating the observation probability. Become.
ここまで、必然的に大規模となるアクション拡張型HMMにおける追加学習方式での学習を安定的に行うことができるようにするための技術について説明した。 Up to this point, the technology for enabling stable learning in the additional learning method in the action expanded HMM that is necessarily large in scale has been described.
ところで以上においては、図8を参照して上述したような、3次元の状態遷移確率テーブルと、2次元の観測確率テーブルを有するアクション拡張型HMMの例について説明した。通常は、ノード数をN、観測シンボル数をM、アクション数をKとすると、算出すべきパラメータ数は、N2K+NMとなり、N、M、およびKの値が一定であることを前提に学習アルゴリズムが定められる。 In the above, the example of the action extended HMM having the three-dimensional state transition probability table and the two-dimensional observation probability table as described above with reference to FIG. 8 has been described. Normally, if the number of nodes is N, the number of observation symbols is M, and the number of actions is K, the number of parameters to be calculated is N 2 K + NM, and learning is performed on the assumption that the values of N, M, and K are constant. An algorithm is defined.
しかしながら、学習を進めるうちにN、M、およびKの値を変更する必要に迫られることがある。例えば、ロボットが移動する迷路に用いられるパーツが新たに加わった場合、観測シンボルの種類が増えることになるので、Mの値を大きくする必要がある。 However, it may be necessary to change the values of N, M, and K as learning proceeds. For example, when new parts are added to the maze where the robot moves, the number of observation symbols increases, so the value of M needs to be increased.
次に、学習を進める際に、ノード数、観測シンボル数、またはアクション数を変更する必要に迫られた場合にとり得る処置について説明する。 Next, a description will be given of actions that can be taken when it is necessary to change the number of nodes, the number of observation symbols, or the number of actions when learning is advanced.
図30は、観測シンボルの種類が増えることによる影響を説明する図である。同図に示されるように、観測シンボルの種類が増えると、観測確率テーブルの行方向(図中水平方向)の拡張が生じることになる。すなわち、領域121に対応する観測確率の値を新たに設定する必要がある。なお、観測確率テーブルにおいては、テーブルの1行あたり観測確率値の合計が1.0となるようにする制約がある。
FIG. 30 is a diagram for explaining the influence of an increase in the number of types of observation symbols. As shown in the figure, when the number of observation symbols increases, the row direction (horizontal direction in the drawing) of the observation probability table is expanded. That is, it is necessary to newly set an observation probability value corresponding to the
また、図30に示されるように、観測確率テーブルの行方向(図中水平方向)の拡張が生じたことにより、観測確率の推定のための頻度変数のテーブルも拡張させる必要がある。すなわち、領域122に対応する頻度変数の値を新たに設定する必要がある。
Further, as shown in FIG. 30, since the observation probability table is expanded in the row direction (horizontal direction in the figure), it is necessary to expand the frequency variable table for estimating the observation probability. That is, it is necessary to newly set a frequency variable value corresponding to the
本発明では、図30に示されるように観測確率テーブルを拡張する必要がある場合、学習器34が、次のような処理を行う。ここでは、例えば、ロボットに対して予め所定の数だけ観測シンボルの種類が増えることを前提として、図30に示されるように観測確率テーブルを拡張するように指令する場合の学習器34の処理について説明する。
In the present invention, when it is necessary to expand the observation probability table as shown in FIG. 30, the
いま、新しい観測シンボルoM+iに対応するインデックスをM+iとして、観測確率テーブルに第M+i列を追加するものとする。 Now, the index corresponding to the new observation symbol o M + i is M + i, and the M + i-th column is added to the observation probability table.
学習器34は、観測確率テーブルの第M+i列に設定すべき観測確率値を適切な大きさの非零要素とする。この非零要素の値は、次のように決定される。
The
式(42)に示されるように、新しい観測シンボルを追加する前の観測シンボルの数をMとし、第M+i列に設定すべき観測確率値は、全て1/Mとする。 As shown in Equation (42), the number of observation symbols before adding a new observation symbol is M, and all observation probability values to be set in the M + i column are 1 / M.
あるいはまた、式(43)に示されるように、観測確率テーブルの各行ごとに、観測確率bj(・)が閾値以上となる観測シンボルの数をカウントし、その数njを用いて第M+i列に設定すべき観測確率値を求める。なお、bj(・)は、閾値以上となった、それぞれの観測シンボルの観測確率を表している。 Alternatively, as shown in Expression (43), for each row of the observation probability table, the number of observation symbols for which the observation probability bj (•) is equal to or greater than the threshold is counted, and the number M j is used as the number n j. Find the observation probability value to be set in column i. Note that bj (•) represents the observation probability of each observation symbol that is equal to or greater than the threshold.
学習器34は、式(42)または式(43)に示されるように、観測確率テーブルの第M+i列に適切な大きさの非零要素を設定した後、テーブルの1行あたり観測確率値の合計が1.0となるように調整する。すなわち、式(44)に示されるように、観測確率テーブル内の非零の各観測確率bj(・)を更新する。これにより、観測確率テーブルの拡張は完了する。
As shown in the equation (42) or the equation (43), the
さらに、学習器34は、観測確率の推定のための頻度変数のテーブルの第M+i列に設定すべき観測確率値を全て0(零)とする。これにより、観測確率の推定のための頻度変数のテーブルの拡張は完了する。
Further, the
そして学習器34は、新しい観測シンボルを含む学習データセットに対する追加学習方式での学習を、所定の学習率の指定の下に行い、内部モデルデータを更新する。これにより、状態遷移確率の推定のための頻度変数、観測確率の推定のための頻度変数、並びに観測確率テーブルおよび状態遷移確率テーブルの各値が更新される。
Then, the
このようにすることで、追加学習方式での学習中に、新たな観測シンボルが観測された場合でも、内部モデルデータを適切に更新することができる。 By doing in this way, even when a new observation symbol is observed during learning by the additional learning method, the internal model data can be appropriately updated.
また、例えば、学習中に所定の観測シンボルが不要となった場合、観測確率テーブルを列方向に縮小させることも可能である。 For example, when a predetermined observation symbol becomes unnecessary during learning, the observation probability table can be reduced in the column direction.
この場合、学習器34は、不要となる観測シンボルに対応するインデックスをkとすると、観測確率テーブルから第k列を削除して、ノードsjにおける観測確率bj(k)が存在しないようにする。
In this case, the
学習器34は、観測確率の推定のための頻度変数のテーブルについても同様に、第k列を削除して、ωj(k)が存在しないようにする。
Similarly, the
さらに、学習器34は、観測確率の推定のための頻度変数を用いて縮小後の観測確率テーブル内の各値を再計算する。
Further, the
そして学習器34は、所定の観測シンボルが不要となった後の学習データセットに対する追加学習方式での学習を、所定の学習率の指定の下に行い、内部モデルデータを更新する。これにより、状態遷移確率の推定のための頻度変数、観測確率の推定のための頻度変数、並びに観測確率テーブルおよび状態遷移確率テーブルの各値が更新される。
Then, the
また、例えば、ロボットが移動する迷路が所定の方向に延長された場合、ノードの数が増えることになるので、ノード数Nの値を大きくする必要がある。 Also, for example, when the maze where the robot moves is extended in a predetermined direction, the number of nodes increases, so the value of the number of nodes N needs to be increased.
図31は、ノードの数が増えることによる影響を説明する図である。同図に示されるように、ノードの数が増えると、状態遷移確率テーブルの行列方向の拡張が生じることになる。すなわち、図31の第1枚目の状態遷移確率テーブルにおける逆L字型の領域131−1に対応する状態遷移確率の値を新たに設定する必要がある。同様に、各アクションに対応する状態遷移確率テーブルの逆L字型の領域131−2、領域131−3、・・・に対応する状態遷移確率の値を新たに設定する必要がある。すなわち、アクション数K枚の状態遷移確率テーブルを拡張させて状態遷移確率の値を新たに設定する必要がある。なお、状態遷移確率テーブルにおいては、テーブルの1行あたり観測確率値の合計が1.0となるようにする制約がある。 FIG. 31 is a diagram for explaining the influence of an increase in the number of nodes. As shown in the figure, when the number of nodes increases, the matrix direction of the state transition probability table is expanded. That is, it is necessary to newly set a state transition probability value corresponding to the inverted L-shaped region 131-1 in the first state transition probability table of FIG. Similarly, it is necessary to newly set the value of the state transition probability corresponding to the inverted L-shaped region 131-2, region 131-3,... Of the state transition probability table corresponding to each action. That is, it is necessary to newly set a value of the state transition probability by extending the state transition probability table with K actions. In the state transition probability table, there is a restriction that the total of observation probability values per row of the table is 1.0.
また、ノードの数が増えると、観測確率テーブルの列方向(図中垂直方向)の拡張が生じることになる。すなわち、領域134に対応する観測確率の値を新たに設定する必要がある。なお、観測確率テーブルにおいては、テーブルの1行あたり観測確率値の合計が1.0となるようにする制約がある。
Further, when the number of nodes increases, the observation probability table expands in the column direction (vertical direction in the figure). That is, it is necessary to newly set an observation probability value corresponding to the
さらに、同図には示されていないが、状態遷移確率の推定のための頻度変数のテーブルと、観測確率の推定のための頻度変数のテーブルも同様に拡張させて値を新たに設定する必要がある。 Furthermore, although not shown in the figure, the frequency variable table for estimating state transition probabilities and the frequency variable table for estimating observation probabilities must be expanded in the same way to set new values. There is.
本発明では、図31に示されるように状態遷移確率テーブルと観測確率テーブルを拡張する必要がある場合、学習器34が、次のような処理を行う。ここでは、例えば、ロボットに対して予め所定の数だけノードの数が増えることを前提として、図31に示されるように状態遷移確率テーブルと観測確率テーブルを拡張するように指令する場合の学習器34の処理について説明する。
In the present invention, when it is necessary to expand the state transition probability table and the observation probability table as shown in FIG. 31, the
いま、新しいノードsN+iに対応するインデックスをN+iとして、状態遷移確率テーブルに第N+i行と第N+i列を追加するものとする。 Assume that the index corresponding to the new node s N + i is N + i , and the N + i-th row and the N + i-th column are added to the state transition probability table.
学習器34は、状態遷移確率テーブルの第N+i行と第N+i列に設定すべき状態遷移確率値を、それぞれ微小なランダム要素とする。
The
学習器34は、状態遷移確率の推定のための頻度変数のテーブルについても同様に、第N+i行と第N+i列とを追加し、設定すべき状態遷移確率値を、それぞれ微小なランダム要素とする。
Similarly, the
学習器34は、ノードsN+iにおいて実行したことのあるアクションckを特定する。そして学習器34は、アクションckに対応する第k枚目の状態遷移確率テーブルのノードsN+iに対応する行の状態遷移確率値のそれぞれを一様の値とする。ただし、アクションck実行時の実際の遷移結果を考慮して、経験のある遷移先状態への遷移確率を多少引き上げるようにしてもよい。
The
また、アクションckを実行した結果、ノードsN+iへの遷移したことのある遷移元のノードsjを特定する。そして学習器34は、アクションckに対応する第k枚目の状態遷移確率テーブルのノードsjに対応する行の状態遷移確率値のそれぞれを次のように設定する。
Further, as a result of executing the action c k , the transition source node s j that has made a transition to the node s N + i is specified. Then, the
当該行において、状態遷移確率が閾値以上となる遷移先ノードslの数をカウントし、その数をLとする。そして、第k枚目の状態遷移確率テーブルのノードsjからノードsN+iへの状態遷移確率aiN+i(k)を1/Lとする。 In the row, counting the number of transition destination node s l where state transition probability is equal to or greater than a threshold, for the number and L. The state transition probability a iN + i (k) from the node s j to the node s N + i in the k-th state transition probability table is set to 1 / L.
そして学習器34は、テーブルの1行あたり状態遷移確率値の合計が1.0となるように調整する。すなわち、式(45)に示されるように、状態遷移確率テーブル内の各状態遷移確率aj(k)を更新する。これにより、状態遷移確率テーブルの拡張は完了する。
The
さらに、学習器34は、状態遷移確率の推定のための頻度変数のテーブルの追加領域に設定すべき状態遷移確率値を全て0(零)とする。これにより、状態遷移確率の推定のための頻度変数のテーブルの拡張は完了する。
Further, the
また、学習器34は、観測確率テーブルの第N+i行と第N+i列に設定すべき観測確率値を、適切な大きさの非零要素とする。非零要素の値としては、例えば、1/Nのような一様の値とされるが、ノードsN+iで実際に観測されたことのある観測シンボルの観測確率を引き上げるようにしてもよい。
The
さらに、学習器34は、観測確率の推定のための頻度変数のテーブルにおいて追加されたノードsN+iに対応する第N+i 行をすべて0(零)とする。これにより、観測確率の推定のための頻度変数のテーブルの拡張は完了する。
Further, the
そして学習器34は、新たなノードを含む学習データセットに対する追加学習方式での学習を、所定の学習率の指定の下に行い、内部モデルデータを更新する。これにより、状態遷移確率の推定のための頻度変数、観測確率の推定のための頻度変数、並びに観測確率テーブルおよび状態遷移確率テーブルの各値が更新される。
Then, the
あるいはまた、例えば、ロボットが迷路上における移動可能方向が拡張されるように改造された場合、アクションの数が増えることになるので、アクション数Kの値を大きくする必要がある。 Alternatively, for example, when the robot is modified so that the movable direction on the maze is expanded, the number of actions increases, so the value of the action number K needs to be increased.
図32は、アクションの数が増えることによる影響を説明する図である。同図に示されるように、アクションの数が増えると、状態遷移確率テーブルの奥行方向の拡張が生じることになる。すなわち、例えば、新たに追加されたアクションに対応する状態遷移確率テーブルであって、図32の第3枚目の状態遷移確率テーブル141の状態遷移確率の値を新たに設定する必要がある。 FIG. 32 is a diagram for explaining the influence due to the increase in the number of actions. As shown in the figure, when the number of actions increases, the state transition probability table expands in the depth direction. That is, for example, it is a state transition probability table corresponding to a newly added action, and it is necessary to newly set the value of the state transition probability in the third state transition probability table 141 in FIG.
また、同図には示されていないが、状態遷移確率の推定のための頻度変数のテーブルも同様に拡張させて値を新たに設定する必要がある。 Although not shown in the figure, the frequency variable table for estimating the state transition probability needs to be similarly expanded to set a new value.
本発明では、図32に示されるように状態遷移確率テーブルを拡張する必要がある場合、学習器34が、次のような処理を行う。ここでは、例えば、ロボットに対して予め所定の数だけアクションが増えることを前提として、図32に示されるように状態遷移確率テーブルを拡張するように指令する場合の学習器34の処理について説明する。
In the present invention, when it is necessary to expand the state transition probability table as shown in FIG. 32, the
いま、新しいアクションcK+i に対応するインデックスをK+iとして、第K+i枚目の状態遷移確率テーブルを追加するものとする。 Assume that an index corresponding to a new action c K + i is K + i, and a K + i-th state transition probability table is added.
学習器34は、追加された第K+i枚目の状態遷移確率テーブルの全ての状態遷移確率を0とする。
The
また、学習器34は、状態遷移確率の推定のための頻度変数のテーブルも同様に、第K+i枚目のテーブルを追加し、追加された第K+i枚目の状態遷移確率テーブルの全ての状態遷移確率を0とする。これにより、状態遷移確率の推定のための頻度変数のテーブルの拡張は完了する。
Similarly, the
さらに、学習器34は、新しいアクションcK+iを実行したことがあるノードsjを特定する。そして学習器34は、第K+i枚目の状態遷移確率テーブルのノードsjに対応する行の状態遷移確率値を全て一様の値とする。ただし、実際のアクションcK+i実行時の遷移結果を考慮して、経験のある遷移先ノードへの状態遷移確率を多少引き上げるようにしてもよい。これにより、状態遷移確率テーブルの拡張は完了する。
Further, the
そして学習器34は、新たなアクションの実行を含む学習データセットに対する追加学習方式での学習を、所定の学習率の指定の下に行い、内部モデルデータを更新する。これにより、状態遷移確率の推定のための頻度変数、観測確率の推定のための頻度変数、並びに観測確率テーブルおよび状態遷移確率テーブルの各値が更新される。
Then, the
上述した処理により、学習を進めるうちにノード数、観測シンボル数、アクション数を追加する必要に迫られた場合であっても学習を継続させることが可能となる。上述した処理は、例えば、ロボットに対して予め所定の数だけ観測シンボルの種類が増えることを前提として、図30乃至図32に示されるように各テーブルを拡張する場合の例である。 With the processing described above, it is possible to continue learning even when it is necessary to add the number of nodes, the number of observation symbols, and the number of actions as learning proceeds. The above-described processing is an example in the case where each table is expanded as shown in FIGS. 30 to 32 on the premise that the number of types of observation symbols is increased in advance by a predetermined number for the robot.
しかしながら、例えば、所定の数だけ観測シンボル、ノード、またはアクションが増えることを予め知ることができない場合がある。つまり、エージェントの自律的な行動によって逐次環境の変化が認識されるような場合、例えば、ロボットの管理者などが事前にどれだけ観測シンボル、ノード、またはアクションが増えるのかを知ることができない。従って、例えば、ロボットが迷路を移動中に、任意に新たな迷路のパーツが出現したり、新たに迷路が拡張されたり、新たに移動方向が追加されたりする場合は、さらなる考慮が必要となる。 However, for example, it may not be possible to know in advance that the number of observation symbols, nodes, or actions increases by a predetermined number. That is, when a change in the environment is sequentially recognized by the autonomous behavior of the agent, for example, the robot administrator cannot know in advance how many observation symbols, nodes, or actions increase. Therefore, for example, if a new maze part appears arbitrarily, a new maze is expanded, or a moving direction is newly added while the robot is moving in the maze, further consideration is required. .
次に、例えば、ロボットが迷路を移動中に、新たな迷路のパーツが出現したり、新たに迷路が拡張されたりする場合の、状態遷移確率テーブル、観測確率テーブルの拡張について説明する。すなわち、エージェントが自律的に環境の変化を認識して、状態遷移確率テーブル、および観測確率テーブルを拡張する場合の例について説明する。 Next, for example, expansion of the state transition probability table and the observation probability table when a new maze part appears or a new maze is expanded while the robot is moving in the maze will be described. That is, an example in which the agent autonomously recognizes a change in the environment and expands the state transition probability table and the observation probability table will be described.
エージェントが自律的に環境の変化を認識して、状態遷移確率テーブル、および観測確率テーブルを拡張する場合、そもそもエージェント自身が、新たに環境が拡張されたのか否かを認識する必要がある。つまり、エージェントが、現在自分が位置するノードは学習済の内部状態とされているノードなのか、新たに追加すべき内部状態とされるノードなのか認識できるようにしなければならない。例えば、ロボットが迷路を移動中に、新たに迷路が拡張された場合、拡張された部分を移動しているとき、自分が新たに追加されるべきノードに位置していることを認識できるようにしなければ、自律的に環境の変化を認識することができない。 When an agent autonomously recognizes an environmental change and expands the state transition probability table and the observation probability table, it is necessary for the agent itself to recognize whether or not the environment has been newly expanded. That is, the agent must be able to recognize whether the node at which he is currently located is a learned internal state or a node to be newly added. For example, when a robot is moving through a maze and the maze is newly expanded, when moving the expanded part, it is possible to recognize that it is located at a node to be newly added. Without it, it will not be able to recognize environmental changes autonomously.
ここで、自律行動学習装置10におけるノードの認識の方式について説明する。ノードの認識は、図9の認識器35により行なわれる。詳細は後述するが、ここでは、時系列情報の長さ値に上限があること、および認識された現在の状態確率のエントロピーの値の変化を考慮して、最終的には4通りの方式を説明することにする。
Here, a node recognition method in the autonomous
上述したように、認識器35は、観測バッファ33および行動出力バッファ39に記憶されている情報、並びに内部モデルデータ記憶部37に記憶されている状態遷移確率テーブルおよび観測確率テーブルに基づいて、現在、ロボットが位置するノードを認識するようになされている。
As described above, the
また、上述したように、時刻t,t+1,t+2,・・・Tの各時刻で取得した観測信号に対応する観測シンボルot, ot+1, ot+2, ・・・, oTが各時刻の観測シンボルとして観測バッファ33に記憶されている。同様に、例えば、時刻t,t+1,t+2,・・・Tの各時刻で実行したアクションct, ct+1, ct+2, ・・・, cTが各時刻のアクションとして行動出力バッファ39に記憶されている。
Further, as described above, the observation symbols o t , o t + 1 , o t + 2 corresponding to the observation signals acquired at the times t , t + 1 , t + 2 ,. O and T are stored in the
ここでは、認識器35に入力される情報であって、観測バッファ33および行動出力バッファ39に記憶されている情報を時系列情報と称することにし、時系列情報の長さを変数Nで表すことにする。
Here, the information input to the
また、認識器35から出力された認識結果は、その認識結果が出力された時刻と対応付けられて認識結果バッファ38に記憶されるようになされている。
The recognition result output from the
認識器35は、まず、時系列情報の長さNを設定し、観測バッファ33および行動出力バッファ39から長さNの時系列情報を取得し、内部モデルデータ記憶部37に記憶されている状態遷移確率テーブルおよび観測確率テーブルに基づく認識を行なう。
The
認識器35は、例えば、Viterbiアルゴリズムを用いて、長さNに対応するノード列を出力する。例えば、N=3であった場合、認識器35は、認識結果としてのノード列s1,s2,s3を出力する。この場合、認識器35は、時刻t1,において、ロボットがノードs1に位置し、時刻t2において、ロボットがノードs2に位置し、時刻t3において、ロボットがノードs3に位置していたと認識したことになる。
The
なお、Viterbiアルゴリズムを用いて、長さNに対応するノード列を出力する処理においては、内部モデルデータ記憶部37に記憶されている状態遷移確率テーブルおよび観測確率テーブルに基づいてノード列が推測されて出力される。Viterbiアルゴリズムを用いて、長さNに対応するノード列を出力する場合、最も確からしい確率を有するノード列を含んだ複数のノード列を出力することが可能である。ここでは、Viterbiアルゴリズムを用いて得られた最も確からしい確率を有するノード列が出力されるものとする。
In the process of outputting the node sequence corresponding to the length N using the Viterbi algorithm, the node sequence is estimated based on the state transition probability table and the observation probability table stored in the internal model
認識器35は、さらに、現在ロボットが位置するノードが新たに追加されるべきであるのか否かを判定するために、Viterbiアルゴリズムを用いて出力されたノード列が、実際にあり得るノード列であるか否かを判定する。
The
出力されたノード列が、実際にあり得るノード列であるか否かの判定は、例えば、次のようにして行なわれる。 The determination as to whether or not the output node string is a possible node string is performed as follows, for example.
いま、出力されたノード列(長さTのノード列)をXで表し、時系列情報に基づいて特定された観測シンボルの列(長さTの観測シンボルの列)を、観測系列Oで表すことにする。また、内部モデルデータの状態遷移確率テーブルを、行列Aで表すことにする。なお、行列Aは、時系列情報に基づいて特定されたアクションのそれぞれに対応する状態遷移確率テーブルを意味することとする。 Now, the output node sequence (node sequence of length T) is represented by X, and the sequence of observation symbols specified based on the time series information (sequence of observation symbols of length T) is represented by observation sequence O. I will decide. In addition, the state transition probability table of the internal model data is represented by a matrix A. The matrix A means a state transition probability table corresponding to each action specified based on the time series information.
認識器35は、ノード列Xと観測系列Oが式(46)および式(47)を満たすか否かを判定する。
The
ここで、P(O|X)は、ノード列Xを構成する各ノードにおける観測系列Oを構成する各観測シンボルの観測確率を意味するものとし、観測確率テーブルに基づいて特定することができる。また、Threstrans、およびThresobsは、それぞれ遷移があり得るかどうかの閾値と観測があり得るかどうかの閾値を表すものとする。 Here, P (O | X) means the observation probability of each observation symbol constituting the observation series O in each node constituting the node sequence X, and can be specified based on the observation probability table. Also, Thres trans and Thres obs represent a threshold value indicating whether there is a transition and a threshold value indicating whether there is an observation.
従って、ノード列Xと観測系列Oが式(46)または式(47)のいずれか1つでも満たさないと判定された場合、認識器35は、出力されたノード列が、実際にあり得るノード列ではないと判定する。これにより、現在ロボットが位置するノード(時系列情報の最後の時刻におけるノード)は、新たに追加されるべきノードであって、未知のノードであると認識されるようにすることができる。
Accordingly, when it is determined that the node sequence X and the observation sequence O do not satisfy any one of the formulas (46) and (47), the
ノード列Xと観測系列Oが式(46)および式(47)を満たすと判定された場合、認識器35は、現在の状態遷移確率のエントロピーを計算する。
When it is determined that the node sequence X and the observation sequence O satisfy Expression (46) and Expression (47), the
ここで、エントロピーをE、ノードXiの事後確率をP(Xi|O)とし、現在の内部モデルデータ上に存在するノード数の合計をMで表すことにする。なお、ノード(状態)の事後確率とは、Viterbiアルゴリズムにより出力された確率であって、時系列情報の最後の時刻におけるノードに対応する確率を意味する。この場合、エントロピーEは、式(48)により表すことができる。 Here, the entropy is E, the posterior probability of the node Xi is P (Xi | O), and the total number of nodes existing on the current internal model data is represented by M. The posterior probability of a node (state) is a probability output by the Viterbi algorithm, and means a probability corresponding to the node at the last time of the time series information. In this case, entropy E can be expressed by equation (48).
例えば、式(48)により演算されたエントロピーの値を所定の閾値と比較し、閾値未満である場合、認識器35は、出力されたノード列が、実際にあり得るノード列であって一意に特定することができる状況であることを意味する。これにより、現在ロボットが位置するノード(時系列情報の最後の時刻におけるノード)は、内部モデルデータ上に既に存在するノードであって、既知のノード(学習済みの内部状態)であると認識されるようにすることができる。
For example, when the entropy value calculated by the equation (48) is compared with a predetermined threshold value and is less than the threshold value, the
さらに、出力されたノード列に含まれる固有ノード数が閾値Thres以上であるか否かが判定され、Thres以上である場合にのみ、時系列情報の最後の時刻におけるノードは、既知のノードであると認識されるようにしてもよい。すなわち、認識の精度を保証するための閾値であって、認識した結果のノード列における固有ノード数の閾値を設けるのである。ここで、固有ノード数とは、インデックスが異なるノードのみをカウントした場合のノード数を意味する。 Furthermore, it is determined whether or not the number of unique nodes included in the output node sequence is equal to or greater than the threshold Thres. Only when the number is equal to or greater than Thres, the node at the last time in the time series information is a known node. May be recognized. That is, it is a threshold for guaranteeing the accuracy of recognition, and a threshold for the number of unique nodes in the recognized node string is provided. Here, the number of unique nodes means the number of nodes when only nodes having different indexes are counted.
例えば、出力されたノード列のインデックスが「10」、「11」、「10」、「11」、「12」、「13」であった場合、ノード列の長さは6であるが、固有ノード数は4である。例えば、エージェントが同じノード間の遷移を繰り返した場合、同じ長さの時系列情報に基づいて認識を行なったとしても、認識結果の精度は低くなる。このため、認識の精度を保証するための閾値であって、認識した結果のノード列における固有ノード数の閾値を設けるようにしてもよい。 For example, when the index of the output node sequence is “10”, “11”, “10”, “11”, “12”, “13”, the length of the node sequence is 6, but it is unique The number of nodes is four. For example, when the agent repeats the transition between the same nodes, even if the recognition is performed based on the time-series information having the same length, the accuracy of the recognition result is low. For this reason, a threshold value for assuring the accuracy of recognition, and a threshold value for the number of unique nodes in the recognized node sequence may be provided.
一方、エントロピーの値が閾値以上である場合、出力されたノード列が、実際にあり得るノード列であるが、例えば、複数の候補が存在しており一意に特定することができない状況であることを意味する。このため、認識器35は、出力されたノード列が、時系列情報の長さを増加させるべきと判定する。これにより、例えば、時系列情報の長さNの値がインクリメントされて処理が繰り返し実行される。
On the other hand, if the entropy value is greater than or equal to the threshold value, the output node sequence is a node sequence that can actually exist. For example, there are a plurality of candidates that cannot be uniquely identified. Means. For this reason, the
次に、図33のフローチャートを参照して、認識器35によるノード認識処理について説明する。この処理は、認識器35によるノード認識処理の第1の方式の例となる処理である。
Next, node recognition processing by the
ステップS201において、認識器35は、変数Nの値を初期値である1にセットする。
In step S201, the recognizing
ステップS202において、認識器35は、長さNの時系列情報を観測バッファ33および行動出力バッファ39から取得する。
In step S <b> 202, the
ステップS203において、認識器35は、ステップS202で出力された時系列情報に基づいて、Viterbiアルゴリズムを用いてノード列を出力する。
In step S203, the
ステップS204において、認識器35は、ステップS203の処理の結果、出力されたノード列が実際にあり得るノード列であるか否かを判定する。このとき、上述したように、ノード列Xと観測系列Oが式(46)および式(47)を満たすか否かが判定される。ノード列Xと観測系列Oが式(46)および式(47)を満たす場合、ステップS204では、実際にあり得るノード列であると判定される。一方、ノード列Xと観測系列Oが式(46)または式(47)の少なくとも一方を満たさない場合、ステップS204では、実際にあり得るノード列ではないと判定される。
In step S204, the recognizing
ステップS204において、実際にあり得るノード列ではないと判定された場合、処理は、ステップS208に進み、認識器35は、時系列情報の最後の時刻におけるノードは、未知ノードであると認識する。ステップS208の認識結果は、時系列情報の最後の時刻と対応付けられて認識結果バッファ38に記憶されるようになされている。
If it is determined in step S204 that the node sequence is not actually possible, the process proceeds to step S208, and the
一方、ステップS204において、実際にあり得るノード列であると判定された場合、処理は、ステップS205に進む。 On the other hand, if it is determined in step S204 that the node sequence is actually possible, the process proceeds to step S205.
ステップS205において、認識器35は、エントロピーを計算する。このとき上述したように、式(48)によりエントロピーが演算される。
In step S205, the
ステップS206において、認識器35は、ステップS205の処理で演算されたエントロピーの値を所定の閾値と比較し、エントロピーの値が閾値以上であるか否かを判定する。
In step S206, the
ステップS206において、エントロピーの値が閾値以上であると判定された場合、処理は、ステップS209に進む。 If it is determined in step S206 that the entropy value is greater than or equal to the threshold, the process proceeds to step S209.
ステップS209において、認識器35は、変数Nの値を1だけインクリメントする。これにより、その後実行されるステップS202の処理において、長さがN+1の時系列情報が取得されることになる。なお、ステップS209において変数Nの値をインクリメントする毎に、ステップS202で取得される時系列情報は、過去方向に延長されるものとする。
In step S209, the
このように、ステップS204で実際にあり得るノード列ではないと判定されるか、または、ステップS206において、エントロピーの値が閾値以上ではないと判定されるまで、ステップS202乃至ステップS206、およびステップS209の処理が繰り返し実行される。 Thus, until it is determined in step S204 that the node sequence is not actually possible, or in step S206, it is determined that the entropy value is not greater than or equal to the threshold value, step S202 to step S206 and step S209 are performed. This process is repeatedly executed.
ステップS206において、エントロピーの値が閾値以上ではないと判定された場合、処理は、ステップS207に進む。 If it is determined in step S206 that the entropy value is not equal to or greater than the threshold value, the process proceeds to step S207.
また、ステップS204において、出力されたノード列に含まれる固有ノード数が閾値Thres以上であるか否かがさらに判定され、Thres以上である場合にのみ、処理は、ステップS205またはステップS208に進むようにしてもよい。 In step S204, it is further determined whether or not the number of unique nodes included in the output node string is equal to or greater than the threshold value Thres. Only when the number is equal to or greater than Thres, the process proceeds to step S205 or step S208. Also good.
あるいはまた、ステップS203で固有ノード数が閾値Thres以上となるノード列が出力された場合にのみ、処理がステップS204に進み、固有ノード数が閾値Thres未満である場合は、Nの値がインクリメントされて時系列情報が再度取得されるようにしてもよい。 Alternatively, the process proceeds to step S204 only when a node string in which the number of unique nodes is equal to or greater than the threshold value Thres is output in step S203. If the number of unique nodes is less than the threshold value Thres, the value of N is incremented. The time series information may be acquired again.
ステップS207において、認識器35は、時系列情報の最後の時刻におけるノードは、既知ノードであると認識する。このとき、時系列情報の最後の時刻におけるノードのインデックスが出力されるようにしてもよい。また、ステップS207の認識結果は、時系列情報の最後の時刻と対応付けられて認識結果バッファ38に記憶されるようになされている。
In step S207, the
このようにしてノード認識処理が実行される。 In this way, the node recognition process is executed.
ところで、図33の処理において、変数Nの値をインクリメントする毎に、取得される時系列情報は、過去方向に延長されるものとすると説明したが、既知ノードから未知ノードへの遷移が生じた時刻より以前に時系列情報を延長することはできない。既知ノードから遷移した未知ノードを含むノード列に基づいて、正確な認識結果を得ることはできないからである。 By the way, in the process of FIG. 33, every time the value of the variable N is incremented, it has been described that the acquired time series information is extended in the past direction, but a transition from a known node to an unknown node has occurred. Time series information cannot be extended before the time. This is because an accurate recognition result cannot be obtained based on a node string including an unknown node that has transitioned from a known node.
従って、時系列情報に対応するノード列の中に、既知ノードから遷移した未知ノードが含まれるようにすることはできず、時系列情報の長さNの値に上限があることになる。なお、当該ノードが既知ノードから遷移した未知ノードであるか否かは、認識結果バッファ38に記憶された情報に基づいて判断することができる。
Therefore, the node sequence corresponding to the time-series information cannot include an unknown node that has transitioned from the known node, and the value of the length N of the time-series information has an upper limit. Whether or not the node is an unknown node that has transitioned from a known node can be determined based on information stored in the
次に、図34のフローチャートを参照して、時系列情報の長さNの値に上限があることを考慮した場合のノード認識処理の例について説明する。この処理は、認識器35によるノード認識処理の第2の方式の例となる処理である。
Next, an example of the node recognition process when considering that there is an upper limit in the value of the length N of the time series information will be described with reference to the flowchart of FIG. This process is an example of a second method of the node recognition process by the
ステップS221乃至ステップS229の処理は、図33のステップS201乃至ステップS209の処理と同様のものなので、詳細な説明は省略する。 Since the processing from step S221 to step S229 is the same as the processing from step S201 to step S209 in FIG. 33, detailed description thereof is omitted.
図34の例の場合、ステップS229の処理で変数Nの値が1だけインクリメントされると、ステップS230において、ノード列に既知ノードから遷移した未知ノードが含まれることになるか否かが判定される。すなわち、変数Nの値をインクリメントする毎に、取得される時系列情報は、過去方向に延長されるが、ノード列を過去方向に延長すると既知ノードから遷移した未知ノードが含まれることになるか否かが判定されるのである。つまり、既知ノードから未知ノードへの遷移が生じた時刻より以前に時系列情報を延長することができないようにされるのである。 In the case of the example of FIG. 34, when the value of the variable N is incremented by 1 in the process of step S229, it is determined in step S230 whether or not an unknown node transitioned from a known node is included in the node sequence. The That is, every time the value of the variable N is incremented, the acquired time series information is extended in the past direction, but if the node sequence is extended in the past direction, an unknown node that has transitioned from a known node is included. It is determined whether or not. That is, the time series information cannot be extended before the time when the transition from the known node to the unknown node occurs.
ステップS230において、既知ノードから遷移した未知ノードが含まれることになると判定された場合、処理は、ステップS231に進む。ステップS230において、既知ノードから遷移した未知ノードが含まれることにはならないと判定された場合、処理は、ステップS222に戻る。 If it is determined in step S230 that an unknown node that has changed from a known node is included, the process proceeds to step S231. If it is determined in step S230 that an unknown node that has changed from a known node is not included, the process returns to step S222.
ステップS231において、認識器35は、認識結果を保留し、時系列情報を未来方向に延長するように指令する。つまり、さらにアクションを実行して時系列情報を蓄積することを指令するためのメッセージ等を出力するのである。このとき、認識器35は、例えば、行動生成器36に対して、さらに、アクションを実行させるように制御情報を出力する。
In step S231, the
すなわち、現時点でのノードの認識は不可能であるか、または、仮に可能であっても不確実な認識結果となるため、認識器35は、認識結果を保留し、時系列情報をさらに蓄積するように指令を出力するのである。
That is, it is impossible to recognize the node at the present time, or even if it is possible, an uncertain recognition result is obtained. Therefore, the
認識処理は、図34に示されるように実行されるようにしてもよい。 The recognition process may be executed as shown in FIG.
ところで、図33と図34を参照して上述した処理においては、ノード列Xと観測系列Oが式(46)および式(47)を満たすかによって、実際にあり得るノード列であるか否かが判定されると説明した。しかし、認識された現在の状態確率のエントロピーの値の変化に基づいて実際にあり得るノード列であるか否かが判定されるようにすることも可能である。 By the way, in the processing described above with reference to FIGS. 33 and 34, whether or not the node sequence X and the observation sequence O are actually possible node sequences depends on whether the equation (46) and the equation (47) are satisfied. It was explained that However, it is also possible to determine whether or not the node sequence is actually possible based on the recognized change in the entropy value of the current state probability.
すなわち、長さNの時系列情報に基づいて式(48)により演算されるエントロピーをENとし、長さN−1の時系列情報に基づいて式(48)により演算されるエントロピーをEN-1とし、△E=EN−EN-1を演算する。そして、△Eを所定の閾値Thresentと比較し、その比較処理の繰り返し回数を閾値Thresstableと比較し、それらの比較結果に基づいてノードが認識されるようにしてもよい。 That is, the entropy calculated by the formula (48) based on the time series information of length N is set to E N, and the entropy calculated by the formula (48) based on the time series information of length N−1 is set to E N. −1 and ΔE = E N −E N−1 are calculated. Then, △ E is compared with a predetermined threshold Thres ent, compares the number of repetitions of the comparison process with the threshold Thres stable, may be a node is recognized based on their comparison results.
例えば、△E<Thresentを満たさない場合、時系列情報が過去方向に延長されるようにし、さらにエントロピーが計算されて△E<Thresentを満たすか否かが判定される。△E<Thresentを満たす場合、カウンタNCがカウントアップされ、NC>Thresstableを満たすとき、ノードの認識が行なわれることになる。 For example, △ E <is not satisfied Thres ent, the time series information so as to be extended in the past direction, and it is further judged whether satisfy entropy is calculated △ E <Thres ent. △ E <if they meet Thres ent, the counter NC is counted up, NC> when satisfying Thres stable, so that the recognition of the node is performed.
次に、図35のフローチャートを参照して、状態確率のエントロピーの値の変化に基づく認識を行なう場合のノード認識処理の例について説明する。この処理は、認識器35によるノード認識処理の第3の方式の例となる処理である。
Next, an example of node recognition processing in the case of performing recognition based on a change in entropy value of the state probability will be described with reference to the flowchart in FIG. This process is an example of a third method of the node recognition process by the
ステップS251において、認識器35は、変数Nの値を初期値である1にセットする。
In step S251, the
ステップS252において、認識器35は、長さNの時系列情報を観測バッファ33および行動出力バッファ39から取得する。
In step S <b> 252, the
ステップS253において、認識器35は、ステップS202で出力された時系列情報に基づいて、Viterbiアルゴリズムを用いてノード列を出力する。
In step S253, the recognizing
ステップS254において、認識器35は、エントロピーの差分を演算する。このとき、上述したように、長さNの時系列情報に基づいて式(48)により演算されるエントロピーをENとし、長さN−1の時系列情報に基づいて式(48)により演算されるエントロピーをEN-1とし、△E=EN−EN-1を演算する。なお、ステップS254の演算は、Nの値が2以上となったときに実行されるものとする。
In step S254, the
ステップS255において、認識器35は、ステップS254で演算したエントロピーの差分は、閾値Thresent以上であるか否かを判定する。ステップS255において、ステップS254で演算したエントロピーの差分は、閾値以上ではないと判定された場合、処理は、ステップS256に進む。
In step S255, the recognizing
ステップS256において、認識器35は、カウンタNCの値を1だけインクリメントする。
In step S256, the recognizing
ステップS257において、認識器35は、カウンタNCの値が閾値Thresstable以上であるか否かを判定する。ステップS257において、カウンタNCの値が閾値Thresstable以上であると判定された場合、処理は、ステップS258に進む。
In step S257, the recognizing
ステップS258において、認識器35は、ステップS253の処理の結果、出力されたノード列が実際にあり得るノード列であるか否かを判定する。このとき、上述したように、ノード列Xと観測系列Oが式(46)および式(47)を満たすか否かが判定される。ノード列Xと観測系列Oが式(46)および式(47)を満たす場合、ステップS258では、実際にあり得るノード列であると判定される。一方、ノード列Xと観測系列Oが式(46)または式(47)の少なくとも一方を満たさない場合、ステップS258では、実際にあり得るノード列ではないと判定される。
In step S258, the recognizing
ステップS258において、出力されたノード列が実際にあり得るノード列ではないと判定された場合、処理は、ステップS262に進み、認識器35は、時系列情報の最後の時刻におけるノードは、未知ノードであると認識する。ステップS262の認識結果は、時系列情報の最後の時刻と対応付けられて認識結果バッファ38に記憶されるようになされている。
If it is determined in step S258 that the output node sequence is not a possible node sequence, the process proceeds to step S262, and the
一方、ステップS258において、出力されたノード列が実際にあり得るノード列であると判定された場合、処理は、ステップS259に進む。 On the other hand, if it is determined in step S258 that the output node string is a possible node string, the process proceeds to step S259.
ステップS259において、認識器35は、エントロピーを計算する。このとき上述したように、式(48)によりエントロピーが演算される。
In step S259, the
ステップS260において、認識器35は、ステップS259の処理で演算されたエントロピーの値を所定の閾値と比較し、エントロピーの値が閾値以上であるか否かを判定する。
In step S260, the recognizing
ステップS260において、エントロピーの値が閾値以上であると判定された場合、処理は、ステップS263に進む。 If it is determined in step S260 that the entropy value is greater than or equal to the threshold, the process proceeds to step S263.
ステップS263において、認識器35は、認識結果を保留し、時系列情報を未来方向に延長するように指令する。つまり、さらにアクションを実行して時系列情報を蓄積することを指令するためのメッセージ等を出力するのである。このとき、認識器35は、例えば、行動生成器36に対して、さらに、アクションを実行するように制御情報を出力する。
In step S263, the recognizing
すなわち、現時点でのノードの認識は不可能であるか、または、仮に可能であっても不確実な認識結果となるため、認識器35は、認識結果を保留し、時系列情報をさらに蓄積するように指令を出力するのである。
That is, it is impossible to recognize the node at the present time, or even if it is possible, an uncertain recognition result is obtained. Therefore, the
一方、ステップS260において、エントロピーの値が閾値以上ではないと判定された場合、処理は、ステップS261に進み、認識器35は、時系列情報の最後の時刻におけるノードは、既知ノードであると認識する。
On the other hand, if it is determined in step S260 that the entropy value is not equal to or greater than the threshold, the process proceeds to step S261, and the
ステップS261の認識結果は、時系列情報の最後の時刻と対応付けられて認識結果バッファ38に記憶されるようになされている。
The recognition result in step S261 is stored in the
また、ステップS258において、出力されたノード列に含まれる固有ノード数が閾値Thres以上であるか否かがさらに判定され、Thres以上である場合にのみ、処理は、ステップS259またはステップS262に進むようにしてもよい。この場合、ステップS258において、出力されたノード列に含まれる固有ノード数が閾値Thres以上ではないと判定されたときは、処理は、ステップS265に進むようにすればよい。すなわち、変数Nの値が1だけインクリメントされるようにすればよい。 In step S258, it is further determined whether or not the number of unique nodes included in the output node string is equal to or greater than the threshold value Thres. Only when the number is equal to or greater than Thres, the process proceeds to step S259 or step S262. Also good. In this case, if it is determined in step S258 that the number of unique nodes included in the output node string is not equal to or greater than the threshold value Thres, the process may proceed to step S265. That is, the value of the variable N may be incremented by 1.
また、ステップS255で、ステップS254で演算したエントロピーの差分は、閾値Thresent以上であると判定された場合、処理は、ステップS264に進み、カウンタNCの値が0に設定される。 Further, in step S255, the difference between the entropy calculated in step S254, if it is determined that the threshold Thres ent above, the processing proceeds to step S264, the value of the counter NC is set to 0.
ステップS264の処理の後、または、ステップS257でカウンタNCの値が閾値Thresstable以上ではないと判定された場合、処理は、ステップS265に進む。 After the process of step S264, or when it is determined in step S257 that the value of the counter NC is not greater than or equal to the threshold value Thres stable , the process proceeds to step S265.
ステップS265において、認識器35は、変数Nの値を1だけインクリメントする。これにより、その後実行されるステップS202の処理において、長さがN+1の時系列情報が取得されることになる。なお、ステップS265において変数Nの値をインクリメントする毎に、ステップS252で取得される時系列情報は、過去方向に延長されるものとする。
In step S265, the
このように、ステップS255でエントロピーの差分は、閾値Thresent以上ではないと判定され、かつ、ステップS257でカウンタNCの値が閾値Thresstable以上であると判定されるまで、ステップS252乃至ステップS257、およびステップS265の処理が繰り返し実行される。 Thus, the difference between the entropy at step S255, it is determined not to be a threshold Thres ent or more, and, in step S257 until the value of the counter NC is determined to be the threshold Thres stable above, steps S252 to step S257, And the process of step S265 is repeatedly executed.
このようにしてノード認識処理が実行される。図35の例の場合、ステップS255とステップS257の処理により、エントロピーの値が収束したことが確認され、その後、出力されたノード列が実際にあり得るノード列であるかが判定されるようにした。従って、例えば、図33を参照して上述した場合と比較して、より確実な認識を行なうことが可能となる。 In this way, the node recognition process is executed. In the case of the example of FIG. 35, it is confirmed that the entropy value has converged by the processing of step S255 and step S257, and then it is determined whether the output node sequence is a possible node sequence. did. Therefore, for example, more reliable recognition can be performed as compared with the case described above with reference to FIG.
また、図35の処理の場合も、既知ノードから未知ノードへの遷移が生じた時刻より以前に時系列情報を延長することはできない。既知ノードから遷移した未知ノードを含むノード列に基づいて、正確な認識結果を得ることはできないからである。。 Also in the case of the processing of FIG. 35, the time series information cannot be extended before the time when the transition from the known node to the unknown node occurs. This is because an accurate recognition result cannot be obtained based on a node string including an unknown node that has transitioned from a known node. .
従って、時系列情報に対応するノード列の中に、既知ノードから遷移した未知ノードであると認識されたノードが含まれるようにすることはできず、時系列情報の長さNの値に上限があることになる。なお、当該ノードが既知ノードから遷移した未知ノードであるか否かは、認識結果バッファ38に記憶された情報に基づいて判断することができる。
Therefore, the node sequence corresponding to the time series information cannot include a node recognized as an unknown node transitioned from a known node, and the value of the length N of the time series information has an upper limit. There will be. Whether or not the node is an unknown node that has transitioned from a known node can be determined based on information stored in the
次に、図36のフローチャートを参照して、状態確率のエントロピーの値の変化に基づく認識を行なう場合、時系列情報の長さNの値に上限があることを考慮するときのノード認識処理の例について説明する。この処理は、認識器35によるノード認識処理の第4の方式の例となる処理である。
Next, referring to the flowchart of FIG. 36, when performing recognition based on a change in the value of entropy of the state probability, node recognition processing when considering that there is an upper limit in the value of the length N of the time series information An example will be described. This process is an example of a fourth method of the node recognition process performed by the
ステップS281乃至ステップS295の処理は、図35のステップS251乃至ステップS265の処理と同様のものなので、詳細な説明は省略する。 Since the processing from step S281 to step S295 is the same as the processing from step S251 to step S265 in FIG. 35, detailed description thereof is omitted.
図36の例の場合、ステップS295の処理で変数Nの値が1だけインクリメントされると、ステップS296において、ノード列に既知ノードから遷移した未知ノードが含まれることになるか否かが判定される。すなわち、変数Nの値をインクリメントする毎に、取得される時系列情報は、過去方向に延長されるが、ノード列を過去方向に延長すると既知ノードから遷移した未知ノードが含まれることになるか否かが判定されるのである。 In the case of the example of FIG. 36, when the value of the variable N is incremented by 1 in the process of step S295, it is determined in step S296 whether or not an unknown node transitioned from a known node is included in the node sequence. The That is, every time the value of the variable N is incremented, the acquired time series information is extended in the past direction, but if the node sequence is extended in the past direction, an unknown node that has transitioned from a known node is included. It is determined whether or not.
ステップS296において、既知ノードから遷移した未知ノードが含まれることになると判定された場合、処理は、ステップS293に進む。ステップS296において、既知ノードから遷移した未知ノードが含まれることにはならないと判定された場合、処理は、ステップS282に戻る。 If it is determined in step S296 that an unknown node that has changed from a known node is included, the process proceeds to step S293. If it is determined in step S296 that an unknown node that has changed from a known node is not included, the process returns to step S282.
ステップS293において、認識器35は、認識結果を保留し、時系列情報を未来方向に延長するように指令する。つまり、さらにアクションを実行して時系列情報を蓄積することを指令するためのメッセージ等を出力するのである。このとき、認識器35は、例えば、行動生成器36に対して、さらに、アクションを実行するように制御情報を出力する。
In step S293, the recognizing
すなわち、現時点でのノードの認識は不可能であるか、または、仮に可能であっても不確実な認識結果となるため、認識器35は、認識結果を保留し、時系列情報をさらに蓄積されるように指令を出力するのである。
That is, it is impossible to recognize the node at the current time, or even if it is possible, the recognition result is uncertain. Therefore, the
認識処理は、図36に示されるように実行されるようにしてもよい。 The recognition process may be executed as shown in FIG.
図33乃至図36を参照して上述した4通りの方式により、ロボットは、自分が新たに追加された迷路のパーツ上(未知ノード)に位置しているのか、または以前から存在していたパーツ上(既知ノード)にいるのかを認識することができる。このようにして認識された未知ノードに関する状態遷移確率と観測確率を設定し、状態遷移確率テーブル、および観測確率テーブルを拡張する。 With the four methods described above with reference to FIGS. 33 to 36, the robot is located on a part of the maze that has been newly added (an unknown node) or has existed before. You can recognize whether you are on the top (known node). The state transition probability and the observation probability regarding the unknown node recognized in this way are set, and the state transition probability table and the observation probability table are expanded.
なお、ここでは、アクション拡張型HMMによる認識を行なう場合の例について説明したが、図33乃至図36の認識処理は、通常のHMMの認識においても適用することができる。 Here, an example in which recognition is performed by the action expansion type HMM has been described, but the recognition processing of FIGS. 33 to 36 can also be applied to recognition of a normal HMM.
ところで、エージェントが自律的に環境の変化を認識して、状態遷移確率テーブル、および観測確率テーブルを拡張する場合、どの時点でどれだけの未知ノードを、新たに状態遷移確率テーブル、および観測確率テーブルなどに含めるかが問題となる。次に、自律的に環境の変化を認識して、未知ノードを内部モデルデータに追加する場合における追加すべき未知ノードの個数および追加すべきタイミングについて説明する。 By the way, when an agent autonomously recognizes an environmental change and expands the state transition probability table and the observation probability table, how many unknown nodes are newly added to the state transition probability table and the observation probability table. It becomes a problem whether to include it. Next, the number of unknown nodes to be added and the timing to add will be described when autonomously recognizing environmental changes and adding unknown nodes to internal model data.
なお、ここでいう未知ノードの内部モデルデータへの追加とは、未知ノードとみなされたノードを表す新たなインデックスを生成し、例えば、そのインデックスに対応する行列を状態遷移確率テーブルなどに追加することを意味する。 The addition of unknown nodes to the internal model data referred to here generates a new index representing a node regarded as an unknown node, for example, adds a matrix corresponding to the index to a state transition probability table or the like. Means that.
図33乃至図36を参照して上述した方式により、自分が新たに追加されるべきノード(未知ノード)に位置していると認識した時刻から経過した時間をNとする。この時間Nは、時系列情報の長さと言い換えることもできる。また、ここでは認識の精度を保証するための閾値であって、認識した結果のノード列における固有ノード数の閾値Thresを設けることにする。 Let N be the time that has elapsed since the time when it was recognized that it was located at a node (an unknown node) to be newly added by the method described above with reference to FIGS. This time N can be rephrased as the length of time-series information. Here, a threshold value for guaranteeing the accuracy of recognition, and a threshold value Thres for the number of unique nodes in the recognized node sequence is provided.
まず、長さNの時系列情報に含まれる固有ノード数がThresの値になるまで、エージェントは行動を繰り返す。すなわち、行動生成器36と行動出力部32とにより、N回のアクションが実行され、観測バッファ33、および行動出力バッファ39に、長さNの時系列情報が蓄積されることになる。なお、ここでいう長さNの時系列情報は、自分が未知ノードに位置していると認識した時刻後の時間的長さNの時系列情報を意味する。また、以下において適宜、「長さNの時系列情報に基づいて認識された長さLrのノード列に含まれる固有ノード数がThresの値になる」という意味で「LrがThresの値になる」と表現することにする。
First, the agent repeats the action until the number of unique nodes included in the time-series information of length N reaches the value of Thres. That is, the
そして、LrがThres以上になった場合、認識器35は、時系列情報に基づいて、図34、または図36を参照して上述した認識処理を実行する。この場合、時系列情報の長さの上限Nがあることになる。
When Lr becomes equal to or greater than Thres, the
ここで実行される認識処理における図34のステップS223または図36のステップS283で出力されるノード列をSとし、そのノード列の長さをLrとする。 In the recognition process executed here, the node sequence output in step S223 of FIG. 34 or step S283 of FIG. 36 is S, and the length of the node sequence is Lr.
そして、図34のステップS228または図36のステップS292で未知ノードであると認識された場合、そのノードが未知ノードとみなされて、学習器34により内部モデルデータに追加するようにする。
When the node is recognized as an unknown node in step S228 of FIG. 34 or step S292 of FIG. 36, the node is regarded as an unknown node and is added to the internal model data by the
実際に未知になってから足したノードの数をm_addとすると、追加する未知ノードの数をmは、式(49)により表すことができる。 Assuming that the number of nodes added after actually becoming unknown is m_add, the number of unknown nodes to be added can be expressed by Expression (49).
なお、m_addは、自分が未知ノードに位置していると最初に認識したときから、既に未知ノードの追加が行なわれた場合、それら追加されたノードの個数を表す数とされる。すなわち、式(49)は、未知ノードに位置していると認識された後、未知ノードとみなして追加したノードの数はひいた上で、最初に認識した未知ノードに至るまでの間のノードを足すことを示している。 Note that m_add is a number representing the number of added nodes when an unknown node has already been added since it was first recognized that it was located at an unknown node. That is, the expression (49) is a node between the first node and the unknown node after the number of nodes added as the unknown node is subtracted after being recognized as being located at the unknown node. Indicates that
また、式(49)の右辺において加算される「1」は、長さLrのノード列の最も過去の時刻に対応するノードを、どのノードに接続するかが現時点では決められないため、保留するということを示す。 Further, “1” added on the right side of the equation (49) is reserved because it is not determined at this time which node is connected to the node corresponding to the oldest time in the node string of length Lr. It shows that.
図37を参照してさらに詳細に説明する。図37は、図中垂直方向に時間軸tが設けられており、時間の経過に伴ってエージェントが遷移したノードが図中の円により示されている。また、同図において、図中垂直方向の点線は、自分が未知ノードに位置していると最初に認識したノードを示すためのものである。この例では、ノード201が、自分が未知ノードに位置していると最初に認識したノードとされる。
This will be described in more detail with reference to FIG. In FIG. 37, a time axis t is provided in the vertical direction in the figure, and the nodes to which the agent has changed over time are indicated by circles in the figure. Also, in the figure, a dotted line in the vertical direction in the drawing is for indicating a node that is first recognized as being located at an unknown node. In this example, the
さらに、説明を簡単にするため、アクションを1回実行すると図中の円により示されたノードの数と時系列情報の長さが1だけ増加するものとし、それらのノードは、特に説明がない限り、全て固有ノードであると認識されたものとする。 Furthermore, for the sake of simplicity, it is assumed that the number of nodes indicated by circles in the figure and the length of the time series information increase by 1 when the action is executed once, and these nodes have no particular explanation. It is assumed that all are recognized as unique nodes.
同図に示されるように、自分が未知ノードに位置していると最初に認識した後、1ずつアクションが実行されて時系列情報が蓄積されていく。そして、時系列情報の長さNが閾値Thresと等しくなった(この場合、Lr=N)後、認識器35は、時系列情報に基づいて、図34、または図36を参照して上述した認識処理を実行する。この例の場合、ノード201、ノード202、・・・ノード211のノード列が出力され、ノード211は、未知ノードであると認識されたものとする。
As shown in the figure, after first recognizing that it is located at an unknown node, actions are executed one by one and time series information is accumulated. Then, after the length N of the time series information becomes equal to the threshold value Thres (in this case, Lr = N), the
その後、さらに1のアクションが実行され、エージェントは、ノード212に遷移する。このとき、ノード202乃至ノード212に対応する長さLrの時系列情報に基づく認識処理が実行され、ノード212は未知ノードと認識されたものとする。この時点では、まだ未知ノードの追加は行なわれない。
Thereafter, another action is executed, and the agent transitions to the
その後、さらに1のアクションが実行され、エージェントがノード213に遷移する。このとき、ノード203乃至ノード213に対応する長さLrの時系列情報に基づく認識処理が実行され、ノード213は未知ノードと認識されたものとする。この時点でノード201の追加が行なわれる。
Thereafter, another action is executed, and the agent transitions to the
これにより、それ以後の認識処理においては、ノード201が既知ノードとして取り扱われることになる。
As a result, in the subsequent recognition processing, the
いまの場合、時系列情報の長さ(自分が未知ノードに位置していると認識した時刻後の時間的長さ)Nは、Thres+2である。また、いまの場合、ノード203乃至ノード213がノード列Sに対応し、ノード列Sの長さLrは、Thresである。よって、式(49)より、追加すべきノードの個数mは、Thres+2-(Thres+0+1)=1と算出される。従って、未知ノードであった1個のノード201が新たに追加されたのである。
In this case, the length of the time-series information (the time length after the time when it is recognized that it is located at an unknown node) N is
すなわち、内部モデルデータの状態遷移確率テーブルなどに、ノード201を表す新たなインデックスの行列が追加されるのである。
That is, a new index matrix representing the
なお、上述した例において、ノード211乃至ノード213は、いずれも未知ノードであると認識されているが、ノード201が真の意味で未知ノードであったか否かは不明である。例えば、ノード211が未知ノードと判定されたのは、ノード201乃至ノード211のノード列が、実際にあり得るノード列ではないと判定された結果であり、必ずしもノード211が既存の内部モデルデータに存在しないノードであるとは限らないからである。つまり、ノード201乃至ノード211のノードのいずれかが既存の内部モデルデータに存在しないノードであれば、ノード211は、未知ノードと認識されるのである。
In the example described above, the
従って、現時点でノード201を未知ノードとみなして内部モデルデータの状態遷移確率テーブルなどに、ノード201を表す新たなインデックスの行列が追加しても、実際には既存のインデックスの行列と重複する結果にもなり得る。このように、ノード201が真の意味で未知ノードであったか否かは不明なのである。
Therefore, even if the
なお、ここでは、図37を参照して説明する都合上、ノード201が真の意味で未知ノードであったか否かは不明と説明しているが、図37の例では、ノード201は真の意味で未知ノードであったことが前提とされる。従って、本来は、その後に追加される「ノード202、ノード203、・・・が真の意味で未知ノードであったか否かは不明なものとなる」という説明が適切である。
Here, for the convenience of description with reference to FIG. 37, it is described that it is unknown whether or not the
上述のように、ノード201が真の意味で未知ノードであったか否かは不明であるとしても、既存のインデックスの行列と重複する可能性を過度に懸念して、ノード201を表す新たなインデックスを内部モデルデータに追加しないとすると、問題がある。エージェントの状況によっては、永遠に学習が完了しないことになるからである。
As described above, even if it is unclear whether or not the
例えば、環境である迷路が拡張され、新たな迷路の部屋ができ、エージェントであるロボットが、新たな迷路の部屋に閉じ込められた場合、追加するノードが真の意味で未知ノードであったと確信できなくても、やはり追加せざるを得ない。 For example, if the environment maze is expanded to create a new maze room, and the agent robot is trapped in the new maze room, you can be confident that the added node was truly an unknown node. Even without it, you still have to add it.
このため、自分が未知ノードに位置していると最初に認識したときから、所定の時間経過後のタイミングで、所定の個数のノードを、内部モデルデータに追加する必要があるのである。 For this reason, it is necessary to add a predetermined number of nodes to the internal model data at a timing after the elapse of a predetermined time from when the node is first recognized as being located at an unknown node.
説明を図37に戻す。ノード201が内部モデルデータに追加された後、さらにアクションが実行され、時系列情報に基づいて認識処理が実行されていく。ノード212乃至ノード221に対応する時系列情報に基づく認識処理が実行された結果、ノード221が既知ノードであると認識された場合、ノード212乃至ノード221は、全て既知ノードであったことになる。このとき、ノード211が追加されるとともに、ノード211からノード212へのアンカリングが行われる。アンカリングは、未知ノードから既知ノードへの遷移が認識された場合、未知ノードと既知ノードとの状態遷移確率などを設定する処理である。なお、アンカリングの詳細については後述する。
Returning to FIG. After the
ところで、図34、または図36を参照して上述した認識処理においては、ステップS231またはステップS293において、認識結果を保留し、時系列情報を未来方向に延長する指令が出力される場合がある。このような場合、時系列情報の長さThresでは適切な認識を行なうことができないので、時系列情報の長さを未来方向に延長する必要がある。 By the way, in the recognition processing described above with reference to FIG. 34 or FIG. 36, in step S231 or step S293, a command for holding the recognition result and extending the time-series information in the future direction may be output. In such a case, it is necessary to extend the length of the time series information in the future direction because appropriate recognition cannot be performed with the length Thres of the time series information.
認識処理において、認識結果を保留し、時系列情報を未来方向に延長する指令が出力された場合の例について、図38を参照してさらに詳細に説明する。図38では、図37と同様に、図中垂直方向に時間軸tが設けられており、時間の経過に伴ってエージェントが遷移したノードが図中の円により示されている。また、同図において、図中垂直方向の点線は、自分が未知ノードに位置していると最初に認識したノードを示すためのものである。この例では、ノード201が、自分が未知ノードに位置していると最初に認識したノードとされる。
With reference to FIG. 38, an example in which a recognition result is suspended and a command for extending the time series information in the future direction is output in the recognition processing will be described in more detail. In FIG. 38, similarly to FIG. 37, the time axis t is provided in the vertical direction in the figure, and the nodes to which the agent has changed over time are indicated by circles in the figure. Also, in the figure, a dotted line in the vertical direction in the drawing is for indicating a node that is first recognized as being located at an unknown node. In this example, the
同図に示されるように、自分が未知ノードに位置していると最初に認識した後、1ずつアクションが実行されて時系列情報が蓄積されていく。そして、時系列情報の長さNが閾値Thresと等しくなった(この場合、Lr=N)後、認識器35は、時系列情報に基づいて、図34、または図36を参照して上述した認識処理を実行する。この例の場合、ノード201、ノード202、・・・ノード211のノード列が出力され、ノード201乃至ノード211は、全て未知ノードであると認識されたものとする。また、この例では、ノード201乃至ノード211が内部モデルデータに追加されたものとする。
As shown in the figure, after first recognizing that it is located at an unknown node, actions are executed one by one and time series information is accumulated. Then, after the length N of the time series information becomes equal to the threshold value Thres (in this case, Lr = N), the
これにより、それ以後の認識処理においては、ノード201乃至ノード211が既知ノードとして取り扱われることになる。
Thereby, in subsequent recognition processing, the
エージェントがノード221に遷移したとき、長さLrの時系列情報に基づいて認識処理が実行され、この時点では、認識結果を保留し、時系列情報を未来方向に延長する指令が出力されたものとする。すなわち、この時点では、ノード列を一意に認識することができず、仮に認識したとしても複数の候補が存在する状態となっている。
When the agent transitions to the
このような場合、閾値Thresの値が1だけインクリメントされ、新たに1のアクションが実行され、認識処理の対象となる時系列情報の長さも1だけインクリメントされる。これにより、エージェントは、ノード222に遷移したものとする。この時点で、長さThres+1の時系列情報に基づいて認識処理を実行し、長さLr(=Thres+1)のノード列を得たが、この時点でも、認識結果を保留し、時系列情報を未来方向に延長する指令が出力されたものとする。
In such a case, the value of the threshold value Thres is incremented by 1, a
そして、閾値Thresの値がインクリメントされ、さらにアクションが実行されることにより、エージェントは、ノード231に遷移したものとする。この時点で、長さThres+qの時系列情報に基づいて認識処理を実行することにより、ノード231が既知ノードであると認識されたものとする。
Then, it is assumed that the agent has transitioned to the
ノード231が既知ノードであると認識された場合、ノード213乃至ノード231は、全て既知ノードであったことになる。このとき、ノード212が追加されるとともに、ノード212からノード213へのアンカリングが行われる。
When the
ただし、上述したように、未知ノードとみなされて追加されたノードの中に、実際には既知ノードであるノードが含まれることがある。また、例えば、エージェントが実際には同じノードに繰り返し遷移している場合(例えば、2つのノード間を往復している場合)でも、それらが異なる未知ノードと認識される場合がある。 However, as described above, a node that is actually a known node may be included in the added nodes that are regarded as unknown nodes. In addition, for example, even when the agent actually makes repeated transitions to the same node (for example, when the agent reciprocates between two nodes), they may be recognized as different unknown nodes.
このように、本来未知ノードとは言えないノードが未知ノードとみなされて、それらの未知ノードが内部モデルデータに追加されることを抑止するために、例えば、アンカリングする際にノードの追加または削除の要否のチェックが行なわれる。 In this way, in order to prevent nodes that are not originally unknown nodes from being regarded as unknown nodes and being added to the internal model data, for example, when adding or The necessity of deletion is checked.
アンカリングする際にノードの追加または削除の要否のチェックが行なわれる場合の例について、図39を参照してさらに詳細に説明する。図39では、図37と同様に、図中垂直方向に時間軸tが設けられており、時間の経過に伴ってエージェントが遷移したノードが図中の円により示されている。また、同図において、図中垂直方向の点線は、自分が未知ノードに位置していると最初に認識したノードを示すためのものである。この例では、ノード201が、自分が未知ノードに位置していると最初に認識したノードとされる。
An example in which the necessity of adding or deleting a node is checked at the time of anchoring will be described in more detail with reference to FIG. In FIG. 39, similarly to FIG. 37, a time axis t is provided in the vertical direction in the figure, and the nodes to which the agent has changed with the passage of time are indicated by circles in the figure. Also, in the figure, a dotted line in the vertical direction in the drawing is for indicating a node that is first recognized as being located at an unknown node. In this example, the
同図に示されるように、自分が未知ノードに位置していると最初に認識した後、1ずつアクションが実行されて時系列情報が蓄積されていく。そして、時系列情報の長さNが閾値Thresと等しくなった(この場合、Lr=N)後、認識器35は、時系列情報に基づいて、図34、または図36を参照して上述した認識処理を実行する。この例の場合、ノード201、ノード202、・・・ノード211のノード列が出力され、ノード201乃至ノード211は、全て未知ノードであると認識されたものとする。
As shown in the figure, after first recognizing that it is located at an unknown node, actions are executed one by one and time series information is accumulated. Then, after the length N of the time series information becomes equal to the threshold value Thres (in this case, Lr = N), the
その後、さらに1のアクションが実行され、エージェントは、ノード212に遷移するが、この時点では、まだ未知ノードの追加は行なわれない。
Thereafter, another action is executed, and the agent transitions to the
その後、さらに1のアクションが実行され、エージェントがノード213に遷移すると、ノード201の追加が行なわれる。
Thereafter, another action is executed, and when the agent transitions to the
このようにして、アクションが実行され、エージェントはノード215に遷移したものとする。また、このとき、ノード201乃至ノード203の追加が既に行なわれていたものとする。この時点で、ノード201乃至ノード203は、未知ノードとみなされて追加されており、例えば、新たなインデックスを有するノードが内部モデルデータに追加されているものとする。その後、ノード205乃至ノード215に対応する時系列情報に基づく認識処理が実行された結果、ノード215が既知ノードであると認識された場合、ノード205乃至ノード215は、全て既知ノードであったことになる。
In this way, it is assumed that the action is executed and the agent transitions to the
このとき、ノードの削除の要否のチェックが行なわれる。すなわち、時系列情報の長さが過去方向に延長され、延長された時系列情報に基づく認識処理が実行される。その結果、例えば、ノード203乃至ノード215に対応する時系列情報に基づく認識処理が実行され、その結果、ノード203乃至ノード215が全て既知ノードであったと認識されたものとする。すなわち、ノード203は、未知ノードとみなされて追加されており、例えば、新たなインデックスを有するノードが内部モデルデータに追加されていたが、本来は、既知ノードであって、追加したインデックスのノードは、内部モデルデータから削除すべきである。
At this time, the necessity of deleting the node is checked. That is, the length of the time series information is extended in the past direction, and the recognition process based on the extended time series information is executed. As a result, for example, it is assumed that recognition processing based on time-series information corresponding to the
例えば、ノード203とノード205、実際には同じインデックスのノードであり、また、ノード204とノード206は、実際には同じインデックスのノードであった場合、上述のように認識されることになる。
For example, if the
例えば、ノード203のインデックスをuとして状態遷移確率テーブルなどに新たな行列を追加したが、ノードの削除の要否のチェックが行なわれた結果、ノード203のインデックスは、fであることが判明したとする。インデックスfに対応する行列は、エージェントがノード201に遷移する以前から状態遷移確率テーブルなどに存在していたものとする。この場合、インデックスuに対応する行列とインデックスfに対応する行列が重複して存在することになるので、インデックスuに対応する行列は、状態遷移確率テーブルなどから削除しておく必要がある。
For example, a new matrix is added to the state transition probability table or the like with the index of the
その結果、ノード203のインデックスとして新たに追加されたインデックスuに対応する行列などが内部モデルデータから削除され、ノード202から既知ノードとして認識されたノード203へのアンカリングが行われる。
As a result, the matrix corresponding to the index u newly added as the index of the
例えば、上述の例において、ノード202のインデックスをtとして状態遷移確率テーブルなどに新たな行列を追加していた場合、インデックスtのノードからインデックスfのノードへの状態遷移確率などが、アンカリングによって設定されることになる。
For example, in the above example, when a new matrix is added to the state transition probability table or the like with the index of the
なお、アンカリングが行なわれた後、これまで蓄積された時系列情報に基づいて、追加学習方式の学習が行われるようになされている。すなわち、アンカリングされた直後の内部モデルデータを初期値とし、図39におけるノード201乃至ノード215、およびノード201の左側の1つのノードに対応する時系列情報に基づく学習が行われることになる。
In addition, after anchoring is performed, learning of an additional learning method is performed based on time-series information accumulated so far. That is, learning based on time series information corresponding to the
上述したように、アンカリングは、未知ノードから既知ノードへの遷移が認識された場合、未知ノードと既知ノードとの状態遷移確率などを設定する処理である。本発明では、アンカリングが行なわれた後、これまで蓄積された時系列情報に基づいて、追加学習方式の学習が行われるようにする。 As described above, anchoring is a process of setting a state transition probability between an unknown node and a known node when a transition from an unknown node to a known node is recognized. In the present invention, after the anchoring is performed, the learning of the additional learning method is performed based on the time series information accumulated so far.
すなわち、未知ノードが追加された後の内部モデルデータに基づいて、追加学習方式の学習が行われる。仮に、実際には同じインデックスのノードが異なる未知ノードとして重複して追加されたとしても、この学習によって、上述したフォワードマージアルゴリズムおよびバックワードマージアルゴリズムが適用されて同一のノードとしてマージされる可能性が高くなる。 That is, learning of the additional learning method is performed based on the internal model data after the unknown node is added. Even if nodes with the same index are actually added as different unknown nodes, the learning may be merged as the same node by applying the forward merge algorithm and backward merge algorithm described above. Becomes higher.
また、追加学習方式での学習を、アンカリングが行なわれるまで実行しないようにすることで、内部モデルデータにおいて更新すべきパラメータの数をできるだけ少なくすることができる。アンカリングの際にノードの削除の要否のチェックが行なわれるからである。従って、計算量を抑制しながら、適切に内部モデルデータを更新していくことが可能となるのである。 In addition, the number of parameters to be updated in the internal model data can be reduced as much as possible by not performing learning in the additional learning method until anchoring is performed. This is because the necessity of node deletion is checked during anchoring. Therefore, it is possible to appropriately update the internal model data while suppressing the calculation amount.
このように、アンカリングの際に、ノードの削除の要否のチェックが行なわれる場合、追加する未知ノードの数mは、式(49)に替えて式(50)より表すことができる。 As described above, when the necessity of node deletion is checked during anchoring, the number m of unknown nodes to be added can be expressed by Expression (50) instead of Expression (49).
いまの場合、時系列情報の長さ(自分が未知ノードに位置していると認識した時刻後の時間的長さ)Nは、11である。また、いまの場合、ノード203乃至ノード215がノード列Sに対応し、ノード列Sの長さLrは、Thres+2である。よって、式(50)より、追加すべきノードの個数mは、Thres+4-(Thres+2+3)=−1と算出される。従って、既に追加された3つのノードのうちの1個のノード203(のインデックスに対応する行列)が削除されるのである。
In this case, the length of the time-series information (the time length after the time when it is recognized that it is located at an unknown node) N is 11. In this case, the
ここでは、ノードが削除される場合の例のみを説明したが、m_addの値の如何によっては、ノードが追加される場合もあり得る。すなわち、式(50)または後述する式(51)により計算されたmが正の値となれば、その分のノードが追加されることになる。従って、実際には、アンカリングの際に、ノードの追加または削除の要否のチェックが行なわれることになる。 Here, only an example in which a node is deleted has been described, but a node may be added depending on the value of m_add. That is, if m calculated by the equation (50) or the equation (51) described later becomes a positive value, the corresponding nodes are added. Therefore, in practice, when anchoring is performed, whether or not a node needs to be added or deleted is checked.
なお、削除すべきノードが認識処理の結果、既知ノードと認識されてしまう場合、そのノードの削除は行なわれない。 If the node to be deleted is recognized as a known node as a result of the recognition process, the node is not deleted.
仮に、既に未知ノードとみなして追加したノードのうちK個目のノードが、認識処理で出力されたノード列Sに含まれていた場合、削除するノードの数mは、式(50)に替えて式(51)より表すことができる。 If the K-th node among nodes that are already regarded as unknown nodes and added is included in the node sequence S output in the recognition process, the number m of nodes to be deleted is changed to Equation (50). This can be expressed by equation (51).
式(51)により算出された|m|個のノードが削除するノードとなる。 The | m | nodes calculated by the equation (51) are nodes to be deleted.
また、この場合、アンカリングするノードは、ノード列Sの中の((Lr+K)−N)番目のノードとなる。 In this case, the node to be anchored is the ((Lr + K) −N) th node in the node sequence S.
このようにアンカリングが行なわれた後、これまで蓄積された時系列情報に基づいて、追加学習方式の学習が行われるようになされている。また、アンカリングが行なわれるまでは、追加学習方式での学習を実行しないようになされている。従って、アンカリングされる前に、未知ノードとみなされて内部モデルデータに追加されたノードは、それ以後の認識処理において既知ノードの1つとして認識されるものの、いわば仮の既知ノードとして認識されていることになる。アンカリングされる前に、未知ノードとみなされて内部モデルデータに追加されたノードは、最終的には削除すべきものである可能性があるからである。また、アンカリングされる前に、未知ノードとみなされて内部モデルデータに追加されたノードと、他のノードとの状態遷移確率などの値は、追加学習方式での学習により変更される可能性があるからである。 After the anchoring is performed in this way, learning of the additional learning method is performed based on the time series information accumulated so far. Further, learning by the additional learning method is not executed until anchoring is performed. Therefore, a node that is regarded as an unknown node and added to the internal model data before being anchored is recognized as one of the known nodes in the subsequent recognition process, but it is recognized as a temporary known node. Will be. This is because a node that is regarded as an unknown node and added to the internal model data before being anchored may eventually be deleted. In addition, values such as state transition probabilities between nodes that are considered as unknown nodes and added to internal model data before being anchored, and other nodes may be changed by learning using the additional learning method. Because there is.
ところで、追加するノードが真の意味で未知ノードであったと確信できなくても、自分が未知ノードに位置していると最初に認識したときから、所定の時間経過後のタイミングで、所定の個数のノードを、内部モデルデータに追加せざるを得ないことについては上述した。つまり、アンカリングする前の内部モデルデータには、単に未知ノードとみなされたノードを表すインデックスに対応する情報も追加されている可能性が極めて高いといえる。 By the way, even if you cannot be certain that the node to be added is an unknown node in the true sense, a certain number of nodes will be used at the timing after a certain amount of time has elapsed since you first recognized that you are located in an unknown node. As described above, this node must be added to the internal model data. That is, it can be said that there is an extremely high possibility that information corresponding to an index representing a node that is simply regarded as an unknown node is added to the internal model data before anchoring.
しかし、真の意味で未知ノードであったと確信できない極めて多数のノードが、それぞれ一様に未知ノードとみなされて内部モデルデータに追加されていくと、認識処理における誤認識を招くことがある。未知ノードとみなされて追加されたノードも、それ以後の認識処理においては既知ノードとして取り扱われることになるからである。 However, if an extremely large number of nodes that are not surely unknown nodes are truly regarded as unknown nodes and added to the internal model data, erroneous recognition may occur in the recognition process. This is because a node added as an unknown node is also treated as a known node in subsequent recognition processing.
その結果、例えば、以前から存在していた既知ノードが、未知ノードとみされて追加されたノードであると、誤って認識されてしまうことがある。認識処理は、内部モデルデータに基づいて行なわれるからである。 As a result, for example, a known node that has existed before may be erroneously recognized as a node that has been added as an unknown node. This is because the recognition process is performed based on the internal model data.
このような誤認識を抑制するために、アンカリングする前に、未知ノードとみなして追加してしまったノードを適宜削除するようにしてもよい。この場合、式(49)に示したmの値が0よりも小さくなったとき、|m|個のノードを削除するようにすればよい。 In order to suppress such erroneous recognition, a node that has been added as an unknown node may be appropriately deleted before anchoring. In this case, when the value of m shown in Expression (49) becomes smaller than 0, | m | nodes may be deleted.
例えば、固有ノード数の閾値Thresの値が7であった場合を考える。例えば、ノード216(図示せず)が、自分が未知ノードに位置していると最初に認識したノードであったものとし、いま、エージェントはノード226(図示せず)に遷移したものとする。ここで、ノード216は、既に内部モデルデータに追加されているものとする。
For example, consider a case where the threshold Thres value of the number of unique nodes is 7. For example, it is assumed that the node 216 (not shown) is the node that first recognized that it is located at an unknown node, and now the agent has transitioned to the node 226 (not shown). Here, it is assumed that the
ノード219乃至ノード226に対応する時系列情報に基づいて認識処理を行った結果、ノード226は未知ノードであると認識されたものとする。このとき、ノード217が内部モデルデータに追加されることになる。
As a result of performing the recognition processing based on the time series information corresponding to the nodes 219 to 226, it is assumed that the
その後、アクションを実行することにより、エージェントはノード227(図示せず)に遷移し、この時点での認識処理の結果、ノード227は未知ノードであると認識されたものとする。このとき、ノード218が内部モデルデータに追加されることになる。しかし、ノード218が内部モデルデータに追加された結果、ノード220、ノード222、ノード224、およびノード226は、実際には、ノード218と同じインデックスのノードであることが認識されたこととする。
Thereafter, by executing an action, the agent transitions to a node 227 (not shown). As a result of the recognition processing at this point, it is assumed that the node 227 is recognized as an unknown node. At this time, the node 218 is added to the internal model data. However, as a result of adding the node 218 to the internal model data, it is recognized that the node 220, the
この場合、閾値Thres以上の固有ノード数を含むノード列を出力させるためには、時系列情報の長さを、ノード217乃至ノード227に対応する長さとしなければならない。
In this case, in order to output a node string including the number of unique nodes equal to or greater than the threshold value Thres, the length of the time-series information has to be a length corresponding to the
このような場合、時系列情報の長さ(ノード216乃至ノード227)Nは12であり、既に追加したノード(ノード216乃至ノード218)の数m_addは3である。また、いまの場合、ノード217乃至ノード227がノード列Sに対応し、ノード列Sの長さLrは11である。よって、式(49)より、追加すべきノードの個数mは、12−(11+3+1)=−3と算出される。従って、内部モデルデータに追加された3つノードであって、ノード216乃至ノード218が削除されるのである。
In such a case, the length of the time series information (
このようにして、アンカリングする前に、未知ノードとみなして追加してしまったノードを必要に応じて削除すれば、誤認識を抑制することが可能となる。 In this way, if a node that has been added as an unknown node is deleted as necessary before anchoring, erroneous recognition can be suppressed.
すなわち、アンカリングする前に、未知ノードを追加したり、未知ノードとみなして追加してしまったノードを必要に応じて削除したりする処理が行われる。この処理は、後述する図40のステップS316に対応する。 That is, before anchoring, a process is performed in which an unknown node is added, or a node that has been added as an unknown node is deleted as necessary. This process corresponds to step S316 in FIG.
また、アンカリングする際にも、未知ノードを追加したり、未知ノードとみなして追加してしまったノードを必要に応じて削除したりする処理が行われる。この処理は、後述する図40のステップS318に対応する。 Also, when anchoring, a process of adding an unknown node or deleting a node that has been added as an unknown node as necessary is performed. This process corresponds to step S318 in FIG.
次に、図40のフローチャートを参照して、未知ノード追加処理について説明する。この処理は、エージェントが自律的に環境の変化を認識して、内部モデルデータを拡張する必要がある場合、自律行動学習装置10により実行される。
Next, the unknown node addition process will be described with reference to the flowchart of FIG. This process is executed by the autonomous
ステップS311において、認識器35は、変数Nの値を初期値である1にセットする。
In step S311, the
ステップS312において、認識器35は、長さNの時系列情報を観測バッファ33および行動出力バッファ39から取得する。
In step S <b> 312, the recognizing
ステップS313において、認識器35は、Nが固有ノード数の閾値Thres以上となったか否かを判定し、まだ、閾値Thres以上となっていないと判定された場合、処理は、ステップS321に進む。
In step S313, the recognizing
ステップ321において、変数Nの値が1だけインクリメントされ、処理は、ステップS312に戻る。
In
一方、ステップS313において、Nが閾値Thres以上となったと判定された場合、処理は、ステップS314に進む。 On the other hand, if it is determined in step S313 that N is equal to or greater than the threshold value Thres, the process proceeds to step S314.
ステップS314において、認識器35は、図34、または図36を参照して上述した認識処理を実行する。ただし、いまの場合、ステップS312の処理で時系列情報が取得されているので、その時系列情報に基づいて認識処理が実行される。
In step S314, the
ステップS315において、学習器34は、ステップS314における認識処理の結果、ノード列の最後のノードが未知ノードと認識されたか否かを判定する。ステップS315において、認識処理の結果、未知ノードと認識されたと判定された場合、処理は、ステップS316に進む。
In step S315, the
ステップS316において、学習器34は、未知ノードとみなされたノードを追加または削除する。
In step S316, the
ステップS316では、例えば、図37において未知ノードとみなされたノード201が内部モデルデータに追加されたように、ノードの追加が行なわれる。また、例えば、上述したように、誤認識を抑制するために、アンカリング前に、未知ノードとみなして追加してしまったノードの削除が行なわれる。
In step S316, for example, a node is added as if the
一方、ステップS315において、認識処理の結果、未知ノードと認識されていないと判定された場合、処理は、ステップS317に進む。 On the other hand, when it is determined in step S315 that the node is not recognized as an unknown node as a result of the recognition process, the process proceeds to step S317.
ステップS317において、学習器34は、ステップS314における認識処理の結果、ノード列の最後のノードが既知ノードと認識されたか否かを判定する。ステップS317において、認識処理の結果、既知ノードと認識されたと判定された場合、処理は、ステップS318に進む。
In step S317, the
ステップS318において、学習器34および認識器35は、図41を参照して後述する追加または削除要否チェック処理を実行する。これにより、例えば、図39を参照して上述したように、アンカリングの際のノードの削除要否がチェックされ、削除が必要であれば未知ノードとみなされて追加されたノードが削除される。
In step S318, the
ステップS319において、学習器34は、アンカリングを行なう。これにより、例えば、既知ノードから未知ノードへの状態遷移確率などが設定される。
In step S319, the
一方、ステップS317において、認識処理の結果、既知ノードと認識されていないと判定された場合、処理は、ステップS320に進む。 On the other hand, if it is determined in step S317 that the node is not recognized as a known node as a result of the recognition process, the process proceeds to step S320.
ステップS320において、認識器35は、閾値Thresの値を1だけインクリメントする。
In step S320, the recognizing
すなわち、ステップS317において、認識処理の結果、既知ノードと認識されていないと判定された場合、認識処理において、認識結果を保留し、時系列情報を未来方向に延長する指令が出力されたことになる。例えば、図34、または図36を参照して上述したステップS231の処理またはステップS293の処理が行われる場合である。この場合、例えば、図38を参照して上述したように、閾値Thresの値をインクリメントするとともに、時系列情報の長さを未来方向に延長する必要がある。 That is, in step S317, if it is determined that the node is not recognized as a known node as a result of the recognition process, a command to hold the recognition result and extend the time series information in the future direction is output in the recognition process. Become. For example, this is a case where the process of step S231 or the process of step S293 described above with reference to FIG. 34 or FIG. 36 is performed. In this case, for example, as described above with reference to FIG. 38, it is necessary to increment the value of the threshold Thres and extend the length of the time series information in the future direction.
従って、ステップS320の処理の後、処理は、ステップS321に進むことになる。 Therefore, after the process of step S320, the process proceeds to step S321.
このようにして、未知ノード追加処理が実行される。 In this way, the unknown node addition process is executed.
次に、図41のフローチャートを参照して、図40のステップS318の追加または削除要否チェック処理の詳細な例について説明する。 Next, a detailed example of the addition or deletion necessity check process in step S318 in FIG. 40 will be described with reference to the flowchart in FIG.
ステップS341において、認識器35は、長さNの時系列情報を取得する。すなわち、自分が未知ノードに位置していると認識した時刻後の時間的長さNの時系列情報が取得される。例えば、図39の例の場合、ノード201乃至ノード215に対応する長さの時系列情報が取得されることになる。
In step S341, the recognizing
ステップS342において、認識器35は、長さNの時系列情報に基づく認識処理を実行する。このとき、図34、または図36を参照して上述した認識処理を実行する。ただし、いまの場合、ステップS341の処理で時系列情報が取得されているので、その時系列情報に基づいて認識処理が実行される。
In step S342, the
ステップS343において、学習器34は、ステップS342における認識処理の結果、ノード列の最後のノード(時間的に最も後のノード)が既知ノードと認識されたか否かを判定する。ステップS343において、認識処理の結果、既知ノードと認識されていないと判定された場合、処理は、ステップS344に進む。
In step S343, the
ステップS344において、認識器35は、時系列情報の長さNを1だけデクリメントする。この場合、時系列情報が過去側から短縮されることになる。例えば、例えば、図39の例の場合、ノード201乃至ノード215に対応する長さの時系列情報が取得されていたものが、ノード202乃至ノード215に対応する長さの時系列情報とされることになる。
In step S344, the
このように、ステップS343において、認識処理の結果、既知ノードと認識されたと判定されるまで、時系列情報が過去側から短縮され、繰り返し認識処理が実行されるのである。 As described above, in step S343, the time series information is shortened from the past side and the repeated recognition process is executed until it is determined that the node is recognized as a known node as a result of the recognition process.
ステップS343において、認識処理の結果、既知ノードと認識されたと判定された場合、処理は、ステップS345に進む。例えば、図39の例の場合、ノード203乃至ノード215に対応する長さの時系列情報に基づく認識処理の結果、ノード203乃至ノード215が全て既知ノードであったと認識される。このとき、ノード203乃至ノード215のノード列におけるノード数が特定される。
If it is determined in step S343 that the node has been recognized as a result of the recognition process, the process proceeds to step S345. For example, in the case of the example in FIG. 39, as a result of the recognition processing based on the time series information having the length corresponding to the
ステップS345において、学習器34は、ノード数を特定し、特定されたノード数をノード列Sの長さLrとして、式(50)を参照して上述した演算を行う。
In step S345, the
ステップS346において、学習器34は、追加(または削除)すべきノードがあるか否かを判定する。ステップS346において、追加(または削除)すべきノードがあると判定された場合、処理は、ステップS347に進む。一方、ステップS346において、追加(または削除)すべきノードがないと判定された場合、ステップS347の処理は、スキップされる。
In step S346, the
ステップS347において、学習器34は、ステップS346の処理で追加(または削除)すべきと判定されたノードを追加(または削除)する。例えば、図39の例の場合、式(50)より、追加すべきノードの個数mは、Thres+4-(Thres+2+3)=−1と算出されるので、既に追加された3つのノードのうちの1個のノード203が削除される。すなわち、ノード203は、未知ノードとして追加されており、例えば、新たなインデックスを有するノードが内部モデルデータに追加されていたが、本来は、既知ノードであって、追加したインデックスのノードは、内部モデルデータから削除されるのである。
In step S347, the
このようにして、追加または削除要否チェック処理が実行される。 In this way, an addition or deletion necessity check process is executed.
これまでに学習して得られた内部モデルデータでは表現できない、新しい状況に遭遇したときには、ノード数を増やして状況を表現し、事態を解決する必要がある。例えば、ロボットが移動する迷路が所定の方向に延長された場合、ノードの数が増えることになるので、ノード数Nの値を大きくする必要がある。 When a new situation is encountered that cannot be expressed by internal model data obtained through learning so far, it is necessary to increase the number of nodes to express the situation and solve the situation. For example, if the maze where the robot moves is extended in a predetermined direction, the number of nodes increases, so the value of the number of nodes N needs to be increased.
従来の技術では、新たなノードを検出すると、その場で直ちに内部モデルデータを拡張し、新たなノードを表すインデックスの追加が行なわれていた。 In the conventional technique, when a new node is detected, the internal model data is immediately expanded on the spot, and an index representing the new node is added.
しかしながら、一般に新しい経験を取り込む際、その経験は既存の構造とどのような関係に位置づけられるのかが最重要な問題となり、例えば、新たなノードを検出した直後では既存構造との関係が十分明確でないことも多い。 However, in general, when a new experience is taken in, the most important issue is how the experience is related to the existing structure. For example, immediately after a new node is detected, the relationship with the existing structure is not clear enough. There are many things.
従って、早急に新たなノードを表すインデックス内部モデルデータに追加することにより、今後の誤認識を招くおそれもある。例えば、新たなノードが連続して検出されるような状況では、新たなノードは直前の状態に対してしか関係性を定義できず、そのような連鎖が連続すればするほど、加速度的に既存構造に対する関係の不明瞭化が進むことになる。また、このような内部モデルデータに基づいて追加学習方式で学習を行ったとしても、学習時に調整すべきパラメータが膨大になってしまう。 Therefore, adding to the index internal model data representing a new node immediately may cause future misrecognition. For example, in a situation where new nodes are continuously detected, the new node can only define a relationship with the previous state, and the more such a chain continues, the more rapidly existing The ambiguity of the relationship to the structure will progress. Even if learning is performed by the additional learning method based on such internal model data, the parameters to be adjusted at the time of learning become enormous.
そこで、本発明では、上述のように、所定のタイミングで所定の個数の未知ノードが追加されるようにするとともに、アンカリングされた直後の内部モデルデータに基づいて追加学習方式での学習が行われるようにしたのである。このようにすることで、例えば、既知ノードの中に散発的に新たなノードが発現するような場合はもちろんのこと、長期に渡って新たなノードが連続して検出されるような困難な環境においても、十分に有効な学習を行うことが可能となる。 Therefore, in the present invention, as described above, a predetermined number of unknown nodes are added at a predetermined timing, and learning by the additional learning method is performed based on the internal model data immediately after the anchoring. It was made to be. By doing so, for example, in a case where new nodes appear sporadically among known nodes, it is difficult environment where new nodes are continuously detected over a long period of time. In this case, it is possible to perform sufficiently effective learning.
上述のように、エージェントが自律的に環境の変化を認識して、状態遷移確率テーブル、および観測確率テーブルを拡張することが可能であるが、その際、それぞれのテーブルの拡張された領域に設定すべき状態遷移確率、観測確率などの値を特定する必要がある。 As described above, it is possible for the agent to autonomously recognize changes in the environment and expand the state transition probability table and the observation probability table. At that time, set the expanded area of each table. It is necessary to specify values such as state transition probability and observation probability to be performed.
図30乃至図32において各テーブルを拡張する場合の例については説明したが、ここでは、既に記憶されている状態遷移確率から、拡張された領域のノードへの状態遷移確率などを推定して設定する方式について説明する。 Although the example in the case of extending each table in FIGS. 30 to 32 has been described, here, the state transition probability to the node in the expanded area is estimated and set from the state transition probability already stored. The method to do is demonstrated.
例えば、図31に示されるように状態遷移確率テーブルを拡張する必要がある場合、状態遷移確率テーブルの各行の確率の値の総和が1となるように正規化する必要があると説明した。換言すれば、図31の例において上述した処理では、追加された領域に状態遷移確率を設定するにあたり、既に記憶されている既知ノードから既知ノードへの状態遷移確率は考慮されていなかった。しかしながら、内部モデルデータに追加された未知ノードに対して複数の既知ノードからの遷移が発生し得ることは予測可能である。 For example, as described in FIG. 31, when it is necessary to expand the state transition probability table, it has been described that it is necessary to normalize the sum of the probability values of each row of the state transition probability table to be 1. In other words, in the processing described above in the example of FIG. 31, the state transition probability from the already-known node to the known node is not considered in setting the state transition probability in the added region. However, it can be predicted that a transition from a plurality of known nodes may occur for an unknown node added to the internal model data.
例えば、迷路におけるあるパーツAが、別のパーツBと置き換えられた場合、パーツAに隣接していたパーツCと、パーツBとが接続されることになる。このような場合、ロボットがパーツCからパーツAに移動するためのアクションを実行すると、パーツBに移動する可能性が高い。また、ロボットがパーツAからパーツCに移動するためのアクションを、パーツBにおいて実行すると、パーツCに移動する可能性が高い。この例では、パーツBに対応するHMMのノードを、未知ノードとして新たに追加する必要があるが、上記を考慮してパーツCに対応する既知ノードとの状態遷移確率を設定すべきである。 For example, when a part A in the maze is replaced with another part B, the part C adjacent to the part A and the part B are connected. In such a case, if the robot performs an action for moving from part C to part A, the possibility of moving to part B is high. Further, when the action for moving the robot from the part A to the part C is executed in the part B, the possibility of moving to the part C is high. In this example, it is necessary to newly add an HMM node corresponding to part B as an unknown node, but the state transition probability with the known node corresponding to part C should be set in consideration of the above.
従って、既に記憶されている既知ノードから既知ノードへの状態遷移確率に基づいて、未知ノードと既知ノードとの間の状態遷移確率などを設定することができれば、より適切に状態遷移確率を設定することができると考えられる。いわば、過去の経験に基づいて未知ノードと既知ノードとの間の状態遷移確率などを設定することができれば、より適切に状態遷移確率を設定することができるのである。 Therefore, if the state transition probability between the unknown node and the known node can be set based on the already stored state transition probability from the known node to the known node, the state transition probability is set more appropriately. It is considered possible. In other words, if the state transition probability between an unknown node and a known node can be set based on past experience, the state transition probability can be set more appropriately.
なお、ここで説明する既知ノードには、例えば、ロボットが迷路を移動中に、未知ノードとみなされて既に内部モデルデータに追加されているノードも含まれるものとする。 Note that the known nodes described here include, for example, nodes that are regarded as unknown nodes and already added to the internal model data while the robot is moving in the maze.
上述のように設定する状態遷移確率の値は、次のパターンを考慮して決める必要がある。 The state transition probability value set as described above needs to be determined in consideration of the following pattern.
すなわち、現実に、ノードsiからノードsjへの遷移が生じた場合、ノードsiとノードsjが既知のノードであるのか、新たに追加された未知のノードであるのかを考慮する必要がある。 That is, when a transition from node s i to node s j actually occurs, it is necessary to consider whether node s i and node s j are known nodes or newly added unknown nodes. There is.
つまり、既知ノードから未知ノードへの遷移、未知ノードから未知ノードへの遷移、および未知ノードから既知ノードへの遷移の3つのパターンを考慮する必要がある。 That is, it is necessary to consider three patterns: a transition from a known node to an unknown node, a transition from an unknown node to an unknown node, and a transition from an unknown node to a known node.
例えば、状態遷移確率テーブルが拡張された場合、図42に示される領域301−1乃至領域301−3に、既知ノードから未知ノードへの状態遷移確率を設定する必要がある。また、領域303−1乃至領域303−3に、未知ノードから未知ノードへの状態遷移確率を設定する必要がある。さらに、領域302−1乃至領域302−3に、未知ノードから既知ノードへの状態遷移確率を設定する必要がある。 For example, when the state transition probability table is expanded, it is necessary to set the state transition probability from the known node to the unknown node in the region 301-1 to region 301-3 shown in FIG. In addition, it is necessary to set the state transition probability from the unknown node to the unknown node in the regions 303-1 to 303-3. Furthermore, it is necessary to set the state transition probability from the unknown node to the known node in the region 302-1 to region 302-3.
また、上述したように、状態遷移確率テーブルの各行(例えば、n行目)に記述された全ての数値を合計すると、1となるようになされているので、図42において既存状態と記述された領域の確率もあらためて設定する必要がある。 Further, as described above, since all the numerical values described in each row (for example, the nth row) of the state transition probability table are summed to be 1, the existing state is described in FIG. It is necessary to set the probability of the area again.
例えば、図43に示されるような場合を例として説明する。 For example, a case as shown in FIG. 43 will be described as an example.
すなわち、既知ノードである遷移元のノード321において、図中右方向への移動に対応するアクションを実行した結果、遷移する可能性の高い遷移先ノードは、状態遷移確率テーブルに基づいてノード322またはノード323と予想されていたものとする。しかしながら、実際に遷移元のノード321において、図中右方向への移動に対応するアクションを実行した結果、遷移した遷移先ノードはノード324であったとする。この場合、ノード324が未知ノードとなる。
That is, as a result of executing the action corresponding to the movement in the right direction in the figure at the
図43の例において、ノード321では、図2のパーツ5に対応する観測シンボルが観測され、ノード322では、図2のパーツ12に対応する観測シンボルが観測され、ノード323では、図2のパーツ6に対応する観測シンボルが観測されている。
43, an observation symbol corresponding to
なお、図43においては、迷路のパーツを表す矩形に対してノード321乃至ノード324の符号が付されているが、実際には、それらのパーツに対応する観測シンボルが観測されたノードに対して付される符号である。すなわち、エージェントは、ノード321乃至ノード323を、学習済の内部モデルデータに基づいて一意に認識することができたのであり、ノード324は、これまでに記憶されていない内部状態(ノード)として認識されたものとなる。
In FIG. 43, the signs of the
つまり、エージェントは、ノード321から図中右方向に移動すると、図中上向きの曲がり角(ノード322)または図中下向きの曲がり角(ノード323)に出るものと予想していた。
That is, when the agent moves from the
しかしながら、実際にノード321から図中右方向に移動してみると、十字路(ノード324)に出たのである。すなわち、ノード324では、図2のパーツ15に対応する観測シンボルが観測されている。
However, when actually moving from the
例えば、迷路におけるノード321に対応する位置に配置されていたパーツが置き換えられた場合、このような状況となる。このような場合、ノード324は、それまでの内部モデルデータには存在しなかったノードと考えられるから、少なくともノード324を内部モデルデータに追加する必要がある。
For example, such a situation occurs when a part arranged at a position corresponding to the
このような場合、ノード324に対応する新たなインデックスが生成されて状態遷移確率テーブルの行列が追加される。従って、右方向のアクションに対応する状態遷移確率テーブルのノード321からノード324への状態遷移確率を設定する必要がある。ただし、実際に、新たなインデックスが生成されて状態遷移確率テーブルの行列が追加されるタイミングについては、図37乃至図41を参照して上述した通りである。
In such a case, a new index corresponding to the
この状態遷移確率は、例えば、ノード321からノード322およびノード323への状態遷移確率の和を3で割った値を、設定する。このとき、ノード321からノード322およびノード323への状態遷移確率もそれぞれの状態遷移確率に応じた重みづけにより案分されて設定されるようにすればよい。
As this state transition probability, for example, a value obtained by dividing the sum of the state transition probabilities from the
ノード321(例えば、ノードsiとする)から右方向のアクション(例えば、アクションk´とする)により遷移し得るノードの候補sj l(l=1,・・・L)は、例えば、状態遷移確率aij(k´)が閾値以上となる遷移先のノードsjをリストすればよい。 Node candidates s j l (l = 1,... L) that can be shifted from a node 321 (for example, node s i ) by an action in the right direction (for example, action k ′) are, for example, state It is only necessary to list the transition destination node s j for which the transition probability a ij (k ′) is equal to or greater than the threshold.
図43の例では、ノード321から右方向のアクションにより遷移し得るノード322およびノード323の2つのノードが候補ノードとしてリストされることになる。この場合、Lの値は2となる。
In the example of FIG. 43, two nodes of the
未知ノードであるノード324をノードsnewで表し、アクションk´に対応する各既知ノードsiからsnewへの状態遷移確率ainew(k´)は、1/Lとして設定する。
An
図43の例では、ノード321からノード324への状態遷移確率が1/2として設定されることになる。
In the example of FIG. 43, the state transition probability from the
状態遷移確率ainew(k´)は、図42の例における領域301−1乃至領域301−3のいずれかの領域に設定されるものとなる。 The state transition probability a inew (k ′) is set in any one of the regions 301-1 to 301-3 in the example of FIG.
そして、アクションk´に対応する状態遷移確率テーブルの各行の状態遷移確率の総和が1となるように正規化する。すなわち、状態遷移確率ainew(k´)として非零値が設定された行の各値をL/(L+1)倍すればよい。 Then, normalization is performed so that the sum of the state transition probabilities of each row of the state transition probability table corresponding to the action k ′ becomes 1. That is, each value of a row in which a non-zero value is set as the state transition probability a inew (k ′) may be multiplied by L / (L + 1).
ただし、状態遷移確率aij(k´)が閾値以上となる遷移先のノードが存在しなかった場合、状態遷移確率ainew(k´)≒1として、上述のような正規化を行なう。 However, when there is no transition destination node in which the state transition probability a ij (k ′) is equal to or greater than the threshold, normalization as described above is performed with the state transition probability a inew (k ′) ≈1 .
なお、ノード321においてアクションk´以外のアクションを実行することによりノード324に遷移する状態遷移確率は、0に近い微小な値を設定すればよいので、状態遷移確率テーブルの各行の状態遷移確率の総和が1となるように正規化する必要はない。
Note that the state transition probability of transitioning to the
また、図44の図中の矢印で示されるに示されるように、十字路であるノード324においては、上下左右方向の4つアクションを実行して他のノードに遷移することが可能である。従って、上下左右方向のアクションに対応する状態遷移確率テーブルのノード324から既知の各ノードへの状態遷移確率も設定する必要がある。これらの状態遷移確率は、図42の例における領域302−1乃至領域302−3のいずれかに設定されるものとなる。なお、未知ノードから未知ノードへの遷移があり得る場合は、上記に加えて図42の例における領域303−1乃至領域303−3のいずれかも含まれることになる。
As indicated by the arrows in FIG. 44, the
例えば、上方向のアクションに対応する状態遷移確率テーブルのノード324から既知の各ノードへの状態遷移確率は、ノード322から既知の各ノードへの状態遷移確率をコピーする。ノード322は、上向きの曲がり角であり、ノード321から右方向のアクションによって遷移し得るノードのうち、上方向のアクションにより他の既知ノードへ遷移し得る唯一のノードだからである。なお、ノード322から既知の各ノードへの状態遷移確率については何も変更しない。
For example, the state transition probability from the
また、例えば、下方向のアクションに対応する状態遷移確率テーブルのノード324から既知の各ノードへの状態遷移確率は、ノード323から既知の各ノードへの状態遷移確率をコピーする。ノード323は、下向きの曲がり角であり、ノード321から右方向のアクションによって遷移し得るノードのうち、下方向のアクションにより他の既知ノードへ遷移し得る唯一のノードだからである。なお、ノード323から既知の各ノードへの状態遷移確率については何も変更しない。
Further, for example, as the state transition probability from the
さらに、左方向のアクションに対応する状態遷移確率テーブルのノード324から既知の各ノードへの状態遷移確率は、ノード322から既知の各ノードへの状態遷移確率とノード323から既知の各ノードへの状態遷移確率を平均化した値とされる。ノード322とノード323は、ノード321から右方向のアクションによって遷移し得るノードのうち、左方向のアクションにより他の既知ノードへ遷移し得るノードだからである。すなわち、ノード322およびノード323の状態遷移確率の平均値をもって、左方向のアクションに対応する状態遷移確率テーブルのノード324から既知の各ノードへの状態遷移確率とすればよい。なお、このとき、ノード322およびノード323から既知の各ノードへの状態遷移確率については何も変更されない。
Further, the state transition probability from the
また、右方向のアクションに対応する状態遷移確率テーブルのノード324から既知の各ノードへの状態遷移確率は、例えば、それぞれ一様の値を設定する。図45に示されるように、右方向のアクションにより他の既知ノードへ遷移し得る候補のノードが他にないからである。
Further, for each state transition probability from the
さらに、ノード321以外の各既知ノードからノード324への状態遷移確率も設定する必要がある。
Furthermore, it is necessary to set a state transition probability from each known node other than the
ノード324は十字路だから、他のノードからノード324への遷移は、上下左右方向のいずれのアクションによっても起こりえる。すなわち、上方向のアクションによってノード324に遷移する遷移元のノードが存在し、下方向のアクションによってノード324に遷移する遷移元のノードが存在するはずである。また、左方向のアクションによってノード324に遷移する遷移元のノードが存在し、右方向のアクションによってノード324に遷移する遷移元のノードが存在するはずである。
Since the
この場合、遷移元のノードを特定するとともに、遷移元のノードのそれぞれにおいてどのアクションを実行することによりノード324へ遷移するのかを特定しなければならない。すなわち、未知ノードへの逆方向遷移アクションを特定する必要がある。
In this case, it is necessary to specify the transition source node and to specify which action is executed in each of the transition source nodes to transit to the
まず、遷移元のノードの推定の根拠となる情報を得るために、ノード324に類似するノードを抽出する。ノード324に類似するノードとは、例えば、仮にエージェントが現在ノード324以外のノードにいるとした場合、ある程度確からしいノードということもできる。
First, a node similar to the
例えば、迷路の構造上似通った部分が複数存在する場合を考える。エージェントは、それらの部分の1つであって所定のパーツ上に存在しているものとする。このような場合、実際には、エージェントが認識した部分とはことなる部分の所定のパーツ上に存在している可能性もある。このように、エージェントが認識したノードに類似するノードを抽出することができるのである。 For example, consider a case where there are a plurality of parts that are similar in the structure of the maze. It is assumed that the agent is one of those parts and exists on a predetermined part. In such a case, it may actually exist on a predetermined part that is different from the part recognized by the agent. In this way, a node similar to the node recognized by the agent can be extracted.
類似するノードは、過去nステップ分の時系列情報を用いたn-ステップ状態認識により特定することができる。 Similar nodes can be identified by n-step state recognition using time series information for the past n steps.
時刻tにおいて、過去nステップ分のアクションのシーケンスct?n,・・・,ct?1および過去n+1ステップ分の観測シンボルのシーケンスot?n,・・・,otを用いて現在のノードを推定したり、現時刻tにおいてエージェントが各ノードに存在する確率を計算したりすることを「n-ステップ状態認識」と称する。 At time t, a sequence of actions for the past n steps c t? n , ..., c t? Sequence of observation symbols for 1 and past n + 1 steps o t? Estimating the current node using n ,..., o t or calculating the probability that an agent exists at each node at the current time t is referred to as “n-step state recognition”.
n-ステップ状態認識では、最初に、インデックスi(i=1,・・・N)のノードに対応する事前確率πiが、例えば、予め決められた方式で設定される。 In n-step state recognition, first, a priori probability π i corresponding to a node with an index i (i = 1,... N) is set by, for example, a predetermined method.
その後、認識器35が、時刻t-nにおいてエージェントが各ノードに存在する確率δt-n(i)を式(52)により演算する。
Thereafter, the
そして、認識器35は、時刻τ=t-n+1,・・・tの順に、エージェントが各ノードに存在する確率δτ(i)を式(53)の漸化式により演算する。
Then, the
あるいはまた、式(53)に替えて式(54)の演算が行われるようにしてもよい。 Alternatively, the calculation of Expression (54) may be performed instead of Expression (53).
認識器35は、さらに、式(53)または式(54)における最終時刻tにおいてエージェントが各ノードに存在する確率δt(i)を正規化することにより、時刻tにおける各ノードについての状態確率δ´t(i)を式(55)により演算する。
The
式(55)により得られた状態確率が予め定められた閾値以上となるノードのそれぞれが、類似するノードとされる。 Each node whose state probability obtained by the equation (55) is equal to or greater than a predetermined threshold is a similar node.
なお、n-ステップ状態認識では、過去nステップ分のアクションのシーケンスおよび観測シンボルのシーケンスが用いられるが、nを0とすると、観測シンボルotが所定の閾値以上の確率で観測されるノードの全てが類似するノードとなる。また、nを大きくするほど、類似するノードの数も、通常少なくなっていく。n-ステップ状態認識におけるnの値は、例えば、本発明において行なわれる推定等に用いて好適となるような予め設定された値とされるものとする。 Incidentally, n- in the step state recognition, but a sequence of the sequence and observation symbol action past n steps worth is used, when the n is set to 0, the node observation symbol o t is observed with probability higher than a predetermined threshold value All become similar nodes. In addition, as n is increased, the number of similar nodes usually decreases. It is assumed that the value of n in n-step state recognition is a preset value that is suitable for use in estimation performed in the present invention, for example.
類似ノードが得られたら、それらのノードにおいて実行されることにより、他のノードに遷移し得るアクションを特定する。例えば、ノード324は十字路であるから、ノード324に類似するノードも十字路である可能性が高い。そうすると、類似するノードでは、上下左右方向の移動のアクションにより他のノードに遷移できることになる。
When similar nodes are obtained, actions that can be transitioned to other nodes are specified by being executed at those nodes. For example, since the
そしてそれらのアクションを実行して他のノードに遷移し得る既知ノードを特定する。例えば、ノード321から右方向のアクションによって遷移し得る既知ノードであるノード322でも、それぞれ左方向および上方向のアクションを実行することにより、他のノードに遷移し得る。同様に、ノード321から右方向のアクションによって遷移し得る既知ノードであるノード323でも、それぞれ左方向および下方向のアクションを実行することにより、他のノードに遷移し得る。
Then, by executing these actions, a known node that can transition to another node is specified. For example, even a
そうすると、未知ノード324には、ノード322において、それぞれ左方向および上方向のアクションを実行することで遷移する遷移先ノードのそれぞれから、左方向および上方向の逆方向となるアクションによって遷移し得ると仮定できる。この場合、右方向および下方向が逆方向となるアクション(逆方向遷移アクション)となる。
Then, the
また、未知ノード324には、ノード323において、それぞれ左方向および下方向のアクションを実行することで遷移する遷移先ノードのそれぞれから、左方向および下方向の逆方向となるアクションによって遷移し得ると仮定できる。この場合、右方向および上方向が逆方向となるアクション(逆方向遷移アクション)となる。
In addition, the
逆方向遷移アクションは、例えば、次のようにして推定することができる。例えば、アクションczによってノードsaからノードsbへの遷移が起きる場合、逆方向遷移、すなわちノードsbからノードsaへの遷移を起こすためのアクションcz′を推定する。 The backward direction transition action can be estimated as follows, for example. For example, if the transition of the action c z from node s a to node s b occurs, reverse transition, that estimates the action c z 'for causing the transition from node s b to the node s a.
逆方向遷移アクションを推定するにあたり、認識器35は、上述したように類似するノードであって既知ノードを特定する。ここで特定された既知ノードのそれぞれを、ノードsj q(q=1,・・・Q)で表すことにする。
In estimating the backward transition action, the
そして、認識器35は、ノードsj qのそれぞれについて、アクションczによってノードsj qに遷移する遷移元ノードを抽出する。この場合、例えば、状態遷移確率aij q(z)が閾値以上となるノードsiをリストすればよい。
Then, the
そして、認識器35は、(sj q,si q,l)(q= 1,・・・,Q, l= 1,・・・,Lq)の全ての組み合わせについて、ノードsj qからノードsi q,lへの状態遷移確率の平均値a*(k)を式(56)により演算する。
Then, the recognizing
このようにして得られた状態遷移確率の平均値a*(k)のうち、閾値以上となるものを選択し、そのa*(k)に対応するアクションckを特定すれば、逆方向遷移アクションcz r´(r=1,・・・,R)を特定することができる。 If the average value a * (k) of the state transition probabilities obtained in this way is selected to be equal to or greater than the threshold, and the action c k corresponding to the a * (k) is specified, the backward transition The action c z r ′ (r = 1,..., R) can be specified.
このようにして特定された遷移元のノードで、逆方向遷移が実行されることによりノード324へ遷移すると仮定すれば、上述したノード321からノード324への状態遷移確率を設定する場合と同様の操作により状態遷移確率を設定することができる。
Assuming that the transition source node identified in this way makes a transition to the
このように考えると、未知ノードとみなされたノードのインデックスに対応する行列を状態遷移確率テーブルに追加するときには、図42に示される領域の全ての状態遷移確率を再設定する必要がある。 Considering this, when adding a matrix corresponding to the index of a node regarded as an unknown node to the state transition probability table, it is necessary to reset all state transition probabilities in the region shown in FIG.
すなわち、未知ノードとみなされたノードのインデックスに対応する行列を状態遷移確率テーブルに追加するときには、未知ノードにおいて実行し得るアクションと、そのアクションにより遷移し得る遷移先のノードとを特定する必要がある。このようにすれば、それら特定されたアクションと遷移先ノードとのペアから、状態遷移確率テーブルの所定の行列位置を特定することができ、それらの位置に設定すべき状態遷移確率の値を設定するとともに、その行の各値を正規化するなどすればよい。 That is, when a matrix corresponding to an index of a node regarded as an unknown node is added to the state transition probability table, it is necessary to specify an action that can be executed at the unknown node and a transition destination node that can be shifted by the action. is there. In this way, it is possible to specify a predetermined matrix position in the state transition probability table from the pair of the identified action and the transition destination node, and set the value of the state transition probability to be set at those positions. And normalizing each value in the row.
また、未知ノードとみなされたノードのインデックスに対応する行列を状態遷移確率テーブルに追加するときには、未知ノードに遷移し得る遷移元ノードと、その遷移元ノードから未知ノードに遷移するためのアクションとを特定する必要がある。このようにすれば、それら特定されたアクションと遷移元ノードとのペアから、状態遷移確率テーブルの所定の行列位置を特定することができ、それらの位置に設定すべき状態遷移確率の値を設定するとともに、その行の各値を正規化するなどすればよい。 In addition, when adding a matrix corresponding to the index of a node regarded as an unknown node to the state transition probability table, a transition source node that can transition to the unknown node, an action for transitioning from the transition source node to the unknown node, Need to be identified. In this way, it is possible to specify a predetermined matrix position in the state transition probability table from the pair of the identified action and the transition source node, and set the value of the state transition probability to be set at those positions. And normalizing each value in the row.
従って、上記に示したように、エージェントが自律的に環境の変化を認識して、状態遷移確率テーブルを拡張した場合、拡張された領域に設定すべき状態遷移確率の値を設定する処理は、最終的には、例えば、図46に示される手順で実行されるようにすることができる。 Therefore, as described above, when the agent autonomously recognizes the environmental change and expands the state transition probability table, the process of setting the value of the state transition probability to be set in the expanded area is as follows. Finally, for example, it can be executed by the procedure shown in FIG.
図46は、ノード追加時の状態遷移確率設定処理を説明するフローチャートである。この処理は、例えば、エージェントが自律的に環境の変化を認識して、状態遷移確率テーブルなどに未知ノードを追加するとき実行される。 FIG. 46 is a flowchart for explaining state transition probability setting processing when a node is added. This process is executed, for example, when the agent autonomously recognizes a change in the environment and adds an unknown node to the state transition probability table or the like.
なお、ここでは、未知ノードsnewが内部モデルデータに追加されるものとし、エージェントがノードsnewに遷移する直前のノードをノードsi′とし、ノードsi′においてアクションck′が実行されることによりエージェントはノードsnewに遷移したものとする。 Here, it is assumed that the unknown node s new new is added to the internal model data, the agent 'and the node s i' node s i to node prior to the transition to the node s new new carries out the action c k 'in As a result, the agent transitions to the node s new .
ステップS401において、認識器35は、図47のフローチャートを参照して後述するノード逆アクションペアリスト生成処理を実行する。
In step S401, the recognizing
これにより、未知ノードへの遷移元のノードが特定されるとともに、未知ノードへの逆方向遷移アクションが特定されることになる。 As a result, the transition source node to the unknown node is specified, and the backward transition action to the unknown node is specified.
ステップS402において、学習器34は、図48のフローチャートを参照して後述する逆アクション状態遷移確率設定処理を実行する。
In step S402, the
これにより、ステップS401の処理により特定された遷移元のノードにおいて逆方向遷移アクションを実行することにより未知ノードへ遷移する状態遷移確率が設定される。また、ここで新たに設定された状態遷移確率に応じて状態遷移確率テーブルの各行の値が正規化される。 As a result, the state transition probability of transitioning to an unknown node is set by executing a backward transition action at the transition source node identified by the process of step S401. In addition, the value of each row of the state transition probability table is normalized according to the state transition probability newly set here.
ステップS403において、認識器35は、図49のフローチャートを参照して後述するノード順アクションペアリスト生成処理を実行する。
In step S403, the recognizing
これにより、未知ノードからの遷移先のノードが特定されるとともに、未知ノードからそれらの遷移先ノードへ遷移するための順方向遷移アクションが特定されることになる。 As a result, the transition destination node from the unknown node is specified, and the forward transition action for transitioning from the unknown node to the transition destination node is specified.
ステップS404において、学習器34は、図50のフローチャートを参照して後述する順アクション状態遷移確率設定処理を実行する。
In step S404, the
これにより、未知ノードにおいて、ステップS403の処理により特定された順方向遷移アクションを実行することにより遷移先のノードへ遷移する状態遷移確率が設定される。また、ここで新たに設定された状態遷移確率に応じて状態遷移確率テーブルの各行の値が正規化される。 Thereby, in the unknown node, the state transition probability of transitioning to the transition destination node is set by executing the forward transition action specified by the process of step S403. In addition, the value of each row of the state transition probability table is normalized according to the state transition probability newly set here.
次に、図47のフローチャートを参照して、図46のステップS401のノード逆アクションペアリスト生成処理の詳細について説明する。 Next, details of the node reverse action pair list generation processing in step S401 of FIG. 46 will be described with reference to the flowchart of FIG.
ステップS421において、認識器35は、ノードsi′においてアクションck′が実行されることにより遷移し得る候補ノードsj l(l=1,・・・L)を抽出する。候補ノードsj lは、例えば、状態遷移確率ai´j(k´)が閾値以上となる遷移先のノードsj´をリストすればよい。
In step S421, the recognizing
ステップS422において、認識器35は、過去nステップ分の時系列情報を用いたn-ステップ状態認識を行なう。
In step S422, the
ステップS423において、認識器35は、ステップS422の処理結果に基づいて、ノードsnewに類似する類似ノードであって既知ノードを抽出する。ここで特定された既知ノードのそれぞれを、ノードsj q(q=1,・・・Q)で表すことにする。このとき、上述した式(52)乃至式(55)の演算が行われることにより、ノードsnewに類似する類似ノードが抽出される。
In step S423, the
ステップS424において、認識器35は、ステップS423の処理で抽出された類似ノードの有効アクションを抽出する。
In step S424, the recognizing
ここで、有効アクションは、上述した各類似ノードにおいて実行されることにより、他のノードに遷移し得るアクションを意味する。 Here, the effective action means an action that can be transferred to another node by being executed in each of the similar nodes.
ステップS424では、例えば、アクション毎の評価値Ekが、式(57)により演算される。なお、この演算は、個々のアクションに対応してそれぞれ行われ、1のアクションに対して1の評価値が得られることになる。 In step S424, for example, the evaluation value E k for each action is calculated by Expression (57). This calculation is performed for each action, and one evaluation value is obtained for one action.
ここでajx q(k)(q=1,・・・,Q, x=1,・・・,N)は、ノードsj q(q=1,・・・,Q)においてアクションckを実行したとき、ノードsxに遷移する状態遷移確率である。 Here, a jx q (k) (q = 1,..., Q, x = 1,..., N) is an action c k at the node s j q (q = 1,..., Q). Is the state transition probability when transitioning to node s x .
そして、式(57)により演算された評価値が閾値以上となったアクションkが選択され、有効アクションの候補とされる。 Then, the action k whose evaluation value calculated by the equation (57) is equal to or greater than the threshold value is selected and is set as a valid action candidate.
さらに、その選択されたアクションkのそれぞれについて、状態遷移確率ajx q(k)がチェックされ、状態遷移確率ajx q(k)が閾値以上となる(q,x)の組が少なくとも1つ存在するか否かが判定される。そのような(q,x)の組が1つも存在しない場合、そのアクションkは、有効アクションの候補から除外される。 Further, for each of the selected actions k, the state transition probability a jx q (k) is checked, and at least one pair of (q, x) in which the state transition probability a jx q (k) is equal to or greater than a threshold value. It is determined whether or not it exists. If there is no such (q, x) pair, the action k is excluded from the valid action candidates.
このようにして、ステップS424では、有効アクションck r(r=1,・・・,R)が抽出される。 In this way, in step S424, the effective action c k r (r = 1,..., R) is extracted.
ステップS425において、認識器35は、ステップS421の処理で抽出された候補ノードsj lのうち、ステップS424の処理で抽出されたアクションck rを有効アクションとして有するものを抽出する。すなわち、候補ノードのうち、類似ノードと同一の有効アクションを有するノードsj ru (u=1,・・・,Ur)が抽出される。
In step S425, the recognizing
ステップS425では、例えば、ノードsj lのそれぞれについて評価値Elrが式(58)により演算される。なお、この演算は、ノードsj lのそれぞれにおいて、個々のアクションck rを実行する場合のそれぞれに対応してそれぞれ行われ、ノードとアクションの組み合わせ1つに対して1の評価値が得られることになる。 In step S425, for example, the evaluation value Elr for each of the nodes s j l is calculated by the equation (58). This calculation is performed for each of the nodes s j l corresponding to the case where each action c k r is executed, and one evaluation value is obtained for one combination of the node and the action. Will be.
なお、式(58)は、変数lにより特定されるインデックスjの候補ノードで、変数rで特定されるアクションckを実行する場合について算出される。また、式(58)の右辺の状態遷移確率のアクションであるk(またはck)は、左辺の変数rにより特定されるものとする。 Equation (58) is calculated for the case where the action c k specified by the variable r is executed on the candidate node of the index j specified by the variable l. In addition, k (or c k ), which is the action of the state transition probability on the right side of Equation (58), is specified by the variable r on the left side.
このように、ステップS425では、式(58)により算出された評価値が閾値以上となったものが、ノードsj ruとして抽出されるのである。 As described above, in step S425, the node having the evaluation value calculated by the equation (58) equal to or greater than the threshold is extracted as the node s j ru .
ステップS426において、認識器35は、ステップS425で抽出されたノードとステップS424で抽出された有効アクションのペア(sj ru,ck r)を生成し、それぞれのペアから特定される遷移先ノードを特定する。
In step S426, the
例えば、ノードsj ruにおいて、アクションck rを実行した場合の状態遷移確率ajl ru(k)(l=1,・・・,N)をチェックし、閾値を超える状態遷移確率に対応する遷移先ノードsl q(q=1,・・・Qru)を特定する。 For example, in the node s j ru , the state transition probability a jl ru (k) (l = 1,..., N) when the action c k r is executed is checked, and the state transition probability exceeding the threshold is handled. The transition destination node s l q (q = 1,... Q ru ) is specified.
ステップS427において、認識器35は、ノードsj ruにおけるアクションck rの逆方向遷移アクションを推定する。すなわち、ノードsl qからノードsj ruへ遷移するためのアクションを推定する。このとき推定された逆方向遷移アクションを、cruq v(v=1,・・・Vruq)とする。ただし、遷移先ノードがノードsi′であった場合は、この推定は行なわない。
In step S427, the
そして、認識器35は、ステップS426で特定された遷移先ノードと、逆方向遷移アクションとのペア(sl q,cruq v)(l=1,・・・,L, r=1,・・・,R, u=1,・・・,Ur, q=1,・・・,Qru, v=1,・・・,Vruq)を生成する。
Then, the recognizing
ステップS428において、認識器35は、ステップS427で生成したペア(sl q,cruq v)に(si′,ck′)を加えて重複を排除し、未知ノードへの遷移元ノードと逆方向遷移アクションのペア(si x,ck x)(x=1,・・・,X)を生成する。そして、未知ノードへの遷移元ノードと逆方向遷移アクションのペアのそれぞれがリストされる。 In step S428, the recognizer 35 adds (s i ′, c k ′) to the pair (s l q , c ruq v ) generated in step S427 to eliminate duplication, and determines the transition source node to the unknown node. A pair of reverse transition actions (s i x , c k x ) (x = 1,..., X) is generated. Then, each of the pair of the transition source node to the unknown node and the backward transition action is listed.
このようにして、ノード逆アクションペアリスト生成処理が実行される。 In this way, the node reverse action pair list generation process is executed.
図47の処理により得られたペアに基づいて、ノードsi xにおいてアクションck xを実行することによりノードsnewに遷移したと仮定され、図46のステップS402の処理が実行される。 Based on the pair obtained by the process of FIG. 47, it is assumed that the node s i x has transitioned to the node s new by executing the action c k x, and the process of step S402 of FIG. 46 is executed.
次に、図48のフローチャートを参照して、図46のステップS402の逆アクション状態遷移確率設定処理の詳細な例について説明する。 Next, a detailed example of the reverse action state transition probability setting process in step S402 in FIG. 46 will be described with reference to the flowchart in FIG.
例えば、遷移元ノードsiからアクションckによりノードsnewに遷移したと仮定されたものとする。 For example, it is assumed that a transition is made from the transition source node s i to the node s new by the action c k .
ステップS441において、学習器34は、アクションckにより、ノードsiから遷移し得るノードの候補を抽出する。ノードの候補sj l(l=1,・・・L)は、例えば、状態遷移確率aij(k)が閾値以上となる遷移先のノードsjをリストすればよい。
In step S441, the
ステップS442において、学習器34は、未知ノードへの状態遷移確率を設定し、正規化する。
In step S442, the
例えば、アクションckに対応する各候補ノードsiからsnewへの状態遷移確率ainew(k)は、1/Lとして設定する。そして、アクションckに対応する状態遷移確率テーブルの各行の状態遷移確率の総和が1となるように正規化する。すなわち、状態遷移確率ainew(k)として非零値が設定された行の各値をL/(L+1)倍する。 For example, the state transition probability a inew (k) from each candidate node s i to s new corresponding to the action c k is set as 1 / L. Then, normalization is performed so that the sum of the state transition probabilities of each row of the state transition probability table corresponding to the action ck becomes 1. That is, each value in a row in which a non-zero value is set as the state transition probability a inew (k) is multiplied by L / (L + 1).
ただし、ステップS411の処理の結果、状態遷移確率aij(k)が閾値以上となる遷移先のノードが存在しなかった場合、状態遷移確率ainew(k)≒1として、上述のような正規化を行なう。 However, if there is no transition destination node in which the state transition probability a ij (k) is greater than or equal to the threshold value as a result of the processing in step S411, the state transition probability a inew (k) ≈1 is assumed and the normality as described above To do.
このようにして、逆アクション状態遷移確率設定処理が実行される。 In this way, the reverse action state transition probability setting process is executed.
次に、図49のフローチャートを参照して、図46のステップS403のノード順アクションペアリスト生成処理の詳細な例について説明する。 Next, a detailed example of the node order action pair list generation processing in step S403 in FIG. 46 will be described with reference to the flowchart in FIG.
ステップS461において、認識器35は、図47のステップS426の処理と同様に遷移先ノードsl q(q=1,・・・Qru)を抽出する。すなわち、候補ノードと有効アクションのペアを生成し、各ペアに対応する遷移先ノードを特定する。
In step S461, the recognizing
ステップS462において、認識器35は、ステップS461の処理で得られた遷移先ノードsl q(q=1,・・・Qru)と、その遷移先ノードに遷移するためのアクションck r(r=1,・・・R)をペアとして生成する。
In step S462, the recognizing
ステップS463において、認識器35は、ステップS462の処理で得られたペアの重複を排除し、ペア(sj y,ck y)(y=1,・・・,Y)を生成する。そして、遷移先ノードとその遷移先ノードへ遷移するためのアクションのペアのそれぞれがリストされる。
In step S463, the recognizing
このようにして、ノード順アクションペアリスト生成処理が実行される。 In this way, node order action pair list generation processing is executed.
図49の処理により得られたペアに基づいて、ノードsnewにおいてアクションck yを実行することによりノードsj yに遷移したと仮定され、図46のステップS404の処理が実行される。 Based on the pair obtained in the processing in FIG. 49, is assumed that the shift to the node s j y by performing the action c k y at the node s new new, the process of step S404 of FIG. 46 is executed.
次に、図50のフローチャートを参照して、図46のステップS404の順アクション状態遷移確率設定処理の詳細な例について説明する。 Next, a detailed example of the forward action state transition probability setting process in step S404 in FIG. 46 will be described with reference to the flowchart in FIG.
ステップS481において、学習器34は、状態遷移確率anewj(k)(j=1,・・・,N, k=1,・・・,K)を、全て微小な値で初期化する。
In step S481, the
ステップS482において、学習器34は、図48の処理により得られたペア(sj y,ck y)を用いて状態遷移確率を設定する。すなわち、ノードsnewにおいてアクションck yを実行することによりノードsj yに遷移する状態遷移確率anewj y(k)を1として設定する。
In step S482, the
ステップS483において、学習器34は、Σjanewj(k)(k=1,・・・,K)を満たすように正規化する。
In step S483, the
このようにして順アクション状態遷移確率設定処理が実行される。 In this way, the forward action state transition probability setting process is executed.
上記した例においては、エージェントが自律的に環境の変化を認識して、状態遷移確率テーブルに未知ノードを追加する場合の例について説明したが、これに伴って、観測確率テーブルにも未知ノードを追加する必要がある。この場合の、観測確率テーブルの更新については、例えば、図31に示されるように観測確率テーブルを拡張する必要がある場合に、学習器34が行う処理として上述した処理を行うようにすればよい。
In the above example, an example has been described in which an agent autonomously recognizes a change in the environment and adds an unknown node to the state transition probability table. Need to add. Regarding the update of the observation probability table in this case, for example, when it is necessary to expand the observation probability table as shown in FIG. 31, the above-described processing may be performed as the processing performed by the
また、勿論、状態遷移確率の推定のための頻度変数のテーブル、および観測確率の推定のための頻度変数のテーブルも図46を参照して上述した処理に伴って更新されることになる。 Of course, the frequency variable table for estimating the state transition probability and the frequency variable table for estimating the observation probability are also updated in accordance with the processing described above with reference to FIG.
次に、アンカリングする場合の状態遷移確率の設定について説明する。 Next, the setting of the state transition probability when anchoring will be described.
上述したように、アンカリングは、既知ノードへの遷移が認識された場合、未知ノードとみなされたノードと既知ノードとの状態遷移確率などを設定する処理である。 As described above, anchoring is a process of setting a state transition probability between a node regarded as an unknown node and a known node when a transition to a known node is recognized.
換言すれば、未知ノードsi´においてアクションck´を実行して、既知ノードsj´に遷移した場合、内部モデルデータの状態遷移確率テーブルにおいて、状態遷移確率a i´j(k´)(j=1,・・・,N)が閾値以上となるノードsjが存在しないとき、アンカリングが行なわれる。すなわち、未知ノードとみなされたノードから、既知ノードへの遷移が確認され、かつ当該未知ノードから当該既知ノード以外のノードへの遷移が発生し難い場合、アンカリングが行われるのである。 In other words, when the action c k ′ is executed at the unknown node s i ′ and the state transitions to the known node s j ′, the state transition probability a i′j (k ′) in the state transition probability table of the internal model data. Anchoring is performed when there is no node s j where (j = 1,..., N) is greater than or equal to the threshold. That is, when a transition from a node regarded as an unknown node to a known node is confirmed and a transition from the unknown node to a node other than the known node is difficult to occur, anchoring is performed.
アンカリングでは、アクションck´による未知ノードsi´から既知ノードsj´への状態遷移確率が設定される。例えば、図46を参照して上述したように、未知ノードとみなされたノードが内部モデルデータに追加される都度、その未知ノードから既知ノードへの状態遷移確率が推定されて設定される。しかし、未知ノードから既知ノードへの遷移が実際に発生した場合は、アンカリングがなされることになる。 In anchoring, the state transition probability from the unknown node s i ′ to the known node s j ′ by the action c k ′ is set. For example, as described above with reference to FIG. 46, every time a node regarded as an unknown node is added to the internal model data, the state transition probability from the unknown node to the known node is estimated and set. However, when a transition from an unknown node to a known node actually occurs, anchoring is performed.
ここで、図51のフローチャートを参照してアンカリング処理について説明する。この処理は、例えば、図40のステップS319の処理として実行される処理である。 Here, the anchoring process will be described with reference to the flowchart of FIG. This process is, for example, a process executed as the process of step S319 in FIG.
ステップS501において、学習器34は、アンカリングの対象となる遷移に対応する状態遷移確率を1とする。上述の例では、状態遷移確率a i´j´(k´)が1とされる。
In step S501, the
ステップS502において、学習器34は、Σja i´j(k´)が1となるように、状態遷移確率テーブルの各値を正規化する。
In step S502, the
ステップS503において、認識器35は、既知ノードsj´から未知ノードsi´に遷移する逆方向遷移アクションを推定する。このとき、例えば、図47を参照して上述した場合と同様に逆方向遷移アクションの推定が行なわれる。これにより、逆方向遷移アクションcz r(r=1,・・・,R)が推定される。
In step S503, the recognizing
ステップS504において、学習器34は、ステップS503の処理で推定された逆方向遷移アクションのそれぞれが実行されることにより、既知ノードsj´から未知ノードsi´への遷移が発生したと仮定して状態遷移確率を設定する。この処理は、例えば、図48を参照して上述した場合と同様である。
In step S504, the
このようにしてアンカリング処理が実行される。 In this way, the anchoring process is executed.
なお、図51を参照して説明した処理に替えて、既知ノードsj´から未知ノードsi´への遷移が発生したと仮定して図46を参照して上述した処理が行われることにより状態遷移確率を設定することで、アンカリング処理がなされるようにしてもよい。 Note that, instead of the process described with reference to FIG. 51, the process described above with reference to FIG. 46 is performed on the assumption that a transition from the known node s j ′ to the unknown node s i ′ has occurred. An anchoring process may be performed by setting a state transition probability.
すなわち、実際には、未知ノードsi´においてアクションck´を実行して、既知ノードsj´に遷移したのだが、逆方向遷移アクションcz r (r=1,・・・,R)によって既知ノードsj´から未知ノードsi´への遷移が発生したと仮定するのである。ここで、逆方向遷移アクションcz r (r=1,・・・,R)は、例えば、ステップS503の処理と同様にして推定することができる。 That is, in practice, the action c k ′ is executed in the unknown node s i ′ and the transition is made to the known node s j ′, but the backward transition action c z r (r = 1,..., R) It is assumed that a transition from the known node s j ′ to the unknown node s i ′ has occurred. Here, the backward transition action c z r (r = 1,..., R) can be estimated in the same manner as in the process of step S503, for example.
つまり、アクションcz 1によって、既知ノードsj´から未知ノードsi´への遷移が発生したと仮定して図46を参照して上述した処理を実行する。また、アクションcz 2によって、やはり、既知ノードsj´から未知ノードsi´への遷移が発生したと仮定して図46を参照して上述した処理を実行する。同様に、アクションcz 3・・・アクションcz Rによって、それぞれ既知ノードsj´から未知ノードsi´への遷移が発生したと仮定して図46を参照して上述した処理を実行するのである。 That is, assuming that a transition from the known node s j ′ to the unknown node s i ′ has occurred by the action c z 1 , the processing described above with reference to FIG. 46 is executed. Further, assuming that a transition from the known node s j ′ to the unknown node s i ′ has occurred by the action c z 2 , the processing described above with reference to FIG. 46 is executed. Similarly, it is assumed that a transition from the known node s j ′ to the unknown node s i ′ is caused by the action c z 3 ... Action c z R , respectively, and the processing described above with reference to FIG. It is.
アンカリングの際には、このように、アクションcz r (r=1,・・・,R)によって直前のノードsj′(実際には、アンカリングする既知ノード)から未知ノードsi′へ遷移したものとみなして、図46の処理がそれぞれ実行されるようにしてもよい。 At the time of anchoring, in this way, the action c z r (r = 1,..., R) causes the unknown node s i ′ from the immediately preceding node s j ′ (actually the known node to be anchored). 46 may be executed by assuming that the process has transitioned to.
このように、本発明によれば、エージェントが自律的に環境の変化を認識して、状態遷移確率テーブル、および観測確率テーブルを拡張することが可能である。また、その際に、それぞれのテーブルの拡張された領域に設定すべき状態遷移確率、観測確率などの値を適切に設定することも可能である。さらに、既に記憶されている既知ノードから既知ノードへの状態遷移確率に基づいて、未知ノードと既知ノードとの間の状態遷移確率などを設定することが可能である。 Thus, according to the present invention, it is possible for the agent to autonomously recognize a change in the environment, and to expand the state transition probability table and the observation probability table. At that time, it is also possible to appropriately set values such as state transition probability and observation probability to be set in the expanded area of each table. Further, it is possible to set the state transition probability between the unknown node and the known node based on the state transition probability from the known node to the known node that has already been stored.
ここまで、学習を進める際に、ノード数、観測シンボル数、またはアクション数を変更する必要に迫られた場合にとり得る処置について説明した。 So far, the description has been given of the actions that can be taken when it is necessary to change the number of nodes, the number of observation symbols, or the number of actions when learning is advanced.
以上のように、本発明によれば、アクション拡張型HMMを用いた学習を行うことができる。これにより、エージェントがアクション信号を用いて環境に対してアクションを実行し、今後観測される観測シンボルに影響を与えることができるようにするという状況における学習が可能となる。 As described above, according to the present invention, learning using an action expanded HMM can be performed. As a result, it is possible to learn in a situation where the agent executes an action on the environment using the action signal and can influence an observation symbol observed in the future.
また、本発明によれば、必然的に大規模となるアクション拡張型HMMの学習を効率的かつ適切に行うことができる。すなわち、学習される内部モデルデータに対してスプリットアルゴリズムを適用するなどして一状態一観測制約を課し、フォワードマージアルゴリズムおよびバックワードマージアルゴリズムを適用するなどしてアクション遷移制約を課す。これにより、計算すべきパラメータの数の増大などを抑制し、必然的に大規模となるアクション拡張型HMMの学習を効率的かつ適切に行うことができる。 Further, according to the present invention, it is possible to efficiently and appropriately learn an action expanded HMM that inevitably has a large scale. That is, a one-state one-observation constraint is imposed on the learned internal model data by applying a split algorithm, and an action transition constraint is imposed by applying a forward merge algorithm and a backward merge algorithm. As a result, an increase in the number of parameters to be calculated can be suppressed, and learning of the action extended HMM that inevitably has a large scale can be performed efficiently and appropriately.
さらに、本発明によれば、必然的に大規模となるアクション拡張型HMMにおける追加学習方式での学習を安定的に行うことができる。すなわち、状態遷移確率の推定のための頻度変数と観測確率の推定のための頻度変数とを算出して保存することにより、アクション拡張型HMMにおける追加学習方式での学習を安定的に行うことができる。 Furthermore, according to the present invention, it is possible to stably perform learning by the additional learning method in the action expanded HMM that inevitably has a large scale. In other words, by calculating and storing a frequency variable for estimating the state transition probability and a frequency variable for estimating the observation probability, it is possible to stably perform learning in the additional learning method in the action expanded HMM. it can.
また、本発明によれば、学習を進める際に、ノード数、観測シンボル数、またはアクション数を変更することが可能である。 Further, according to the present invention, it is possible to change the number of nodes, the number of observation symbols, or the number of actions when learning is advanced.
この際、例えば、エージェントに対して予め所定の数だけノードの数が増えることを前提として、内部モデルデータを拡張するように指令することも可能であるし、エージェントが自律的に環境の変化を認識して、内部モデルデータを拡張することも可能である。 At this time, for example, it is possible to instruct the agent to expand the internal model data on the assumption that the number of nodes increases in advance by a predetermined number, and the agent autonomously changes the environment. It is also possible to recognize and extend the internal model data.
エージェントが自律的に環境の変化を認識して、内部モデルデータを拡張するために、エージェントが、現在自分が位置するノードは学習済の内部状態とされているノードなのか、新たに追加すべき内部状態とされるノードなのか認識できるようにした。 In order for the agent to autonomously recognize changes in the environment and expand the internal model data, the agent should add a new node whether the node where the agent is currently located is a learned internal state Enabled to recognize whether the node is in internal state.
また、所定のタイミングで所定の個数の未知ノードが追加されるようにするとともに、アンカリングされた直後の内部モデルデータに基づいて追加学習方式での学習が行われるようにした。これにより、例えば、既知ノードの中に散発的に新たなノードが発現するような場合はもちろんのこと、長期に渡って新たなノードが連続して検出されるような困難な環境においても、十分に有効な学習を行うことが可能となった。 In addition, a predetermined number of unknown nodes are added at a predetermined timing, and learning by the additional learning method is performed based on the internal model data immediately after the anchoring. This allows, for example, new nodes to appear sporadically among known nodes, but also in difficult environments where new nodes are continuously detected over a long period of time. It became possible to perform effective learning.
さらに、内部モデルデータを拡張するにあたり、過去の経験に基づいて未知ノードと既知ノードとの間の状態遷移確率などを設定することができるようにした。 Furthermore, when expanding the internal model data, the state transition probability between the unknown node and the known node can be set based on past experience.
このように、本発明によれば、変化する環境の中で自律的な学習を行う際に、効率的かつ安定的な学習を行うことができるのである。 Thus, according to the present invention, efficient and stable learning can be performed when autonomous learning is performed in a changing environment.
以上においては、本発明の実施の形態を主に、ロボットが迷路を移動する場合の例に適用して説明したが、勿論、それ以外の実施の形態であっても構わない。例えば、アクションは、エージェントを移動させるものに限られず、環境に対して働きかける行為であればアクションとなり得る。また、例えば、観測シンボルは、迷路のパーツの形状などに対応するものに限られず、光や音の変化などに対応するものであってもよい。 In the above description, the embodiment of the present invention is mainly applied to an example in which the robot moves in the maze. However, other embodiments may be used as a matter of course. For example, the action is not limited to moving an agent, and may be an action as long as it acts on the environment. Further, for example, the observation symbols are not limited to those corresponding to the shape of the maze part, but may correspond to changes in light or sound.
なお、上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。上述した一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータにインストールされる。例えば、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、図52に示されるような汎用のパーソナルコンピュータ700などに、ネットワークや記録媒体から、そのソフトウェアを構成するプログラムがインストールされる。
The series of processes described above can be executed by hardware, or can be executed by software. When the above-described series of processing is executed by software, a program constituting the software is installed in a computer incorporated in dedicated hardware. For example, a general-purpose
図52において、CPU(Central Processing Unit)701は、ROM(Read Only Memory)702に記憶されているプログラム、または記憶部708からRAM(Random Access Memory)703にロードされたプログラムに従って各種の処理を実行する。RAM703にはまた、CPU701が各種の処理を実行する上において必要なデータなども適宜記憶される。
52, a CPU (Central Processing Unit) 701 executes various processes according to a program stored in a ROM (Read Only Memory) 702 or a program loaded from a
CPU701、ROM702、およびRAM703は、バス704を介して相互に接続されている。このバス704にはまた、入出力インタフェース705も接続されている。
The
入出力インタフェース705には、キーボード、マウスなどよりなる入力部706、LCD(Liquid Crystal display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部707、ハードディスクなどより構成される記憶部708が接続されている。また、入出力インタフェース705には、モデム、LANカードなどのネットワークインタフェースカードなどより構成される通信部709が接続されている。通信部709は、インターネットを含むネットワークを介しての通信処理を行う。
Connected to the input /
入出力インタフェース705にはまた、必要に応じてドライブ710が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア711が適宜装着される。そして、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部708にインストールされる。
A
上述した一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、インターネットなどのネットワークや、リムーバブルメディア711などからなる記録媒体からインストールされる。
When the above-described series of processing is executed by software, a program constituting the software is installed from a network such as the Internet or a recording medium such as a
なお、この記録媒体は、図52に示される、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フロッピディスク(登録商標)を含む)、光ディスク(CD-ROM(Compact Disk-Read Only Memory),DVD (Digital Versatile Disk)を含む)、光磁気ディスク(MD(Mini-Disk)(登録商標)を含む)、もしくは半導体メモリなどよりなるリムーバブルメディア711により構成されるものだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM702や、記憶部708に含まれるハードディスクなどで構成されるものも含む。
The recording medium shown in FIG. 52 is a magnetic disk (including a floppy disk (registered trademark)) on which a program is recorded, which is distributed to distribute the program to the user separately from the apparatus main body. Removable media consisting of optical disks (including CD-ROM (compact disk-read only memory), DVD (digital versatile disk)), magneto-optical disks (including MD (mini-disk) (registered trademark)), or semiconductor memory It includes not only those configured by 711 but also those configured by a
なお、本明細書において上述した一連の処理は、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。 Note that the series of processes described above in this specification includes processes that are performed in parallel or individually even if they are not necessarily processed in time series, as well as processes that are performed in time series in the order described. Is also included.
また、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。 The embodiments of the present invention are not limited to the above-described embodiments, and various modifications can be made without departing from the scope of the present invention.
10 自律行動学習装置, 31 センサ部, 32 行動出力部, 33 観測バッファ, 34 学習器, 35 認識器, 36 行動生成器, 37 内部モデルデータ記憶部, 38 認識結果バッファ, 39 行動出力バッファ
DESCRIPTION OF
Claims (12)
時間の経過に伴って観測される前記観測シンボルを、前記観測シンボルが観測された時刻と対応付けて記憶する観測シンボル記憶手段と、
前記観測シンボル記憶手段に記憶された情報を時系列情報として読み出し、前記時系列情報の最後の時刻におけるHMMのノードを認識する認識手段とを備え、
前記認識手段は、可変長の前記時系列情報を読み出して認識する
認識装置。 Observation means for observing observation symbols based on sensor signals obtained from the environment;
Observation symbol storage means for storing the observation symbol observed over time in association with the time when the observation symbol was observed;
Recognizing means for reading information stored in the observation symbol storage means as time series information and recognizing a node of the HMM at the last time of the time series information;
The recognition means reads and recognizes the time-series information of variable length.
前記時系列情報に基づいて、前記時系列情報の長さに対応するノード列を認識し、
前記環境において前記ノード列が、前記HMMの状態遷移確率および観測確率に基づいて、第1の閾値以上の確率で存在すると判定され、かつ前記時系列情報の最後の時刻における前記ノードの事後確率のエントロピーの値が第2の閾値未満となるまで、
前記観測シンボル記憶手段から読み出す前記時系列情報の長さを過去方向に延長する
請求項1に記載の認識装置。 The recognition means is
Based on the time series information, recognize a node sequence corresponding to the length of the time series information,
Based on the state transition probability and the observation probability of the HMM, it is determined that the node string exists in the environment with a probability equal to or higher than a first threshold, and the posterior probability of the node at the last time of the time series information Until the entropy value is below the second threshold,
The recognition apparatus according to claim 1, wherein a length of the time-series information read from the observation symbol storage unit is extended in a past direction.
前記過去方向に延長された前記時系列情報に基づいて前記時系列情報の長さに対応するノード列を認識し、
前記環境において前記ノード列が、前記HMMの状態遷移確率および観測確率に基づいて、第1の閾値以上の確率で存在しないと判定された場合、前記時系列情報の最後の時刻における前記ノードが、新たに追加すべき内部状態の未知ノードであると認識して認識結果として出力し、
前記環境において前記ノード列が、前記HMMの状態遷移確率および観測確率に基づいて、第1の閾値以上の確率で存在すると判定され、かつ前記時系列情報の最後の時刻における前記ノードの事後確率のエントロピーの値が第2の閾値未満と判定された場合、前記時系列情報の最後の時刻における前記ノードが、学習済の内部状態の既知ノードであると認識して認識結果として出力する
請求項2に記載の認識装置。 The recognition means is
Recognizing a node sequence corresponding to the length of the time series information based on the time series information extended in the past direction,
If it is determined in the environment that the node sequence does not exist with a probability equal to or higher than the first threshold based on the state transition probability and the observation probability of the HMM, the node at the last time of the time series information is: Recognize that it is an unknown node in the internal state to be newly added, and output it as a recognition result.
Based on the state transition probability and the observation probability of the HMM, it is determined that the node string exists in the environment with a probability equal to or higher than a first threshold, and the posterior probability of the node at the last time of the time series information 3. When it is determined that the entropy value is less than a second threshold, the node at the last time of the time-series information is recognized as a known node in the learned internal state and is output as a recognition result. The recognition device described in 1.
請求項3に記載の認識装置。 The recognition apparatus according to claim 3, further comprising a recognition result storage unit that stores the recognition result in association with the recognized time.
前記認識結果記憶手段に記憶されている認識結果が、時間の経過に伴って既知ノードから未知ノードに変化した時刻を特定し、
前記観測シンボル記憶手段から読み出す前記時系列情報の長さを過去方向に延長することにより、前記特定された時刻より時間的に前の時系列情報が読み出される場合、
認識結果の出力を保留する
請求項4に記載の認識装置。 The recognition means is
Identifying the time when the recognition result stored in the recognition result storage means changes from a known node to an unknown node over time;
When the time series information that is temporally prior to the specified time is read by extending the length of the time series information read from the observation symbol storage means in the past direction,
The recognition apparatus according to claim 4, wherein output of the recognition result is suspended.
長さNの前記時系列情報の最後の時刻における前記ノードの事後確率のエントロピーの値と、長さN+1の前記時系列情報の最後の時刻における前記ノードの事後確率のエントロピーの値との差分を算出し、
前記算出された差分が第3の閾値未満となるまで、前記観測シンボル記憶手段から読み出す前記時系列情報の長さを過去方向に延長する
請求項1に記載の認識装置。 The recognition means is
The difference between the entropy value of the posterior probability of the node at the last time of the time series information of length N and the entropy value of the posterior probability of the node at the last time of the time series information of length N + 1 Calculate
The recognition apparatus according to claim 1, wherein the length of the time-series information read from the observation symbol storage unit is extended in the past direction until the calculated difference becomes less than a third threshold.
前記過去方向に延長された前記時系列情報に基づいて前記時系列情報の長さに対応するノード列を認識し、
前記環境において前記ノード列が、前記HMMの状態遷移確率および観測確率に基づいて、第1の閾値未満の確率で存在すると判定された場合、
前記時系列情報の最後の時刻における前記ノードが、新たに追加すべき内部状態の未知ノードであると認識する
請求項6に記載の認識装置。 The recognition means is
Recognizing a node sequence corresponding to the length of the time series information based on the time series information extended in the past direction,
When it is determined in the environment that the node sequence exists with a probability less than a first threshold based on the state transition probability and the observation probability of the HMM,
The recognition apparatus according to claim 6, wherein the node at the last time of the time-series information is recognized as an unknown node having an internal state to be newly added.
前記環境において前記ノード列が、前記HMMの状態遷移確率および観測確率に基づいて、第1の閾値以上の確率で存在すると判定された場合、
前記時系列情報の最後の時刻における前記ノードの事後確率のエントロピーの値が第2の閾値未満となるとき、前記時系列情報の最後の時刻における前記ノードが、学習済の内部状態の既知ノードである認識し、
前記時系列情報の最後の時刻における前記ノードの事後確率のエントロピーの値が第2の閾値以上となるとき、認識結果の出力を保留する
請求項7に記載の認識装置。 The recognition means is
In the environment, when it is determined that the node string exists with a probability equal to or higher than a first threshold based on the state transition probability and the observation probability of the HMM,
When the entropy value of the posterior probability of the node at the last time of the time series information is less than a second threshold, the node at the last time of the time series information is a known node in the learned internal state. Recognize and
The recognition apparatus according to claim 7, wherein when the entropy value of the posterior probability of the node at the last time of the time-series information is equal to or greater than a second threshold, the recognition result output is suspended.
前記観測シンボル記憶手段に記憶された情報と時間的に同じ長さの情報が前記行動シンボル記憶手段から読み出され、前記時系列情報とされる
請求項1に記載の認識装置。 Action symbol storage means for specifying an action to be executed for the environment as an action symbol, and storing the action symbol obtained with the passage of time in association with the time at which the action is executed is further provided. ,
The recognition apparatus according to claim 1, wherein information having the same time length as information stored in the observation symbol storage unit is read from the action symbol storage unit and used as the time-series information.
前記時系列情報の最後の時刻におけるHMMのノードを認識する
認識方法。 The information stored in the observation symbol storage means for storing the observation symbol based on the sensor signal obtained from the environment observed with the passage of time in association with the time when the observation symbol was observed is variable length Read as series information,
A recognition method for recognizing an HMM node at the last time of the time-series information.
環境から得られるセンサ信号に基づいて観測シンボルを観測する観測手段と、
時間の経過に伴って観測される前記観測シンボルを、前記観測シンボルが観測された時刻と対応付けて記憶する観測シンボル記憶手段と、
前記観測シンボル記憶手段に記憶された情報を時系列情報として読み出し、前記時系列情報の最後の時刻におけるHMMのノードを認識する認識手段とを備え、
前記認識手段は、可変長の前記時系列情報を読み出して認識する認識装置として機能させる
プログラム。 Computer
Observation means for observing observation symbols based on sensor signals obtained from the environment;
Observation symbol storage means for storing the observation symbol observed over time in association with the time when the observation symbol was observed;
Recognizing means for reading information stored in the observation symbol storage means as time series information and recognizing a node of the HMM at the last time of the time series information;
The recognition means is a program that functions as a recognition device that reads and recognizes the time-series information of variable length.
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2009163192A JP2011018245A (en) | 2009-07-09 | 2009-07-09 | Recognition device and method, program, and recording medium |
| US12/829,984 US8725510B2 (en) | 2009-07-09 | 2010-07-02 | HMM learning device and method, program, and recording medium |
| CN201010225858.XA CN101950376B (en) | 2009-07-09 | 2010-07-02 | Hmm learning device and method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2009163192A JP2011018245A (en) | 2009-07-09 | 2009-07-09 | Recognition device and method, program, and recording medium |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2011018245A true JP2011018245A (en) | 2011-01-27 |
Family
ID=43595971
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2009163192A Withdrawn JP2011018245A (en) | 2009-07-09 | 2009-07-09 | Recognition device and method, program, and recording medium |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2011018245A (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110955466A (en) * | 2018-09-27 | 2020-04-03 | 罗伯特·博世有限公司 | Method, apparatus and computer program for determining the policy of an agent |
| CN111132819A (en) * | 2017-09-26 | 2020-05-08 | 西门子股份公司 | Method and corresponding auxiliary device for computer-aided processing of mass information of an object |
-
2009
- 2009-07-09 JP JP2009163192A patent/JP2011018245A/en not_active Withdrawn
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111132819A (en) * | 2017-09-26 | 2020-05-08 | 西门子股份公司 | Method and corresponding auxiliary device for computer-aided processing of mass information of an object |
| CN110955466A (en) * | 2018-09-27 | 2020-04-03 | 罗伯特·博世有限公司 | Method, apparatus and computer program for determining the policy of an agent |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN101950376B (en) | Hmm learning device and method | |
| Mihajlovic et al. | Dynamic bayesian networks: A state of the art | |
| CN115552430B (en) | Method and system for supporting policy learning | |
| Wang et al. | Multi-sensor control for multi-object Bayes filters | |
| JP2012008659A (en) | Data processing device, data processing method, and program | |
| JP2011059816A (en) | Information processing device, information processing method, and program | |
| US11699096B2 (en) | Systems and methods for event prediction using schema networks | |
| CN103544496A (en) | Method for recognizing robot scenes on basis of space and time information fusion | |
| JP2011059815A (en) | Apparatus and method for processing information and program | |
| US20250053179A1 (en) | Pathfinding apparatus, pathfinding method, and non-transitory computer-readable storage medium | |
| JP6749282B2 (en) | Human flow rate prediction device, human flow rate prediction method, and human flow rate prediction program | |
| JP6665071B2 (en) | Person flow prediction device, person flow prediction method, and person flow prediction program | |
| Mendonca et al. | Graph-based skill acquisition for reinforcement learning | |
| JP6908286B2 (en) | Information processing equipment, information processing methods and programs | |
| JP2011059817A (en) | Information processing device, information processing method, and program | |
| Li et al. | Labeled multi-Bernoulli filter based group target tracking using SDE and graph theory | |
| Tonkens et al. | Scalable safe long-horizon planning in dynamic environments leveraging conformal prediction and temporal correlations | |
| WO2020117358A9 (en) | Systems and methods for operating robots using object-oriented partially observable markov decision processes | |
| Zitar et al. | Optimum sensors allocation for drones multi-target tracking under complex environment using improved prairie dog optimization | |
| WO2021064858A1 (en) | Communication speed prediction device, communication speed prediction method, and recording medium | |
| WO2014087590A1 (en) | Optimization device, optimization method and optimization program | |
| JP2011018245A (en) | Recognition device and method, program, and recording medium | |
| JP7500504B2 (en) | Information processing device, information processing method, and program | |
| EP4416642A1 (en) | Method and apparatus | |
| JP2011018246A (en) | Hmm (hidden markov model) learning device and method, program, and recording medium |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20121002 |