JP2007299366A - 学習装置および学習方法、認識装置および認識方法、生成装置および生成方法、認識生成装置および認識生成方法、並びにプログラム - Google Patents
学習装置および学習方法、認識装置および認識方法、生成装置および生成方法、認識生成装置および認識生成方法、並びにプログラム Download PDFInfo
- Publication number
- JP2007299366A JP2007299366A JP2006225203A JP2006225203A JP2007299366A JP 2007299366 A JP2007299366 A JP 2007299366A JP 2006225203 A JP2006225203 A JP 2006225203A JP 2006225203 A JP2006225203 A JP 2006225203A JP 2007299366 A JP2007299366 A JP 2007299366A
- Authority
- JP
- Japan
- Prior art keywords
- node
- learning
- dynamics
- time
- internal state
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2218/00—Aspects of pattern recognition specially adapted for signal processing
- G06F2218/12—Classification; Matching
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Linguistics (AREA)
- Medical Informatics (AREA)
- Psychiatry (AREA)
- Social Psychology (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Image Analysis (AREA)
Abstract
【課題】多数のダイナミクスを学習し、その多数のダイナミクスに基づいて、外部環境からの入力に対して連続的に認識や生成を行う。
【解決手段】学習部1−4は、ダイナミクスを一つのノードに保持し、複数のノードによって構成されるダイナミクス記憶ネットワークの自己組織的な更新を、観測される時系列データに基づいて行う。また、認識部1−6は、ダイナミクス記憶ネットワークを用いて、観測された時系列データを認識し、生成部1−9は、制御信号1−8によって指定される、ダイナミクス記憶ネットワークのノードを用いて、時系列データを生成する。本発明は、例えば、ロボットなどに適用できる。
【選択図】図1
【解決手段】学習部1−4は、ダイナミクスを一つのノードに保持し、複数のノードによって構成されるダイナミクス記憶ネットワークの自己組織的な更新を、観測される時系列データに基づいて行う。また、認識部1−6は、ダイナミクス記憶ネットワークを用いて、観測された時系列データを認識し、生成部1−9は、制御信号1−8によって指定される、ダイナミクス記憶ネットワークのノードを用いて、時系列データを生成する。本発明は、例えば、ロボットなどに適用できる。
【選択図】図1
Description
本発明は、学習装置および学習方法、認識装置および認識方法、生成装置および生成方法、認識生成装置および認識生成方法、並びにプログラムに関し、特に、例えば、多数のダイナミクスを、観測される時系列データから自律的に学習し、また、その学習結果に基づき、入力される時系列データを認識することや、所定の入力に対して時系列データを生成して出力することができるようにする学習装置および学習方法、認識装置および認識方法、生成装置および生成方法、認識生成装置および認識生成方法、並びにプログラムに関する。
ロボットなどのシステムの行動(運動)は、時間発展法則により定められる力学系(dynamical systems)として記述することができ、様々な行動はその力学系がある特定のアトラクタダイナミクス(attractor dynamics)によって実現できることが知られている。
例えば、人のような二足型ロボットの歩行運動は、系の運動状態が様々な初期状態からある特定の周期軌道に落ち着くことを特徴とするリミットサイクルダイナミクス(limit cycle dynamics)として記述することができる(例えば、非特許文献1,2参照)。また、アームロボットがある対象物に対して手先を伸ばすようなリーチング運動は、様々な初期状態からある特定の固定点に落ち着くことを特徴とする不動点ダイナミクス(fixed-point dynamics)として記述することができる。さらに、全ての運動は、不動点ダイナミクスで実現可能な離散運動(discrete movement)とリミットサイクルダイナミクスで実現可能な周期運動(cyclic movement)の組み合わせにより実現できるとも言われている。
こうしたアトラクタダイナミクスによってロボットなどのシステムの行動(運動)を制御する場合の問題は、まず、タスクに応じたアトラクタダイナミクスをどのように構成するのか、次に、センサ入力を通じた得た情報に基づいて、アトラクタダイナミクスに従いながら、対応するモータ出力を生成することであり、これを実現するためには、アトラクタダイナミクスが環境と連続的に相互作用するかたちでシステムの行動出力(運動出力)を生成する必要がある。
こうしたアトラクタダイナミクスを人が設計するのではなく、学習する方法が提案されている。その方法の一つに、リカレントニューラルネットワーク(recurrent neural network、以下RNN)を利用する方法がある。RNNは、ネットワークに回帰ループで結合されるコンテキストユニットに持ち、そこに内部状態を保持することによって、理論的には、任意の力学系を近似可能であることが知られている。しかしながら、密結合した1つのネットワークモジュールで構成される学習モデルでは、大規模な行動学習に必要な多数のダイナミクスの学習をする際に、記憶しようとするダイナミクス間の干渉が非常に大きく、学習が困難であるという問題がある。そこで、複数のネットワークモジュールを組にして1つの学習モデルを構成するモジュラアーキテクチャ(modular architecture)を採用した学習モデルがいくつか提案されている。このモジュラアーキテクチャでは、原理的には、モジュールを増やすことによって記憶できるダイナミクスを容易に増やすことができるが、与えられた学習サンプルをどのモジュールで学習するかを決定するモジュール選択の問題が生じる。
このモジュール選択を行う方法としては、学習サンプル(学習データ)を、どのモジュールに割り当てるかを人が決める教師あり学習(supervised learning)と、学習モデルが自律的に決める教師なし学習(unsupervised learning)の二つの方法がある。ロボットやシステムが自律的に学習を行うためには、教師なし学習によりモジュール学習を行う必要がある。
このモジュール学習の方法の一つに、Mixture of RNN Expertという学習モデルが提案されている(例えば、特許文献1参照)。この学習モデルでは、複数のRNNモジュールの出力をゲート機構により統合して最終的な出力を決定し、その最終的な出力の性能が最大化するように最尤推定法(maximum likelihood estimation)によりゲートを調整しながら各RNNモジュールの学習を行う。しかしながら、このような全体最適化に基づく方法では、モジュールの数が大規模になった場合に、学習が困難になるという問題がある。それに対して、ベクトルパターンのカテゴリ学習に用いられる自己組織化マップ(self-organization map、以下SOM)(例えば、非特許文献3参照)やニューラルガス(neural-gas)(例えば、非特許文献4参照)などの方法では、そうした全体最適化に基づく学習則を用いずに、最適性は保証されないけれども、適切なカテゴリ構造を自己組織化的に教師なし学習できることが知られている。これらの方法では、モジュールの数が大規模になった場合でも、学習が実用的に可能である。
本件出願人は、先に、ベクトルパターンのかわりに時系列パターンを学習するためのモデルを提案している(特願2004-353382号(特開2006-162898号公報))。
しかしながら、ダイナミクスの学習、さらには学習した多数のダイナミクスに基づいて、外部入力に対して連続的に認識や時系列データの生成を行う方法は提案されていない。
本発明は、このような状況に鑑みてなされたものであり、例えば、ロボットの大規模な行動(運動)学習に必要な多数のダイナミクスを学習し、学習によって記憶した多数のダイナミクスに基づいて、外部環境からの入力に対して連続的に認識や時系列データの生成を行うことができるようにするものである。
本発明の第1の側面の学習装置は、ダイナミクスを一つのノードに保持し、複数のノードによって構成されるネットワークを記憶するネットワーク記憶手段と、観測される時系列データに基づき、前記ネットワークの各ダイナミクスを自己組織的に更新する学習手段とを備える。
本発明の第1の側面の学習方法、またはプログラムは、ダイナミクスを一つのノードに保持し、複数のノードによって構成されるネットワークの各ダイナミクスを、観測される時系列データに基づき、自己組織的に更新するステップを含む。
以上のような第1の側面の学習装置、学習方法、またはプログラムにおいては、ダイナミクスが一つのノードに保持され、複数のノードによって構成されるネットワークの各ダイナミクスが、観測される時系列データに基づき、自己組織的に更新される。
本発明の第2の側面の認識装置は、内部状態量を持つ力学系近似モデルをノードとして、前記ノードにダイナミクスを保持し、複数のノードによって構成されるネットワークを記憶するネットワーク記憶手段と、観測される時系列データに基づいて、前記内部状態量を更新しながら、観測される時系列データに最も適合するダイナミクスを保持するノードである勝者ノードを決定し、その勝者ノードを表す情報を、観測される時系列データの認識結果として出力する認識手段とを備える。
本発明の第2の側面の認識方法、またはプログラムは、内部状態量を持つ力学系近似モデルをノードとして、前記ノードにダイナミクスを保持し、複数のノードによって構成されるネットワークのノードの中から、観測される時系列データに基づいて、前記内部状態量を更新しながら、観測される時系列データに最も適合するダイナミクスを保持するノードである勝者ノードを決定し、その勝者ノードを表す情報を、観測される時系列データの認識結果として出力するステップを含む。
以上のような第2の側面の認識装置、認識方法、またはプログラムにおいては、内部状態量を持つ力学系近似モデルをノードとして、前記ノードにダイナミクスを保持し、複数のノードによって構成されるネットワークのノードの中から、観測される時系列データに基づいて、前記内部状態量を更新しながら、観測される時系列データに最も適合するダイナミクスを保持するノードである勝者ノードが決定され、その勝者ノードを表す情報が、観測される時系列データの認識結果として出力される。
本発明の第3の側面の生成装置は、内部状態量を持つ力学系近似モデルをノードとして、前記ノードにダイナミクスを保持し、複数のノードによって構成されるネットワークを記憶するネットワーク記憶手段と、時系列データの生成に用いるノードである生成ノードを決定し、前記生成ノードの前記内部状態量を更新しながら、時系列データを生成する生成手段とを備える。
本発明の第3の側面の生成方法、またはプログラムは、内部状態量を持つ力学系近似モデルをノードとして、前記ノードにダイナミクスを保持し、複数のノードによって構成されるネットワークのノードの中から、時系列データの生成に用いるノードである生成ノードを決定し、前記生成ノードの前記内部状態量を更新しながら、時系列データを生成するステップを含む。
以上のような第3の側面の生成装置、生成方法、またはプログラムにおいては、内部状態量を持つ力学系近似モデルをノードとして、前記ノードにダイナミクスを保持し、複数のノードによって構成されるネットワークのノードの中から、時系列データの生成に用いるノードである生成ノードが決定され、前記生成ノードの前記内部状態量を更新しながら、時系列データが生成される。
本発明の第4の側面の認識生成装置は、内部状態量を持つ力学系近似モデルをノードとして、前記ノードにダイナミクスを保持し、複数のノードによって構成されるネットワークを記憶するネットワーク記憶手段と、観測される時系列データに基づいて、前記内部状態量を更新しながら、観測される時系列データに最も適合するダイナミクスを保持するノードである勝者ノードを決定し、その勝者ノードを表す情報を、観測される時系列データの認識結果として出力する認識手段と、前記勝者ノードを決定する処理において得られる前記内部状態量を記憶する内部状態記憶手段と、前記認識結果に基づき、前記勝者ノードを、時系列データの生成に用いるノードである生成ノードに決定し、前記内部状態記憶手段の記憶値に基づいて、前記生成ノードの前記内部状態量を決定して、前記生成ノードの内部状態量を更新しながら、時系列データを生成する生成手段とを備える。
本発明の第4の側面の認識生成方法、またはプログラムは、内部状態量を持つ力学系近似モデルをノードとして、前記ノードにダイナミクスを保持し、複数のノードによって構成されるネットワークのノードの中から、観測される時系列データに基づいて、観測される時系列データに最も適合するダイナミクスを保持するノードである勝者ノードを、前記内部状態量を更新しながら決定し、その勝者ノードを表す情報を、観測される時系列データの認識結果として出力し、前記勝者ノードを決定する処理において得られる前記内部状態量を、内部状態記憶手段に記憶し、前記認識結果に基づき、前記勝者ノードを、時系列データの生成に用いるノードである生成ノードに決定し、前記内部状態記憶手段の記憶値に基づいて、前記生成ノードの前記内部状態量を決定して、前記生成ノードの内部状態量を更新しながら、時系列データを生成するステップを含む。
本発明の第4の側面の認識生成装置、認識生成方法、またはプログラムにおいては、内部状態量を持つ力学系近似モデルをノードとして、前記ノードにダイナミクスを保持し、複数のノードによって構成されるネットワークのノードの中から、観測される時系列データに基づいて、観測される時系列データに最も適合するダイナミクスを保持するノードである勝者ノードが、前記内部状態量を更新しながら決定され、その勝者ノードを表す情報が、観測される時系列データの認識結果として出力される。さらに、前記勝者ノードを決定する処理において得られる前記内部状態量が、内部状態記憶手段に記憶され、前記認識結果に基づき、前記勝者ノードが、時系列データの生成に用いるノードである生成ノードに決定される。そして、前記内部状態記憶手段の記憶値に基づいて、前記生成ノードの前記内部状態量が決定され、前記生成ノードの内部状態量を更新しながら、時系列データが生成される。
本発明の第1の側面によれば、多数のダイナミクスを、時系列データから自律的に学習することができる。
本発明の第2の側面によれば、多数のダイナミクスを、時系列データから自律的に学習した学習結果に基づき、入力される時系列データを認識することができる。
本発明の第3の側面によれば、多数のダイナミクスを、時系列データから自律的に学習した学習結果に基づき、所定の入力に対して時系列データを生成して出力することができる。
本発明の第4の側面によれば、多数のダイナミクスを、時系列データから自律的に学習した学習結果に基づき、入力される時系列データを認識し、その認識結果に対して時系列データを生成して出力することができる。
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書又は図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書又は図面に記載されていることを確認するためのものである。したがって、明細書又は図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
本発明の第1の側面の学習装置は、
ダイナミクスを一つのノードに保持し、複数のノードによって構成されるネットワークを記憶するネットワーク記憶手段(例えば、図1や図21のネットワーク記憶部1−5)と、
観測される時系列データに基づき、前記ネットワークの各ダイナミクスを自己組織的に更新する学習手段(例えば、図1の学習部1−4や、図21の学習部21−4)と
を備える。
ダイナミクスを一つのノードに保持し、複数のノードによって構成されるネットワークを記憶するネットワーク記憶手段(例えば、図1や図21のネットワーク記憶部1−5)と、
観測される時系列データに基づき、前記ネットワークの各ダイナミクスを自己組織的に更新する学習手段(例えば、図1の学習部1−4や、図21の学習部21−4)と
を備える。
本発明の第1の側面の学習装置には、
各ノードが保持するダイナミクスに対応する学習データを記憶するための学習データ記憶手段(例えば、図6の学習データ記憶部6−2)をさらに設けることができ、
前記学習手段には、前記学習データ記憶手段に記憶された学習データと観測される時系列データを混合することで学習データを更新させ、その更新後の学習データに基づいてダイナミクスを更新させることができる。
各ノードが保持するダイナミクスに対応する学習データを記憶するための学習データ記憶手段(例えば、図6の学習データ記憶部6−2)をさらに設けることができ、
前記学習手段には、前記学習データ記憶手段に記憶された学習データと観測される時系列データを混合することで学習データを更新させ、その更新後の学習データに基づいてダイナミクスを更新させることができる。
本発明の第2の側面の認識装置は、
内部状態量を持つ力学系近似モデルをノードとして、前記ノードにダイナミクスを保持し、複数のノードによって構成されるネットワークを記憶するネットワーク記憶手段(例えば、図1や図21のネットワーク記憶部1−5)と、
観測される時系列データに基づいて、前記内部状態量を更新しながら、観測される時系列データに最も適合するダイナミクスを保持するノードである勝者ノードを決定し、その勝者ノードを表す情報を、観測される時系列データの認識結果として出力する認識手段(例えば、図1や図21の認識部1−6)と
を備える。
内部状態量を持つ力学系近似モデルをノードとして、前記ノードにダイナミクスを保持し、複数のノードによって構成されるネットワークを記憶するネットワーク記憶手段(例えば、図1や図21のネットワーク記憶部1−5)と、
観測される時系列データに基づいて、前記内部状態量を更新しながら、観測される時系列データに最も適合するダイナミクスを保持するノードである勝者ノードを決定し、その勝者ノードを表す情報を、観測される時系列データの認識結果として出力する認識手段(例えば、図1や図21の認識部1−6)と
を備える。
本発明の第3の側面の生成装置は、
内部状態量を持つ力学系近似モデルをノードとして、前記ノードにダイナミクスを保持し、複数のノードによって構成されるネットワークを記憶するネットワーク記憶手段(例えば、図1や図21のネットワーク記憶部1−5)と、
時系列データの生成に用いるノードである生成ノードを決定し、前記生成ノードの前記内部状態量を更新しながら、時系列データを生成する生成手段(例えば、図1や図21の生成部1−9)と
を備える。
内部状態量を持つ力学系近似モデルをノードとして、前記ノードにダイナミクスを保持し、複数のノードによって構成されるネットワークを記憶するネットワーク記憶手段(例えば、図1や図21のネットワーク記憶部1−5)と、
時系列データの生成に用いるノードである生成ノードを決定し、前記生成ノードの前記内部状態量を更新しながら、時系列データを生成する生成手段(例えば、図1や図21の生成部1−9)と
を備える。
本発明の第4の側面の認識生成装置は、
内部状態量を持つ力学系近似モデルをノードとして、前記ノードにダイナミクスを保持し、複数のノードによって構成されるネットワークを記憶するネットワーク記憶手段(例えば、図12のネットワーク記憶部1−5)と、
観測される時系列データに基づいて、前記内部状態量を更新しながら、観測される時系列データに最も適合するダイナミクスを保持するノードである勝者ノードを決定し、その勝者ノードを表す情報を、観測される時系列データの認識結果として出力する認識手段(例えば、図12の認識部1−6)と、
前記勝者ノードを決定する処理において得られる前記内部状態量を記憶する内部状態記憶手段(例えば、図12の内部状態記憶部1−11)と、
前記認識結果に基づき、前記勝者ノードを、時系列データの生成に用いるノードである生成ノードに決定し、前記内部状態記憶手段の記憶値に基づいて、前記生成ノードの前記内部状態量を決定して、前記生成ノードの内部状態量を更新しながら、時系列データを生成する生成手段(例えば、図12の生成部1−9)と
を備える。
内部状態量を持つ力学系近似モデルをノードとして、前記ノードにダイナミクスを保持し、複数のノードによって構成されるネットワークを記憶するネットワーク記憶手段(例えば、図12のネットワーク記憶部1−5)と、
観測される時系列データに基づいて、前記内部状態量を更新しながら、観測される時系列データに最も適合するダイナミクスを保持するノードである勝者ノードを決定し、その勝者ノードを表す情報を、観測される時系列データの認識結果として出力する認識手段(例えば、図12の認識部1−6)と、
前記勝者ノードを決定する処理において得られる前記内部状態量を記憶する内部状態記憶手段(例えば、図12の内部状態記憶部1−11)と、
前記認識結果に基づき、前記勝者ノードを、時系列データの生成に用いるノードである生成ノードに決定し、前記内部状態記憶手段の記憶値に基づいて、前記生成ノードの前記内部状態量を決定して、前記生成ノードの内部状態量を更新しながら、時系列データを生成する生成手段(例えば、図12の生成部1−9)と
を備える。
本発明の第1の側面の学習方法、またはプログラムは、
ダイナミクスを一つのノードに保持し、複数のノードによって構成されるネットワークの各ダイナミクスを、観測される時系列データに基づき、自己組織的に更新する
ステップ(例えば、図7のステップ7−3乃至7−6や、図23のステップ23−6)を含む。
ダイナミクスを一つのノードに保持し、複数のノードによって構成されるネットワークの各ダイナミクスを、観測される時系列データに基づき、自己組織的に更新する
ステップ(例えば、図7のステップ7−3乃至7−6や、図23のステップ23−6)を含む。
本発明の第2の側面の認識方法、またはプログラムは、
内部状態量を持つ力学系近似モデルをノードとして、前記ノードにダイナミクスを保持し、複数のノードによって構成されるネットワークのノードの中から、観測される時系列データに基づいて、前記内部状態量を更新しながら、観測される時系列データに最も適合するダイナミクスを保持するノードである勝者ノードを決定し、その勝者ノードを表す情報を、観測される時系列データの認識結果として出力する
ステップ(例えば、図10のステップ10−2乃至10−4)を含む。
内部状態量を持つ力学系近似モデルをノードとして、前記ノードにダイナミクスを保持し、複数のノードによって構成されるネットワークのノードの中から、観測される時系列データに基づいて、前記内部状態量を更新しながら、観測される時系列データに最も適合するダイナミクスを保持するノードである勝者ノードを決定し、その勝者ノードを表す情報を、観測される時系列データの認識結果として出力する
ステップ(例えば、図10のステップ10−2乃至10−4)を含む。
本発明の第3の側面の生成方法、またはプログラムは、
内部状態量を持つ力学系近似モデルをノードとして、前記ノードにダイナミクスを保持し、複数のノードによって構成されるネットワークのノードの中から、時系列データの生成に用いるノードである生成ノードを決定し、前記生成ノードの前記内部状態量を更新しながら、時系列データを生成する
ステップ(例えば、図11のステップ11−2および11−3)を含む。
内部状態量を持つ力学系近似モデルをノードとして、前記ノードにダイナミクスを保持し、複数のノードによって構成されるネットワークのノードの中から、時系列データの生成に用いるノードである生成ノードを決定し、前記生成ノードの前記内部状態量を更新しながら、時系列データを生成する
ステップ(例えば、図11のステップ11−2および11−3)を含む。
本発明の第4の側面の認識生成方法、またはプログラムは、
内部状態量を持つ力学系近似モデルをノードとして、前記ノードにダイナミクスを保持し、複数のノードによって構成されるネットワークのノードの中から、観測される時系列データに基づいて、観測される時系列データに最も適合するダイナミクスを保持するノードである勝者ノードを、前記内部状態量を更新しながら決定し、その勝者ノードを表す情報を、観測される時系列データの認識結果として出力し(例えば、図14のステップ14−3乃至14−5や、図16のステップ16−3乃至16−6)、
前記勝者ノードを決定する処理において得られる前記内部状態量を、内部状態記憶手段に記憶し(例えば、図14のステップ14−6や、図16のステップ16−7)、
前記認識結果に基づき、前記勝者ノードを、時系列データの生成に用いるノードである生成ノードに決定し、前記内部状態記憶手段の記憶値に基づいて、前記生成ノードの前記内部状態量を決定して、前記生成ノードの内部状態量を更新しながら、時系列データを生成する(例えば、図14のステップ14−7乃至14−10や、図16のステップ16−8乃至16−11)ステップを含む。
内部状態量を持つ力学系近似モデルをノードとして、前記ノードにダイナミクスを保持し、複数のノードによって構成されるネットワークのノードの中から、観測される時系列データに基づいて、観測される時系列データに最も適合するダイナミクスを保持するノードである勝者ノードを、前記内部状態量を更新しながら決定し、その勝者ノードを表す情報を、観測される時系列データの認識結果として出力し(例えば、図14のステップ14−3乃至14−5や、図16のステップ16−3乃至16−6)、
前記勝者ノードを決定する処理において得られる前記内部状態量を、内部状態記憶手段に記憶し(例えば、図14のステップ14−6や、図16のステップ16−7)、
前記認識結果に基づき、前記勝者ノードを、時系列データの生成に用いるノードである生成ノードに決定し、前記内部状態記憶手段の記憶値に基づいて、前記生成ノードの前記内部状態量を決定して、前記生成ノードの内部状態量を更新しながら、時系列データを生成する(例えば、図14のステップ14−7乃至14−10や、図16のステップ16−8乃至16−11)ステップを含む。
図1は、本発明を適用したデータ処理装置の一実施の形態の構成例を示すブロック図である。
図1のデータ処理装置は、力学系を近似するモデルである力学系近似モデルのうちの、内部状態量を持つ力学系近似モデルを一つのノードとするダイナミクス記憶ネットワークを記憶するネットワーク記憶部1−5と、そのダイナミクス記憶ネットワークのパラメータを自己組織的に学習する学習部1−4とを含む。ダイナミクス記憶ネットワークの各ノードには、時系列データの力学的な特性がダイナミクスとして記憶される。学習部1−4によって学習されたパラメータ(によって定義されるダイナミクス記憶ネットワークのノードに記憶(保持)されたダイナミクス)は、時系列データの認識や生成のために利用される。
図1のデータ処理装置は、例えばロボット、マニピュレータシステム、パンチルトカメラ、船舶、航空機、自動車、その他の電子機器の制御信号の認識や生成に利用される。特に、自律型ロボットなどの自律システムにおいて、センサおよびモータなどの入出力信号一般の学習、認識、生成に利用される。
図1のデータ処理装置では、観測することができる観測信号1−1が信号入力部1−2に入力される。観測信号1−1は、例えば音や画像の信号、LED(Light Emitting Diode)の明るさ、モータの回転角度や回転角速度などであり、システムに入力される信号およびシステムが出力する信号のどちらも対象となる。
信号入力部1−2は、観測される観測信号1−1に対応する電気信号を出力する。具体的には、信号入力部1−2は、例えば、観測信号1−1が音の信号の場合はマイクに対応し、観測信号1−1が画像信号の場合はカメラに対応する。また、モータの回転角度や回転速度の計測装置なども、信号入力部1−2に対応する。
ここで、以下、適宜、信号入力部1−2に入力される信号の他、信号入力部1−2が出力する信号も、観測信号1−1という。また、観測信号1−1としては定常信号だけでなく時間的に変化する非定常信号も扱うものとする。
さらに、以下では、主にロボットシステムにおけるセンサモータ信号(例えば、センサが出力する信号や、モータに入力される(与えられる)信号(モータを制御する制御信号)をコンポーネントとするベクトル)を観測信号1−1の例として説明する。
また、センサモータ信号は、区間検出装置などによって、処理対象として検出された区間の信号が信号入力部1−2から出力されるものとして説明を行う。
ただし、観測信号1−1は、決してセンサモータ信号だけに制限されるものではない。すなわち、観測信号1−1としては、システムに係わる任意の入出力時系列信号を採用することが可能である。
また、信号の区間に関しても、適当な長さに区切られた信号が入力されればよく、その区切り方は、特に限定されない。したがって、観測信号1−1に応じて、最も良い方法で適当な長さに区切られた信号が信号入力部1−2に入力されれば良い。
特徴抽出部1−3では、信号入力部1−2に入力された観測信号1−1から特徴量の抽出が行われる。例えば、センサ信号の一つである音声信号に対しては、一定時間間隔で周波数分析などの処理が施され、メルケプストラムなどの特徴量が時系列に抽出される。
ここで、メルケプストラムとは音声認識などで広く利用されている特徴量である。特徴抽出部1−3が観測信号1−1から特徴量を時系列に抽出することにより得られる、その特徴量の時系列データは、必要に応じて、学習部1−4、認識部1−6、または生成部1−9に送られる。
学習部1−4は、特徴抽出部1−3から送られてきた時系列データを用いて、ネットワーク記憶部1−5に記憶されたダイナミクス記憶ネットワークのパラメータ更新を行う。
なお、パラメータ更新のことを学習と呼ぶ場合がある。
学習部1−4による学習についての詳細は後述するが、基本的には、ラベルの付与されていない時系列データを繰り返し与えていくと、その中の特徴的なダイナミクスを自己組織的に獲得していく教師なし学習が実行される。その結果、ダイナミクス記憶ネットワークには、代表的なダイナミクスが効率的に記憶されることになる。なお、ダイナミクス記憶ネットワークに記憶されたダイナミクスは、認識部1−6や生成部1−9が必要に応じていつでも利用することができる。
以下では、特徴抽出部1−3から送られてくるデータを時系列データと呼び、ダイナミクス記憶ネットワークに記憶されるものをダイナミクスと呼ぶものとする。
ここで、ダイナミクスは、時間変化する力学系を表すもので、例えば、具体的な関数によって表現することができる。ダイナミクス記憶ネットワークでは、時系列データの時間変化の特徴が、ダイナミクスとして記憶される。
認識部1−6は、特徴抽出部1−3から送られてくる時系列データと、それまでの学習によってダイナミクス記憶ネットワークに保持されたダイナミクスとを照らし合わせ、特徴抽出部1−3からの時系列データに最も類似したダイナミクスを決定し、その決定の結果を認識結果1−7として出力する。
一方、ダイナミクス記憶ネットワークに保持されたダイナミクスからは、必要に応じて時系列データを生成することができる。この時系列データの生成処理を行うのが生成部1−9である。
生成部1−9は、まず、どのダイナミクスから時系列データを生成するかを指定する制御信号1−8を受け取り、その制御信号1−8によって指定されたダイナミクスから時系列データの生成を行う。生成部1−9において生成された時系列データは、生成結果1−10として出力される。
内部状態記憶部1−11は、ダイナミクス記憶ネットワークの内部状態量を保持する。内部状態記憶部1−11に記憶された内部状態量は、例えば、認識部1−6によって更新され、生成部1−9によって生成処理に利用される。
以上が、全体の構成に関する概要説明である。つづいて、学習部1−4とダイナミクス記憶ネットワークに関する詳細を説明する。
[学習(初期学習)について]
学習は、教師なし学習と教師あり学習とに分けることができる。学習部1−4では、時系列データの教師なし学習が行われるが、この教師なし学習を説明する前に、教師あり学習について説明する。
学習は、教師なし学習と教師あり学習とに分けることができる。学習部1−4では、時系列データの教師なし学習が行われるが、この教師なし学習を説明する前に、教師あり学習について説明する。
図2は、時系列データの教師あり学習の学習方法の一例を示している。
まず、学習に利用する時系列データである学習データを、想定したカテゴリごとに用意する。例えば、「A」、「B」、「C」というタスクそれぞれのセンサモータ信号を学習する場合、それぞれのタスクに応じた多数のセンサモータ信号が用意される。ここで、タスク「A」のセンサモータ信号とは、例えば、ロボットがタスク「A」を行うときに、そのロボットが有するセンサが出力する時系列のセンサ信号と、ロボットにタスク「A」としての行動を行わせるようにモータを駆動する時系列のモータ信号とをコンポーネントとする時系列のベクトルである。タスク「B」、「C」のセンサモータ信号も、同様である。
図2において、学習データ2−1は、カテゴリ(タスク)「A」のセンサモータ信号であり、学習データ2−2は、カテゴリ「B」のセンサモータ信号である。また、学習データ2−3は、カテゴリ「C」のセンサモータ信号である。
次に、学習に利用するモデルを、想定したカテゴリごとに用意する。モデルとしては、例えばRNNなどが利用される。
図2において、モデル2−7は、カテゴリ「A」のモデル(カテゴリ「A」に対応したモデル)であり、モデル2−8は、カテゴリ「B」のモデルである。また、モデル2−9は、カテゴリ「C」のモデルである。
モデルのパラメータの学習(更新)は対応する学習データだけを使って行われる。例えば、カテゴリ「A」に対応する学習データ2−1を使って、カテゴリ「A」のモデル(学習モデル)2−7の学習が行われる。カテゴリ「B」、「C」についても同様である。
教師あり学習では、カテゴリごとに学習を行うため、それぞれのカテゴリに対応する学習データを与える必要があるが、その反面、カテゴリごとにモデルを構成することが可能である。
これに対して、図3は、学習部1−4が行う教師なし学習の学習手法の例を示している。
まず、教師なし学習は、学習データ3−1に、どのようなカテゴリのデータが含まれているのかは未知であり、カテゴリ数も未知である点が図2で説明した教師あり学習とは大きく異なっている。
学習データ3−1に含まれる各データにラベル(データが、どのようなカテゴリのデータであるかを表す情報)は付与されていない。したがって、学習データ3−1を用いて、図2で説明したような教師あり学習は行うことができない。
そこで、ダイナミクス記憶ネットワークを導入する。ダイナミクス記憶ネットワークは、ダイナミクスを一つのノードに保持し、複数のノードによって構成されるネットワークである。
ここで、本実施の形態では、ダイナミクス記憶ネットワークのノードに保持されるダイナミクスを、例えば、内部状態量を持つ力学系近似モデルによってモデル化することとする。この場合、ダイナミクス記憶ネットワークは、内部状態量を持つ力学系近似モデルをノードとするネットワーク(内部状態量を持つ力学系近似モデルを保持(記憶)するノードによって構成されるネットワーク)である。
また、内部状態量を持つモデルとは、例えば、ある入力があると、その入力に応じて出力をするモデルを考えた場合に、外部から観測することができる入力と出力とは別に、外部からは観測されない(できない)、モデルの内部の状態を表す内部状態量を有するモデルである。内部状態量を持つモデルでは、入力の他に、内部状態量をも用いて出力が求められるため、同一の入力があっても、内部状態量が異なると、異なる出力が得られる。
図3では、ダイナミクス記憶ネットワーク3−3が、6個のノード3−4乃至3−9から構成されている。
学習部1−4は、ダイナミクス記憶ネットワーク3−3全体によって、学習データ3−1の特徴を適切に表現できるように学習を行う。ダイナミクス記憶ネットワーク3−3を構成するそれぞれのノード3−4乃至3−9では自己組織的に学習が行われる。この学習は教師なし学習に対応する。
ここで、ダイナミクス記憶ネットワークでは、一つのノードが必ずしも一つのカテゴリに対応するとは限らないということには注意しておく必要がある。むしろ、複数のノードによって、あるカテゴリが構成されると見ることができる。例えば、学習データ3−1にカテゴリ「A」、「B」、「C」の3つのカテゴリのデータが含まれる場合には、カテゴリ「A」、「B」、「C」それぞれが複数のノードによって学習されることがある。また、学習データ3−1に含まれるデータが明確にカテゴリ分けできない(人間がカテゴリ分けできない)場合であっても、学習が可能である。
ダイナミクス記憶ネットワークは、複数のノードで構成されるネットワークである。ノードの一つ一つは時系列パターン(時系列データのパターン)をダイナミクスとして保持するために利用される。そして、ノードとノードは結合関係を持つことができる。この結合関係をリンクと呼ぶ。図3のダイナミクス記憶ネットワーク3−3では、例えば、ノード3−4は、ノード3−5と結合関係を有し、ノード3−6とも結合関係を有するが、この結合関係がリンクにあたる。
図4と図5は、ダイナミクス記憶ネットワークの代表的な例を示している。
図4は、すべてのノード4−2乃至4−7がリンクを持たないダイナミクス記憶ネットワーク4−1を示している。
図5は、すべてのノード5−2乃至5−10を2次元的に配置し、縦方向および横方向に隣接するノード間にリンクを与えたダイナミクス記憶ネットワーク5−1を示している。ここで、リンクは空間上にノードが配置される構造を与えるために利用される。つまり、図5のダイナミクス記憶ネットワーク5−1は、2次元的なノードの配置構造を与えたダイナミクス記憶ネットワークの例であり、図4のダイナミクス記憶ネットワーク4−1は、ノードの配置に空間的な制約がない構造を与えたダイナミクス記憶ネットワークの例である。
リンクによって与えられる空間的なノードの配置構造に基づき、ノードどうしの空間上での距離関係が決定される。例えば、図5では、あるノードに着目したとき、その着目ノードとリンクで直接結合された、着目ノードに隣接するノードは(着目ノードとの距離が)最も近く、その隣接ノードから先のリンクを順にたどっていくことで到達するノードは(着目ノードとの距離が)少しずつ遠くなっていく。
一方、図4では、空間上における距離関係は与えられない。
図4や図5以外にも、リンクの構成の仕方によって、ノードの空間上における配置構造を変えることができ、その配置構造はリンクを使うことで任意に設定できる。
図6は、ダイナミクス記憶ネットワークの一つのノードの詳細を示す図である。
一つのノードは、内部状態量を持つ力学系近似モデル6−1と、その力学系近似モデル6−1のパラメータを学習するためのデータ(学習データ)を記憶しておく学習データ記憶部6−2で構成される。内部状態量を持つ力学系近似モデル6−1としては、例えばRNNなどを用いることができ、この場合、内部状態量としては、例えば、RNNの出力層から入力層にフィードバックされるコンテキストがある。なお、学習データ記憶部6−2は、ネットワーク記憶部1−5(図1)の記憶領域の一部である。
図6では、力学系近似モデル6−1として、三層型ニューラルネットワーク(NN)の出力層から入力層への回帰ループを持つRNNが用いられている。このRNNを用いて、時系列データにおける時刻Tの状態ベクトルXTを入力し、時刻T+1の状態ベクトルXT+1を予測して出力することを学習(予測学習、prediction learning)することにより、対象となる時系列データの時間発展法則を学習することができる。
RNNのような内部状態量を持つ力学系近似モデルのパラメータの推定方法には、例えば、BPTT(Back-Propagation Through Time)法が利用される。BPTT法については、例えば、D. E. Rumelhart, G. E. Hinton & R. E. Williams, 1986 “Learning internal representations by error propagation”, In D. E. Rumelhart & J. McClelland, "Parallel distributed processing", pp. 318-364, Cambridge, MA: MIT Pressや、R. J. Williams and D. Zipser, "A learning algorithm for continually running fully recurrent neural networks", Neural Computation, 1:270-280, 1989等に記載されている。なお、BPTT法は、最急降下法に基づく学習手法であるBack-Propagation法を、RNNの学習用に拡張した手法である。Back-Propagation法については、例えば、R.ビール、T.ジャクソン、「ニューラルコンピューティング入門」(海文堂)等に記載されている。
内部状態量を持つ力学系近似モデル6−1では、学習データ記憶部6−2に記憶された学習データの力学的な特性が学習され、これにより、内部状態量を持つ力学系近似モデル6−1と学習データ記憶部6−2の学習データは対応関係を持つことになる。
ここで、学習に使われる学習データは時系列データであり、内部状態量を持つ力学系近似モデル6−1は、時系列データの時系列パターンをダイナミクスとして学習する。
ダイナミクス記憶ネットワークの学習には、例えば、オンライン学習が適用され、観測信号1−1が入力されるたびに、その観測信号1−1を学習データとして用いた学習が行われることで、力学系近似モデル6−1のパラメータが少しずつ更新される。これは、学習データ記憶部6−2に記憶される学習データが、学習が進むにしたがって少しずつ変化することで実現される。つまり、学習データ記憶部6−2に記憶される学習データが少しずつ変化し、その変化に伴って内部状態量を持つ力学系近似モデル6−1のパラメータが更新されていく。
つづいて、図7を参照して、図1のデータ処理装置によるダイナミクス記憶ネットワークの学習の処理について説明する。
まず最初に、学習部1−4は、ネットワーク記憶部1−5に記憶されたダイナミクス記憶ネットワークのすべてのパラメータの初期化を行う(ステップ7−1)。具体的には、ダイナミクス記憶ネットワークの各ノードの内部状態量を持つ力学系近似モデル6−1のパラメータに適当な値が初期値として付与される。ここで、ダイナミクス記憶ネットワークのノードが有する力学系近似モデル6−1が、例えば、RNNである場合には、ステップ7−1では、そのRNNのユニットに入力される信号に与えられる重み(結合荷重)等を、力学系近似モデル6−1のパラメータとして、そのパラメータに適当な初期値がセットされる。
次に、信号入力部1−2に観測信号1−1が一つ入力されると、特徴抽出部1−3において、その観測信号1−1の特徴量が時系列に抽出され、時系列データとして学習部1−4に送られる(ステップ7−2)。学習部1−4では、特徴抽出部1−3から送られてきた時系列データを入力データとして、その入力データに対して、ネットワーク記憶部1−5に記憶されたダイナミクス記憶ネットワークに含まれる各ノードに対応する(各ノードが有する)内部状態量を持つ力学系近似モデル6−1とのスコア計算が、内部状態量を更新しながら行われる(ステップ7−3)。
ここで、内部状態量を持つ力学系近似モデル6−1が、例えば、RNNで与えられる場合には、入力に対して得られるべき出力の真値と、その入力に対してRNNが出力する出力値との誤差である出力誤差(予測誤差)がスコアとして利用される。出力誤差(の計算方法)には、一般的に平均二乗誤差が用いられる。但し、出力誤差は、平均二乗誤差に限定されるものではない。スコア計算の結果、各ノードにつき、ノードが入力データに適合する度合いを表すスコアが付与される。
また、力学系近似モデル6−1が、例えば、RNNで与えられる場合には、所定の値を基準として、その所定の値を変えていく(更新していく)ことにより得られる値のうちの、スコアを最も良くする値が、内部状態量としてのRNNのコンテキストの初期値に決定され、コンテキストを初期値から更新しながら、スコアの計算が行われる。
なお、コンテキストの初期値の決定に用いる所定の値としては、例えば、ランダムな値や、前回のRNNの学習時に求められた、コンテキストの最終的な更新値(以下、適宜、前回更新値という)などを採用することができる。
例えば、今回の学習時に用いられる入力データと、前回の学習時に用いられた入力データとが、何らの関係もないことが分かっている場合には、コンテキストの初期値の決定に用いる所定の値としては、ランダムな値を採用することができる。
また、例えば、今回の学習時に用いられる入力データと、前回の学習時に用いられた入力データとが、連続する時系列データなどのように、何らかの関係を有することが分かっている場合には、コンテキストの初期値の決定に用いる所定の値としては、前回更新値を採用することができる。なお、前回更新値を、コンテキストの初期値の決定に用いる所定の値として採用する場合には、前回更新値を、そのまま、コンテキストの初期値に決定することができる。
ここで、スコアが良い、あるいは、スコアが高いとは、スコアが距離や誤差等であれば、スコアの値が小さいことを意味し、スコアが確率であれば、スコアの値が大きいことを意味する。
学習部1−4は、ダイナミクス記憶部ネットワークを構成するノードそれぞれのスコアを比較することによって、最もスコアの良いノード、すなわち、入力データに最も適合するノードである勝者ノードを決定する(ステップ7−4)。
さらに、学習部1−4では、勝者ノードを中心として各ノードの学習の重みが決定される(ステップ7−5)。
そして、学習部1−4では、各ノードの内部状態量を持つ力学系近似モデル6−1のパラメータの更新が、学習の重みに応じて行われる(ステップ7−6)。
ここで、勝者ノードのパラメータだけを更新する方法はWTA(winner-take-all)に対応し、勝者ノードの近傍のノードに対してもパラメータの更新を行う方法がSMA(soft-max adaptation)に対応する。学習部1−4は、SMAで、パラメータの更新を行う。
その後、信号入力部1−2に、次の観測信号1−1が入力されると、再び、ステップ7−2からステップ7−6までの処理が繰り返される。つまり、観測信号1−1が入力されるたびに、ステップ7−2からステップ7−6の処理が繰り返される。
図8は、ノードのパラメータをSMAで更新するときに用いられる学習の重みを示している。
図8の左において、ノード8−1乃至8−6は、ダイナミクス記憶ネットワークを構成するノードである。ノード8−1乃至8−6のうちのノード8−1は、勝者ノードであり、ノード8−2乃至8−6は、勝者ノード8−1からの距離が近い順に並べられている。
図8の右のグラフは、学習の重みと勝者ノードからの距離の関係を示しており、横軸は学習の重みを、縦軸は勝者ノードからの距離を、それぞれ示している。
図8の右のグラフによれば、勝者ノード8−1に対しては、学習の重みを最も大きくし、他のノード8−2乃至8−6それぞれに対しては、勝者ノード8−1からの距離が離れるにしたがって、学習の重みが小さくなるように学習の重みが決定される。
勝者ノードからの距離は、ダイナミクス記憶ネットワークのリンクによって与えられる空間上のノードの配置構造に基づいて決定される。例えば、図5に示した、ノード5−2乃至5−10が2次元の配置構造となるリンクが与えられたダイナミクス記憶ネットワーク5−1において、勝者ノードが、例えばノード5−7であれば、その勝者ノード5−7に隣接するノード5−4、5−6、5−10が最も近く、ノード5−3、5−5、5−9がその次に近く、ノード5−2と5−8が最も遠いものとなる。この場合、ノードとノードをつなぐ最小のリンク数を距離として利用すると、近い順に距離は1、2、3として与えられることになる。
図4のようにリンクを与えない場合には、入力データ(ノードのスコアの計算に用いられる時系列データ)に基づき各ノードにおいて計算されたスコアの良い順にノードを順位づけしたときの、その順位が勝者ノードからの距離として利用される。つまり、勝者ノードからスコアが良い順に、0、1、2、3、・・・が距離として与えられる。このような勝者ノードからの距離の与え方は、前述したSOMやNeural-Gas algorithmで利用されている方法と同じである。この勝者ノードからの距離と学習の重みの関係を示したのが次式である。
αは学習の重み、Gは(学習の重みαのうちの)勝者ノードに与える学習の重み、γは減衰係数で0<γ<1の範囲の定数、dは勝者ノードからの距離、ΔはSMAにおける近傍に対する学習の重みを調整するための変数である。
式(1)によれば、学習の重みαは、減衰係数γのd/△乗のG倍として求められる。また、式(1)において、減衰係数γは、1未満の正の値であるから、距離dが大になるほど、学習の重みαは小さくなる。
今、距離dに関しては、勝者ノードからの距離が近い順に1、2、3で与えられるとし、勝者ノードに対してはd=0が与えられるとする。この時、例えば、G=8、γ=0.5、Δ=1とすれば、学習の重みαは、勝者ノードからの距離dが離れるにしたがって、8、4、2、1と求まることになる。ここで、変数Δを少しずつ0に近づけていくと、学習の重みαは勝者ノードから離れるにしたがってより小さい値となる。そして、変数Δが0に近くなると、勝者ノード以外のノードの学習重みはほとんど0となり、これはWTAと同様となる。このように、変数Δを調整することで、SMAにおける勝者ノードの近傍に対する学習の重みαを調整することが可能となる。基本的には、変数Δは学習の開始時は大きくし、時間の経過と伴に小さくなるように調整が行われる。
このような学習の重みαに基づき、勝者ノードのパラメータは入力データの影響を最も強く受け、勝者ノードから離れるにしたがって、その影響が小さくなるように、他のノード(勝者ノード以外のノード)のパラメータの更新が行われる。
図9は、ノードのパラメータの更新の方法を説明する図である。
いま、あるノードのパラメータ更新前の内部状態量を持つ力学系近似モデル6−1のパラメータの学習に使われた学習データが学習データ記憶部6−2に格納されているとする。
ノードのパラメータの更新前の学習データを旧学習データと呼ぶものとする。
ノードのパラメータの更新は、例えば、そのノードに対して決定された学習の重みαに応じて、入力データ9−3を、旧学習データ9−4に追加し、その結果得られる新学習データを用いて行われる。すなわち、学習の重みαに応じて、入力データ9−3と旧学習データ9−4を足し合わせる(混合する)ことで、新学習データが構成され、この新学習データが学習データ記憶部6−2に記憶される。そして、その新学習データによって、内部状態量を持つ力学系近似モデル6−1のパラメータが更新される。
なお、パラメータの更新は、例えば、更新前の内部状態量を持つ力学系近似モデル6−1のパラメータを初期値とし、上述したように、BPTT法によって新学習データに基づくパラメータを推定することにより行われる。
ここで、新学習データを構成する際の、入力データ9−3と旧学習データ9−4とを足し合わせる比率に関して説明する。
仮に、入力データ9−3と旧学習データ9−4との比率を1:0にすると、新学習データは完全に入力データ9−3だけで構成されることになる。
一方、入力データ9−3と旧学習データ9−4との比率を0:1にすると、新学習データには入力データ9−3は追加されず、旧学習データ9−4だけで構成されることになる。つまり、入力データ9−3と旧学習データ9−4との比率を変えることで、パラメータに与える入力データ9−3の影響の強さを変えることができる。
入力データ9−3と旧学習データ9−4との比率を、前に述べた学習の重みαに基づいて適切に調整することによって、入力データの影響を適切にパラメータに与える学習を行うことができる。その調整方法の一つのやり方について説明する。
まず、ノードが学習データ記憶部6−2に保持できる時系列データの個数を一定とし、その値をHとする。つまり、H個の時系列データで内部状態量を持つ力学系近似モデル6−1のパラメータが学習されるものとする。そして、入力データ9−3と旧学習データ9−4との比率を、ノードの学習の重みαに応じて、α:H−αとなるように調整する。例えば、H=100とすれば、α=8の場合、入力データ9−3と旧学習データ9−4との比率は、8:92となるように調整が行われることになる。そして、このような比率で、入力データ9−3と旧学習データ9−4とを足し合わせることで、H個の新学習データが構成される。
α:H−αの比率で、入力データ9−3と旧学習データ9−4とを足し合わせる方法としては、例えば、以下のような方法を採用することができる。
すなわち、まず、入力データ9−3については、時系列データが一つ与えられるだけなので、これをα倍したデータを追加する。例えば、α=8の場合、入力データ9−3としての同一の時系列データを8個追加する。
一方、旧学習データ9−4については、その個数はHであり、これをH−αに調整する必要がある。例えば、上述したように、α=8の場合、旧学習データ9−4を、100から92に減らす必要がある。そこで、学習データ記憶部6−2に記憶された旧学習データ9−4としての100の時系列データの順番に応じて、最も古いものからα個だけ除去することで、旧学習データ9−4の個数をH−α個に調整する。
以上のようにして個数を調整した入力データ9−3と旧学習データ9−4とを足し合わせて新学習データとすることにより、学習データ記憶部6−2には、常に最新のH個の時系列データだけが学習データとして保持される。このように、学習データ(新学習データ)に占める入力データ9−3の割合を学習の重みαによって調整することができる。
なお、ここで説明した方法以外にも、学習の重みαに応じて入力データ9−3をパラメータに反映させる方法であればどのような方法を用いても良い。重要なのは、新しいデータ(入力データ9−3)が与えられるたびにパラメータを少しずつ修正することと、その際に、学習の重みαに応じて入力データ9−3が学習に与える影響の強さを調整することである。
また、学習を適切に行うには、学習の重みαを時間の経過とともに適切に調整することが非常に重要であり、本実施の形態では、変数Δによって、学習の重みαを調整する方法を述べたが、基本的には、入力データ9−3の影響を受けるノードが、勝者ノードを中心とする広い範囲のノードから徐々に狭い範囲のノードへになるように、学習の重みαを調整していくことが重要であり、それを実現する方法であれば、どのような方法を用いても良い。
以上、学習に関する詳細な説明を行った。本実施の形態で述べた学習手法によって、ダイナミクス記憶ネットワークの各ノードのパラメータ(ノードが有する力学系近似モデル6−1のパラメータ)は、学習部1−4に時系列データ(入力データ)が入力されるたびに、自己組織的に更新されることになる。
[認識について]
次に、図10を参照して、図1のデータ処理装置によるダイナミクス記憶ネットワークを用いた時系列データの認識の処理について説明する。
次に、図10を参照して、図1のデータ処理装置によるダイナミクス記憶ネットワークを用いた時系列データの認識の処理について説明する。
ネットワーク記憶部1−5に記憶されたダイナミクス記憶ネットワークの各ノードは、既に説明したように内部状態量を持つ力学系近似モデル6−1によってダイナミクスを学習する。
ここで、ダイナミクス記憶ネットワークで学習されるダイナミクスの数は、ダイナミクス記憶ネットワークのノード数と一致することになる。例えば、ノード数が100の場合は、100種類のダイナミクスを学習することになる。このダイナミクスに基づき、観測信号1−1に対する認識の処理を行うことが可能となる。
まず、観測信号1−1が信号入力部1−2へ入力される。観測信号1−1は、信号入力部1−2から特徴抽出部1−3に送られる。特徴抽出部1−3では、観測信号1−1の特徴量が時系列に抽出され、時系列データとして認識部1−6に送られる(ステップ10−1)。
認識部1−6は、特徴抽出部1−3からの時系列データに対して、ネットワーク記憶部1−5に記憶されたダイナミクス記憶ネットワークの各ノードが保持する内部状態量を持つ力学系近似モデル6−1を用いてのスコア計算を、内部状態量を更新しながら行う(ステップ10−2)。このスコア計算は、学習時に勝者ノードを決定するために行うスコア計算と同じである。例えば、内部状態量を持つ力学系近似モデル6−1がRNNで与えられる場合には、予測出力(RNNの出力)の平均二乗誤差がスコアとして利用される。
そして、スコア計算の結果、各ノードにはスコアが付与される。認識部1−6では、このスコアに基づき、最もスコアの良いノード、すなわち勝者ノードが決定される(ステップ10−3)。
さらに、認識部1−6では、最もスコアの良いノードに対応するダイナミクス(ノードが有する力学系近似モデル6−1によってモデル化されたダイナミクス(ノードが保持するダイナミクス))が、入力された時系列データ(特徴抽出部1−3から認識部1−6に供給され、認識部1−6においてスコアが計算された時系列データ)に最も適合するダイナミクスとして選択される。そして、認識部1−6は、どのノード(に対応するダイナミクス)が選択されたかという情報、つまり、勝者ノードの情報を認識結果1−7として出力する(10−4)。以上が、認識部1−6の処理である。
ここで、例えば、タスク「A」、「B」、「C」それぞれのセンサモータ信号を用いたダイナミクス記憶ネットワークの学習と、その結果得られるダイナミクス記憶ネットワークを用いた認識について簡単に説明する。
なお、センサモータ信号には多様な信号が含まれているものとする。
センサモータ信号を、タスク「A」、「B」、「C」の3種類のセンサモータ信号に分類した場合、同じタスク「A」のセンサモータ信号であっても、速度や振幅の違い、あるいは、初期状態(例えば、ロボットの位置や姿勢)などの違いなどによって、さまざまなバリエーションのタスク「A」のセンサモータ信号が存在する。
学習部1−4において、タスク「A」、「B」、「C」それぞれに分類されるセンサモータ信号のすべてを、タスク「A」、「B」、「C」の区別なく用いて、ダイナミクス記憶ネットワークの学習を行うと、ダイナミクス記憶ネットワークでは、そのダイナミクス記憶ネットワークを構成するノードの数だけダイナミクスが学習される。
つまり、ダイナミクス記憶ネットワークを構成するすべてのノードを用いて、与えられるセンサモータ信号の全体の学習が行われる。したがって、ダイナミクス記憶ネットワークでは、ノードの数が、タスク「A」、「B」、「C」の数である3よりも大であれば、複数のノードによって、さまざまなバリエーションのタスク「A」のセンサモータ信号が学習され得る。
その後、例えば、タスク「A」のあるセンサモータ信号が一つ入力された場合、認識部1−6では、ダイナミクス記憶ネットワークにおいて、入力されたセンサモータ信号に最も適合するノード(勝者ノード)が一つ選択される。つまり、ダイナミクス記憶ネットワークにおいて、タスク「A」に対応するノードが複数あっても、その中で、入力されたセンサモータ信号に最も適合したノードが選択される。
すなわち、認識部1−6では、入力されたセンサモータ信号が、タスク「A」、「B」、「C」の3種類の中のどのセンサモータ信号であったかを決定するわけではなく、ダイナミクス記憶ネットワークの学習によってダイナミクスとして獲得された時系列パターンの中のどれに最も適合するかの決定が行われる。
以上のように、学習部1−4では、ダイナミクス記憶ネットワークのノードの数に応じた細かさでダイナミクスを分類して学習し、認識部1−6では、その細かさに応じた時系列データの認識が行われる。
なお、学習された全てのノードに対して、タスク「A」、「B」、「C」のラベルを適切に付与すれば、認識部1−6において、入力されたセンサモータ信号が、タスク「A」、「B」、「C」のどの種類の信号かを認識することが可能となる。
[生成について]
次に、図11を参照して、図1のデータ処理装置によるダイナミクス記憶ネットワークを用いた時系列データの生成の処理について説明する。
次に、図11を参照して、図1のデータ処理装置によるダイナミクス記憶ネットワークを用いた時系列データの生成の処理について説明する。
既に説明したように、ダイナミクス記憶ネットワークの各ノードは、内部状態量を持つ力学系近似モデル6−1によってダイナミクスを学習する。
そして、各ノードの内部状態量を持つ力学系近似モデル6−1から、その力学系近似モデル6−1によってモデル化されたダイナミクスに対応する時系列データ(ダイナミクスとして獲得された時系列パターンの時系列データ)を生成することが可能である。
内部状態量を持つ力学系近似モデル6−1としてRNNを用いた場合には、所定の内部状態量をRNNに与えることで、そのRNNを有するノードに保持されるダイナミクスから時系列データを生成することが容易にできる。
具体的には、RNNの入力にある時刻Tの状態ベクトルを与えると、次の時刻T+1の状態ベクトルが出力される。したがって、この操作を所定の時間ステップ分を行うことで、ダイナミクス記憶ネットワークの各ノードから時系列データを生成することができる。
図1のデータ処理装置の生成部1−9では、以上のような時系列データの生成の処理が行われる。
すなわち、まず、どのダイナミクスに対応するノードから時系列データを生成するかを指定する制御信号1−8が生成部1−9に送られる(ステップ11−1)。
生成部1−9では、この制御信号1−8に基づき、ネットワーク記憶部1−5に記憶されたダイナミクス記憶ネットワークを構成するノードのうちの、時系列データを生成すべきノード(以下、適宜、生成ノードという)が決定される(ステップ11−2)。
そして、生成部1−9では、生成ノードが保持する内部状態量を持つ力学系近似モデル6−1のパラメータに基づき、時系列データが、力学系近似モデル6−1の内部状態量を更新しながら生成される(ステップ11−3)。さらに、生成部1−9では、生成ノードの力学系近似モデル6−1から生成された時系列データが、生成結果1−10として出力される(ステップ11−4)。
ここで、力学系近似モデル6−1が、例えば、RNNである場合、生成部1−9での時系列データの生成時には、内部状態量としてのRNNのコンテキストの初期値として、例えば、ランダムな値が用いられる。また、ある時刻T+1においてRNNの入力層に入力するコンテキスト以外のデータとしては、ランダムな値や、直前の時刻TにおいてRNNの出力層から出力された、コンテキスト以外のデータを採用することができる。
ダイナミクス記憶ネットワークの学習では、ダイナミクス記憶ネットワークのノード数と一致する数のダイナミクスが学習されるので、生成部1−9では、ダイナミクス記憶ネットワークのノード数に応じた時系列データを生成することが可能となる。
例えば、前述のタスク「A」、「B」、「C」それぞれのセンサモータ信号を区別なく用いて学習されたダイナミクス記憶ネットワークを用いた、時系列データの生成について簡単に説明する。
上述したように、同じタスク「A」のセンサモータ信号であっても、速度や振幅の違い、あるいは、初期状態(位置、姿勢)などの違いなどによって、さまざまなバリエーションのタスク「A」のセンサモータ信号が存在し、ダイナミクス記憶ネットワークでは、複数のノードによって、さまざまなバリエーションのタスク「A」のセンサモータ信号が学習され得る。
そして、生成部1−9に与えられる制御信号1−8によって、その中の一つのノードが指定されると、生成部1−9では、ネットワーク記憶部1−5に記憶されたダイナミクス記憶ネットワークを構成するノードのうちの、制御信号1−8によって指定されるノードを、生成ノードとして、その生成ノードの保持するダイナミクスに対応した時系列データが生成され、生成結果1−10として出力される。この時系列データは、さまざまなバリエーションのタスク「A」のセンサモータ信号の中の一つに対応する。
生成部1−9から出力される生成結果1−10は、ダイナミクス記憶ネットワークのノードが保持するダイナミクスに対応する時系列データ(特徴抽出部1−3で抽出される特徴量の時系列に相当するデータ)であり、必要に応じて、この時系列データは、例えば、センサモータ信号等の出力信号に変換されるが、この変換(特徴量の時系列から、最終的に得たい出力信号の時系列への変換)についての説明は、省略する。
上述の時系列データの学習方法と生成方法を用いることで、音声信号、画像信号、モータ信号など、さまざまな信号に対して、いろいろなバリエーションの信号をダイナミクスとしてダイナミクス記憶ネットワークに記憶し、必要に応じて生成することが可能となる。
[認識生成について]
次に、図12を参照して、図1のデータ処理装置による時系列データの認識生成の処理について説明する。
次に、図12を参照して、図1のデータ処理装置による時系列データの認識生成の処理について説明する。
図12は、図1のデータ処理装置の認識部1−6と生成部1−9の詳細構成例を示している。
ここで、(時系列データの)認識生成とは、入力された時系列データを認識し、その認識結果に基づいて、新たな時系列データを生成することである。
認識生成によれば、例えば、人がロボットに呼びかける音声を発した場合に、そのロボットにおいて、その呼びかけに応じた動きをとるためのモータ信号や、その呼びかけに応答する合成音を生成するためのパラメータ信号等が生成される。
ところで、ネットワーク記憶部1−5に記憶されたダイナミクス記憶ネットワークは、内部状態量を持つ力学系近似モデル6−1によってダイナミクスを学習するが、内部状態量を持つ力学系近似モデル6−1を用いて認識生成を行う場合、上述の認識の処理(図10)と生成の処理(図11)を逐次的に組み合わせるだけでは、その内部状態量を考慮した認識生成を行うことは困難である。
そこで、データ処理装置では、内部状態記憶部1−11において、上述の認識の処理において更新された力学系近似モデル6−1の内部状態量(内部状態)を保持し、その内部状態量を上述の生成の処理において観測信号1−1とともに用いることで、観測信号1−1に応じた生成結果1−10を出力する認識生成の処理を行う。
すなわち、認識部1−6(図12)において、内部状態量更新部12−1は、内部状態記憶部1−11から前回更新されて記憶されている内部状態量を読み込む。これにより、力学系近似モデル6−1において、入力となる時系列データに基づいて、内部状態量更新部12−1が内部状態記憶部1−11から読み込んだ値を初期値として、内部状態量を更新することが可能となる。
また、認識部1−6において、スコア計算部12−2は、学習時に勝者ノードを決定するために行う処理と同じスコア計算、すなわち、入力された時系列データに基づき、ノードが有する力学系近似モデル6−1の内部状態量を更新しながら、スコア計算を行う。スコア計算部12−2のスコア計算の結果、各ノードにはスコアが付与される。上述したように、内部状態量を持つ力学系近似モデル6−1がRNNで与えられる場合には、予測出力の平均二乗誤差がスコアとして利用される。
以上のように、認識部1−6では、内部状態量を更新しながら、スコアの計算が行われる。そして、認識部1−6の決定部12−3では、スコア計算部12−2で得られるスコアに基づき、最もスコアの良いノード、すなわち勝者ノードが決定される。決定部12−3では、この最もスコアの良いノード(勝者ノード)に対応するダイナミクスが、入力された時系列データに最も適合するダイナミクスとされる。
さらに、認識部1−6では、内部状態量更新部12−1が、勝者ノードが決定されたときの内部状態量の更新値(更新された内部状態量)と、その勝者ノードが決定されたときの内部状態量の初期値とを、内部状態記憶部1−11に保存する。
ここで、内部状態記憶部1−11に記憶された内部状態量の更新値は、認識部1−6での次回のスコア計算に利用される。また、内部状態記憶部1−11に記憶された内部状態量の初期値は、生成部1−9において、時系列データの生成時に利用される。
そして、認識部1−6の出力部12−4が、決定部12−3においてどのノードが選択されたかという情報を認識結果1−7(図1)として出力する。以上が、認識生成時の認識部1−6の処理(認識の処理)である。
つづいて、認識生成における生成の処理においては、どのダイナミクスに対応するノードから時系列データを生成するかを指定する制御信号1−8(図1)として、認識部1−6が出力する前述の認識結果1−7が用いられる。
すなわち、出力部12−4が出力する認識結果1−7は、制御信号1−8として、生成部1−9の生成ノード決定部12−5に供給される。そして、生成ノード決定部12−5では、この制御信号1−8に基づき、時系列データを生成すべきノード(生成ノード)が決定される。つまり、認識部1−6の認識の処理において決定された勝者ノードが生成ノードに決定される。生成部1−9では、認識部1−6の認識の処理において決定された勝者ノードから時系列データが生成される。
すなわち、生成部1−9では、内部状態読み込み部12−6が、内部状態記憶部1−11の記憶値を、ネットワーク記憶部1−5に記憶されたダイナミクス記憶ネットワークの生成ノードの力学系近似モデル6−1の内部状態量の初期値として読み込む。
すなわち、内部状態読み込み部12−6は、内部状態記憶部1−11の記憶値のうちの、生成ノードが認識部1−6において勝者ノードに決定されたときの内部状態量の初期値を読み出し、生成ノードの力学系近似モデル6−1の内部状態量の初期値にセットする。
さらに、生成部1−9では、時系列データ生成部12−7が、特徴抽出部1−3で抽出された特徴量の時系列データを読み込み、その時系列データと、内部状態読み込み部12−6によって内部状態量の初期値がセットされた力学系近似モデル6−1に基づき、その内部状態量を更新しながら、時系列データを生成する。時系列データ生成部12−7で生成された時系列データは、生成部1−9の出力部12−8から生成結果1−10(図1)として出力される。
ここで、ダイナミクス記憶ネットワークで学習されるダイナミクスの数は、ダイナミクス記憶ネットワークのノード数と一致するので、そのノード数に応じた時系列データを認識し、その認識結果に応じて、時系列データを生成することが可能となる。
次に、図13乃至図16を参照して、認識生成の処理について、さらに説明する。
認識生成の処理では、認識部1−6において、特徴抽出部1−3から供給される時系列データとしての入力データのうちの、ある時刻(サンプル点)T、またはある時刻Tとその時刻Tから過去に遡った幾つかの時刻の入力データが認識され、生成部1−9において、その認識結果に基づき、次の時刻T+1の入力データを予測したデータが、出力データとして生成される。
すなわち、認識部1−6では、特徴抽出部1−3から供給される入力データに基づいて、ネットワーク記憶部1−5に記憶されたダイナミクス記憶ネットワークのノードが有する力学系近似モデル6−1の内部状態量を更新しながら、ダイナミクス記憶ネットワークの各ノードが保持するダイナミクスの中から、入力データに最も適合するダイナミクスに対応するノード(ダイナミクスを保持するノード)である勝者ノードが決定され、その勝者ノードを表す情報が、入力データの認識結果1−7として出力される。
さらに、認識部1−6は、勝者ノードを決定する処理において得られる力学系近似モデル6−1の内部状態量を、内部状態記憶部1−11に供給して記憶させる。
そして、生成部1−9では、認識部1−6が出力する認識結果1−7に基づき、認識部1−6において決定された勝者ノードを、時系列データとしての出力データの生成に用いるノードである生成ノードに決定し、内部状態記憶部1−11の記憶値に基づいて、生成ノードの内部状態量を決定して、生成ノードの内部状態量を更新しながら、出力データを生成し、生成結果1−10として出力する。
すなわち、生成部1−9は、認識部1−6において勝者ノードに決定されたノードを生成ノードに決定し、その生成ノードと、内部状態記憶部1−11の記憶値、さらには、特徴抽出部1−3から供給される入力データを用いて、出力データを生成する。
ここで、認識生成の処理の方法としては、例えば、時刻Tの入力データを認識し、その認識結果に基づいて、次の時刻T+1の入力データを予測したデータである出力データを生成する第1の方法と、時刻Tとその時刻Tから過去に遡った幾つかの時刻の入力データを認識し、その認識結果に基づき、次の時刻T+1の入力データを予測したデータである出力データを生成する第2の方法とがある。
まず、図13および図14を参照して、時刻Tの入力データを認識し、その認識結果に基づいて、次の時刻T+1の入力データを予測したデータを、時刻Tの出力データとして生成する第1の方法について説明する。
なお、図13および図14、さらには、図15および図16では、ダイナミクス記憶ネットワークのノードが有する力学系近似モデル6−1として、例えば、RNNが用いられていることとする。
第1の方法では、認識の処理において、入力データに対して、順時間方向の計算のみにより、ダイナミクス記憶ネットワークの各ノードについて、内部状態量としてのRNN のコンテキストを更新しながらスコアを計算して、スコアが最も良いノードを勝者ノードに決定する。そして、生成の処理において、勝者ノードを生成ノードとして、認識の処理の勝者ノードを決定する処理で得られる、最終的なコンテキストの更新値を、生成ノードの内部状態量としてのRNNのコンテキストの初期値として、コンテキストを更新しながら、出力データが生成される。
すなわち、図13は、第1の方法で用いられる入力データ、内部状態量としてのコンテキスト、および、第1の方法で生成される出力データの時間変化を示している。
いま、認識部1−6において、時刻Tの入力データを認識し、生成部1−9において、認識部1−6の認識結果に基づき、時刻Tの出力データとして、時刻T+1の入力データを予測したデータを生成することとすると、認識部1−6は、直前の時刻T-1の入力データの認識の処理の勝者ノードを決定する処理で得られたコンテキストの更新値(図13において×印で示す値)を、ダイナミクス記憶ネットワークのノードが有するRNNのコンテキストの初期値として、そのコンテキストを初期値から更新しながら(ここでは、1回だけ更新して)、時刻Tの入力データに対するスコアを求める。
ここで、第1の方法では、RNNのコンテキストの更新は、プロパゲーションと呼ばれる順時間方向の1回の計算に行われる。
認識部1−6は、ダイナミクス記憶ネットワークのノードすべてについて、スコアを求めると、最もスコアが良いノードを勝者ノードに決定し、各ノードが有するRNNのコンテキストの更新値、すなわち、時刻Tの入力データの認識の処理の勝者ノードを決定する処理で得られた各ノードのコンテキストの更新値(図13において○印で示す値)を、内部状態記憶部1−11に供給して記憶させる。
そして、生成部1−9は、認識部1−6で決定された勝者ノードを生成ノードに決定し、内部状態記憶部1−11の記憶値、すなわち、時刻Tの入力データの認識の処理の勝者ノードを決定する処理で得られた、勝者ノードのRNNのコンテキストの更新値を、生成ノードが有するRNNのコンテキストの初期値として、時刻Tの入力データを、生成ノードが有するRNNに入力し、コンテキストを初期値から更新しながら(ここでは、1回だけ更新して)、時刻Tの出力データを生成する。
ここで、内部状態記憶部1−11の記憶値、すなわち、時刻Tの入力データの認識の処理の勝者ノードを決定する処理で得られたコンテキストの更新値は、上述したように、時刻Tの出力データを生成するときに、生成ノードが有するRNNのコンテキストの初期値として用いられる他、次の時刻T+1の入力データを認識するときに、ダイナミクス記憶ネットワークのノードが有するRNNのコンテキストの初期値として用いられる。
次に、図14を参照して、第1の方法による認識生成の処理の流れについて説明する。
観測信号1−1が、信号入力部1−2を介して、特徴抽出部1−3に供給され、特徴抽出部1−3では、観測信号1−1の特徴量が時系列に抽出され、これにより、時系列データである入力データが得られる。
いま、認識部1−6において、時刻Tの入力データを認識し、生成部1−9において、認識部1−6による時刻Tの入力データの認識結果に基づいて、時刻Tの出力データとして、時刻T+1の入力データを予測したデータを生成することとすると、認識部1−6は、認識対象の時刻Tの入力データと、その直前の時刻T-1の入力データを、特徴抽出部1−3から読み込む(ステップ14−1)。
認識部1−6(図12)において、特徴抽出部1−3から読み込まれた時刻TとT-1の入力データは、内部状態量更新部12−1に供給される。
内部状態量更新部12−1は、時刻TとT-1の入力データが供給されると、認識対象の時刻Tの入力データの直前の時刻T-1の入力データの認識の処理における勝者ノードを決定する処理で得られ、内部状態記憶部1−11に記憶されたコンテキストの更新値(図13において×印で示す値)を、内部状態記憶部1−11から読み出すとともに、ネットワーク記憶部1−5からダイナミクス記憶ネットワークの各ノードが有するRNN(のパラメータ)を読み出し、そのRNNのコンテキストの初期値として、内部状態記憶部1−11から読み出した値(直前の時刻T-1の入力データの認識の処理における勝者ノードを決定する処理で更新された最終的なコンテキスト(時刻T-1のコンテキスト))をセットする。そして、内部状態量更新部12−1は、ダイナミクス記憶ネットワークの各ノードが有するRNNを、時刻TとT-1の入力データとともに、スコア計算部12−2に供給する(ステップ14−2)。
スコア計算部12−2は、内部状態量更新部12−1から、ダイナミクス記憶ネットワークの各ノードが有するRNNと、時刻TおよびT-1の入力データとが供給されると、認識対象の時刻Tの入力データについての勝者ノードを決定する処理を行う(ステップ14−3乃至ステップ14−5)。
すなわち、スコア計算部12−2は、内部状態量更新部12−1から供給されたダイナミクス記憶ネットワークの各ノードが有するRNNに、同じく内部状態量更新部12−1から供給された時刻T-1の入力データを入力することにより、ダイナミクス記憶ネットワークの各ノードについて、時刻T-1の出力データ、つまり、時刻Tの入力データを予測したデータを求め、その時刻T-1の出力データに基づき、スコアを求める(ステップ14−3)。
具体的には、例えば、ダイナミクス記憶ネットワークのノードが有するRNNの出力層が、I+1のユニットを有し、i+1(i=0,1,・・・,I)番目のユニットの、時刻T-1の出力値、すなわち、時刻T-1の次の時刻Tの入力値を予測した値を、X'i,Tと表すとともに、i+1番目のユニットの、時刻T-1の理想的な出力値、すなわち、ここでは、時刻T-1の次の時刻Tの入力データ(ベクトル)のi+1番目のコンポーネントを、Yi,Tと表すこととすると、スコア計算部12−2は、例えば、式(2)にしたがって、スコアSを求める。なお、式(2)のスコアSは、その値が小であるほど、良いスコアである。後述する式(3)のスコアSも同様である。
さらに、スコア計算部12−2は、時刻T-1の出力データを求める際に得られる次の時刻Tのコンテキストによって、ダイナミクス記憶ネットワークの各ノードが有するRNNの内部状態量としてのコンテキストを更新する(ステップ14−4)。
すなわち、スコア計算部12−2が、ダイナミクス記憶ネットワークの各ノードが有するRNNに、時刻T-1の入力データを入力して、時刻T-1の出力データを求める際には、時刻T-1の入力データの他、内部状態量更新部12−1がステップ14−2で初期値をセットしたコンテキストが用いられ、時刻T-1の出力データの他に、次の時刻Tのコンテキスト(次の時刻Tに、RNNの入力層のコンテキストユニットに入力されるべきコンテキスト)が求められる。スコア計算部12−2は、このようにして求められる時刻Tのコンテキストによって、ダイナミクス記憶ネットワークの各ノードが有するRNNの内部状態量としてのコンテキストを更新する。
その後、決定部12−3が、ダイナミクス記憶ネットワークのノードのうちの、スコア計算部12−2がステップ14−3において求めたスコアSが最も良いノードを、勝者ノードに決定し(ステップ14−5)、さらに、出力部12−4が、決定部12−3で決定された勝者ノードを表す情報を、認識結果1−7として、生成部1−9に供給する。
また、内部状態量更新部12−1は、スコア計算部12−2がステップ14−4で時刻Tのコンテキストによって更新したRNNの内部状態量としてのコンテキストを、内部状態記憶部1−11に記憶させ、内部状態記憶部1−11の記憶内容を更新する(ステップ14−6)。
ステップ14−6で内部状態記憶部1−11に記憶されたコンテキストは、直後に生成部1−9が行うステップ14−9で読み出されるとともに、次の時刻T+1の入力データの認識時に認識部1−6が行うステップ14−2で読み出される。
ここで、以上のステップ14−1乃至ステップ14−6が、認識生成の処理において、認識部1−6が行う認識の処理である。
一方、生成部1−9(図12)では、認識部1−6から供給される認識結果1−7に基づき、生成の処理(ステップ14−7乃至ステップ14−10)が行われる。
すなわち、生成部1−9では、認識部1−6から供給される、時刻Tの入力データの認識結果1−7が受信され、生成ノード決定部12−5に供給される。
生成ノード決定部12−5は、認識結果1−7に基づき、ネットワーク記憶部1−5に記憶されているダイナミクス記憶ネットワークのノードのうちの、認識結果1−7が表すノード、すなわち、時刻Tの入力データの認識結果として得られたスコアSが最も良い勝者ノードを、生成ノードに決定(選択)し、その生成ノードを表す情報を、内部状態読み込み部12−6に供給する(ステップ14−7)。
また、生成部1−9では、時系列データ生成部12−7が、時刻Tの入力データを、特徴抽出部1−3から読み込む(ステップ14−8)。
さらに、生成部1−9では、内部状態読み込み部12−6が、ステップ14−7で生成ノード決定部12−5から供給される情報に基づいて、生成ノードを特定する。
そして、内部状態読み込み部12−6は、直前の時刻Tの入力データの認識の処理における勝者ノードを決定する処理で得られ、内部状態記憶部1−11に記憶されたコンテキストの更新値(図13において○印で示す値)のうちの、生成ノードについてのコンテキストの更新値を、内部状態記憶部1−11から読み出すとともに、ネットワーク記憶部1−5からダイナミクス記憶ネットワークの生成ノードが有するRNN(のパラメータ)を読み出し、生成ノードのRNNのコンテキストの初期値として、内部状態記憶部1−11から読み出した値(直前の時刻Tの入力データの認識の処理における勝者ノードを決定する処理で更新された生成ノード(勝者ノード)の最終的なコンテキスト(時刻Tのコンテキスト))をセットする。その後、内部状態読み込み部12−6は、生成ノードが有するRNNを、時系列データ生成部12−7に供給する(ステップ14−9)。
時系列データ生成部12−7は、内部状態読み込み部12−6から供給された生成ノードが有するRNNに、ステップ14−8で読み込んだ時刻Tの入力データを入力することにより、時刻Tの出力データ(時刻T+1の入力データを予測したデータ)を求める(ステップ14−10)。この時刻Tの出力データは、時系列データ生成部12−7から出力部12−8に供給されて出力される。
なお、時系列データ生成部12−7において、生成ノードが有するRNNに、ステップ14−8で読み込んだ時刻Tの入力データを入力することにより、時刻Tの出力データを求める際には、時刻Tの入力データの他、内部状態読み込み部12−6がステップ14−9で初期値をセットしたコンテキストが用いられ、時刻Tの出力データの他に、時刻T+1のコンテキストが求められる(生成ノードの内部状態量としてのコンテキストが更新される)。
次に、図15および図16を参照して、時刻Tとその時刻Tから過去に遡った幾つかの時刻の入力データを認識し、その認識結果に基づいて、時刻Tの出力データとして、次の時刻T+1の入力データを予測したデータを生成する第2の方法について説明する。
第2の方法では、連続する複数の時刻を、認識生成の処理における認識の処理の対象とする対象区間とし、認識の処理において、対象区間の入力データについて得られるスコアを最大化するように(予測誤差を最小化するように)、順時間方向および逆時間方向の繰り返し計算が行われ、これにより、スコアを最大化する、対象区間の開始時刻の1時刻前の時刻のコンテキスト(コンテキストの初期値)と、ダイナミクス記憶ネットワークの各ノードのスコアが求められる。
すなわち、認識の処理では、スコアを最大化するコンテキストの初期値(以下、適宜、スコア最大化初期値という)が求められるとともに、そのスコア最大化初期値を、コンテキストの初期値として、対象区間の入力データに対する、ダイナミクス記憶ネットワークの各ノードのスコアが、コンテキストを更新しながら求められる。
そして、認識の処理では、スコアが最も良いノードが勝者ノードに決定される。
さらに、第2の方法では、生成の処理において、勝者ノードを生成ノードとして、その生成ノードのRNNのコンテキストの初期値に、対象区間の入力データの認識の処理の勝者ノードを決定する処理で得られたスコア最大化初期値をセットし、対象区間の入力データと対象区間の開始時刻の1時刻前の時刻の入力データを入力して、コンテキストを更新しながら、出力データが生成される。
すなわち、図15は、第2の方法で用いられる入力データ、内部状態量としてのコンテキスト、および、第2の方法で生成される出力データの時間変化を示している。
いま、認識生成の処理において、時刻Tの出力データを生成するときに、その時刻TからL(Lは1以上の整数)時刻分だけ過去に遡った時刻T-Lを開始時刻とするとともに、時刻Tを終了時刻とするL+1時刻分の区間が、認識の処理の対象である対象区間とされることとする。
ここで、時刻Tを終了時刻とするL+1時刻分の対象区間を、以下、適宜、時刻Tの対象区間という。
認識生成の処理において、時刻Tの対象区間の入力データを認識し、その認識結果に基づいて、時刻Tの出力データを生成する場合には、認識部1−6は、時刻Tの対象区間の開始時刻T-Lの1時刻前の時刻T-L-1のコンテキストを、コンテキストの初期値として、その初期値を変えながら(更新しながら)、ダイナミクス記憶ネットワークの各ノードについて、時刻Tの対象区間の入力データに対するスコアを求める。
すなわち、これにより、認識部1−6は、ダイナミクス記憶ネットワークの各ノードについて、時刻Tの対象区間の入力データに対するスコアを最大化する(予測誤差を最小化する)コンテキストの初期値(時刻Tの対象区間の開始時刻T-Lの1時刻前の時刻T-L-1のコンテキスト)であるスコア最大化初期値を求める。
ここで、時刻Tの対象区間の入力データに対して、スコアを最大化するスコア最大化初期値を求める際には、例えば、直前の時刻T-1の対象区間の入力データの認識の処理の勝者ノードを決定する処理で得られた、時刻T-1の対象区間の終了時刻T-L-1のコンテキスト(図15において×印で示す、時刻T-L-1のコンテキスト)を基準として、ダイナミクス記憶ネットワークのノードが有するRNNのコンテキストの初期値が更新される。
さらに、RNNのコンテキストの初期値が、ある値Vに更新されると、RNNに、時刻Tの対象区間を1時刻だけ過去にずらした区間の入力データ、すなわち、時刻T-L-1,T-L,・・・,T-2,T-1の入力データが順次入力され、RNNのコンテキストを、初期値Vから更新しながら、時刻Tの対象区間の入力データに対するスコアが求められる。
そして、例えば、ダイナミクス記憶ネットワークの各ノードについて、そのノードが有するRNNにおいて、所定の閾値以上のスコアが得られると、そのスコアが得られたときのRNNのコンテキストの初期値(図15において×印で示す、時刻Tの対象区間の開始時刻T-Lの1時刻前の時刻T-L-1のコンテキスト)が、スコア最大化初期値とされる。
なお、第2の方法において、スコアを最大化するように、RNNのコンテキストの初期値を更新することは、例えば、BPTTアルゴリズムと呼ばれる順時間方向および逆時間方向の計算からなる繰り返し計算により行われる。
認識部1−6では、ダイナミクス記憶ネットワークの各ノードについて、スコア最大化初期値をコンテキストの初期値として、時刻Tの対象区間の入力データに対するスコアが求められ、ダイナミクス記憶ネットワークのノードのうちの、スコアが最も良いノードが、勝者ノードに決定される。
また、認識部1−6は、時刻Tの対象区間の入力データの認識の処理の勝者ノードを決定する処理で得られた、ダイナミクス記憶ネットワークの各ノードのコンテキストの初期値(スコア最大化初期値)(図15において×印で示す、時刻Tの対象区間の開始時刻T-Lの1時刻前の時刻T-L-1のコンテキスト)を、内部状態記憶部1−11に供給して記憶させる。
そして、生成部1−9は、認識部1−6で決定された勝者ノードを生成ノードに決定し、内部状態記憶部1−11の記憶値、すなわち、時刻Tの対象区間の入力データの認識の処理の勝者ノードを決定する処理で得られた、勝者ノードのRNNのコンテキストのスコア最大化初期値を、生成ノードが有するRNNのコンテキストの初期値として、時刻Tの対象区間の終了時刻T-Lの1時刻前の時刻T-L-1の入力データと、時刻Tの対象区間の入力データとを、順次、生成ノードが有するRNNに入力し、コンテキストを更新しながら、時刻Tの出力データを生成する。
次に、図16を参照して、第2の方法による認識生成の処理の流れについて説明する。
観測信号1−1が、信号入力部1−2を介して、特徴抽出部1−3に供給され、特徴抽出部1−3では、観測信号1−1の特徴量が時系列に抽出され、これにより、時系列データである入力データが得られる。
いま、認識部1−6において、図15で説明したように、時刻Tの対象区間のL+1時刻分の入力データを認識し、生成部1−9において、認識部1−6による認識結果に基づいて、時刻Tの出力データとして、時刻T+1の入力データを予測したデータを生成することとすると、認識部1−6は、時刻Tの対象区間のL+1時刻分の入力データと、その対象区間の終了時刻T-Lの1時刻前の時刻T-L-1の入力データとの、合計で、L+2時刻分の入力データを、特徴抽出部1−3から読み込む(ステップ16−1)。
認識部1−6(図12)において、特徴抽出部1−3から読み込まれた時刻Tの対象区間の入力データと時刻T-L-1の入力データは、内部状態量更新部12−1に供給される。
内部状態量更新部12−1は、時刻Tの対象区間の入力データと時刻T-L-1の入力データが供給されると、直前の時刻T-1の対象区間の入力データの認識の処理における勝者ノードを決定する処理で得られ、内部状態記憶部1−11に記憶されたコンテキストの更新値(図15において×印で示す時刻T-L-1のコンテキスト)を、内部状態記憶部1−11から読み出すとともに、ネットワーク記憶部1−5からダイナミクス記憶ネットワークの各ノードが有するRNN(のパラメータ)を読み出し、そのRNNのコンテキストの初期値として、内部状態記憶部1−11から読み出したコンテキストの更新値をセットする。そして、内部状態量更新部12−1は、ダイナミクス記憶ネットワークの各ノードが有するRNNを、時刻Tの対象区間の入力データおよび時刻T-L-1の入力データとともに、スコア計算部12−2に供給する(ステップ16−2)。
スコア計算部12−2は、内部状態量更新部12−1から、ダイナミクス記憶ネットワークの各ノードが有するRNNと、時刻Tの対象区間の入力データおよび時刻T-L-1の入力データとが供給されると、時刻Tの対象区間の入力データに対して勝者ノードを決定する処理を行う(ステップ16−3乃至ステップ16−6)。
すなわち、スコア計算部12−2は、内部状態量更新部12−1から供給されたダイナミクス記憶ネットワークの各ノードが有するRNNに、同じく内部状態量更新部12−1から供給された時刻Tの対象区間の入力データおよび時刻T-L-1の入力データのうちの時刻Tの入力データを除いた入力データ、すなわち、時刻T-L-1,T-L,・・・,T-2,T-1の入力データを順次入力することにより、ダイナミクス記憶ネットワークの各ノードについて、時刻T-L-1,T-L,・・・,T-2,T-1の出力データ(時刻T-L,T-L+1,・・・,T-1,Tの入力データを予測したデータ)をそれぞれ求め、その時刻T-L-1乃至T-1の出力データに基づき、スコアを求める(ステップ16−3)。
具体的には、例えば、ダイナミクス記憶ネットワークのノードが有するRNNの出力層が、I+1のユニットを有し、i+1(i=0,1,・・・,I)番目のユニットの、時刻t-1の出力値、すなわち、時刻tの入力値を予測した値を、X'i,tと表すとともに、i+1番目のユニットの、時刻t-1の理想的な出力値、すなわち、ここでは、時刻t-1の次の時刻tの入力データ(ベクトル)のi+1番目のコンポーネントを、Yi,tと表すこととすると、スコア計算部12−2は、例えば、式(3)にしたがって、スコアSを求める。
すなわち、スコア計算部12−2は、ダイナミクス記憶ネットワークのあるノードを、注目ノードとして、その注目ノードが有するRNNに、時刻T-L-1の入力データを入力して、時刻T-L-1の出力データを求める。注目ノードについて、時刻T-L-1の出力データが求められる際、時刻T-L-1の入力データの他、内部状態量更新部12−1が直前のステップ16−2で内部状態記憶部1−11から読み出したコンテキストの更新値、または、直前に行われた後述するステップ16−4で求められた、コンテキストの初期値の更新値が、コンテキストの初期値として用いられ、時刻T-L-1の出力データと、次の時刻T-Lのコンテキスト(次の時刻T-Lに、入力層のコンテキストユニットに入力されるべきコンテキスト)が求められる。
そして、スコア計算部12−2は、その時刻T-Lのコンテキストによって、注目ノードが有するRNNのコンテキストを更新し、さらに、そのRNNに、時刻T-Lの入力データを入力して、時刻T-Lの出力データと、時刻T-L+1のコンテキストを求める。
以下、同様に、スコア計算部12−2は、時刻tの入力データをRNNに入力するときに、その1時刻前の時刻t-1で求められた時刻tのコンテキストによって、RNNのコンテキストを更新して、時刻tの出力データと、時刻t+1のコンテキストを求めていき、最終的には、時刻T-1の出力データと、時刻Tのコンテキストを求める。
そして、スコア計算部12−2は、時刻T-L乃至Tの入力データYi,T-L乃至Yi,Tと、時刻T-L-1乃至T-1の出力データ、すなわち、時刻T-L乃至Tの入力データを予測したデータX'i,T-L乃至X'i,Tとを用いて、式(3)を計算することにより、注目ノードについてのスコアSを求める。
スコア計算部12−2は、ダイナミクス記憶ネットワークのすべてのノードを、順次、注目ノードとして、スコアSを求めると、ダイナミクス記憶ネットワークの各ノードの内部状態量の初期値を、例えば、式(4)および式(5)にしたがって更新する(ステップ16−4)。
ここで、△C0,j(n)は、RNNの入力層のコンテキストが入力されるユニット(コンテキストユニット)のうちのj番目のコンテキストユニットに入力されるコンテキストの初期値を更新する、BPTTアルゴリズムによる繰り返し計算のnステップ目(n回目)において得られる、コンテキストの初期値の変更量(更新量)を表す。
また、δ0,jは、BPTTアルゴリズムにより求められる、j番目のコンテキストユニットに入力されるコンテキストの初期値に関する誤差量を表す。ηは、学習係数と呼ばれる係数であり、αは、慣性係数と呼ばれる係数である。
さらに、C0,j(n)は、j番目のコンテキストユニットに入力されるコンテキストの初期値の、BPTTアルゴリズムによる繰り返し計算のnステップ目において得られる更新値を表す。
式(4)および式(5)によれば、コンテキストの初期値の、n+1ステップ目の更新値C0,j(n+1)は、式(4)によりn+1ステップ目の変更量△C0,j(n+1)を求め、前回のnステップ目の更新値C0,j(n)を、n+1ステップ目の変更量△C0,j(n+1)を加算して更新することにより求められる。
スコア計算部12−2は、ダイナミクス記憶ネットワークの各ノードの内部状態量としてのRNNのコンテキストの初期値を、式(4)および式(5)にしたがって更新すると、直前のステップ16−3で、ダイナミクス記憶ネットワークの各ノードについて得られたスコアが、所定の閾値としての閾値スコアよりも良いかどうかをどうかを判定する(ステップ16−5)。
そして、直前のステップ16−3で、ダイナミクス記憶ネットワークの各ノードについて得られたスコアが、所定の閾値としての閾値スコアよりも良くない場合、ステップ16−3に戻り、スコア計算部12−2は、直前に行われたステップ16−4で求められた、コンテキストの初期値の更新値を、各ノードのコンテキストの初期値として用い、式(3)にしたがって、スコアSを求め、以下、同様の処理が繰り返される。
一方、直前のステップ16−3で、ダイナミクス記憶ネットワークの各ノードについて得られたスコアが、所定の閾値としての閾値スコアよりも良い場合、決定部12−3は、ダイナミクス記憶ネットワークのノードのうちの、スコア計算部12−2が直前に行ったステップ16−3において求められたスコアSが最も良いノードを、勝者ノードに決定し(ステップ16−6)、さらに、出力部12−4が、決定部12−3で決定された勝者ノードを表す情報を、認識結果1−7として、生成部1−9に供給する。
また、内部状態量更新部12−1は、ダイナミクス記憶ネットワークの各ノードについて、時刻Tの対象区間の入力データの認識の処理における勝者ノードを決定する処理(ステップ16−3乃至ステップ16−6)で得られた、スコアを閾値スコアよりも良いスコアとする内部状態量の初期値としてのコンテキストの初期値(図15において×印で示す時刻T-L-1のコンテキスト)を、スコア最大化初期値として、内部状態記憶部1−11に記憶させるとともに、そのスコア最大化初期値を、コンテキストの初期値(ここでは、時刻T-L-1のコンテキスト)として求められる、次の時刻のコンテキスト、すなわち、時刻Tの対象区間の開始時刻T-Lのコンテキストを、コンテキストの更新値として、内部状態記憶部1−11に記憶させることにより、内部状態記憶部1−11の記憶内容を更新する(ステップ16−7)。
ステップ16−6で内部状態記憶部1−11に記憶されたスコア最大化初期値としての時刻T-L-1のコンテキストは、直後に生成部1−9が行うステップ16−10で読み出され、時刻Tの出力データの生成に用いられる。
また、ステップ16−6で内部状態記憶部1−11に記憶されたコンテキストの更新値(スコアを閾値スコアよりも良いスコアとするコンテキストの初期値が得られたときの、時刻Tの対象区間の開始時刻T-Lのコンテキスト)は、次の時刻T+1の対象区間の入力データの認識時に認識部1−6が行うステップ16−2で読み出され、コンテキストの初期値の基準、すなわち、例えば、式(5)のC0,j(0)として用いられる。
ここで、以上のステップ16−1乃至ステップ16−7が、認識生成の処理において、認識部1−6が行う認識の処理である。
なお、上述の場合には、ステップ16−3で、ダイナミクス記憶ネットワークの各ノードについて得られたスコアが閾値スコアよりも良くなるまで、スコアの計算(ステップ16−3)と、コンテキストの初期値の更新(ステップ16−4)とを繰り返すようにしたが、スコアの計算(ステップ16−3)と、コンテキストの初期値の更新(ステップ16−4)とは、その他、例えば、あらかじめ定められた規定回数だけ繰り返すこと、あるいは、ダイナミクス記憶ネットワークの各ノードについて得られたスコアが閾値スコアよりも良くなるか、または、あらかじめ定められた規定回数まで繰り返すことが可能である。
生成部1−9(図12)では、認識部1−6から供給される認識結果1−7に基づき、生成の処理(ステップ16−8乃至ステップ16−11)が行われる。
すなわち、生成部1−9では、認識部1−6から供給される、時刻Tの対象区間の入力データの認識結果1−7が受信され、生成ノード決定部12−5に供給される。
生成ノード決定部12−5は、認識結果1−7に基づき、ネットワーク記憶部1−5に記憶されているダイナミクス記憶ネットワークのノードのうちの、認識結果1−7が表すノード、すなわち、時刻Tの対象区間の入力データに対してスコアSが最も良い勝者ノードを、生成ノードに決定し、その生成ノードを表す情報を、内部状態読み込み部12−6に供給する(ステップ16−8)。
また、生成部1−9では、時系列データ生成部12−7が、時刻Tの対象区間のL+1時刻分の入力データと、その対象区間の終了時刻T-Lの1時刻前の時刻T-L-1の入力データとの、合計で、L+2時刻分の入力データを、特徴抽出部1−3から読み込む(ステップ16−9)。
さらに、生成部1−9では、内部状態読み込み部12−6が、ステップ16−8で生成ノード決定部12−5から供給される情報に基づいて、生成ノードを認識する。
そして、内部状態読み込み部12−6は、直前の時刻Tの対象区間の入力データの認識の処理における勝者ノードを決定する処理で得られ、内部状態記憶部1−11に記憶されたコンテキストの初期値の更新値(図15において×印で示す値)のうちの、生成ノードについてのコンテキストの初期値の更新値を、内部状態記憶部1−11から読み出すとともに、ネットワーク記憶部1−5からダイナミクス記憶ネットワークの生成ノードが有するRNN(のパラメータ)を読み出し、生成ノードのRNNのコンテキストの初期値として、内部状態記憶部1−11から読み出したコンテキストの初期値の更新値(直前の時刻Tの対象区間の入力データの認識の処理における勝者ノードを決定する処理で求められた、スコアを閾値スコアよりも良くする生成ノード(勝者ノード)のコンテキストの初期値)をセットする。その後、内部状態読み込み部12−6は、生成ノードが有するRNNを、時系列データ生成部12−7に供給する(ステップ16−10)。
時系列データ生成部12−7は、内部状態読み込み部12−6から供給された生成ノードが有するRNNに、ステップ16−9で読み込んだ時刻T-L-1の入力データおよび時刻Tの対象区間の入力データを、順次入力することにより、時刻Tの出力データ(時刻T+1の入力データを予測したデータ)を求める(ステップ16−11)。
すなわち、時系列データ生成部12−7は、内部状態読み込み部12−6から供給された生成ノードが有するRNNに、時刻T-L-1の入力データを入力して、時刻T-L-1の出力データを求める。生成ノードについて、時刻T-L-1の出力データが求められる際、時刻T-L-1の入力データの他、直前のステップ16−10で内部状態記憶部1−11から読み出した時刻T-L-1のコンテキスト(コンテキストの初期値の更新値)が用いられ、時刻T-L-1の出力データが求められるとともに、時刻T-Lのコンテキスト(時刻T-Lに、入力層のコンテキストユニットに入力されるべきコンテキスト)が求められる。
そして、時系列データ生成部12−7は、時刻T-Lのコンテキストによって、生成ノードが有するRNNのコンテキストを更新し、さらに、そのRNNに、時刻T-Lの入力データを入力して、時刻T-Lの出力データと、時刻T-L+1のコンテキストを求める。
以下、同様に、時系列データ生成部12−7は、時刻tの入力データをRNNに入力するときに、その1時刻前の時刻t-1で求められた時刻tのコンテキストによって、RNNのコンテキストを更新して、時刻tの出力データと、時刻t+1のコンテキストを求めていき、最終的には、時刻Tの出力データと、時刻T+1のコンテキストを求める。
この時刻Tの出力データ、すなわち、時刻T+1の入力データを予測したデータは、時系列データ生成部12−7から出力部12−8に供給されて出力される。
なお、図13乃至図16では、時刻Tの入力データ、または時刻Tの対象区間の入力データを認識し、その認識結果に基づいて、時刻Tの1時刻の出力データだけを生成するようにしたが、時刻Tの入力データ、または時刻Tの対象区間の入力データの認識結果に基づき、時刻T以降の複数の時刻の出力データを生成することが可能である。
すなわち、上述したように、時刻Tの出力データと、時刻T+1のコンテキストを求めた後、その時刻T+1のコンテキストによって、RNNのコンテキストを更新するとともに、時刻Tの出力データを、時刻T+1の入力データとして、RNNに与えることを、順次繰り返すことにより、時刻T以降の複数の時刻の出力データを生成することが可能である。
また、図14および図15(第2の方法)では、ステップ16−7において、ダイナミクス記憶ネットワークの各ノードについて、時刻Tの対象区間の入力データの認識の処理における勝者ノードを決定する処理(ステップ16−3乃至ステップ16−6)で得られた、スコアを閾値スコアよりも良いスコアとする内部状態量の初期値としてのコンテキストの初期値(図15において×印で示す時刻T-L-1のコンテキスト)を、スコア最大化初期値として、内部状態記憶部1−11に記憶させるとともに、そのスコア最大化初期値を、コンテキストの初期値(ここでは、時刻T-L-1のコンテキスト)として求められる、次の時刻のコンテキスト、すなわち、時刻Tの対象区間の開始時刻T-Lのコンテキストを、コンテキストの更新値として、内部状態記憶部1−11に記憶させるようにしたが、つまり、スコア最大化初期値としての時刻T-L-1のコンテキストと、そのスコア最大化初期値をコンテキストの初期値として求められる、コンテキストの更新値としての次の時刻T-Lのコンテキストとを、内部状態記憶部1−11に記憶させるようにしたが、内部状態記憶部1−11には、スコア最大化初期値としての時刻T-L-1のコンテキストと、コンテキストの更新値としての次の時刻T-Lのコンテキストとのうちの、スコア最大化初期値としての時刻T-L-1のコンテキストだけを記憶させるようにすることが可能である。
但し、内部状態記憶部1−11に、スコア最大化初期値としての時刻T-L-1のコンテキストだけを記憶させる場合には、次の時刻T+1の対象区間の入力データの認識時において、内部状態記憶部1−11に記憶された、スコア最大化初期値としての時刻T-L-1のコンテキストと、時刻T-L-1の入力データとを用いて、コンテキストの更新値としての次の時刻T-Lのコンテキストを求めてから、その時刻T-Lのコンテキストを、コンテキストの初期値の基準として用いる必要がある。
さらに、図14および図15(第2の方法)では、ステップ16−7において、ダイナミクス記憶ネットワークの各ノードについて、時刻Tの対象区間の入力データの認識の処理における勝者ノードを決定する処理(ステップ16−3乃至ステップ16−6)で得られた、スコアを閾値スコアよりも良いスコアとする内部状態量の初期値としてのコンテキストの初期値(図15において×印で示す時刻T-L-1のコンテキスト)を、スコア最大化初期値として、内部状態記憶部1−11に記憶させるようにしたが、内部状態記憶部1−11には、スコア最大化初期値としての時刻T-L-1のコンテキストに代えて、そのスコア最大化初期値をコンテキストの初期値として求められる、コンテキストの更新値としての時刻Tのコンテキストを記憶させるようにすることが可能である。
この場合、時刻Tの出力データの生成は、内部状態記憶部1−11に記憶されたコンテキストの更新値としての時刻Tのコンテキストと、時刻Tの入力データとを、生成ノードのRNNに入力することにより行うことができる。
[実験結果について]
次に、上述の学習、認識、生成、認識生成の実験を行って得られた実験結果について説明する。
まず、実験条件について説明する。
実験では、ロボットのセンサモータ信号としてリズミックな運動パターン4種類に関して、それぞれ2つづつ、合計8個のセンサモータ信号を用意した。ここで、センサモータ信号には、どの種類パターンであるかのラベル(正解ラベル)は付与されない。センサモータ信号の特徴量、すなわち、入力データとしては、ロボットの両腕の関節角度を並べた12次元のベクトルの50ステップ(サンプル)(時刻)分の時系列データを利用した。
ダイナミクス記憶ネットワークのノード数は16個とし、各ノードの力学系近似モデル6−1として、RNNを採用した。ここで、実験で用いた各RNNは入力ユニット(入力層のユニット)が12個、出力ユニット(出力層のユニット)が12個、隠れユニット(入力層と出力層との間の隠れ層のユニット)が4個、コンテキストユニットが2個のRNNである。
また、ダイナミクス記憶ネットワークの16個のノードの空間的な配置については、図5のように、横×縦が4×4ノードの2次元状になるように、ノードにリンクを与えた。したがって、学習時には、この2次元状の配置から求められる距離に基づいて、勝者ノードからの距離を決定した。
また、各ノードの学習データ記憶部6−2(図6)に保持できる時系列データ(学習データ)の個数HをH=100とし、学習の重みαに応じてα:H−αとなるように時系列データを更新した。ここで、学習の重みαは、式(1)で与え、学習の開始時は、G=6、γ=0.5、Δ=1に設定し、Δを学習の進行とともに少しずつ0に近づけることで、学習の重みαを調整した。
時系列データ(学習データ)の更新では、入力データをα個分追加し、追加前のH個の時系列データの古いものからα個部削除した。
ここで、学習の重みαは、式(1)で求まる値の小数を切り上げることで整数化した。また、ダイナミクス記憶ネットワークの学習は、オンライン学習で行い、8個のセンサモータ信号を繰り返し利用して、合計1000回のセンサモータ信号の入力を行った。
RNNのパラメータの学習はBPTT法(BPTTアルゴリズム)を適用し、スコア計算には予測出力の最小二乗誤差を適用した。
図17と図18は、それぞれ、4×4の各ノードのRNNに保持されたダイナミクスから生成された12次元ベクトル(のコンポーネント)の時系列データのグラフである。
各グラフの横軸は時間ステップを表し、縦軸は関節角度をRNN用に正規化した値を表す。
また、図17および図18において、左からi番目で、上からj番目のグラフは、4×4のノードのうちの、左からi番目で、上からj番目のノードのRNNに保持されたダイナミクスから生成された時系列データを表す。
学習時に与えた時系列データのデータ長(時間ステップ)が50ステップであるのに対して、図17は、学習時より短い20ステップ分を生成した場合の時系列データを、図18は、学習時より長い70ステップ分を生成した場合の時系列データを、それぞれ示している。
図17および図18によれば、各ノードが4種類のリズミックな運動パターンを生成するダイナミクスを適切に学習できるのと同時に、そのダイナミクスの類似したノードがまとまりをもって(図17および図18では、時系列データの波形が類似したものを点線で囲んである)、2次元に配置されていることが確認できる。
また、図18によれば、各ノードが学習時に与えられた時系列データの時間ステップより長い時系列データを生成できることが確認できる。
図17および図18に示した実験結果から、ダイナミクス記憶ネットワークでは、各ノードのRNNが学習時に与えられた時系列データを単に軌道として記憶しているのではなく、その時系列データの持つ周期的なダイナミクスを抽出して学習していること、さらには、そのような学習の結果、学習時に与えられた時系列データの持つ周期的なダイナミクスに従う任意の長さの時系列データを生成できることが確認できる。
図19と図20は、それぞれ、学習時に与えた8個の時系列データを繋いで1個にした時系列データ(太線)と、その時系列データに対して逐次的に認識生成の処理を行い、その認識生成の処理ごとに生成された時系列データ(細線)とを示している。
各図において、各グラフの横軸は時間ステップを、縦軸は関節角度をRNN用に正規化した値を、それぞれ表す。なお、図19と図20では、時系列データとしての12次元のベクトル(のコンポーネント)のうち6次元分(のコンポーネント)が示されている。
逐次的な認識生成の処理は、30ステップ分の時系列データを処理対象(対象区間の入力データ)として、その処理対象となる30ステップ分の範囲を1ステップずつ逐次ずらして行った。
この認識生成の処理において、図19は、外部入力(特徴抽出部1−3で抽出された特徴量の時系列データ)や更新された内部状態量(内部状態記憶部1−11に記憶された内部状態量の初期値)を考慮せずに生成した時系列データを、図20は、外部入力や更新された内部状態量を考慮して生成した時系列データを、それぞれ示している。
図19と図20の時系列データは、同じ学習結果のダイナミクス記憶ネットワークを用いて得られたものであるが、内部状態量等を考慮せずに生成された図19の時系列データに比べて、内部状態量等を考慮して生成された図20の時系列データの方が、外部入力(認識の対象となった時系列データ)に対して位相的に同期していることが確認できる。
以上の実験結果から、上述した学習の方法による、正解ラベルを付与しないダイナミクスの教師なし学習が効果的であることが示されたと言える。
また、上述の認識生成の方法によって、外部入力に対して同期した時系列データの連続的な生成を行うことができることが示されたと言える。
なお、実験では、学習に利用された時系列データがどの種類のセンサモータ信号に対応するものであったかを示すラベルを利用をしたが、これは評価のためにだけに利用したものであり、学習には、そのラベルは一切利用していない。
以上のように、図1のデータ処理装置によれば、従来の技術では不十分であった、多数のダイナミクスを学習するために、全体最適化する基準を持つことなく学習するための実用的な処理を行うことができる。
すなわち、図1のデータ処理装置では、まず、観測される時系列データの力学的な特性を保持するために内部状態量を持つ力学系近似モデルを利用する。さらに、この内部状態量を持つ力学系近似モデルをひとつのノードとするネットワークであるダイナミクス記憶ネットワークを導入し、学習部1−4によって、そのダイナミクス記憶ネットワークのパラメータを自己組織的に学習する。
ここで、学習部1−4による学習にはSMAに基づくオンライン学習が適用される。また、内部状態量を持つ力学系近似モデルとしては例えばリカレントニューラルネットワーク(RNN)が適用される。この場合、ダイナミクス記憶ネットワークとして、各ノードがRNNによって与えられる大規模ネットワークが構成されることになり、そのパラメータが自己組織的に学習されることになる。
すなわち、観測される時系列データに正解ラベルを与えることなく、ダイナミクスをモデル化する力学系近似モデルを有するノードで構成された大規模ネットワークであるダイナミクス記憶ネットワークのパラメータを自己組織的に学習することが可能となる。この学習結果を応用することで、時系列データの認識を行うことが可能となる。また、各ノードから時系列データを生成することも可能となる。また、この自己組織的な学習を応用することで、時系列データの分類や解析などを行うことが可能となる。
[追加学習について]
次に、追加学習について説明する。
次に、追加学習について説明する。
ダイナミクス記憶ネットワークの学習が進行すると、ダイナミクス記憶ネットワークのノードが保持するダイナミクスが、新たな入力データに対して、ほとんど変化しなくなり、ダイナミクス記憶ネットワーク(のノードが保持するダイナミクス)が、いわば収束する。
すなわち、ダイナミクス記憶ネットワークは、学習において多数の経験を繰り返し積みながら、時間をかけて自己組織的な構造を形成するが、その後は、多少の揺らぎを受けても、その構造を崩さない耐性を有するようになる。
つまり、ダイナミクス記憶ネットワークでは、十分な数の入力データを与えた学習によって、その十分な数の入力データから、ある範疇のダイナミクスを獲得すると、その後は、その範疇に含まれないダイナミクスの入力データを与えても、各ノードが保持するダイナミクスが、その入力データの影響を受けにくくなるという耐性を有するようになる。
ここで、ダイナミクス記憶ネットワークが、このような耐性を有するようになるのは、式(1)で学習の重みαを求めるのにあたり、上述したように、学習の進行(時間の経過)とともに、式(1)の変数△を小さくすることによる。
以上のように、ダイナミクス記憶ネットワークの各ノードが保持するダイナミクスが収束すると、ダイナミクス記憶ネットワークは、それまでの学習で獲得したダイナミクス(以下、適宜、獲得済みダイナミクスという)の範疇に含まれないダイナミクス(以下、適宜、未獲得ダイナミクスともいう)の入力データに対する耐性を有するようになるが、そのトレードオフとして、未獲得ダイナミクスを新たに追加して獲得すること、特に、収束状態のダイナミクス記憶ネットワークの既存の構造を有意味に保ちつつ、未獲得ダイナミクスを新たに獲得する学習(以下、適宜、追加学習という)を行うことは困難となる。
すなわち、収束状態のダイナミクス記憶ネットワークに、未獲得ダイナミクスを新たに獲得させるには、収束状態のダイナミクス記憶ネットワークの既存のカテゴリ構造を修正する必要があるが、その修正の過程でノードが既に保持しているダイナミクス(獲得済みダイナミクス)を必要以上に破壊してしまい、それまでの学習が無駄になることがある。
なお、未獲得ダイナミクスが示し得る多様性は非常に広いので、何の手がかりもなしに、このような多様性が広いダイナミクスをいくつも学習することは困難であり、また時間もかかる。
収束状態のダイナミクス記憶ネットワークにおいて未獲得ダイナミクスを獲得する追加学習として、学習係数を高めて部分的な再学習を強行すること、具体的には、例えば、式(1)の学習の重みαを求めるときの変数△を大きく設定し直して、ダイナミクス記憶ネットワークの、勝者ノードを含む多くのノードが、未獲得ダイナミクスの新たな入力データの影響を受けるように学習を強行することは、収束状態のダイナミクス記憶ネットワークの既存の構造(収束状態のダイナミクス記憶ネットワークが獲得しているダイナミクスや、各ダイナミクスを保持しているノードどうしの位置関係等)を破壊してしまうリスクが大きい。
そこで、追加学習を行うその他の方法として、新規の経験を受けるたびに、新規データと既存データの両方を同時に使いつつ自己組織的な学習をやり直す方法、つまり、学習に用いた入力データをすべて保存しておき、新たな入力データが与えられるたびに、学習に用いた入力データに、新たな入力データを加えて、自己組織的な学習をやり直す方法がある。
しかしながら、この方法では、学習に用いた入力データをすべて保存しておき、さらに、新たな入力データが与えられるたびに、最初から学習をやり直す必要があり、現実的ではない。
そこで、以下では、最初から学習をやり直さずに済み、かつ、収束状態のダイナミクス記憶ネットワークの構造を破壊しない追加学習の方法について説明する。
図21は、本発明を適用したデータ処理装置の他の一実施の形態の構成例を示すブロック図である。
なお、図中、図1のデータ処理装置と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
図21のデータ処理装置は、学習部1−4に代えて、学習部21−4が設けられている他は、図1のデータ処理装置と同様に構成されている。
但し、図21のデータ処理装置において、ネットワーク記憶部1−5には、あらかじめ用意された初期学習用ノードと、後から追加されるか、またはあらかじめ用意された追加学習用ノードとの2種類のノードから構成可能なダイナミクス記憶ネットワーク(以下、適宜、追加学習機能付きネットワークという)が記憶されている。
追加学習機能付きネットワークを構成するノードである初期学習用ノードと追加学習用ノードとは、例えば、同一の構成のノードであり、いずれも、例えば、図6に示したように、RNNなどの内部状態量を持つ力学系近似モデル6−1と、その力学系近似モデル6−1のパラメータを学習するための学習データを記憶しておく学習データ記憶部6−2とで構成される。
学習部21−4は、図1の学習部1−4と同様に、特徴抽出部1−3からの時系列データを用いて、ネットワーク記憶部1−5に記憶されたダイナミクス記憶ネットワークである追加学習機能付きネットワークの学習(パラメータ更新)を行う。
但し、学習部21−4は、特徴抽出部1−3からの時系列データが、追加学習機能付きネットワークの初期学習用ノードが保持するダイナミクスに適合するかどうかを判定する。そして、学習部21−4は、時系列データが、初期学習用ノードが保持するダイナミクスに適合すると判定した場合に、図1の学習部1−4と同様に、時系列データに基づき、追加学習機能付きネットワークの初期学習用ノードが保持するダイナミクスを自己組織的に更新する学習(以下、適宜、初期学習用ノードの学習という)を行う。
一方、学習部21−4は、時系列データが、初期学習用ノードが保持するダイナミクスに適合しないと判定した場合には、時系列データに基づき、追加学習機能付きネットワークの初期学習用ノードではなく、追加学習用ノードが保持するダイナミクスを更新する学習(以下、適宜、追加学習用ノードの学習という)を行う。
図22は、追加学習機能付きネットワークの例を示している。
図22の追加学習機能付きネットワークは、9個の初期学習用ノードを有し、その9個の初期学習用ノードに対して、横×縦が3×3の2次元的な配置となるように、ノード間にリンクが与えられている点で、図5のダイナミクス記憶ネットワークと一致する。
但し、図22の追加学習機能付きネットワークは、図5のダイナミクス記憶ネットワークのノードに相当する初期学習用ノードの他に、追加学習用ノードを有している点で、追加学習用ノードを有していない図5のダイナミクス記憶ネットワークと異なる。
図22の追加学習機能付きネットワークは、初期学習用ノードの数と同一の9個の追加学習用ノードを有している。さらに、1つの初期学習用ノードと、1つの追加学習用ノードとが対応付けられている。
なお、追加学習機能付きネットワークにおいて、初期学習用ノード、および追加学習用ノードの実体は、ネットワーク記憶部1−5の記憶領域の一部である。初期学習用ノードは、あらかじめ用意される(初期学習用ノードとしての記憶領域は、あらかじめ確保される)が、追加学習用ノードは、初期学習用ノードと同様に、あらかじめ用意しておくこともできるし、後から追加する(必要になったときに、追加学習用ノードとしての記憶領域を確保する)こともできる。
次に、図22を参照して、図21のデータ処理装置による追加学習機能付きネットワークの学習の処理について説明する。
なお、以下、適宜、初期学習用ノードと追加学習用ノードとを、それらを区別する必要がない場合には、単に、ノードという。
図21のデータ処理装置では、ステップ23−1乃至23−4において、図7のステップ7−1乃至7−4とそれぞれ同様の処理が行われる。
すなわち、学習部21−4は、ネットワーク記憶部1−5に記憶されたダイナミクス記憶ネットワークである追加学習機能付きネットワークのすべてのパラメータの初期化を行う(ステップ23−1)。具体的には、追加学習機能付きネットワークの各ノードの内部状態量を持つ力学系近似モデル6−1のパラメータに適当な値が初期値として付与される。ここで、追加学習機能付きネットワークのノードが有する力学系近似モデル6−1が、例えば、RNNである場合には、ステップ23−1では、そのRNNのユニットに入力される信号に与えられる重み(結合荷重)等を、力学系近似モデル6−1のパラメータとして、そのパラメータに適当な初期値がセットされる。
次に、信号入力部1−2に観測信号1−1が一つ入力されると、特徴抽出部1−3において、その観測信号1−1の特徴量が時系列に抽出され、時系列データとして学習部21−4に送られる(ステップ23−2)。学習部21−4では、特徴抽出部1−3から送られてきた時系列データを入力データとして、その入力データに対して、ネットワーク記憶部1−5に記憶された追加学習機能付きネットワークに含まれる各初期学習用ノードに対応する(各初期学習用ノードが有する)内部状態量を持つ力学系近似モデル6−1とのスコア計算が、図7のステップ7−3と同様に、内部状態量を更新しながら行われる(ステップ23−3)。
そして、学習部21−4は、追加学習機能付きネットワークを構成する初期学習用ノードそれぞれのスコアを比較することによって、最もスコアの良い初期学習用ノード、すなわち、入力データに最も適合する初期学習用ノードである勝者ノードを決定する(ステップ7−4)。
学習部21−4は、入力データに対する勝者ノードを決定すると、入力データが、初期学習用ノードが保持しているダイナミクスに適合するかどうかを判定する(ステップ23−5)。
学習部21−4は、入力データが、初期学習用ノードが保持するダイナミクスに適合すると判定した場合、図1の学習部1−4と同様に、入力データに基づき、追加学習機能付きネットワークの初期学習用ノードが保持するダイナミクスを自己組織的に更新する初期学習用ノードの学習を行う(ステップ23−6)。
一方、学習部21−4は、入力データが、初期学習用ノードが保持するダイナミクスに適合しないと判定した場合、入力データに基づき、追加学習機能付きネットワークの追加学習用ノードが保持するダイナミクスを更新する追加学習用ノードの学習を行う(ステップ23−7)。
ステップ23−6の初期学習用ノードの学習、またはステップ23−7の追加学習用ノードの学習の後は、信号入力部1−2に、次の観測信号1−1が入力されると、ステップ23−2に戻り、再び、ステップ23−2以降の処理が繰り返される。
次に、図24を参照して、図23のステップ23−5乃至23−7の処理のより具体的な処理の第1実施の形態について説明する。
学習部21−4は、図23の23−4において、初期学習用ノードのうちの、入力データに最も適合するダイナミクスに対応するノードである勝者ノードを決定した後、ステップ24−1に進み、勝者ノードとなった初期学習用ノードが保持するダイナミクスに対する、入力データの適合の度合いとしてのスコアに基づき、例えば、そのスコアが所定の閾値以上であるかどうかによって、入力データが、勝者ノードとなった初期学習用ノードが保持するダイナミクスに適合するかどうかを判定する。
ここで、図23のステップ23−4では、初期学習用ノードのうちの、入力データに対するスコアが最も良い初期学習用ノードが勝者ノードに決定されるが、追加学習機能付きネットワークの初期学習用ノードのスコアが全体的に悪い(低い)場合に勝者ノードに決定された初期学習用ノードが保持するダイナミクスが、入力データに適合するとは言い難い。
また、追加学習機能付きネットワークの初期学習用ノードの1つを、注目ノードとして注目すると、学習が開始された直後は、注目ノードは、その後の学習で、どのようなダイナミクスも獲得し得るが、学習がある程度進行すると、注目ノードは、それまでの学習で特定のダイナミクスを獲得するから、その後の学習では、注目ノードに対して、特定のダイナミクスの範疇に含まれないダイナミクスの入力データの影響を与えるべきではない。
したがって、学習が開始された直後は、入力データに対する注目ノードのスコアが、絶対的な値としては、それほど良くなくても、他の初期学習用ノードのスコアと比較して相対的に良ければ、入力データが注目ノードが保持するダイナミクスに適合していると言うことができるが、学習がある程度進行した後は、入力データに対する注目ノードのスコアが、他の初期学習用ノードのスコアと比較して相対的に良くても、絶対的な値として良くなければ、入力データが注目ノードが保持するダイナミクスに適合しているとは言い難い。
そこで、学習部21−4は、固定の閾値ではなく、学習の進行(時間の経過)に応じて増加する所定の閾値を用い、ステップ24−1において、入力データに対する勝者ノードのスコアが所定の閾値以上であるかどうかによって、入力データが、勝者ノードとなった初期学習用ノードが保持するダイナミクスに適合するかどうかを判定する。
ここで、入力データが、勝者ノードが保持するダイナミクスに適合するかどうかの判定に用いる所定の閾値を、適合閾値という。適合閾値は、勝者ノードとなり得る初期学習用ノードごとに用意されていることとする。
ステップ24−1において、入力データが、勝者ノードとなった初期学習用ノードが保持するダイナミクスに適合すると判定された場合、すなわち、入力データに対する勝者ノードのスコアが、その勝者ノード(となっている初期学習用ノード)の適合閾値以上である場合、ステップ24−2に進み、学習部21−4は、勝者ノードの適合閾値を増加することにより更新する。
その後、学習部21−4は、ステップ24−3,24−4に順次進み、図7のステップ7−5,7−6とそれぞれ同様にして、入力データに基づき、追加学習機能付きネットワークの初期学習用ノードが保持するダイナミクスを自己組織的に更新する初期学習用ノードの学習を行う。
すなわち、学習部21−4は、ステップ24−3において、図7のステップ7−5と同様に、勝者ノードを中心として各初期学習用ノードの学習の重みαを、式(1)にしたがって決定し、ステップ24−4に進む。
ステップ24−4では、学習部21−4は、図7のステップ7−6と同様に、各初期学習用ノードの内部状態量を持つ力学系近似モデル6−1のパラメータの更新を、学習の重みαに応じて行い、図23のステップ23−2に戻る。
一方、ステップ24−1において、入力データが、勝者ノードとなった初期学習用ノードが保持するダイナミクスに適合しないと判定された場合、すなわち、入力データに対する勝者ノードのスコアが、その勝者ノードの適合閾値以上でない場合、学習部21−4は、ステップ24−5,24−6に順次進み、初期学習用ノードではなく、追加学習用ノードの学習を行う。
すなわち、ステップ24−5において、学習部21−4は、勝者ノードに基づき、勝者ノードとなっている初期学習用ノードに対応付けられている追加学習用ノードを、追加学習の対象として特定する。
具体的には、例えば、図22に示したように、1つの初期学習用ノードと、1つの追加学習用ノードとが対応付けられている場合、勝者ノードとなっている初期学習用ノードに対応付けられている追加学習用ノードが、追加学習の対象として特定される。
ここで、追加学習の対象として特定された追加学習用ノードを、対象ノードということとすると、対象ノードとなり得る追加学習用ノード(としての記憶領域)は、上述したように、そのすべてを、あらかじめ静的に用意しておいても良いし、実際に追加学習の対象である対象ノードに特定されたときにはじめて動的に生成してもよい。
学習部21−4は、ステップ24−5において、対象ノードを特定すると、ステップ24−6に進み、対象ノードが保持するダイナミクスを、入力データに近くなるように更新する追加学習用ノードの学習を行う。
すなわち、学習部21−4は、例えば、図9で説明したようにして、対象ノードのパラメータを更新する。
なお、図9で説明したパラメータの更新には、学習の重みαが必要となるが、追加学習用ノードである対象パラメータの更新においては、学習の重みαとして、例えば、1などの固定値が使用される。
ステップ24−6において、追加学習用ノードの学習が行われた後は、図23のステップ23−2に戻る。
なお、図24のステップ24−1は、図23のステップ23−5に相当する。また、図24のステップ24−2乃至24−4は、図23のステップ23−6に相当し、図24のステップ24−5および24−6は、図23のステップ23−7に相当する。
次に、図25を参照して、図23のステップ23−5乃至23−7の処理のより具体的な処理の第2実施の形態について説明する。
学習部21−4は、図23の23−4において、初期学習用ノードのうちの、入力データに最も適合するダイナミクスに対応するノードである勝者ノードを決定した後、ステップ25−1に進み、追加学習機能付きネットワークが収束状態になったか否かを判定する。
ここで、ステップ25−1において、追加学習機能付きネットワークが収束状態になったか否かは、例えば、学習の開始から、所定の十分な時間が経過したかどうか、つまり、学習の回数(図23のステップ23−2で入力データが入力された回数)が、所定の閾値としての十分な回数以上となったか否かによって判定される。
ステップ25−1において、追加学習機能付きネットワークが収束状態になっていないと判定された場合、すなわち、学習の回数が、所定の閾値未満である場合、ステップ25−2をスキップして、ステップ25−3,25−4,25−5に順次進み、それぞれ、図24のステップ24−2,24−3,24−4と同様の処理が行われる。
すなわち、学習部21−4は、ステップ25−3において、勝者ノードの適合閾値を増加することにより更新し、さらに、ステップ25−4および25−5において、入力データに基づき、追加学習機能付きネットワークの初期学習用ノードが保持するダイナミクスを自己組織的に更新する初期学習用ノードの学習を行って、図23のステップ23−2に戻る。
一方、ステップ25−1において、追加学習機能付きネットワークが収束状態になっていると判定された場合、すなわち、学習の回数が、所定の閾値以上となっている場合、ステップ25−2に進み、学習部21−4は、図24のステップ24−1と同様にして、勝者ノードとなった初期学習用ノードが保持するダイナミクスに対する、入力データの適合の度合いとしてのスコアに基づき、そのスコアが、勝者ノードの適合閾値以上であるかどうかによって、入力データが、勝者ノードとなった初期学習用ノードが保持するダイナミクスに適合するかどうかを判定する。
ステップ25−2において、入力データが、勝者ノードとなった初期学習用ノードが保持するダイナミクスに適合すると判定された場合、すなわち、入力データに対する勝者ノードのスコアが、その勝者ノードの適合閾値以上である場合、ステップ25−3,25−4,25−5に順次進み、上述したように、勝者ノードの適合閾値の更新(ステップ25−3)と、初期学習用ノードの学習とが行われ(ステップ25−4および25−5)、図23のステップ23−2に戻る。
一方、ステップ25−2において、入力データが、勝者ノードとなった初期学習用ノードが保持するダイナミクスに適合しないと判定された場合、すなわち、入力データに対する勝者ノードのスコアが、その勝者ノードの適合閾値以上でない場合、学習部21−4は、ステップ25−6,25−7に順次進み、それぞれ、図24のステップ24−5,24−6と同様の処理を行う。
すなわち、ステップ25−6において、学習部21−4は、勝者ノードに基づき、勝者ノードとなっている初期学習用ノードに対応付けられている追加学習用ノードを、追加学習の対象の対象ノードとして特定し、ステップ25−7に進む。
ステップ25−7では、学習部21−4は、対象ノードが保持するダイナミクスを、入力データに近くなるように更新する追加学習用ノードの学習を行い、すなわち、図9で説明したようにして、対象ノードのパラメータを更新し、図23のステップ23−2に戻る。
なお、図25のステップ25−1および25−2は、図23のステップ23−5に相当する。また、図24のステップ25−3乃至25−5は、図23のステップ23−6に相当し、図24のステップ25−6および25−7は、図23のステップ23−7に相当する。
以上のように、図21のデータ処理装置では、ダイナミクス記憶ネットワークとして、あらかじめ用意された初期学習用ノードと、後から追加されるか、又はあらかじめ用意された追加学習用ノードとの2種類のノードから構成可能な追加学習機能付きネットワークが採用され、入力データが、初期学習用ノードが保持するダイナミクスに適合するかどうかが判定される。そして、入力データが、初期学習用ノードが保持するダイナミクスに適合すると判定された場合、その入力データに基づき、初期学習用ノードが保持するダイナミクスを自己組織的に更新する初期学習用ノードの学習が行われる。一方、入力データが、初期学習用ノードが保持するダイナミクスに適合しないと判定された場合、その入力データに基づき、追加学習用ノードが保持するダイナミクスを更新する追加学習用ノードの学習が行われる。
すなわち、入力データが、初期学習用ノードが保持するダイナミクスに適合する場合、つまり、入力データが、追加学習機能付きネットワークを構成する初期学習用ノードが保持するダイナミクスの範疇に含まれるダイナミクス(獲得済みダイナミクス)のデータである場合には、その入力データに基づき、初期学習用ノードが保持するダイナミクスを自己組織的に更新する初期学習用ノードの学習が行われる。
一方、入力データが、初期学習用ノードが保持するダイナミクスに適合しない場合、つまり、入力データが、追加学習機能付きネットワークを構成する初期学習用ノードが保持するダイナミクスの範疇に含まれないダイナミクス(未獲得ダイナミクス)のデータである場合には、追加学習機能付きネットワークが初期学習用ノードによって既に獲得しているダイナミクスを破壊しないように、初期学習用ノードではなく、追加学習用ノードが保持するダイナミクスを更新する追加学習用ノードの学習が行われる。
その結果、最初から学習をやり直さずに済み、かつ、収束状態のダイナミクス記憶ネットワーク(追加学習機能付きネットワーク)の構造を破壊しない追加学習を行うことができる。
次に、入力データが、初期学習用ノードが保持するダイナミクスに適合するか否かは、図24や図25で説明したように、勝者ノードとなった初期学習用ノードのスコアと、その初期学習用ノードの適合閾値との大小関係によって判定されるが、適合閾値は、例えば、式(6)にしたがって求めることができる。
なお、式(6)は、追加学習機能付きネットワークを構成する初期学習用ノードが、図22に示したような、2次元的な配置構造となるリンクが与えられていることを前提としており、式(6)において、pijは、左からi番目で、上からj番目の位置(i,j)に配置されている初期学習用ノードの適合閾値を表す。
また、式(6)において、kは適当な定数である。さらに、ηt ijは、t回目の学習(t個目の入力データを用いた学習)時において、入力データが位置(i,j)の初期学習用ノードが保持するダイナミクスに適合するということができる、その位置(i,j)の初期学習用ノードのスコアの予測値(スコア予測値)であり、例えば、式(7)で与えられる。
式(7)によれば、位置(i,j)の初期学習用ノードのスコア予測値ηt+1 ijは、初期値η0 ijを0として、max(st,ηt ij)、またはηt ijに更新される。
すなわち、t回目の学習時に勝者ノードとなった初期学習用ノードについては、そのt回目の学習時に求められたスコアstと、t回目の学習時のスコア予測値ηt ijとのうちの大きい方の値max(st,ηt ij)が、t+1回目の学習時のスコア予測値ηt+1 ijとされる。
一方、t回目の学習時に勝者ノードとならなかった初期学習用ノードについては、t回目の学習時のスコア予測値ηt ijが、そのまま、t+1回目の学習時のスコア予測値ηt+1 ijとされる。
また、スコア予測値は、式(7)の他、例えば、式(8)にしたがって求めることもできる。
式(8)によれば、位置(i,j)の初期学習用ノードのスコア予測値ηt+1 ijは、初期値η0 ijを0として、ast+(1-a)ηt ij、またはηt ijに更新される。
すなわち、t回目の学習時に勝者ノードとなった初期学習用ノードについては、そのt回目の学習時に求められたスコアstを用いて求められる値ast+(1-a)ηt ijが、t+1回目の学習時のスコア予測値ηt+1 ijとされる。
一方、t回目の学習時に勝者ノードとならなかった初期学習用ノードについては、t回目の学習時のスコア予測値ηt ijが、そのまま、t+1回目の学習時のスコア予測値ηt+1 ijとされる。
なお、式(8)において、aは、スコア予測値を更新する度合いを制御するパラメータで、式0<a<1を満たす値、例えば、a=0.1などを用いることができる。
式(6)において、γ(t)は、追加学習機能付きネットワークの学習の程度、つまり、収束状態に対応して調整される係数である。γ(t)は、例えば、基本的には時間tの経過、つまり、学習の回数tに応じて変化し、例えば、式(9)で与えられる。
式(9)において、t0は、追加学習機能付きネットワークが収束状態になると期待される時刻(学習の回数)であり、βは、適合閾値pijの変化を調整するパラメータである。t0およびβは、式(1)の学習重みαを求めるのに用いられる変数Δなどとともに適切に調整される。
また、式(9)において、expは、ネイピア数 (Napier's constant)eを底とする指数関数を表す。
なお、式(9)において、βを∞とすれば、γ(t)は、以下の単純閾値関数となる。
すなわち、式(9)において、βを∞とすると、学習の回数tが所定の閾値t0未満であるとき(式t0-t>0を満たすとき)、つまり、追加学習機能付きネットワークが収束状態にないときには、γ(t)=0となり、学習の回数tが所定の閾値t0を越えているとき(式t0-t<0を満たすとき)、つまり、追加学習機能付きネットワークが収束状態になっているときには、γ(t)=1となる。
なお、上述の場合には、勝者ノードとなった初期学習用ノードのスコアが、その初期学習用ノードの適合閾値以上であるかどうかによって、入力データが、初期学習用ノードが保持するダイナミクスに適合するかどうかを判定する適合判定を行うようにしたが、適合判定は、その他、例えば、勝者ノードとなった初期学習用ノード以外のスコアや、勝者ノードとなった初期学習用ノードの近傍の初期学習用ノード、もしくは追加学習機能付きネットワーク全体の初期学習用ノードのスコアの空間的分布(スコア分布)等を用いて行うことが可能である。
具体的には、例えば、勝者ノードとなった初期学習用ノードのスコアが、2番目にスコアが高い(良い)初期学習用ノードのスコア、または勝者ノード以外の初期学習用ノードのスコアの平均値もしくは中央値等の、他の初期学習用ノードに基づくスコアと比較してさほど有意に高くない場合は、入力データが、初期学習用ノードが保持するダイナミクスに適合しないと判定し、有意に高い場合には、入力データが、初期学習用ノードが保持するダイナミクスに適合すると判定することができる。
勝者ノードとなった初期学習用ノードのスコアが、他の初期学習用ノードに基づくスコアと比較して有意に高いかどうかは、勝者ノードとなった初期学習用ノードのスコアと、他の初期学習用ノードに基づくスコアとの差が、所定の閾値以上であるかどうかによって決定される。なお、この所定の閾値としては、上述の適合閾値と同様に、学習の進行(時間の経過)に応じて変化する閾値を採用することができる。
また、適合判定は、その他、例えば、勝者ノードとなった初期学習用ノードとその近傍の初期学習用ノード、または追加学習機能付きネットワーク全体の初期学習用ノードのスコア分布がガウス分布として近似することができるかどうかの有意性判定を以って行うこともできる。
この場合、スコア分布が、ガウス分布として近似することができると判定されたときには、入力データが、初期学習用ノードが保持するダイナミクスに適合しないと判定され、スコア分布が、ガウス分布として近似することができないと判定されたときには、入力データが、初期学習用ノードが保持するダイナミクスに適合すると判定される。
ところで、図24や図25で説明したように、追加学習機能付きネットワークの初期学習用ノードが保持するダイナミクスに適合しないと判定された入力データ(のダイナミクス)は、初期学習用ノードではなく、追加学習用ノードで学習されるが、この入力データを学習(追加学習)する追加学習用ノードとしては、入力データに対する勝者ノードとなった初期学習用ノードに対応付けられている追加学習用ノードが採用される。
上述の図22に示した追加学習機能付きネットワークでは、1つの初期学習用ノードと、1つの追加学習用ノードとを対応付けるようにしたが、追加学習機能付きネットワークにおいて、初期学習用ノードと追加学習用ノードとを対応付ける対応付けの方法(対応付け方法)は、図22に示した方法以外の方法を採用することができる。
そこで、図26乃至図31を参照して、初期学習用ノードと追加学習用ノードとの対応付け方法について説明する。
図26は、初期学習用ノードと追加学習用ノードとの第1の対応付け方法を示している。
図26では、図22の場合と同様に、1つの初期学習用ノードと、1つの追加学習用ノードとが対応付けられている。
図26に示したように、1つの初期学習用ノードと、1つの追加学習用ノードとが対応付けられている場合には、追加学習機能付きネットワークの初期学習用ノードが保持するダイナミクスに適合しないと判定された入力データは、その入力データに対する勝者ノードとなった初期学習用ノードに対応付けられている1つの追加学習用ノードで学習される。
図27は、初期学習用ノードと追加学習用ノードとの第2の対応付け方法を示している。
図27では、1つの初期学習用ノードと、複数の追加学習用ノードとが対応付けられている。
図27に示したように、1つの初期学習用ノードと、複数の追加学習用ノードとが対応付けられている場合には、追加学習機能付きネットワークの初期学習用ノードが保持するダイナミクスに適合しないと判定された入力データは、その入力データに対する勝者ノードとなった初期学習用ノードに対応付けられている複数の追加学習用ノードのうちの、例えば、1つまたは全部で学習される。
すなわち、入力データを、その入力データに対する勝者ノードとなった初期学習用ノードに対応付けられている複数の追加学習用ノードのうちの1つで学習する場合には、複数の追加学習用ノードの中から、入力データに対する勝者ノードが決定される。
具体的には、入力データに対して、複数の追加学習用ノードそれぞれのスコアが求められ、そのスコアが最も良い追加学習用ノードが、勝者ノードに決定される。
そして、その勝者ノードに決定された追加学習用ノードによって、入力データが学習される。なお、追加学習用ノードの学習では、学習の重みαとしては、上述したように、時間の経過(学習の回数)によって変化しない固定値が使用される。
一方、入力データを、その入力データに対する勝者ノードとなった初期学習用ノードに対応付けられている複数の追加学習用ノードの全部で学習する場合には、学習の重みαとして、時間の経過(学習の回数)によっては変化しないが、スコアによって変化する値が採用される。
すなわち、勝者ノードとなった初期学習用ノードに対応付けられている複数の追加学習用ノードのうちの、i番目の追加学習用ノードのスコアを、siと表すとともに、そのi番目の追加学習用ノードの学習に用いる学習の重みαを、αiと表すこととすると、i番目の追加学習用ノードの学習の重みαiは、例えば、式(11)にしたがって求められる。
但し、式(11)において、α0は、適当な定数である。
また、式(11)において、Zは、正規化用の係数(正規化係数)であり、勝者ノードとなった初期学習用ノードに対応付けられている複数の追加学習用ノードの数がN個であるとすると、正規化係数Zは、例えば、式(12)で表される。
入力データを、その入力データに対する勝者ノードとなった初期学習用ノードに対応付けられている複数の追加学習用ノードの全部で学習する場合には、その複数の追加学習用ノードのそれぞれの学習の重みαとして、同一の固定値を採用することも可能であるが、式(11)の、スコアによって変化する値αiを採用することにより、追加学習機能付きネットワークの性能の改善が期待される。
ここで、追加学習用ノードを有しない、初期学習用ノードに相当するノードから構成される、例えば、図5に示したようなダイナミクス記憶ネットワークを、基本ネットワークということとすると、初期学習用ノードに対応付けられている複数の追加学習用ノードに対して、基本ネットワークと同様のリンクを与えることにより、その複数の追加学習用ノードは、基本ネットワークを構成することになる。この場合、図27の対応付けでは、1つの初期学習用ノードと、1つの基本ネットワークとが対応付けられているとみることができる。
このように、1つの初期学習用ノードと、1つの基本ネットワークを構成する複数の追加学習用ノードとが対応付けられている場合、その複数の追加学習用ノードの学習としては、基本ネットワークと同一の学習(自己組織的な学習)を行うようにすることができる。
次に、図28は、初期学習用ノードと追加学習用ノードとの第3の対応付け方法を示している。
図28では、複数の初期学習用ノードと、1つの追加学習用ノードとが対応付けられている。すなわち、図28では、複数の初期学習用ノードを、1つの初期学習用ノード群として、その1つの初期学習用ノード群と、1つの追加学習用ノードとが対応付けられている。
1つの初期学習用ノード群と、1つの追加学習用ノードとの対応付けは、ある初期学習用ノード群に属する初期学習用ノードが、他の初期学習用ノード群にも重複して属するように行うこともできるし(図28上から2番目)、ある初期学習用ノード群に属する初期学習用ノードが、他の初期学習用ノード群には属しないように行うこともできる(図28上から3番目)。
1つの初期学習用ノード群を構成する複数の初期学習用ノードと、1つの追加学習用ノードとが対応付けられている場合においては、ある1つの初期学習用ノードに注目すると、その1つの初期学習用ノードには、1、または複数の追加学習用ノードが対応付けられている。
したがって、複数の初期学習用ノードと、1つの追加学習用ノードとが対応付けられている場合においては、追加学習用ノードの学習は、1つの初期学習用ノードと1つの追加学習用ノードとが対応付けられている場合(図26)、または1つの初期学習用ノードと複数の追加学習用ノードとが対応付けられている場合(図27)と同様にして行うことができる。
なお、1つの初期学習用ノード群を構成する複数の初期学習用ノードと、1つの追加学習用ノードとが対応付けられている場合、つまり、追加学習機能付きネットワークを構成する、トポロジカルに近傍の複数の初期学習用ノードである1つの初期学習用ノード群に対して1つの追加学習用ノードが対応付けられている場合には、1つの初期学習用ノードと1つの追加学習用ノードとが対応付けられている場合(図26)や、1つの初期学習用ノードと複数の追加学習用ノードとが対応付けられている場合(図27)に比較して、追加学習用ノードの学習に用いられる入力データが多くなり、追加学習用ノードの学習に用いられる入力データの統計的な性質が安定する。
また、1つの初期学習用ノード群を構成する複数の初期学習用ノードと、1つの追加学習用ノードとの対応付けを、ある初期学習用ノード群に属する初期学習用ノードが、他の初期学習用ノード群にも重複して属するように行う場合には(図28上から2番目)、初期学習用ノードどうしのトポロジカルな関係が追加学習用ノードどうしの間に、より反映されやすくなり、その結果、追加学習用ノード間の滑らかな遷移などを考えることができるようになる。すなわち、認識の処理において、ある時刻tの入力データに対して、ある追加学習用ノードが勝者ノードとなった場合に、次の時刻t+1の入力データに対して、例えば、時刻tの勝者ノードに近い位置の追加学習用ノードが勝者ノードとなり、これにより、勝者ノードとなる追加学習用ノードの軌跡として、滑らかに変化する軌跡を得ることができるようになる。
次に、図29は、初期学習用ノードと追加学習用ノードとの第4の対応付け方法を示している。
図29では、複数の初期学習用ノードと、複数の追加学習用ノードとが対応付けられている。すなわち、図29では、複数の初期学習用ノードを、1つの初期学習用ノード群とするとともに、複数の追加学習用ノードを、1つの追加学習用ノード群として、1つの初期学習用ノード群と、1つの追加学習用ノード群とが対応付けられている。
1つの初期学習用ノード群と、1つの追加学習用ノード群との対応付けは、ある初期学習用ノード群に属する初期学習用ノードが、他の初期学習用ノード群にも重複して属するように行うこともできるし、ある追加学習用ノード群に属する追加学習用ノードが、他の追加学習用ノード群にも重複して属するように行うこともできる(図29上から2番目)。
また、1つの初期学習用ノード群と、1つの追加学習用ノード群との対応付けは、ある初期学習用ノード群に属する初期学習用ノードが、他の初期学習用ノード群に属せず、かつ、ある追加学習用ノード群に属する追加学習用ノードが、他の追加学習用ノード群に属しないように行うこともできる(図29上から3番目)。
1つの初期学習用ノード群を構成する複数の初期学習用ノードと、1つの追加学習用ノード群を構成する複数の追加学習用ノードとが対応付けられている場合においては、ある1つの初期学習用ノードに注目すると、その1つの初期学習用ノードには、複数の追加学習用ノードが対応付けられている。
したがって、複数の初期学習用ノードと、複数の追加学習用ノードとが対応付けられている場合においては、追加学習用ノードの学習は、1つの初期学習用ノードと複数の追加学習用ノードとが対応付けられている場合(図27)と同様にして行うことができる。
なお、1つの初期学習用ノード群と、1つの追加学習用ノード群との対応付けを、ある初期学習用ノード群に属する初期学習用ノードが、他の初期学習用ノード群にも重複して属するように行う場合、または、ある追加学習用ノード群に属する追加学習用ノードが、他の追加学習用ノード群にも重複して属するように行う場合には(図29上から2番目)、初期学習用ノードどうしのトポロジカルな関係が追加学習用ノードどうしの間に反映されやすくなり、その結果、追加学習用ノード間の滑らかな遷移などを考えることができるようになる。
また、1つの初期学習用ノード群と、1つの追加学習用ノード群との対応付けを、ある初期学習用ノード群に属する初期学習用ノードが、他の初期学習用ノード群に属せず、かつ、ある追加学習用ノード群に属する追加学習用ノードが、他の追加学習用ノード群に属しないように行う場合には(図29上から3番目)、追加学習用ノードどうしの間に、特に、トポロジーが存在する必然性はない。但し、追加学習用ノードどうしの間に、基本ネットワークと同様のリンクを与えて、複数の追加学習用ノードによって、基本ネットワークを構成することにより、トポロジーが発生する。
次に、上述の図24および図25では、初期学習用ノードと、追加学習用ノードとを対応付けておき、入力データが、勝者ノードとなった初期学習用ノードに適合しない場合には、その勝者ノードに基づき、その勝者ノードとなった初期学習用ノードに対応付けられている追加学習用ノードを、入力データの学習を行う対象の対象ノードとして特定し、その対象ノードによって、入力データの学習(追加学習)を行うようにしたが、対象ノードの特定は、勝者ノード(となった初期学習用ノード)に基づいて行うのではなく、入力データに対する初期学習用ノードのスコアの分布(スコア分布)に基づいて行うことが可能である。
すなわち、図30は、対象ノードの特定を、入力データに対する初期学習用ノードのスコア分布に基づいて行う方法を説明する図である。
なお、対象ノードの特定に用いるスコア分布は、追加学習機能付きネットワークのすべての初期学習用ノードのスコアの分布であっても良いし、入力データに対する勝者ノードとなった初期学習用ノードと、その初期学習用ノードの近傍にある初期学習用ノードなどの、追加学習機能付きネットワークの一部の初期学習用ノードのスコアの分布であっても良い。
但し、ここでは、説明を簡単にするため、対象ノードの特定に用いるスコア分布として、追加学習機能付きネットワークのすべての初期学習用ノードのスコアの分布を採用することとする。
いま、追加学習機能付きネットワークのすべての初期学習用ノードのスコアをコンポーネントとするベクトルを、スコア分布ベクトルということとすると、対象ノードの特定を、入力データに対する初期学習用ノードのスコア分布に基づいて行う場合には、スコア分布ベクトルの空間(スコア分布ベクトル空間)を、幾つかの部分空間に分割しておき、各部分空間と、1以上の追加学習用ノードとを対応付けておく。
そして、対象ノードの特定にあたっては、図30に示すように、入力データに対するスコア分布ベクトルが、スコア分布ベクトル空間のいずれの部分空間に属するのかを検出する、スコア分布ベクトルのクラスタリング、つまり、ベクトル量子化が行われ、そのクラスタリング(ベクトル量子化)の結果得られる、スコア分布ベクトルが属する部分空間に対応付けられている追加学習用ノードが、対象ノードとして特定される。
なお、対象ノードの特定をスコア分布に基づいて行う場合に用いるスコア分布ベクトルは、例えば、主成分分析等によって次元数の小さいベクトルとすることができる。
また、スコア分布ベクトル空間は、例えば、等間隔に区切ることにより、形状および大きさが同一の部分空間に分割することができる。その他、スコア分布ベクトル空間を、幾つかの部分空間に分割する分割方法としては、例えば、k-means法を採用することができる。
但し、スコア分布ベクトル空間を、幾つかの部分空間に分割するのに、k-means法を採用する場合には、勝者ノードとなった初期学習用ノードに適合しない入力データを、ある程度の数だけ集め、その入力データに対するスコア分布ベクトルを求めて、そのスコア分布ベクトルを用いて、k-means法によるコードブックの作成(学習)(スコア分布ベクトル空間を部分空間に分割すること)を行う必要がある。
ここで、追加学習機能付きネットワークを対象とした認識の処理は、基本ネットワークを対象とした場合と同様にして行うことができる。すなわち、追加学習機能付きネットワークを対象とした認識の処理は、初期学習用ノードと追加学習用ノードとを区別せずに、すべて、基本ネットワークのノードと同様に扱うことにより、基本ネットワークを対象とした認識の処理と同様に行うことができる。追加学習機能付きネットワークを対象とした生成の処理、および認識生成の処理も同様である。
なお、追加学習機能付きネットワークを対象とした認識の処理は、その他、例えば、初期学習用ノードと追加学習用ノードとを区別して、以下のように行うことも可能である。
すなわち、追加学習機能付きネットワークを対象とした認識の処理では、認識部1−6が、まず、初期学習用ノードと追加学習用ノードとのうちの、初期学習用ノードについてのみ、認識対象の入力データに対するスコアを計算し、そのスコアが最も良い初期学習用ノードを、いわば仮の勝者ノードに決定する。
さらに、認識部1−6は、図24のステップ24−1(図25のステップ25−2)と同様にして、仮の勝者ノードとなった初期学習用ノードのスコアに基づき、そのスコアが仮の勝者ノードとなった初期学習用ノードの適合閾値以上であるかどうかによって、認識の対象の入力データが、仮の勝者ノードとなった初期学習用ノードが保持するダイナミクスに適合するかどうかを判定する。
そして、認識の対象の入力データが、仮の勝者ノードとなった初期学習用ノードが保持するダイナミクスに適合すると判定された場合、すなわち、仮の勝者ノードとなった初期学習用ノードのスコアが、その仮の勝者ノードとなった初期学習用ノードの適合閾値以上である場合、認識1−6は、仮の勝者ノードを、最終的な勝者ノードに決定し、その最終的な勝者ノードを表す情報を、認識の対象の入力データの認識結果とする。
一方、認識の対象の入力データが、仮の勝者ノードとなった初期学習用ノードが保持するダイナミクスに適合しないと判定された場合、すなわち、仮の勝者ノードとなった初期学習用ノードのスコアが、その仮の勝者ノードとなった初期学習用ノードの適合閾値以上でない場合、認識1−6は、仮の勝者ノードとなった初期学習用ノードに対応付けられている追加学習用ノードを、最終的な勝者ノードに決定し、その最終的な勝者ノードを表す情報を、認識の対象の入力データの認識結果とする。
なお、仮の勝者ノードとなった初期学習用ノードに対して、複数の追加学習用ノードが対応付けられている場合には、例えば、その複数の追加学習用ノードのうちの、認識の対象の入力データに対するスコアが最も良い1つの追加学習用ノードが、最終的な勝者ノードに決定される。
認識生成の処理のうちの認識の処理も、同様にして行うことができる。
次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
そこで、図31は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク105やROM103に予め記録しておくことができる。
あるいはまた、プログラムは、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto Optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体111に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体111は、いわゆるパッケージソフトウエアとして提供することができる。
なお、プログラムは、上述したようなリムーバブル記録媒体111からコンピュータにインストールする他、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを、通信部108で受信し、内蔵するハードディスク105にインストールすることができる。
コンピュータは、CPU(Central Processing Unit)102を内蔵している。CPU102には、バス101を介して、入出力インタフェース110が接続されており、CPU102は、入出力インタフェース110を介して、ユーザによって、キーボードや、マウス、マイク等で構成される入力部107が操作等されることにより指令が入力されると、それにしたがって、ROM(Read Only Memory)103に格納されているプログラムを実行する。あるいは、また、CPU102は、ハードディスク105に格納されているプログラム、衛星若しくはネットワークから転送され、通信部108で受信されてハードディスク105にインストールされたプログラム、またはドライブ109に装着されたリムーバブル記録媒体111から読み出されてハードディスク105にインストールされたプログラムを、RAM(Random Access Memory)104にロードして実行する。これにより、CPU102は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU102は、その処理結果を、必要に応じて、例えば、入出力インタフェース110を介して、LCD(Liquid Crystal Display)やスピーカ等で構成される出力部106から出力、あるいは、通信部108から送信、さらには、ハードディスク105に記録等させる。
ここで、本明細書において、コンピュータに各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含むものである。
また、プログラムは、1のコンピュータにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
なお、本実施の形態では、追加学習機能付きネットワークを構成する初期学習用ノードと追加学習用ノードとを、同一の構成のノードとしたが、追加学習用ノードは、初期学習用ノードと異なる構成のノードとすることができる。すなわち、追加学習用ノードは、RNN以外の、例えば、リカレント型でないニューラルネットワークや、SVR (Support Vector Regression)(サポートベクタ回帰)等を利用した学習器などの、時系列データを学習する学習器で構成することができる。
また、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
1−2 信号入力部, 1−3 特徴抽出部, 1−4 学習部, 1−5 ネットワーク記憶部, 1−6 認識部, 1−9 生成部, 1−11 内部状態記憶部, 12−1 内部状態量更新部, 12−2 スコア計算部, 12−3 決定部, 12−4 出力部, 12−5 生成ノード決定部, 12−6 内部状態読み込み部, 12−7 時系列データ生成部, 12−8 出力部, 21−4 学習部, 101 バス, 102 CPU, 103 ROM, 104 RAM, 105 ハードディスク, 106 出力部, 107 入力部, 108 通信部, 109 ドライブ, 110 入出力インタフェース, 111 リムーバブル記録媒体
Claims (25)
- ダイナミクスを一つのノードに保持し、複数のノードによって構成されるネットワークを記憶するネットワーク記憶手段と、
観測される時系列データに基づき、前記ネットワークの各ダイナミクスを自己組織的に更新する学習手段と
を備える学習装置。 - 請求項1の学習装置において、
ダイナミクスが内部状態量を持つ力学系近似モデルによってモデル化される
ことを特徴とする学習装置。 - 請求項1の学習装置において、
ダイナミクスがリカレントニューラルネットワークによってモデル化される
ことを特徴とする学習装置。 - 請求項1の学習装置において、
前記学習手段は、
観測される時系列データに最も適合するダイナミクスに対応するノードである勝者ノードを決定し、
前記勝者ノードを中心として、各ノードの学習の重みを決定し、
各ノードが保持するダイナミクスを、各ノードの学習の重みに応じて、観測される時系列データに近くなるように更新する
ことを特徴とする学習装置。 - 請求項4の学習装置において、
前記学習手段は、前記勝者ノードと各ノードとの結合関係に基づき、各ノードの学習の重みを決定する
ことを特徴とする学習装置。 - 請求項4の学習装置において、
前記学習手段は、観測される時系列データが各ノードが保持するダイナミクスに適合する度合いに応じた順位に基づき、各ノードの学習の重みを決定する
ことを特徴とする学習装置。 - 請求項4の学習装置において、
各ノードが保持するダイナミクスに対応する学習データを記憶するための学習データ記憶手段をさらに備え、
前記学習手段は、前記学習データ記憶手段に記憶された学習データと観測される時系列データを混合することで学習データを更新し、その更新後の学習データに基づいてダイナミクスを更新する
ことを特徴とする学習装置。 - 請求項1の学習装置において、
前記ネットワークは、あらかじめ用意された初期学習用ノードと、後から追加されるか、またはあらかじめ用意された追加学習用ノードとの2種類のノードから構成可能であり、
前記学習手段は、
観測される時系列データが、前記初期学習用ノードが保持するダイナミクスに適合するかどうかを判定し、
観測される時系列データが、前記初期学習用ノードが保持するダイナミクスに適合すると判定した場合、その時系列データに基づき、前記初期学習用ノードが保持するダイナミクスを自己組織的に更新する初期学習用ノードの学習を行い、
観測される時系列データが、前記初期学習用ノードが保持するダイナミクスに適合しないと判定した場合、その時系列データに基づき、前記追加学習用ノードが保持するダイナミクスを更新する追加学習用ノードの学習を行う
ことを特徴とする学習装置。 - 請求項8の学習装置において、
前記学習手段は、
観測される時系列データに最も適合するダイナミクスに対応する初期学習用ノードである勝者ノードを決定し、
前記勝者ノードを中心として、各初期学習用ノードの学習の重みを決定し、
各初期学習用ノードが保持するダイナミクスを、各初期学習用ノードの学習の重みに応じて、観測される時系列データに近くなるように更新する
ことを初期学習用ノードの学習として行う
ことを特徴とする学習装置。 - 請求項8の学習装置において、
前記学習手段は、
観測される時系列データに最も適合するダイナミクスに対応する前記初期学習用ノードである勝者ノードが保持するダイナミクスに対する、観測される時系列データの適合の度合いに基づき、観測される時系列データが、前記初期学習用ノードが保持するダイナミクスに適合するかどうかを判定する
ことを特徴とする学習装置。 - 請求項8の学習装置において、
前記学習手段は、
観測される時系列データに最も適合するダイナミクスに対応する前記初期学習用ノードである勝者ノードを決定し、
前記勝者ノードに基づいて、学習の対象とする追加学習用ノードを特定し、
その追加学習用ノードが保持するダイナミクスを、観測される時系列データに近くなるように更新する追加学習用ノードの学習を行う
ことを特徴とする学習装置。 - 請求項8の学習装置において、
前記初期学習用ノードが保持するダイナミクスが、観測される時系列データに適合する度合いを表すスコアを求め、
前記スコアの分布に基づいて、学習の対象とする追加学習用ノードを特定し、
その追加学習ノードが保持するダイナミクスを、観測される時系列データに近くなるように更新する追加学習用ノードの学習を行う
ことを特徴とする学習装置。 - 内部状態量を持つ力学系近似モデルをノードとして、前記ノードにダイナミクスを保持し、複数のノードによって構成されるネットワークを記憶するネットワーク記憶手段と、
観測される時系列データに基づいて、前記内部状態量を更新しながら、観測される時系列データに最も適合するダイナミクスを保持するノードである勝者ノードを決定し、その勝者ノードを表す情報を、観測される時系列データの認識結果として出力する認識手段と
を備える認識装置。 - 内部状態量を持つ力学系近似モデルをノードとして、前記ノードにダイナミクスを保持し、複数のノードによって構成されるネットワークを記憶するネットワーク記憶手段と、
時系列データの生成に用いるノードである生成ノードを決定し、前記生成ノードの前記内部状態量を更新しながら、時系列データを生成する生成手段と
を備える生成装置。 - 内部状態量を持つ力学系近似モデルをノードとして、前記ノードにダイナミクスを保持し、複数のノードによって構成されるネットワークを記憶するネットワーク記憶手段と、
観測される時系列データに基づいて、前記内部状態量を更新しながら、観測される時系列データに最も適合するダイナミクスを保持するノードである勝者ノードを決定し、その勝者ノードを表す情報を、観測される時系列データの認識結果として出力する認識手段と、
前記勝者ノードを決定する処理において得られる前記内部状態量を記憶する内部状態記憶手段と、
前記認識結果に基づき、前記勝者ノードを、時系列データの生成に用いるノードである生成ノードに決定し、前記内部状態記憶手段の記憶値に基づいて、前記生成ノードの前記内部状態量を決定して、前記生成ノードの内部状態量を更新しながら、時系列データを生成する生成手段と
を備える認識生成装置。 - 前記内部状態記憶手段は、前記勝者ノードが決定されたときに最終的に得られた前記内部状態量の更新値を記憶し、
前記生成手段は、前記内部状態記憶手段の記憶値を、前記生成ノードの前記内部状態量の初期値として、前記生成ノードの内部状態量を更新しながら、時系列データを生成する
請求項15に記載の認識生成装置。 - 前記内部状態記憶手段は、前記勝者ノードが決定されたときの前記内部状態量の初期値を記憶し、
前記生成手段は、前記内部状態記憶手段の記憶値を、前記生成ノードの前記内部状態量の初期値として、前記生成ノードの内部状態量を更新しながら、時系列データを生成する
請求項15に記載の認識生成装置。 - ダイナミクスを一つのノードに保持し、複数のノードによって構成されるネットワークの各ダイナミクスを、観測される時系列データに基づき、自己組織的に更新する
ステップを含む学習方法。 - コンピュータに実行させるプログラムにおいて、
ダイナミクスを一つのノードに保持し、複数のノードによって構成されるネットワークの各ダイナミクスを、観測される時系列データに基づき、自己組織的に更新する
ステップを含む学習処理を、コンピュータに実行させるプログラム。 - 内部状態量を持つ力学系近似モデルをノードとして、前記ノードにダイナミクスを保持し、複数のノードによって構成されるネットワークのノードの中から、観測される時系列データに基づいて、前記内部状態量を更新しながら、観測される時系列データに最も適合するダイナミクスを保持するノードである勝者ノードを決定し、その勝者ノードを表す情報を、観測される時系列データの認識結果として出力する
ステップを含む認識方法。 - コンピュータに実行させるプログラムにおいて、
内部状態量を持つ力学系近似モデルをノードとして、前記ノードにダイナミクスを保持し、複数のノードによって構成されるネットワークのノードの中から、観測される時系列データに基づいて、前記内部状態量を更新しながら、観測される時系列データに最も適合するダイナミクスを保持するノードである勝者ノードを決定し、その勝者ノードを表す情報を、観測される時系列データの認識結果として出力する
ステップを含む認識処理を、コンピュータに実行させるプログラム。 - 内部状態量を持つ力学系近似モデルをノードとして、前記ノードにダイナミクスを保持し、複数のノードによって構成されるネットワークのノードの中から、時系列データの生成に用いるノードである生成ノードを決定し、前記生成ノードの前記内部状態量を更新しながら、時系列データを生成する
ステップを含む生成方法。 - コンピュータに実行させるプログラムにおいて、
内部状態量を持つ力学系近似モデルをノードとして、前記ノードにダイナミクスを保持し、複数のノードによって構成されるネットワークのノードの中から、時系列データの生成に用いるノードである生成ノードを決定し、前記生成ノードの前記内部状態量を更新しながら、時系列データを生成する
ステップを含む生成処理を、コンピュータに実行させるプログラム。 - 内部状態量を持つ力学系近似モデルをノードとして、前記ノードにダイナミクスを保持し、複数のノードによって構成されるネットワークのノードの中から、観測される時系列データに基づいて、観測される時系列データに最も適合するダイナミクスを保持するノードである勝者ノードを、前記内部状態量を更新しながら決定し、その勝者ノードを表す情報を、観測される時系列データの認識結果として出力し、
前記勝者ノードを決定する処理において得られる前記内部状態量を、内部状態記憶手段に記憶し、
前記認識結果に基づき、前記勝者ノードを、時系列データの生成に用いるノードである生成ノードに決定し、前記内部状態記憶手段の記憶値に基づいて、前記生成ノードの前記内部状態量を決定して、前記生成ノードの内部状態量を更新しながら、時系列データを生成する
ステップを含む認識生成方法。 - コンピュータに実行させるプログラムにおいて、
内部状態量を持つ力学系近似モデルをノードとして、前記ノードにダイナミクスを保持し、複数のノードによって構成されるネットワークのノードの中から、観測される時系列データに基づいて、観測される時系列データに最も適合するダイナミクスを保持するノードである勝者ノードを、前記内部状態量を更新しながら決定し、その勝者ノードを表す情報を、観測される時系列データの認識結果として出力し、
前記勝者ノードを決定する処理において得られる前記内部状態量を、内部状態記憶手段に記憶し、
前記認識結果に基づき、前記勝者ノードを、時系列データの生成に用いるノードである生成ノードに決定し、前記内部状態記憶手段の記憶値に基づいて、前記生成ノードの前記内部状態量を決定して、前記生成ノードの内部状態量を更新しながら、時系列データを生成する
ステップを含む認識生成処理を、コンピュータに実行させるプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006225203A JP2007299366A (ja) | 2006-01-31 | 2006-08-22 | 学習装置および学習方法、認識装置および認識方法、生成装置および生成方法、認識生成装置および認識生成方法、並びにプログラム |
US11/699,428 US7672920B2 (en) | 2006-01-31 | 2007-01-30 | Apparatus and method for embedding recurrent neural networks into the nodes of a self-organizing map |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006021804 | 2006-01-31 | ||
JP2006105545 | 2006-04-06 | ||
JP2006225203A JP2007299366A (ja) | 2006-01-31 | 2006-08-22 | 学習装置および学習方法、認識装置および認識方法、生成装置および生成方法、認識生成装置および認識生成方法、並びにプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007299366A true JP2007299366A (ja) | 2007-11-15 |
Family
ID=38335197
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006225203A Pending JP2007299366A (ja) | 2006-01-31 | 2006-08-22 | 学習装置および学習方法、認識装置および認識方法、生成装置および生成方法、認識生成装置および認識生成方法、並びにプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US7672920B2 (ja) |
JP (1) | JP2007299366A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008250856A (ja) * | 2007-03-30 | 2008-10-16 | Sony Corp | 学習装置、学習方法、及びプログラム |
JP2009140454A (ja) * | 2007-12-11 | 2009-06-25 | Sony Corp | データ処理装置、データ処理方法、及びプログラム |
WO2019151536A1 (ja) * | 2018-02-05 | 2019-08-08 | トヨタ自動車株式会社 | 機械学習装置 |
CN110352297A (zh) * | 2018-02-05 | 2019-10-18 | 丰田自动车株式会社 | 机器学习装置 |
US10634081B2 (en) | 2018-02-05 | 2020-04-28 | Toyota Jidosha Kabushiki Kaisha | Control device of internal combustion engine |
Families Citing this family (61)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8595194B2 (en) * | 2009-09-15 | 2013-11-26 | At&T Intellectual Property I, L.P. | Forward decay temporal data analysis |
US8904241B2 (en) * | 2011-07-27 | 2014-12-02 | Oracle International Corporation | Proactive and adaptive cloud monitoring |
US9906838B2 (en) | 2010-07-12 | 2018-02-27 | Time Warner Cable Enterprises Llc | Apparatus and methods for content delivery and message exchange across multiple content delivery networks |
US9015093B1 (en) | 2010-10-26 | 2015-04-21 | Michael Lamport Commons | Intelligent control with hierarchical stacked neural networks |
US8775341B1 (en) | 2010-10-26 | 2014-07-08 | Michael Lamport Commons | Intelligent control with hierarchical stacked neural networks |
US8990133B1 (en) | 2012-12-20 | 2015-03-24 | Brain Corporation | Apparatus and methods for state-dependent learning in spiking neuron networks |
US9566710B2 (en) | 2011-06-02 | 2017-02-14 | Brain Corporation | Apparatus and methods for operating robotic devices using selective state space training |
US9156165B2 (en) | 2011-09-21 | 2015-10-13 | Brain Corporation | Adaptive critic apparatus and methods |
US9146546B2 (en) | 2012-06-04 | 2015-09-29 | Brain Corporation | Systems and apparatus for implementing task-specific learning using spiking neurons |
US9104186B2 (en) | 2012-06-04 | 2015-08-11 | Brain Corporation | Stochastic apparatus and methods for implementing generalized learning rules |
US9213937B2 (en) | 2011-09-21 | 2015-12-15 | Brain Corporation | Apparatus and methods for gating analog and spiking signals in artificial neural networks |
US20130151449A1 (en) * | 2011-12-07 | 2013-06-13 | Filip Ponulak | Apparatus and methods for implementing learning for analog and spiking signals in artificial neural networks |
US9015092B2 (en) | 2012-06-04 | 2015-04-21 | Brain Corporation | Dynamically reconfigurable stochastic learning apparatus and methods |
US8943008B2 (en) | 2011-09-21 | 2015-01-27 | Brain Corporation | Apparatus and methods for reinforcement learning in artificial neural networks |
US10452986B2 (en) * | 2012-03-30 | 2019-10-22 | Sony Corporation | Data processing apparatus, data processing method, and program |
US9256215B2 (en) | 2012-07-27 | 2016-02-09 | Brain Corporation | Apparatus and methods for generalized state-dependent learning in spiking neuron networks |
US9367798B2 (en) | 2012-09-20 | 2016-06-14 | Brain Corporation | Spiking neuron network adaptive control apparatus and methods |
US9189730B1 (en) | 2012-09-20 | 2015-11-17 | Brain Corporation | Modulated stochasticity spiking neuron network controller apparatus and methods |
US9082079B1 (en) | 2012-10-22 | 2015-07-14 | Brain Corporation | Proportional-integral-derivative controller effecting expansion kernels comprising a plurality of spiking neurons associated with a plurality of receptive fields |
US9195934B1 (en) | 2013-01-31 | 2015-11-24 | Brain Corporation | Spiking neuron classifier apparatus and methods using conditionally independent subsets |
US9764468B2 (en) | 2013-03-15 | 2017-09-19 | Brain Corporation | Adaptive predictor apparatus and methods |
US9008840B1 (en) | 2013-04-19 | 2015-04-14 | Brain Corporation | Apparatus and methods for reinforcement-guided supervised learning |
US9242372B2 (en) | 2013-05-31 | 2016-01-26 | Brain Corporation | Adaptive robotic interface apparatus and methods |
US9792546B2 (en) | 2013-06-14 | 2017-10-17 | Brain Corporation | Hierarchical robotic controller apparatus and methods |
US9384443B2 (en) | 2013-06-14 | 2016-07-05 | Brain Corporation | Robotic training apparatus and methods |
US9314924B1 (en) * | 2013-06-14 | 2016-04-19 | Brain Corporation | Predictive robotic controller apparatus and methods |
US9436909B2 (en) | 2013-06-19 | 2016-09-06 | Brain Corporation | Increased dynamic range artificial neuron network apparatus and methods |
US9296101B2 (en) | 2013-09-27 | 2016-03-29 | Brain Corporation | Robotic control arbitration apparatus and methods |
US9579789B2 (en) | 2013-09-27 | 2017-02-28 | Brain Corporation | Apparatus and methods for training of robotic control arbitration |
US9489623B1 (en) | 2013-10-15 | 2016-11-08 | Brain Corporation | Apparatus and methods for backward propagation of errors in a spiking neuron network |
US9597797B2 (en) | 2013-11-01 | 2017-03-21 | Brain Corporation | Apparatus and methods for haptic training of robots |
US9463571B2 (en) | 2013-11-01 | 2016-10-11 | Brian Corporation | Apparatus and methods for online training of robots |
US9248569B2 (en) | 2013-11-22 | 2016-02-02 | Brain Corporation | Discrepancy detection apparatus and methods for machine learning |
US9358685B2 (en) | 2014-02-03 | 2016-06-07 | Brain Corporation | Apparatus and methods for control of robot actions based on corrective user inputs |
US9613308B2 (en) | 2014-04-03 | 2017-04-04 | Brain Corporation | Spoofing remote control apparatus and methods |
US9630317B2 (en) | 2014-04-03 | 2017-04-25 | Brain Corporation | Learning apparatus and methods for control of robotic devices via spoofing |
US9346167B2 (en) | 2014-04-29 | 2016-05-24 | Brain Corporation | Trainable convolutional network apparatus and methods for operating a robotic vehicle |
US10223617B1 (en) * | 2014-06-06 | 2019-03-05 | Deepmind Technologies Limited | Image processing with recurrent attention |
US9579790B2 (en) | 2014-09-17 | 2017-02-28 | Brain Corporation | Apparatus and methods for removal of learned behaviors in robots |
US9860077B2 (en) | 2014-09-17 | 2018-01-02 | Brain Corporation | Home animation apparatus and methods |
US9849588B2 (en) | 2014-09-17 | 2017-12-26 | Brain Corporation | Apparatus and methods for remotely controlling robotic devices |
US9821470B2 (en) | 2014-09-17 | 2017-11-21 | Brain Corporation | Apparatus and methods for context determination using real time sensor data |
US9630318B2 (en) | 2014-10-02 | 2017-04-25 | Brain Corporation | Feature detection apparatus and methods for training of robotic navigation |
US9717387B1 (en) | 2015-02-26 | 2017-08-01 | Brain Corporation | Apparatus and methods for programming and training of robotic household appliances |
US9495633B2 (en) * | 2015-04-16 | 2016-11-15 | Cylance, Inc. | Recurrent neural networks for malware analysis |
US9652712B2 (en) * | 2015-07-27 | 2017-05-16 | Google Inc. | Analyzing health events using recurrent neural networks |
US10832120B2 (en) * | 2015-12-11 | 2020-11-10 | Baidu Usa Llc | Systems and methods for a multi-core optimized recurrent neural network |
US10295972B2 (en) | 2016-04-29 | 2019-05-21 | Brain Corporation | Systems and methods to operate controllable devices with gestures and/or noises |
JP6611679B2 (ja) * | 2016-06-30 | 2019-11-27 | 株式会社日立製作所 | データ生成方法及び計算機システム |
US10058995B1 (en) * | 2016-07-08 | 2018-08-28 | X Development Llc | Operating multiple testing robots based on robot instructions and/or environmental parameters received in a request |
US9989964B2 (en) * | 2016-11-03 | 2018-06-05 | Mitsubishi Electric Research Laboratories, Inc. | System and method for controlling vehicle using neural network |
US10671908B2 (en) | 2016-11-23 | 2020-06-02 | Microsoft Technology Licensing, Llc | Differential recurrent neural network |
US11093819B1 (en) | 2016-12-16 | 2021-08-17 | Waymo Llc | Classifying objects using recurrent neural network and classifier neural network subsystems |
BR102017026251A2 (pt) * | 2017-12-05 | 2019-06-25 | Samsung Eletrônica da Amazônia Ltda. | Método e sistema de reconhecimento de dados de sensor utilizando o enriquecimento de dados para o processo de aprendizagem |
US10611026B1 (en) * | 2018-10-16 | 2020-04-07 | University Of South Florida | Systems and methods for learning and generating movement policies for a dynamical system |
US10867210B2 (en) | 2018-12-21 | 2020-12-15 | Waymo Llc | Neural networks for coarse- and fine-object classifications |
US11782158B2 (en) | 2018-12-21 | 2023-10-10 | Waymo Llc | Multi-stage object heading estimation |
US10977501B2 (en) | 2018-12-21 | 2021-04-13 | Waymo Llc | Object classification using extra-regional context |
US11922294B2 (en) * | 2019-05-22 | 2024-03-05 | Servicenow Canada Inc. | Neural network execution block using fully connected layers |
US10656923B1 (en) | 2019-07-31 | 2020-05-19 | Capital One Services, Llc | Systems for determining regulatory compliance of smart contracts |
US20220318622A1 (en) * | 2019-09-11 | 2022-10-06 | Visa International Service Association | Method, system, and computer program product for managing model updates |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07216359A (ja) * | 1994-02-03 | 1995-08-15 | Nkk Corp | コークス工場の操業支援方法 |
JP2004030628A (ja) * | 2002-05-10 | 2004-01-29 | Sony Corp | 情報処理装置および方法、プログラム格納媒体、並びにプログラム |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1063634A (ja) * | 1996-04-05 | 1998-03-06 | Nec Corp | 時系列予測・分類のための方法及び装置 |
CA2230882C (en) * | 1997-03-14 | 2004-08-17 | Dubai Aluminium Company Limited | Intelligent control of aluminium reduction cells using predictive and pattern recognition techniques |
US6578020B1 (en) * | 1999-12-07 | 2003-06-10 | International Business Machines Corporation | Method and system for converting code to executable code using neural networks implemented in a very large scale integration (VLSI) integrated circuit |
-
2006
- 2006-08-22 JP JP2006225203A patent/JP2007299366A/ja active Pending
-
2007
- 2007-01-30 US US11/699,428 patent/US7672920B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07216359A (ja) * | 1994-02-03 | 1995-08-15 | Nkk Corp | コークス工場の操業支援方法 |
JP2004030628A (ja) * | 2002-05-10 | 2004-01-29 | Sony Corp | 情報処理装置および方法、プログラム格納媒体、並びにプログラム |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008250856A (ja) * | 2007-03-30 | 2008-10-16 | Sony Corp | 学習装置、学習方法、及びプログラム |
JP2009140454A (ja) * | 2007-12-11 | 2009-06-25 | Sony Corp | データ処理装置、データ処理方法、及びプログラム |
WO2019151536A1 (ja) * | 2018-02-05 | 2019-08-08 | トヨタ自動車株式会社 | 機械学習装置 |
CN110352297A (zh) * | 2018-02-05 | 2019-10-18 | 丰田自动车株式会社 | 机器学习装置 |
US10634081B2 (en) | 2018-02-05 | 2020-04-28 | Toyota Jidosha Kabushiki Kaisha | Control device of internal combustion engine |
CN110352297B (zh) * | 2018-02-05 | 2020-09-15 | 丰田自动车株式会社 | 机器学习装置 |
DE112019000020B4 (de) * | 2018-02-05 | 2020-10-15 | Toyota Jidosha Kabushiki Kaisha | Maschinenlernsystem |
US10853727B2 (en) | 2018-02-05 | 2020-12-01 | Toyota Jidosha Kabushiki Kaisha | Machine learning system |
Also Published As
Publication number | Publication date |
---|---|
US7672920B2 (en) | 2010-03-02 |
US20070185825A1 (en) | 2007-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007299366A (ja) | 学習装置および学習方法、認識装置および認識方法、生成装置および生成方法、認識生成装置および認識生成方法、並びにプログラム | |
US7953683B2 (en) | Learning apparatus, learning method, and program for efficiently learning dynamics | |
JP4169063B2 (ja) | データ処理装置、データ処理方法、及びプログラム | |
JP4803212B2 (ja) | データ処理装置、データ処理方法、及びプログラム | |
JP4710933B2 (ja) | 学習装置、学習方法、およびプログラム | |
JP4710931B2 (ja) | 学習装置、学習方法、およびプログラム | |
US7725412B2 (en) | Identifying temporal sequences using a recurrent self organizing map | |
JP4710932B2 (ja) | 学習装置、学習方法、およびプログラム | |
JP4169038B2 (ja) | 情報処理装置および情報処理方法、並びにプログラム | |
US20110060708A1 (en) | Information processing device, information processing method, and program | |
JP2005199403A (ja) | 情動認識装置及び方法、ロボット装置の情動認識方法、ロボット装置の学習方法、並びにロボット装置 | |
JP2006285899A (ja) | 学習装置および学習方法、生成装置および生成方法、並びにプログラム | |
JP2011059815A (ja) | 情報処理装置、情報処理方法、及び、プログラム | |
JP2009288933A (ja) | 学習装置、学習方法、及びプログラム | |
JP2011059817A (ja) | 情報処理装置、情報処理方法、及び、プログラム | |
JP2009053782A (ja) | データ処理装置、データ処理方法、及びプログラム | |
US10812904B2 (en) | Acoustic equalization method, robot and AI server implementing the same | |
JP2007280057A (ja) | データ処理装置、データ処理方法、およびプログラム | |
JP2007280059A (ja) | 認識生成装置および認識生成方法、並びにプログラム | |
JP2007280058A (ja) | 情報処理装置および情報処理方法、並びにプログラム | |
JP2007280007A (ja) | データ処理装置、データ処理方法、およびプログラム | |
JP2010282556A (ja) | 情報処理装置、情報処理方法、及び、プログラム | |
JP2009070033A (ja) | データ処理装置、データ処理方法、及びプログラム | |
JP5246751B2 (ja) | 情報処理装置、情報処理方法、およびプログラム | |
JP2008293259A (ja) | データ処理装置、データ処理方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100422 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100521 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110224 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110802 |