説明

属性の学習及び転移システム、認識器生成装置、認識器生成方法及び認識装置

【課題】オンラインかつ追加学習が可能な属性の学習及び転移を実現すること。
【解決手段】属性の学習及び転移システム1は、特徴抽出部2と、ラベリング部3と、Adjusted−SOINNを用いて属性識別器を構成してそれを複数の部分に分割し、ラベル付けされた属性情報により特定される部分に教師データの特徴を入力パターンとして入力し、Adjusted−SOINNにおいて入力パターンに基づいてノード及びエッジを生成する識別器生成部4と、識別器保持部5と、入力データが入力された場合に、Adjusted−SOINNの各部分に入力パターンを入力してAdjusted−SOINNに含まれるノードとの第1の類似度を算出して、その第1の類似度に応じて入力データの属性を識別する属性識別部6と、入力データの属性とクラスの属性情報とを比較して第2の類似度を求めて、その類似度に応じてクラスを識別するクラス識別部7と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、識別対象であるクラスをその特徴である属性により認識することで転移学習を可能とする技術に関し、クラスを認識するための属性の学習及び転移システム、認識器生成装置、認識器生成方法及び認識装置に関する。
【背景技術】
【0002】
対象認識や対象識別についての個々の研究が、ここ10年の間に大きな発達を遂げている。顔や車両のような特定の物体を検出するタスクについては、とても強力な検出器や認識器が利用可能である。このような検出器や認識器は、対象の特徴を示す低次元の特徴量(例えば、SIFT、SURFなど)と、サポートベクトルマシーン(SVM)などの現代的な機械学習メカニズムと、の組み合わせにより得ることができる。しかしながらこのような手法では、良好な精度を得るために人手によりラベル付けされた多数の教師データを通常必要とし、各個別のクラスを学習するためには一般的に数10万枚のサンプル画像を必要とする。
【0003】
また、多くの対象を認識する必要がある場合には他の問題が発生することがある。このような多くの対象を認識するという問題を解決するためには、これまでの手法では、各対象カテゴリーに対してそれぞれ新たな検出器を作った上で、それら検出器を学習する必要がある。しかしながら、新たな各検出器を効率的に学習する場合においても、上述したのと同様にして、人手によりラベル付けされた多数の教師データを必要とし、各個別のクラスを学習するために、一般的に数10万枚のサンプル画像を必要とする。
【0004】
コンピュータの見地から見れば、例えば何らかの効率的で自動的なラベリングツールが利用可能であれば、多数の学習データセットを用意することはそれほど大変なことではないと考えられるかもしれない。インターネットを介して多数の画像の集合へは簡単にアクセスすることができ、コンピュータハードウェアのパフォーマンスは近年では劇的に向上してきた。それにもかかわらず、ロボットのような知的エージェントの利用には、このようなことは当てはまらない。知的ロボットに対しては、ロボットはインターネットへのアクセスが限定されると共にハードウェア資源も限られており、また、実用的な実世界でのタスクがあまりにも一般的なものであるために、事前に学習された検出器のみを利用するものとしてはとてもこのタスクを解決することはできそうにない。従って最近では、多くの研究者達が、対象の属性(例えば非特許文献1に例示される。)や、対象の部分を考慮することによる対象認識についてより興味を持つようになってきた。
【0005】
複数の対象同士の間には、通常、何らかの共通属性が存在する(例えば、ライオン、タイガー、ドッグ、キャットなどでは、全て4本足の動物であるという共通の属性が存在する。)。非特許文献1において提案されているように、人間は、例から学習してそれを十分に抽象化することによって、少なくとも30000の関連のある対象クラスを区別することができる(人間は、高次元の特徴記述が与えられた時には、完全に未知の対象クラスであっても検出することができる。)。このことはつまり、1つの対象クラスにおいて発見された属性の知識が、同じ属性を含む他の異なる対象クラスへの利用のために転移されているものと考えられている。コンピュータビジョンにおける多くのこれまでの貴重な成果が、転移された属性を利用することで、未知の対象クラスの検出がまさに可能となることを既に示している(例えば、非特許文献1を参照されたい。)。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】C. Lampert et al., "Learning to detect unseen object classes by between-class attribute transfer, " in CVPR, 2009.
【発明の概要】
【発明が解決しようとする課題】
【0007】
共通属性の学習の可能性とそれら属性を新規クラスの検出への利用に転移させることは、現在のロボティクスでは極めて有効である。簡単に説明するため、オフィス内での移動ロボットの利用を想定する。ロボットを他の部屋へと移動させて我々のために対象Bを取ってくるようにロボットに命令したい場合に、そのような対象Bの画像をロボットに提示するために我々が用意しているという状況は、とてもありえそうなことではない。対象の画像を必要とせずにロボットに命令を与える唯一の方法は、対象の属性を言葉で説明することである。これは、対象の1つのクラスからの属性をロボットに学習させ、さらに、その学習させた属性を転移させて未知クラスに属する新たな対象の認識へ利用させることで、解決されるべきである。
【0008】
しかしながら、属性の学習及び転移によって未知対象クラスの検出が可能となることがこれまでに示されたにも関わらず、これまでに提案された属性の転移及び学習手法をロボットでの利用に応用することについては以下に述べるような課題がある。
【0009】
まず、従来手法では、学習した属性は他の対象クラスでの利用に転移可能であるものの、各属性検出器を学習する事前の学習段階に関して、完全にバッチ処理となっている。従来手法では、任意の1つの属性の検出器を学習するために、巨大な教師画像データセットを必要とする。また、ロボットで利用するためには、システムは、教師画像を取得したときにはいつでもより柔軟に学習すべきであり、さらに、必要な場合にはいつでも識別すべきである。従って、完全に追加的な、属性の学習及び転移手法が必要である。
【0010】
ここで、非特許文献1に開示された従来手法を例に課題を説明する。非特許文献1に開示された従来手法では、個別の属性それぞれについての識別器を学習する必要がある。テスト段階では、各属性識別器が各属性についての確率を予測し、ベイズ理論に基づいて最終的な確率スコアが計算される。各属性識別器はSVMによって学習され、学習には数時間を必要とする。これを全ての属性(85個の属性)について行うと、あまりにも計算負荷が高くなり、ロボティクスや他のオンラインアプリケーションには事実上利用することができない。また、全ての属性に対してSVMを再度学習することは非現実的であることから、新たな入力教師データを追加的に学習することができない。
【0011】
本発明は、このような問題点を解決するためになされたものであり、オンラインかつ追加学習が可能な属性の学習及び転移システム、及び、学習及び転移方法を提供することを目的とする。
【課題を解決するための手段】
【0012】
本発明にかかる属性の学習及び転移システムは、入力データ及び教師データから特徴を抽出する特徴抽出部と、与えられる属性情報を前記教師データにラベル付けするラベリング部と、前記入力データに含まれる属性を識別する属性識別器であって、当該属性識別器をノード及び当該ノード間を接続するエッジを含む自己増殖型ニューラルネットワークを用いて構成し、当該自己増殖型ニューラルネットワークを前記属性により識別される識別内容に応じて複数の部分に分割し、前記ラベリング部でラベル付けされた前記属性情報により特定される前記自己増殖型ニューラルネットワークの部分に対して、前記特徴抽出部で抽出された前記教師データの特徴を教師パターンとして入力し、当該自己増殖型ニューラルネットワークにおいて前記教師パターンに基づいて前記ノード及び前記エッジを生成する識別器生成部と、前記識別器生成部で生成された属性識別器を保持する識別器保持部と、前記入力データが入力された場合に、前記識別器保持部で保持された前記属性識別器を構成する前記自己増殖型ニューラルネットワークのそれぞれの部分に対して、前記入力データから抽出された特徴を入力パターンとして入力し、当該入力パターンと前記自己増殖型ニューラルネットワークに含まれる前記ノードとの第1の類似度をそれぞれの前記自己増殖型ニューラルネットワークの各部分において算出し、当該算出した第1の類似度に応じて、前記識別内容のいずれの属性が前記入力データに含まれるかを識別する属性識別部と、複数のクラスについてそれぞれが含む属性情報が与えられ、前記属性識別部で識別された前記入力データの属性と前記クラスの属性情報とを比較して第2の類似度を求め、当該算出した第2の類似度に応じて、前記複数のクラスのうちでいずれのクラスに前記入力データが含まれるか識別するクラス識別部と、を備えるものである。
【0013】
これにより、オンラインかつ追加学習が可能な属性の学習及び転移を実現することができる。
【0014】
また、前記識別器生成部は、前記属性が含まれていることを示す第1の部分と、前記属性が含まれていないことを示す第2の部分と、に前記属性識別器を分割するようにしてもよい。これにより、簡単な構成で2値の属性の識別を実現することができる。
【0015】
さらにまた、前記入力データ及び教師データは、画像データ、音声データ、時系列データ、又は、これらを組み合わせたデータであるようにしてもよいし、前記特徴抽出部は、前記画像データからSIFT特徴量、SURF特徴量、rg-SIFT特徴量、PHOG特徴量、cq特徴量、Lss-histogram特徴量を抽出するようにしてもよい。
【0016】
また、前記自己増殖型ニューラルネットワークは、Self-Organizing and Incremental Neural Networksであるようにしてもよい。これにより、完全なオンラインかつ追加学習を実現することができる。
【0017】
本発明にかかる認識器生成装置は、識別対象であるクラスをその特徴である属性により認識する認識器を、教師データの特徴量を学習することにより生成する認識器生成装置であって、前記クラス及び前記属性がラベル重みとして付された教師データから特徴量を重みベクトルとして抽出する特徴抽出部と、前記抽出された重みベクトルを入力ノードとし、当該入力ノードと各ノードとの間の距離を算出し、当該入力ノードと最も近いノード及び2番目に近いノードをそれぞれ第1勝者ノード及び第2勝者ノードとして抽出する勝者ノード抽出部と、前記入力ノードと、前記第1及び第2勝者ノードとの距離に基づき、当該入力ノードを新たなノードとして挿入するか否かを判定するノード挿入判定部と、前記入力ノードを新たなノードとして挿入しない場合、前記第1勝者ノードと前記第2勝者ノードとの間にエッジがない場合はエッジを生成しその年齢を0とし、エッジがある場合はその年齢を0とし、さらに前記第1勝者ノードが有する全エッジの年齢をインクリメントし、所定の年齢に達したエッジを削除するエッジ管理部と、前記入力ノードを新たなノードとして挿入しない場合、前記第1勝者ノードの重みベクトルを当該入力ノードの重みベクトルに基づき更新するノード重み更新部と、前記入力ノードを新たなノードとして挿入しない場合、当該入力ノードの前記ラベル重みの少なくとも一部を前記第1及び第2勝者ノードに拡散するラベル重み更新部と、所定のタイミングで、そのノード密度に応じてノードを削除するノード削除部と、を有し、前記ラベル重み更新部は、前記ノード削除部がノードを削除する際、削除ノードが有するラベル重みの少なくとも一部を当該削除ノードの周辺のノードに拡散するものである。
【0018】
これにより、オンラインかつ追加学習が可能な認識器生成装置を提供することができる。
【0019】
本発明にかかる認識器生成方法は、識別対象であるクラスをその特徴である属性により認識する認識器を、教師データの特徴量を学習することにより生成する認識器生成方法であって、前記クラス及び前記属性がラベル重みとして付された教師データから特徴量を重みベクトルとして抽出する特徴抽出ステップと、前記抽出された重みベクトルを入力ノードとし、当該入力ノードと各ノードとの間の距離を算出し、当該入力ノードと最も近いノード及び2番目に近いノードをそれぞれ第1勝者ノード及び第2勝者ノードとして抽出する勝者ノード抽出ステップと、前記入力ノードと、前記第1及び第2勝者ノードとの距離に基づき、当該入力ノードを新たなノードとして挿入するか否かを判定するノード挿入判定ステップと、前記入力ノードを新たなノードとして挿入しない場合、前記第1勝者ノードと前記第2勝者ノードとの間にエッジがない場合はエッジを生成しその年齢を0とし、エッジがある場合はその年齢を0とし、さらに前記第1勝者ノードが有する全エッジの年齢をインクリメントし、所定の年齢に達したエッジを削除するエッジ管理ステップと、前記入力ノードを新たなノードとして挿入しない場合、前記第1勝者ノードの重みベクトルを当該入力ノードの重みベクトルに基づき更新するノード重み更新ステップと、前記入力ノードを新たなノードとして挿入しない場合、当該入力ノードの前記ラベル重みの少なくとも一部を前記第1及び第2勝者ノードに拡散する第1ラベル重み更新ステップと、所定のタイミングで、そのノード密度に応じてノードを削除するノード削除ステップと、前記ノード削除ステップにてノードを削除する際、削除ノードが有するラベル重みの少なくとも一部を当該削除ノードの周辺のノードに拡散する第1ラベル重み更新ステップとを有するものである。
【0020】
これにより、オンラインかつ追加学習が可能な認識器生成方法を提供することができる。
【0021】
本発明にかかるプログラムは、識別対象であるクラスをその特徴である属性により認識する認識器を、教師データの特徴量を学習することにより生成する処理をコンピュータに実行させるプログラムであって、前記クラス及び前記属性がラベル重みとして付された教師データから特徴量を重みベクトルとして抽出する特徴抽出処理と、前記抽出された重みベクトルを入力ノードとし、当該入力ノードと各ノードとの間の距離を算出し、当該入力ノードと最も近いノード及び2番目に近いノードをそれぞれ第1勝者ノード及び第2勝者ノードとして抽出する勝者ノード抽出処理と、前記入力ノードと、前記第1及び第2勝者ノードとの距離に基づき、当該入力ノードを新たなノードとして挿入するか否かを判定するノード挿入判定処理と、前記入力ノードを新たなノードとして挿入しない場合、前記第1勝者ノードと前記第2勝者ノードとの間にエッジがない場合はエッジを生成しその年齢を0とし、エッジがある場合はその年齢を0とし、さらに前記第1勝者ノードが有する全エッジの年齢をインクリメントし、所定の年齢に達したエッジを削除するエッジ管理処理と、前記入力ノードを新たなノードとして挿入しない場合、前記第1勝者ノードの重みベクトルを当該入力ノードの重みベクトルに基づき更新するノード重み更新処理と、前記入力ノードを新たなノードとして挿入しない場合、当該入力ノードの前記ラベル重みの少なくとも一部を前記第1及び第2勝者ノードに拡散する第1ラベル重み更新処理と、所定のタイミングで、そのノード密度に応じてノードを削除するノード削除処理と、前記ノード削除ステップにてノードを削除する際、削除ノードが有するラベル重みの少なくとも一部を当該削除ノードの周辺のノードに拡散する第1ラベル重み更新処理とをコンピュータに実行させるものである。
【0022】
これにより、オンラインかつ追加学習が可能なプログラムを提供することができる。
【0023】
本発明にかかる認識装置は、入力データから認識すべき認識対象をクラスとし、当該クラスをその特徴である属性により認識することで転移学習が可能な認識装置であって、前記入力データから特徴量を重みベクトルとして抽出する特徴抽出部と、認識器生成装置に、前記クラス及び前記属性がラベル重みとして付された教師データを入力し、その特徴量を学習することで生成された認識器と、前記認識器が有する重みベクトルからなる複数の学習済ノードと前記入力データから抽出した重みベクトルとの距離に応じて、認識結果を出力する結果出力部とを有し、前記認識器生成装置は、前記教師データから特徴量を重みベクトルとして抽出する特徴抽出部と、前記抽出された重みベクトルを入力ノードとし、当該入力ノードと各ノードとの間の距離を算出し、当該入力ノードと最も近いノード及び2番目に近いノードをそれぞれ第1勝者ノード及び第2勝者ノードとして抽出する勝者ノード抽出部と、前記入力ノードと、前記第1及び第2勝者ノードとの距離に基づき、当該入力ノードを新たなノードとして挿入するか否かを判定するノード挿入判定部と、前記入力ノードを新たなノードとして挿入しない場合、前記第1勝者ノードと前記第2勝者ノードとの間にエッジがない場合はエッジを生成しその年齢を0とし、エッジがある場合はその年齢を0とし、さらに前記第1勝者ノードが有する全エッジの年齢をインクリメントし、所定の年齢に達したエッジを削除するエッジ管理部と、前記入力ノードを新たなノードとして挿入しない場合、前記第1勝者ノードの重みベクトルを当該入力ノードの重みベクトルに基づき更新するノード重み更新部と、前記入力ノードを新たなノードとして挿入しない場合、当該入力ノードの前記ラベル重みの少なくとも一部を前記第1及び第2勝者ノードに拡散するラベル重み更新部と、所定のタイミングで、そのノード密度に応じてノードを削除するノード削除部と、を有し、前記ラベル重み更新部は、前記ノード削除部がノードを削除する際、削除ノードが有するラベル重みの少なくとも一部を当該削除ノードの周辺のノードに拡散し、所定数の前記教師データを入力した後の各ノードが前記学習済ノードとされ、当該学習済ノードにより前記認識器が構成されるものである。
【0024】
これにより、オンラインかつ追加学習が可能な認識器を用いた認識装置を提供することができる。
【0025】
本発明にかかる認識方法は、識別対象であるクラスをその特徴である属性により認識する認識器を、教師データの特徴量を学習することにより生成し、入力データを当該認識器により認識する認識方法であって、前記クラス及び前記属性がラベル重みとして付された教師データから特徴量を重みベクトルとして抽出する第1特徴抽出ステップと、前記抽出された重みベクトルを入力ノードとし、当該入力ノードと各ノードとの間の距離を算出し、当該入力ノードと最も近いノード及び2番目に近いノードをそれぞれ第1勝者ノード及び第2勝者ノードとして抽出する勝者ノード抽出ステップと、前記入力ノードと、前記第1及び第2勝者ノードとの距離に基づき、当該入力ノードを新たなノードとして挿入するか否かを判定するノード挿入判定ステップと、前記入力ノードを新たなノードとして挿入しない場合、前記第1勝者ノードと前記第2勝者ノードとの間にエッジがない場合はエッジを生成しその年齢を0とし、エッジがある場合はその年齢を0とし、さらに前記第1勝者ノードが有する全エッジの年齢をインクリメントし、所定の年齢に達したエッジを削除するエッジ管理ステップと、前記入力ノードを新たなノードとして挿入しない場合、前記第1勝者ノードの重みベクトルを当該入力ノードの重みベクトルに基づき更新するノード重み更新ステップと、前記入力ノードを新たなノードとして挿入しない場合、当該入力ノードの前記ラベル重みの少なくとも一部を前記第1及び第2勝者ノードに拡散する第1ラベル重み更新ステップと、所定のタイミングで、そのノード密度に応じてノードを削除するノード削除ステップと、前記ノード削除ステップにてノードを削除する際、削除ノードが有するラベル重みの少なくとも一部を当該削除ノードの周辺のノードに拡散する第1ラベル重み更新ステップと、所定数の前記教師データを入力した後の各ノードを学習済ノードとし、当該学習済ノードにより前記認識器を構成する認識器生成ステップと、入力データから特徴量を重みベクトルとして抽出する第2特徴量抽出ステップと、前記認識器生成ステップにて生成された前記認識器の前記複数の学習済ノードと、前記入力データから抽出した重みベクトルとの距離に応じて、認識結果を出力する結果出力ステップとを有するものである。
【0026】
これにより、オンラインかつ追加学習が可能な認識器を用いた認識方法を提供することができる。
【0027】
本発明にかかるプログラムは、識別対象であるクラスをその特徴である属性により認識する認識器を、教師データの特徴量を学習することにより生成し、入力データを当該認識器により認識する処理をコンピュータに実行させるためのプログラムであって、前記クラス及び前記属性がラベル重みとして付された教師データから特徴量を重みベクトルとして抽出する第1特徴抽出処理と、前記抽出された重みベクトルを入力ノードとし、当該入力ノードと各ノードとの間の距離を算出し、当該入力ノードと最も近いノード及び2番目に近いノードをそれぞれ第1勝者ノード及び第2勝者ノードとして抽出する勝者ノード抽出処理と、前記入力ノードと、前記第1及び第2勝者ノードとの距離に基づき、当該入力ノードを新たなノードとして挿入するか否かを判定するノード挿入判定処理と、前記入力ノードを新たなノードとして挿入しない場合、前記第1勝者ノードと前記第2勝者ノードとの間にエッジがない場合はエッジを生成しその年齢を0とし、エッジがある場合はその年齢を0とし、さらに前記第1勝者ノードが有する全エッジの年齢をインクリメントし、所定の年齢に達したエッジを削除するエッジ管理処理と、前記入力ノードを新たなノードとして挿入しない場合、前記第1勝者ノードの重みベクトルを当該入力ノードの重みベクトルに基づき更新するノード重み更新処理と、前記入力ノードを新たなノードとして挿入しない場合、当該入力ノードの前記ラベル重みの少なくとも一部を前記第1及び第2勝者ノードに拡散する第1ラベル重み更新処理と、所定のタイミングで、そのノード密度に応じてノードを削除するノード削除処理と、前記ノード削除処理にてノードを削除する際、削除ノードが有するラベル重みの少なくとも一部を当該削除ノードの周辺のノードに拡散する第1ラベル重み更新処理と、所定数の前記教師データを入力した後の各ノードを学習済ノードとし、当該学習済ノードにより前記認識器を構成する認識器生成処理と、入力データから特徴量を重みベクトルとして抽出する第2特徴量抽出処理と、前記認識器生成処理にて生成された前記認識器の前記複数の学習済ノードと、前記入力データから抽出した重みベクトルとの距離に応じて、認識結果を出力する結果出力処理と、をコンピュータに実行させるものである。
【0028】
これにより、オンラインかつ追加学習が可能な認識器を用いたプログラムを提供することができる。
【0029】
本発明にかかるロボット装置は、入力データ取得部と、前記入力データから認識すべき認識対象をクラスとし、当該クラスをその特徴である属性により認識することで転移学習が可能な認識装置と、を有し、前記認識装置は、認識器生成装置と、前記入力データから特徴量を重みベクトルとして抽出する特徴抽出部と、前記認識器生成装置に、前記クラス及び前記属性がラベル重みとして付された教師データを入力し、その特徴量を学習することで生成された認識器と、前記認識器が有する重みベクトルからなる複数の学習済ノードと前記入力データから抽出した重みベクトルとの距離に応じて、認識結果を出力する結果出力部とを有し、前記認識器生成装置は、前記教師データから特徴量を重みベクトルとして抽出する前記特徴抽出部と、前記抽出された重みベクトルを入力ノードとし、当該入力ノードと各ノードとの間の距離を算出し、当該入力ノードと最も近いノード及び2番目に近いノードをそれぞれ第1勝者ノード及び第2勝者ノードとして抽出する勝者ノード抽出部と、前記入力ノードと、前記第1及び第2勝者ノードとの距離に基づき、当該入力ノードを新たなノードとして挿入するか否かを判定するノード挿入判定部と、前記入力ノードを新たなノードとして挿入しない場合、前記第1勝者ノードと前記第2勝者ノードとの間にエッジがない場合はエッジを生成しその年齢を0とし、エッジがある場合はその年齢を0とし、さらに前記第1勝者ノードが有する全エッジの年齢をインクリメントし、所定の年齢に達したエッジを削除するエッジ管理部と、前記入力ノードを新たなノードとして挿入しない場合、前記第1勝者ノードの重みベクトルを当該入力ノードの重みベクトルに基づき更新するノード重み更新部と、前記入力ノードを新たなノードとして挿入しない場合、当該入力ノードの前記ラベル重みの少なくとも一部を前記第1及び第2勝者ノードに拡散するラベル重み更新部と、所定のタイミングで、そのノード密度に応じてノードを削除するノード削除部と、を有し、前記ラベル重み更新部は、前記ノード削除部がノードを削除する際、削除ノードが有するラベル重みの少なくとも一部を当該削除ノードの周辺のノードに拡散し、所定数の前記教師データを入力した後の各ノードは、前記学習済ノードとし、当該学習済ノードにより前記認識器が構成されるものである。
【0030】
これにより、オンラインかつ追加学習が可能なロボット装置を提供することができる。
【発明の効果】
【0031】
本発明によれば、オンラインかつ追加学習が可能な属性の学習及び転移システム、認識器生成装置、認識器生成方法及び認識装置を提供することができる。
【図面の簡単な説明】
【0032】
【図1】実施の形態1にかかる属性の学習及び転移システムの構成図である。
【図2】実施の形態1にかかる属性の学習及び転移を説明するためのフローチャートである。
【図3】実施の形態1にかかる未知対象検出を説明するためのフローチャートである。
【図4】実施の形態1にかかる属性の学習及び転移システムの全体的な構成及び処理を説明するための概念図である。
【図5】実施の形態1にかかる効果を説明するための図である。
【図6】実施の形態1にかかる効果を説明するための図である。
【図7】実施の形態1にかかる効果を説明するための図である。
【図8】実施の形態1にかかる効果を説明するための図である。
【図9】実施の形態1にかかる効果を説明するための図である。
【図10】実施の形態1にかかる効果を説明するための図である。
【図11】実施の形態1にかかる効果を説明するための図である。
【図12】実施の形態2の前提となるAdjusted−SOINNの処理を示す図である。
【図13】実施の形態2の前提となるSTAR−SOINNの処理を示す図である。
【図14】実施の形態2の識別器生成装置の構成を示す図である。
【図15】実施の形態2の識別器生成装置の処理を示す図である。
【図16】実施の形態2の識別装置の構成を示す図である。
【図17】実施の形態2の識別装置の処理を示す図である。
【図18】実施の形態2の識別器生成装置及び識別装置処理を示す図である。
【図19】実施の形態2にかかる効果を説明するための図である。
【図20】実施の形態2にかかる効果を説明するための図である。
【図21】実施の形態2にかかる効果を説明するための図である。
【図22】実施の形態2にかかる効果を説明するための図である。
【図23】実施の形態3のロボット装置の構成を示す図である。
【発明を実施するための形態】
【0033】
<実施の形態1.>
<学習及び転移システムの構成>
以下、図面を参照して本発明の実施の形態について説明する。
図1は、本実施の形態にかかる属性の学習及び転移システムの構成図である。属性の学習及び転移システム1は、特徴抽出部2と、ラベリング部3と、識別器保持部4と、識別器生成部5と、属性識別部6と、クラス識別部7と、を備えている。
【0034】
特徴抽出部2は、学習時は教師データ、認識時は入力データからその特徴を抽出する。例えば教師データ及び入力データが画像データである場合には、SIFT、SURFなどの特徴量を抽出する。なお、教師データ及び入力データは画像データに限定されず、音声データ、モーターなどの時系列データ、さらにそれらのデータの組み合わせが入力されるものとしてもよい。ここで、モーターは、ロボットに搭載されており、モーターが回転駆動することで、ロボットの各関節が駆動される。このようなモーターの値などが教師データ及び入力データとなる。また、教師データ及び入力データが画像データである場合に抽出する特徴量としては、SIFT特徴量、SURF特徴量、rg−SIFT特徴量、PHOG特徴量、cq特徴量、Lss−histogram特徴量など公知の特徴量のうち、いずれか1つを抽出するものとしてもよいし、複数の種類の特徴量を抽出するものとしてもよい。
【0035】
ラベリング部3は、与えられる属性情報を、入力するデータにラベル付けする(教師データ)。属性情報は、入力するデータのクラスが持つ属性を表現する情報であり、多値ベクトルにより与えられる。本実施の形態では、教師データ及び入力データを画像として、その画像クラスが持つ属性を2値のベクトル(属性情報)として入力画像にラベル付けする。なお、本実施の形態では、ラベリング部3は、後述する属性ラベリングモジュールに相当する。
【0036】
識別器保持部4は、識別器生成部5で生成される属性識別器を、メモリ等の記憶手段(不図示)に保持する。識別器生成部5は、入力データに含まれる属性を識別するために用いる属性識別器を生成する。識別器生成部5は、ノード及びノード間を接続するエッジを含む自己増殖型ニューラルネットワークを用いて構成されており、自己増殖型ニューラルネットワークは、属性により識別される識別内容に応じて複数の部分に分割されている。本実施の形態では、後述するように、属性が含まれていることを示す第1の部分(ポジティブ部分)と、属性が含まれていないことを示す第2の部分(ネガティブ部分)と、に自己増殖型ニューラルネットワークを分割する。なお、3つ以上の内容を識別する場合には、自己増殖型ニューラルネットワークを3つ以上の部分に分割するものとしてもよい。また、自己増殖型ニューラルネットワークの詳細については後述する。
【0037】
また、識別器生成部5は、ラベリング部3でラベル付けされた属性情報により特定される自己増殖型ニューラルネットワークの部分に対して、特徴抽出部2で抽出された教師データの特徴を教師パターンとして入力する。そして、識別器生成部5は、自己増殖型ニューラルネットワークにおいて、教師パターンに基づいてノード及びエッジを生成する。なお、属性情報は、自己増殖型ニューラルネットワークのいずれの部分に教師データ及び入力データが入力されるべきかを示しており、識別器生成部5は、ラベリング部3でラベル付けされた属性情報により、どの自己増殖型ニューラルネットワークに対して、教師パターンを入力すればよいのかを特定することができる。
【0038】
属性識別部6は、入力データが入力された場合に、属性識別器を用いて、入力データに含まれる属性を識別する。属性識別部6は、識別器保持部4で保持された属性識別器の自己増殖型ニューラルネットワークのそれぞれの部分に対して、入力データから抽出された特徴を入力パターンとして入力し、当該入力パターンと自己増殖型ニューラルネットワークに含まれるノードとの第1の類似度をそれぞれの自己増殖型ニューラルネットワークの部分において算出し、算出した第1の類似度に応じて、識別内容のいずれの属性が入力データに含まれるかを識別する。
【0039】
本実施の形態では、後述するように、1つの属性を表現する1つの属性識別器を用いて、入力データがその1つの属性を含んでいるか否かという2つの内容を識別する。また、複数の属性識別器を用いる場合には、それぞれの属性識別器から、その属性の有無を示す識別結果が出力され、入力データが複数の属性のそれぞれを含んでいるか否かが識別される。
【0040】
また、本実施の形態では、入力パターンと自己増殖型ニューラルネットワークに含まれるノードとの類似度として、入力パターンと複数個の最近傍ノードとの間の距離を算出する。さらに、後述する数(4)に示されるように、第1の部分(ポジティブ部分)に関して算出した第1の類似度と、第2の部分(ネガティブ部分)に関して算出した第1の類似度と、を比較する際には、これら第1の類似度の相対的な大小関係を考慮した上で、入力データに含まれる属性を識別している。
【0041】
クラス識別部7は、入力データに対する属性識別器からの出力に基づいて、その入力データが含まれるクラスを識別する。より具体的には、クラス識別部7は、複数のクラスについてそれぞれが含む属性情報が与えられ、属性識別部6で識別された入力データの属性とクラスの属性情報とを比較して第2の類似度を求め、その算出した第2の類似度に応じて、複数のクラスのうちでいずれのクラスに入力データが含まれるか識別する。
【0042】
なお、属性の学習及び転移システム1は、例えば、演算処理等を行うCPU(Central Processing Unit)、CPUによって実行される演算プログラム等が記憶されたROM(Read Only Memory)、処理データ等を一時的に記憶するRAM(Random Access Memory)等からなるマイクロコンピュータを中心にして、ハードウェア構成されている。
【0043】
<属性識別器の学習方法>
図2は、学習段階における、属性の学習及び転移を説明するためのフローチャートである。
S101:属性の学習及び転移システム1は、属性識別器を初期化する。
S102:特徴抽出部2は、教師データである入力画像から特徴を抽出する。
S103:ラベリング部3は、教師画像に属性情報をラベル付けする。
S104:識別器生成部5は、教師画像の入力パターンを属性識別器を構成する自己増殖型ニューラルネットワークの対応する部分に入力し、クラスタリングを行う。
S105:属性の学習及び転移システム1は、学習を継続するか否かを判定し、継続すると判定した場合には、新たな教師画像が入力されてS102以降の処理を繰り返す。継続しないと判定した場合には、学習処理(教師画像を用いた属性識別器の訓練)を終了する。
【0044】
図3は、認識段階における、未知対象検出を説明するためのフローチャートである。
S201:特徴抽出部2は、入力データである入力画像から特徴を抽出する。
S202:属性識別部6は、属性識別器を用いて、その属性識別器が表現する属性を入力データが含むか否かを識別する。
S203:クラス識別部7は、入力データに対する属性識別器からの出力と、その入力データが含まれるクラスの属性情報とを比較する。
S204:クラス識別部7は、上記比較結果に基づいて、入力データが含まれるクラスの識別結果を出力する。
【0045】
<Adjusted−SOINN>
次に、本実施の形態において用いる自己増殖型ニューラルネットワークについて簡単に説明する。
自己増殖型ニューラルネットワークとして、例えば、Adjusted−SOINN(Self−Organizing Incremental Neural Network)が提案されている。Adjusted−SOINNは、自己組織化かつ追加学習可能なニューラルネットワークであり、オンラインの教師無し識別学習のためのメカニズムである(特開2008−217242号公報、非特許文献「F. Shen & O. Hasegawa, "An incremental network for on-line unsupervised classification and topology learning, " Neural Networks, 19(1):90-106, 2006.」、及び非特許文献「F. Shen & O. Hasegawa, "An on-line learning mechanism for unsupervised classification and topology representation," in CVPR, 2005.」参照)。
【0046】
Adjusted−SOINNは、入力パターンに対応するノードと、当該ノード間を接続するエッジと、から構成される。Adjusted−SOINNは、ノードの空集合から開始して、最初に、2つの入力データを開始時の2つのノードとして取得する。そして、入力パターンξ∈R(n次元ベクトル空間)ごとに、その最も近いノードsと、2番目に近いノードsを、以下の数(1)及び(2)により求める。なお、以下の数において、A'はAdjusted−SOINNにおける全てのノードの集合であり、Wは、ノードcのn次元の重みベクトルを示している。
【数1】

【数2】

【0047】
Adjusted−SOINNは、新たな入力パターンと、第1及び第2の勝者ノード(ノードsと、ノードs)との距離が所定の閾値よりも小さい場合には、その入力パターンを第1の勝者ノードに割り当てる。それ以外の場合には、Adjusted−SOINNは、入力パターンは現在のノードとあまりに異なるものであると判断して、その入力パターンを新たなノードとして生成する。
【0048】
Adjusted−SOINNは、Adjusted−SOINNにおける最も近いノードsに新たなパターンを割り当てた場合、その重みベクトルWs1を新たな入力パターンの値によって更新する。また、(エッジが存在しない場合には、)第1及び第2の勝者ノードの間にエッジを生成する。このような処理が、K−Meanのような他のクラスタリング手法とAdjusted−SOINNとで著しく異なる点である。Adjusted−SOINNでは、その新たに入力されたパターン又はデータは、クラスタを形成するためにネットワークに直接追加されない。その代わりに、Adjusted−SOINNにおいて存在するノードをエッジにより接続していくことでクラスタが形成される。Adjusted−SOINNにおける現在のノードと入力パターンとが著しく異なる場合においてのみ、新たなノードを生成することから、このようなクラスタ形成処理によれば、長期間における実行に対してメモリの節約に大きな貢献をもたらす。
【0049】
Adjusted−SOINNの他の主要な特徴として、いくつかの重要な性質をノードに与えている点が挙げられる。このアイデアにより、Adjusted−SOINNでは、ノードが自律的なエージェントのように振舞うことを可能としている。ノードは、年齢や累積エラーなどの性質を持っている。この結果、任意の時点で、各ノードはその自身の年齢や、ノードの累積エラー(ノードが第1勝者として選択される都度、入力パターンとの距離を累積することで求められる。)を持っている。これら性質によって、各ノードは2つの振る舞い(ノードの死滅及び自身の分割)を実行する。ノードの年齢に基づく死滅に関しては、任意の新しい入力パターンに対して勝利することなしにノードが長期間存在している場合には(ノイズ又は不要なノードである場合)、そのノードに連結された全てのエッジが徐々に死滅する。加えて、ノードの累積エラーに基づく分割に関しては、累積されたノイズがあまりにも大きな場合には、ノードは自身を二つに分割する。これは、巨大なクラスタ上でのK−Meanの再帰処理の振る舞いに類似する。このように、Adjusted−SOINNは、オンラインかつ追加学習可能な識別問題に対する強力な学習ツールであり、本実施の形態では、Adjusted−SOINNを採用することでその主な長所を継承すると共に、それをコンピュータビジョンにおける属性識別問題に適用可能となるように変更する。
【0050】
なお、自己増殖型ニューラルネットワークはAdjusted−SOINNに限定されず、Enhanced−SOINN(特開2008−217246)などを利用するものとしてもよい。また、オンラインかつ追加学習可能という観点からは、事前にネットワークの構成やサイズを決定する必要があるためにその性能に制限が加えられるものの、自己増殖型ニューラルネットワークとして、ニューラルガス(NG)(T. M. Martinetz, and S. G. Berkovich, and K. J. Schulten, "Neural-gas," network for vector quantization and its application to time-series prediction, " IEEE Trans. On Neural Networks, vol. 4, no. 4, pp. 558-569, 1996.)やGrowing neural gas(GAG)(B. Fritzke, "A Growing Neural Gas Network Learns Topologies, " In Advances in Neural Information Processing System, vol. 7, pp. 625-632, 1995.)を用いることもできる。
【0051】
<AT−SOINN>
以下では、自己組織化かつ追加学習可能なニューラルネットワークであるAdjusted−SOINNに基づく属性の学習及び転移システム1を、AT−SOINNと称し、未知対象クラス識別に対するAT−SOINNの詳細について説明する。ただし、理解を容易とするために、以下では、AT−SOINNにより解決する問題を再度簡単に説明した上で、属性識別器の生成方法について説明し、さらに、属性識別器をどのようにして未知対象認識に利用するのかについて説明する。
【0052】
まず、AT−SOINNにより解決したい問題について説明する。
AT−SOINNに向けられている問題は、非特許文献1に記載された問題とほぼ類似するものである。この問題に関して、唯一、かつ、重要な相違点は、システムがどのようにして学習されるのかということである。非特許文献1では、教師画像の集合が事前に準備され、システムに一度に入力される必要がある。各クラスの各画像は、2値の特徴ベクトルの属性がラベル付けされる。システムはまず、SVMによって属性識別器を学習する。教師サンプルとして(x,l),...,(x,l)⊂X×Yが与えられる。ここで、Xは任意の特徴空間であり、Y={y,...,y}はK個の分離したクラスであり、Z={z,...,z}は、Yとは互いに素なクラスのテスト用データの集合である(集合Zと集合Yの積集合は空集合となる。)。ここでの主なタスクは、Yとは完全に互いに素なラベル集合Z={z,...,z}に対して、入力画像X→Zを識別することである。
【0053】
クラスz,...,zが学習段階でたとえ与えられないとしても、z∈Z及びy∈Yのそれぞれのクラスに対して属性の表現aが利用可能であるならば、Y及びZの間に存在する属性a∈Aを転移させることで、属性の識別は可能である。具体的には、任意の教師クラスyに対する属性の表現a=(a,...,a)が固定長の2値のベクトルとなるように、全ての属性が2値(binary value)により表現される。学習処理は、各属性aについての確率的な識別器を学習することで開始する。教師クラス集合Yからの全ての画像がラベル付きの教師サンプルとして用いられ、サンプルのラベルに一致する属性ベクトルが記入されてそのラベルが決定される(つまり、クラスyのサンプルには2値のラベルaが割り当てられる)。学習された属性識別器は、p(a|x)の推定を与える。p(a|x)は、p(a|x)=Πm=1p(a|x)としての完全な画像属性のレイヤーに対するモデルである。ここで、Mは、与えられる属性の全ての個数である。この推定項は、以下の数(3)に示すように、画像が与えられたときのクラスの事後分布を計算するために用いられる。
【数3】

【0054】
本実施の形態で提案する手法(AT−SOINN)は、以上で説明した非特許文献1に記載された問題を解決するものであるが、さらに、以下の2つの条件をも満たして問題を解決するものである。
(条件1:オンラインでの属性の学習及び転移の実現)教師画像の集合を事前に準備するものではない。システムは、教師画像の集合のサイズを知らない。ロボットへの利用の観点からは、システムは、クラスインデックスとそのようなクラスの属性の表現とがラベル付された1つの教師画像を、徐々に取得する。
(条件2:追加学習可能な属性の学習及び転移の実現)システムは、入力画像が入力されたときにはいつでも学習を停止して識別することができ、同様にして、新たな教師画像が利用可能となったときにはいつでも学習処理を再開することができる。
これらの条件によって、各属性の識別のためにSVMを学習するという手法は非現実的なことになる。従って、これら2つの条件をも満たして問題を解決することは、本実施の形態による主な貢献となる。
【0055】
<属性識別器の生成方法>
次に、属性識別器の生成方法について説明する。
明らかに、未知対象クラスの検出において高いパフォーマンスを得るためには、各属性についての効果的な識別器が依然として必要である。SVMではオンライン追加システムの要求には答えることができない。このため、本実施の形態では、SVMに代えて、自己増殖型ニューラルネットワークであるAdjusted−SOINNを用いて属性識別器を構成する。ただし、Adjusted−SOINNの適用に際しては、いくつかの重要な修正が必要となる。
【0056】
基本的に、Adjusted−SOINN自体は、オンラインで追加学習可能なクラスタリングツールのように動作する。Adjusted−SOINNは、マルチクラスの識別に用いることが可能であるが、本実施の形態での主なタスクは、個別の属性aを画像が含んでいるか否かを答えることである。従って、これは2値の識別の問題になる(つまり、画像が属性aを含んでいるか否かの2つを識別する)。さらに、本実施の形態では、Adjusted−SOINNを用いて識別するクラスの個数を固定する;ポジティブ(+)クラスと、ネガティブ(−)クラスの2つのクラスのみを考える(ポジティブクラスは画像がその属性を含んでいることを示し、ネガティブクラスはその属性を含んでいないことを示す。)。
【0057】
従って、このような属性の識別を実現するために、属性識別器であるAdjusted−SOINNを2つの部分(ポジティブ部分とネガティブ部分)に分割する。各部分において、オリジナルなAdjusted−SOINNと同様の処理によって、入力パターンに基づいてノード及びエッジを生成し、追加的にクラスタを成長させていく。
【0058】
1つの属性識別器について1つのAdjusted−SOINNを必要とするため、画像のM個の属性を識別するためには、全部でM個のAdjusted−SOINNを必要とする。非特許文献1に記載された内容と同じように、この個数Mは、ちょうど1つの特徴空間に対してのみ必要となる。このため、Q個の特徴量を用いるならば、全部でM×Q個のAdjusted−SOINNを必要とする。例えば、非特許文献1に記載されたデータセットを用いる実験では、6個の異なる特徴空間における属性識別のために、85×6個のAdjusted−SOINNを必要とする。本実施の形態にかかるAdjusted−SOINNの個数は非特許文献1に記載されたSVMの個数とまさに同じであるが、Adjusted−SOINNは、より少ないメモリ消費により高速に動作することができ、最も重要なこととして、オンラインかつ追加学習可能な学習処理を行うものである。
【0059】
図4は、AT−SOINNの全体的な構成及び処理を示す概念図である。
まず、学習段階では、追加的な手法において、教師クラス(Training Classes Y)からの教師画像が、M個のSOINN(SOINN-based Individual Attribute Classifiers)に徐々に入力される。教師画像は、属性ラベリングモジュール(Labeling Attributes)によるラベリング処理を介して各Adjusted−SOINNに入力される。
【0060】
本実施の形態にかかる属性ラベリングモジュールは、ロボットが使用するシステムの場合におけるものである。管理者(ここでは人間)が、このモジュールを介して、各画像クラスの属性をラベル付けする。本実施の形態では、非特許文献1に記載されている手法と同様にして、属性ラベルは直接得られるものと想定する。
【0061】
教師画像は、属性ラベリングモジュールを介してなされたラベル(属性情報)に応じて、ポジティブサンプル(Positive Sample)又はネガティブサンプル(Negative Sample)として区別され、各Adjusted−SOINNの対応する部分に入力される。教師画像の入力による属性識別器の学習は、追加的に実行することができる。また、新たなAdjusted−SOINNを生成することで、新たな属性識別器を単純に追加することができる。
【0062】
AT−SOINNで認識したいときにはいつでも、未知画像クラスの入力画像をAT−SOINNに入力する。入力画像xは特徴ベクトルによって表現され、個々のAdjusted−SOINN全てに入力される。属性mの個別のAdjusted−SOINN(属性識別器)に対して、ポジティブ部分とネガティブ部分の両方から、それぞれk個の最近傍ノードの集合が得られる(ポジティブ部分からk個の最近傍ノードS={sm,1,...,sm,k}が、ネガティブ部分からk個の最近傍ノードS={sm,1,...,sm,k}が得られる。)。そして、以下の数(4)が当てはまる場合にのみ、入力画像xは属性mを含んでいるとみなされる。なお、ここで、ξは入力パターン(入力画像xの特徴ベクトル)であり、Wm,jはノードsm,jの重みベクトルである。また、予めユーザにより所定の閾値Tとして適当な値が設定される。以下の数(4)が当てはまらない場合には、入力画像xは属性mを含んでいないものとして扱われる。
【数4】

【0063】
<認識方法>
次に、属性識別器をどのようにして未知対象認識に利用するのかについて説明する。
各属性の識別器が利用可能となることで、AT−SOINNは必要なときにいつでも、未知クラスにおける未知対象を識別することができる。未知対象の識別は、極めて単純な手法により行うことができる。基本的に、Adjusted−SOINN及びSVMの両方とも、属性識別器の出力は、入力画像のベクトルと代表ベクトルとの間の距離空間におけるものとなる。SVMに対しては、その空間を確率空間に変換するPlatt scaling(J. C. Platt, "Probabilities for SV machines, " in Advances in Large Margin Classifiers. MIT Press, 2000.)を実行するために、余計な教師画像の集合を準備する必要がある。教師データの集合を事前に得ることができないというAT−SOINNが想定する条件下では、残念なことに、余計な教師画像集合を準備するという手法は非現実的である。従って、本実施の形態では、入力画像の特徴ベクトルとAdjusted−SOINNの最近傍クラスとの距離空間を単純に考慮することによって、未知対象の識別を行う。
【0064】
属性mの識別器を表現する2部分のAdjusted−SOINN(ポジティブ部分と、ネガティブ部分)に関して、現在の入力画像とk個の最近傍ノードとの間の平均距離が、それぞれd及びdとして与えられる。入力入力画像は、以下の数(5)に基づいて、未知対象クラスcに対して割り当てられる。なお、ここで、szlは、全部でQ特徴のうちの特徴qの空間におけるクラスzのスコアであり、後述する数(6)に基づいて算出される。
【数5】

各特徴空間qの類似度スコアszlは、以下の数(6)により得られる。なお、ここで、条件Pが真である場合には[P]=1であり、それ以外には、[P]=0である(ここで、[P]は、角括弧を用いて記載しているが、正しくは、[P]は、数(6)に示すように、二重角括弧を用いて記載される。)。全ての未知対象クラスzは、その属性ベクトルaを決定論的な手法によって生じさせるものと想定する。この決定論的な手法は、Iverson's bracket notation(D. E. Knuth, "Two notes on notation, " Amer. Math. Monthly, 99(5):403-422, 1992.)から得られる。具他的には、本実施の形態では、認識段階では、未知対象クラスzについての2値により表現される属性mが与えられるため、azlの値が1である場合(azl=1)には[azl=1]の値は1となり、[azl=0]の値は0となり、azlの値が0である場合(azl=0)には[azl=1]の値は0となり、[azl=0]の値は1となる。
【数6】

【0065】
<実施例>
次に、本実施の形態による成果及び実験について説明する。
従来手法との比較のために、非特許文献1に記載された属性付の動物データセットを利用する。このデータセットは、50個の動物クラスについての85個の属性を含んでいる。学習メカニズムのパフォーマンスのみに焦点を与えるために、本実施の形態では、粗い画像データセットをそのまま用いることに代えて、非特許文献1に開示された予め抽出された特徴データセットを用いて実験を行う。このデータセットに対しては6個の特徴を利用することができる(SIFT、SURF、PHOG、rgSIFT、local self-similarity histograms(LSS)、及びRGB Color Histogram(CQ)(詳細は非特許文献1を参照されたい)。
【0066】
AT−SOINNは追加学習が可能であるが、ここでは、追加学習が不可能な非特許文献1による成果との比較をするために、40個の画像クラスが既に学習されたときにおけるパフォーマンスの認識を行うことにする。つまり、50個の動物クラスのうちで、40個の画像クラスが教師データとして用いられ、その40個の画像クラスと互いに素な残りの10個の画像クラスが、AT−SOINNのテスト(認識用データ)に利用される。この条件は非特許文献1に記載されたものと全く同一のものであるため、AT−SOINNと非特許文献1に記載された手法との間での公平な比較を可能とする。
【0067】
なお、実験では、Adjusted−SOINNのパラメータに関して、agedead=100、λ=250として設定する。他のパラメータについては、上述したオリジナルのAdjusted−SOINNの文献に記載されているものと同様の設定を利用する。これらAdjusted−SOINNのパラメータは、AT−SOINNでベストな成果を達成できるように選択されている。実験は、様々な値の設定(設定λ=150、250、350、450、550、agedead=50、100、150、250)によって試行するが、これらの結果はそれほど異なるものではない。ただし、あまりに小さな値をλ及びagedeadに設定すると、あまりに頻繁なノード除去処理の実行を招くことになり、同時に、存在しているノードが十分な入力を得る前にあまりにも早く死滅してしまい、Adjusted−SOINNはクラスタを生成することができなくなる。従って、あまりに小さな値(例えば、λ=25、agedead=10)をパラメータとして設定しない限りにおいては、パラメータの値の違いは、識別結果にそれほどの低下をもたらすものではない。
【0068】
まず、AT−SOINNの属性識別器の品質について説明する。
図5は、非特許文献1に記載された手法と比較した場合のAT−SOINNの個別の属性識別器の品質を示している。AT−SOINNによる結果はいくつかの属性について非特許文献1に記載された手法を下回っているものの、後述する図9で示されるように、劇的に減少した計算時間を考慮すれば、AT−SOINNの属性識別器の品質は十分に高いものである。
【0069】
属性識別器の学習に要する計算時間の観点からは、AT−SOINNは、各特徴空間に対する各識別器を学習するために40個の画像クラス(24294個の教師画像)を用いた学習でおよそ300秒を必要とする。これに対して、非特許文献1に記載された手法は、各特徴空間に対する各識別器を学習するために数時間を必要とする。従って、非特許文献1に記載された手法は、たった1つの特徴空間に対する全ての属性の識別器を学習するために、合計で100時間以上を必要とする。また、他の従来手法とは異なり、AT−SOINNは完全に追加学習が可能であるために、全体の学習メカニズムを再度開始することなく、新たな入力画像を追加的に入力可能である。
【0070】
次に、AT−SOINNの実験として、動物の40個のクラスを用いた85個の属性予測器の追加的なオンライン学習によって、他の互いに素な10個の動物のクラスでのテスト(認識)を行う。
図6は、10個のクラス間での混同行列の結果を示している。マルチクラスの平均精度は、28,92%である。このパフォーマンスは、10%のチャンスレベルよりも明らかに十分に高いものである。
【0071】
図7は、AT−SOINNと、非特許文献1に記載された2つの手法DAP(Direct attribute prediction)及びIAP(Indirect attribute prediction)と、の比較を示している。
【0072】
ここで、評価のために選択されたデータセットが未知対象検出に関して困難なものであることを示すために、非特許文献1においてベースライン手法として記述された他の結果についても言及する。非特許文献1では、同じ設定で同じデータセットを利用して、DAP及びIAPという2つの手法に加えて、さらに2つのベースライン((i)単純な1回完結の学習アプローチであり、これは、システムが、40個の教師クラスからの特徴分散の対角線共分散行列を学習し、結果として生じた最近傍の識別のためのマハラノビス距離を利用するものである。(ii)標準的なありふれたマルチクラス識別であり、半々の画像の分割が教師及び認識用データ(入力データ)に対して与えられる。最初のベースライン(1回完結の学習)によって、認識用データの集合からランダムに選択された最大で10個の画像により、各目標クラスが表現される。)を実装している。
【0073】
しかしながら、最初のベースラインでは、いくつかのサンプル(1から10個のサンプル)が与えられたとしても、クラスごとの1個の教師画像に対してせいぜい14.3%の平均精度にすぎず、クラスごとの10個の教師画像に対しては18.9%の平均精度にすぎない。この精度は、10%のチャンスレベル以上に明らかに向上させるものではない。また、二番目のベースライン(標準的なマルチクラス識別)は、問題を大いに簡単化するために、同一のクラスからの多数の教師サンプルが利用可能であるという想定であるにも関わらず、このベースラインは、65.9%のマルチクラスの精度しか達成することができない。
【0074】
図8は、AT−SOINNと他のベースラインとの比較結果をまとめた表である。認識は10個の動物クラスで行った。標準手法(Ordinary Method)及び1回完結の学習手法(One-shot Learning)による結果は、非特許文献1に記載されており、これら手法による結果は、非特許文献1の記載内容から直接得ている。未知対象検出に関して、比較可能な5個の手法のうち最後の3個の手法のみが、認識対象のクラスからの任意のサンプルを必要とせずに検出を行うことができ、それら3個の手法のうちで、AT−SOINNのみが追加学習が可能である。さらには、AT−SOINNは、DAP及びIAPが必要とするよりも極めて短時間で学習を行うことができる。なお、DAP及びIAPに関して、各属性に対するSVM(識別器)の学習に要する学習時間については明確に示されていないものの、1つのSVMの学習には数時間を必要とすることを確認している。
【0075】
図8に示されるように、得られたベースラインとの比較に基づけば、1回完結の学習アプローチが仮に認識対象のクラスからの任意のサンプルを必要としないものであっても、AT−SOINNはその性能を超えている。また、AT−SOINNは、非特許文献1のIAP手法さえも超えている。AT−SOINNとDAP手法との比較では、精度の観点では、AT−SOINNはより低いパフォーマンスを示している。しかしながら、AT−SOINNは、事前の教師データセットを必要とすることなく追加的に画像を処理することができ、より重要なことには、IAP及びDAPよりも遥かに少ない学習時間で処理することができ、精度の違いは落胆させるほどに大きなものではないと考えている。加えて、AT−SOINNは追加学習が可能なアルゴリズムであり、学習データの追加によって識別率を向上させることが可能である。また、属性の追加が可能であり、それにより識別率を向上させることが可能である。DAPなど従来の転移学習方式では学習データの追加、属性の追加の機能を持っていない。
【0076】
また、上述した図5に示した属性識別結果には、他の興味深い点が含まれている。ROCカーブ(AUC)の下でのエリアによって評価された個々の属性識別器の品質について考慮すると、図5の結果は、AT−SOINNのパフォーマンス(0.68)とDAPのパフォーマンス(0.72)との間で重要な違いがないことを示している。AT−SOINNによる対象識別の精度(28.9%)を、DAPの精度(40.5%)よりも低くしている理由の1つは、AT−SOINNが、出力空間を粗い距離から確率へと変換するのに適した余計な教師データセットを持っていないことにあると考えている。
【0077】
図9は、各特徴に対する各属性識別器の学習に必要とする計算時間を示している。
同じ量の教師画像(40個のクラス、24294個の画像、6個の特徴)について、DAP及びIAP手法では、1つの特徴の1つの属性に対するSVMの学習に数時間を必要とする。これに対して、AT−SOINNでは、わずか約200〜500秒を必要とすることから、1つの属性識別器の学習に要する計算時間を劇的に減少させることができる。また、AT−SOINNの学習メカニズムはオンラインかつ追加学習可能であるために、教師画像を徐々にシステムに入力することができる。
【0078】
以上説明したように、本発明によれば、属性の転移及び学習をオンラインかつ追加学習可能なアプローチにより実現することができる。このアプローチを成功させることは、ロボティクスのコミュニティにおいて重要なインパクトを持ち、特に、ロボティクス操作に関して重要なインパクトを持つものである。
【0079】
上述した比較基準のベースラインによって、本発明が処理可能なデータセットは、ロボティクスで見られるもの以上に十分に困難なものであることは明らかである。このデータセットは、いかなるセグメンテーションの注釈も持っていない。また、全ての特徴は、画像全体から抽出されている。そして、いくつかの画像は図10に例示するようにその主な部分に目標動物を含んでいるかもしれないが、また多くの画像は図11に例示するようにその主な部分に背景を含んでいる。このことは、ベースライン手法(標準的な手法)が、教師に対して認識テストに使用するデータ集合をなぜ半々に分割した上で、認識テストで65.9%の精度のみしか達成できないのかを明らかにする。
【0080】
さらに加えて、上述した実験では、固定数の属性に対する結果を示しているが、AT−SOINNは、属性の個数が固定されていない状況においても実行可能である。AT−SOINNでは、単純にAdjusted−SOINNを追加することで、新たな属性識別器を追加することができる。
【0081】
具体的には、AT−SOINNが、例えば、現在85×6個のAdjusted−SOINN(6個の特徴空間において85個の属性識別)を有しており、学習された各クラスの画像をいくつか格納している(例えば、各クラスに対して100個の画像)場合を想定する。この場合において、ユーザが新たな属性を追加しようするときには、ユーザは、各クラスに対して1つ以上の属性(0又は1)を単純にラベル付けすればよい。従って、AT−SOINNは、同じ量の教師画像を用いることで新たな属性識別器を生成することができ、また、86個の属性を識別することができるようになる。
【0082】
属性識別器の追加に関するテクニックは、同じ属性ラベルを各クラスに対して単に追加し、そして、新たな識別器に対するSVMを学習するために教師画像を再利用することで、これまでの従来手法によっても簡単になすことができるものと考えられるかもしれない。計算時間を考慮しないのであれば、この考えは正しい。しかし、ロボティクスにおけるオンラインでの追加学習可能な利用のためには、1つ以上の属性を新たに追加するために数時間を犠牲にすることは、とても合理的なことではない。AT−SOINNでは、同じテクニックを利用することで、わずか38〜40分によって、追加の新たな属性を学習することができる。さらには、利用する特徴の個数が固定されている場合には、AT−SOINNを並列に実行するようにハードウェアを構成することができ、これにより、学習のために必要な時間をわずか10分にまで減少させることができる。
【0083】
ロボティクスにおいては、十分に準備された学習のためのシーンから開始することで、ロボットは、より正確に属性を学習することができるようになる。オンラインで追加学習可能な手法によって属性を学習することで、ロボットはユーザにサービスを提供しながら、より多くの教師画像を徐々に取得していくことができる。これにより、本発明は最終的には、ロボティクスにおける想像能力へと繋がるものであり、ロボットは、人間からの言葉による説明のみに基づいて、未知対象を取りに行くことができる。
【0084】
<実施の形態2.>
以上の実施の形態1においては、属性をネガティブ、ポジティブの2値の値として取り扱ったが、属性を多値でとらえることができれば、より柔軟に識別が可能となる。そこで、本願発明者等が鋭意実験研究した結果、多値の属性情報を識別可能な識別器を生成する方法を見出した。以下の説明では、この多値の属性情報を使用して識別器を生成することができるアルゴリズムをSTAR(STAtistical Recognition)−SOINNということする。
【0085】
STAR−SOINNは、上述のAdjusted−SOINN(Self−Organizing Incremental Neural Network)を改良したものである。
【0086】
<Adjusted−SOINN>
ここで、STAR−SOINNの理解を容易とするため、上述のAdjusted−SOINNについて、さらに詳細に説明する。
【0087】
Adjusted−SOINNは、オンラインで追加学習可能な自己増殖型ニューラルネットワークである。Adjusted−SOINNは、重みベクトルとして表わされるノードが、自律的に増殖及び消滅することを特徴とする。ノード同士は、所定の条件を満たす場合に、エッジと呼ばれる仮想的な線で結合される。Adjusted−SOINNは、このエッジをたどって互いに到達できるノード同士を同じクラスタとみなすことにより、クラスタリングを行う。また、エッジは年齢と呼ばれるパラメータを持っており、Adjusted−SOINNは、所定の年齢に達したエッジを削除する。これにより、ノイズとみなし得るノードを所定のタイミングで削除可能としている。
【0088】
図12を用いて、Adjusted−SOINNの学習アルゴリズム、すなわちAdjusted−SOINNに新たなノードが入力された場合のAdjusted−SOINNの動作について説明する。
【0089】
S301:重みベクトルを持つ入力ノードが、Adjusted−SOINNに新たに入力される。
【0090】
S302:Adjusted−SOINNは、入力ノードと既存のノードとの間の距離、典型的にはユークリッド距離を計算する。ユークリッド距離とは、数7により定義される距離をいう。数7において、dはユークリッド距離、f及びgはそれぞれn次元のベクトルを示す。
【数7】

【0091】
Adjusted−SOINNは、この計算結果より、このユークリッド距離が最も近いノード(第1勝者)と2番目に近いノード(第2勝者)とを決定する。
【0092】
S303:Adjusted−SOINNは、この第1勝者及び第2勝者ノードがもつ類似度閾値をそれぞれ計算する。ここで、類似度閾値とは、あるノードが隣接ノードを持つ場合、その隣接ノードとの最大距離をいう。あるノードが隣接ノードを持たない場合は、そのノードとそれ以外のノードとの最小距離をいう。類似度閾値は、数8により求められる。数8において、Nはノードiの隣接ノードの集合、Wはノードiの重みベクトル、Aはノード全体の集合を示す。
【数8】

【0093】
Adjusted−SOINNは、これらの類似度閾値と、上述の入力ノードと第1勝者及び第2勝者とのユークリッド距離とを相互に比較する。比較の結果、入力ノードと第1勝者及び第2勝者とのユークリッド距離が、第1勝者又は第2勝者の類似度閾値よりも大きい場合、入力ノードは、第1勝者及び第2勝者とは異なるクラスタに属するとみなされる。この場合、Adjusted−SOINNは、入力ノードの位置に新たなノードを挿入すべきと判定する。一方、入力ノードと第1勝者及び第2勝者とのユークリッド距離が、第1勝者及び第2勝者の類似度閾値よりも小さい場合、入力ノード、第1勝者及び第2勝者はいずれも同一のクラスタに属するとみなされる。この場合、Adjusted−SOINNは、新たなノードを挿入すべきでないと判定する。
【0094】
S304:S303において、新たなノードを挿入すべきと判定された場合、Adjusted−SOINNは、入力ノードの位置に新たなノードを挿入する。
【0095】
S305:S303において、新たなノードを挿入すべきでないと判定された場合、Adjusted−SOINNは、第1勝者と第2勝者の間にエッジが存在するか否かを判定する。
【0096】
S306:S305において、第1勝者と第2勝者の間にエッジが存在しないと判定された場合、Adjusted−SOINNは、それらの間にエッジを生成する。
【0097】
S307:Adjusted−SOINNは、S305においてエッジが存在しないと判定された場合、S305において生成したエッジの年齢を0とする。一方、S305においてエッジが存在すると判定された場合、既に存在していたエッジの年齢を0とする。加えて、Adjusted−SOINNは、第1勝者に接続されている全てのエッジの年齢をインクリメントする。
【0098】
S308:Adjusted−SOINNは、あらかじめ定められた閾値(age)を超えた年齢を持つエッジを削除する。ageは、ノイズ等の影響により誤って生成されるエッジを削除するために設定されるパラメータである。ageに小さな値を設定すれば、エッジは削除されやすくなり、ノイズの影響は防ぎやすくなるが、ageが極端に小さければ、エッジが頻繁に削除されるようになり、学習結果が不安定になる。一方、ageが大きすぎれば、ノイズの影響で生成されたエッジを適切に取り除くことができない。それで、ageには、実験により算出された適切な値を設定することが望ましい。
【0099】
S309:Adjusted−SOINNは、第1勝者及び第1勝者とエッジを介して直接接続されている隣接ノードの重みベクトルを、以下の数9、数10により更新する。数9、数10において、ΔWiはノードiの重みベクトルの更新量、ΔWjはノードjの重みベクトルの更新量を示す。また、iは第1勝者、jは隣接ノード、Wkは入力ノードの重みベクトル、Miはノードiがこれまで第1勝者になった回数を示す。これにより、入力ノードは、第1勝者及び隣接ノードにいわば吸収される形となる。
【数9】

【数10】

【0100】
S310:Adjusted−SOINNは、以下の2つの条件を満たすノードを、すべてのノードの中から抽出し、削除対象と判定する。
【0101】
1つ目の条件は、入力されたノードの数が、あらかじめ定められた設定値、例えば定数λの倍数にあたるか否かを判定する。この設定値は、ノイズとみなし得るノードを定期的に削除するために設定されるパラメータである。λに小さな値を設定すれば、頻繁にノイズ処理を実施することができるが、λが極端に小さければ、実際にはノイズでないノードまで誤って削除してしまう。一方、λが大きすぎれば、ノイズの影響で生成されたノードを適切に取り除くことができない。それで、λには、実験により算出された適切な値を設定することが望ましい。
【0102】
2つ目の条件は、ノードの隣接ノード数があらかじめ定められた閾値η以下であることである。閾値ηは、ノード群のうち低密度の領域、すなわちノイズとみなし得るノードを定義するためのパラメータである。
【0103】
S311:Adjusted−SOINNは、S405において削除対象として抽出されたノードを削除する。
【0104】
S312:入力されたノードの数が、あらかじめ定められた定数ρに達したならば、Adjusted−SOINNは学習を完了する。未だ達していない場合は、次の入力ノードの入力を受付け、上述した手順により学習を継続する。
【0105】
<STAR−SOINN>
次に、STAR−SOINNについて説明する。
【0106】
上述のように、STAR−SOINNは、Adjusted−SOINNに改良を加えたものである。STAR−SOINNとAdjusted−SOINNとの主な相違点を以下に示す。
【0107】
STAR−SOINNは、Adjusted−SOINNに対して統計情報を取り入れる拡張を施すことにより、認識率の向上や情報量の削減を図っている。これを実現するため、STAR−SOINNでは、ノードの追加や削除といった重みベクトルの管理手法に幾らかの変更を加えている。また、ノードに付加される情報であるラベルの概念を導入している。STAR−SOINNは、ラベルとして、例えばそのノードが属するクラス、備える属性等の情報を保持させることができる。また、この属性値として、多値(0又は1の2値でない、連続値)を保持することが可能である。なお、ラベルは、ノードがSTAR−SOINNに入力される際に、何らかの方法によりそのノードに予め付加される。
【0108】
ここで、クラスとは、識別器の識別対象を示す。識別器が識別するものが、ライオンかトラ、パンダかクマ、のような動物であれば、それらがクラスとなる。そして、属性とは、クラスの特徴を示す。動物の名前がクラスになる場合であれば、属性とは、肉食か否か、草食か否か、体毛が長いか否か、などの情報を示す。また、識別対象(クラス)が、リビングルームなのか、浴室なのか、ベッドルームか、等の部屋を識別する場合は、それら部屋名がクラスとなり、この場合の属性は、テーブルがあるか、ベッドがあるか、バスタブがあるか、等の情報である。
【0109】
ラベルとは、各ノードに与えられる、そのノードのクラス及び属性の情報である。上述の実施の形態1においては、1つのAT−SOINNがラベルとして扱えるのは、1つのクラスの1つの属性のみであった。すなわち、ある1つのAT−SOINNは、例えば「ライオン」というクラスの、例えば「肉食である」という属性のみを学習するものであった。これに対し、STAR−SOINNにおいては、1つのクラス「ライオン」の全属性情報(例えば、85個の属性)を全てラベルとして付与することができる。例えば、「ライオン」というクラスが有する「肉食である」「草食である」等の複数の属性それぞれについて、「肉食である」は「1」(positive)、「草食である」は「0」(negative)といった値を付与することが可能である。本実施の形態においては、1つのクラスの全属性のデータをラベルとして付与するものとして説明する。
【0110】
また、ラベルの値は、上述の例のように「0」「1」の2値で与えることもできるが、連続値、例えば、1〜0の正規化された値とすることも可能である。例えば、たまに肉を食べる動物の場合に、「肉食動物」という属性を単純に「1」(positive)にするのではなく、「肉食動物」という属性を"40%関係性がある"と定義することができる。このように、連続値の入力に対応することにより、精度の良い属性定義を行うことができる。例えば、人間などのような雑食である動物を表現する時、上述のAT−SOINNの場合は「0」「1」の2値で属性値を与える必要があるため、「肉食動物」と「草食動物」の両方の属性をポジティブとする必要があった。一方、STAR−SOINNでは、属性値として連続値を扱うことができるので、例えば両方の属性を0.5と設定することもできる。このように設定すれば、雑食である人間を、本来「肉食動物」が意味するところの動物とは区別して学習することができることになる。なお、STAR−SOINNおいても、両方の属性を100%と設定することや、連続値である属性値を所定の閾値の前後でバイナリ化する等の手法により、AT−SOINNと同様に利用することも可能である。なお、属性値は正規化する必要はなく、そのままのデータ値を使用してもよい。
【0111】
なお、このように連続値に対応したラベルは、ここで説明する学習時だけではなく、後述する認識時においても非常に有用である。例えば、認識対象として与えられた未学習の動物が「少しだけ肉を食べる」というような、曖昧な認識結果を出力することも、属性値が連続であることによって可能となる。このような特性により、STAR−SOINNは、より人間の認識や感覚を模擬できる認識器を提供することができる。
【0112】
また、STAR−SOINNでは、容易に属性を追加することが可能である。具体的には、入力ノードに付与されるラベルを増やすことで、SOINNが保有している属性を増やすことができる。上述のAT−SOINNとは異なり、STAR−SOINNは、属性の増減がSOINNの数に影響しない。また、STAR−SOINNは、このような属性の追加の作業をオンラインで実行することが可能である。そのため、装置の動作中であっても、新しい属性の追加を柔軟に実行することが可能である。このように、STAR−SOINNは、環境や命令者の要求に合わせた学習や認識が必要な、人の生活環境のなかで働くロボットに適したオンライン学習性を備えている。
【0113】
次に、図13を用いて、STAR−SOINNの学習アルゴリズム、すなわちSTAR−SOINNに新たなノードが入力された場合のSTAR−SOINNの動作について説明する。
【0114】
S401:重みベクトルをもつ入力ノードと、その入力ノードのラベルが、STAR−SOINNに新たに入力される。
【0115】
S402:STAR−SOINNは、既存のノードの年齢をすべてインクリメントする。
【0116】
S302:STAR−SOINNは、Adjusted−SOINNと同様に、入力ノードに対する第1勝者及び第2勝者ノードを決定する。
【0117】
S303:STAR−SOINNは、Adjusted−SOINNと同様に、第1勝者及び第2勝者ノードの類似度閾値をそれぞれ計算し、これを用いて入力ノードと第1勝者及び第2勝者とが同一のクラスタに属するか否かを判定する。
【0118】
S403:S303において同一クラスタでないと判定された場合、入力ノードと同じ位置に新たなノードを生成する。ここで、STAR−SOINNにおいては、新たなノードに対し、入力ノードのラベル重みも設定することが望ましい。ラベル重みとは、ノードに付与されるラベルの値をいう。すなわち、クラス名、属性値が入力ノードにラベルとして付与されていたのであれば、それらのクラス名、属性値が新たなノードにラベルとして付与される。
【0119】
S305乃至S309:S303において同一クラスタと判定された場合、STAR−SOINNは、Adjusted−SOINNと同様に、第1勝者と第2勝者の間にエッジを生成し、そのエッジの年齢を0にする。既にエッジが存在する場合には、そのエッジの年齢を0とする。また、第1勝者に接続されているすべてのエッジの年齢をインクリメントする。その後、あらかじめ定められた閾値(age)を超えた年齢を持つエッジを削除する。ついで、STAR−SOINNは、第1勝者とその近傍ノードの重みベクトルを更新する。
【0120】
S404:STAR−SOINNは、入力ノードのラベル情報の拡散を行う。すなわち、入力ノードのラベル重みに基づいて、第1勝者とその隣接ノード、及び第2勝者ノードとその隣接ノードのラベル重みを更新する。ラベル重みの更新は、例えば数11及び数12に従って行うことができる。STAR−SOINNでは、このように入力ノードのラベル情報を統計情報としてSTAR−SOINN内に蓄積することにより、認識率を向上させている。
【数11】

【数12】

【0121】
S405:上述のS403で新たなノードを生成した場合、及びS404でラベル重みを拡散させた場合は、このステップS405に進む。
【0122】
STAR−SOINNは、以下の2つの条件を満たすノードを、すべてのノードの中から抽出し、削除対象と判定する。
【0123】
1つ目の条件は、ノードの年齢があらかじめ定められた設定値、例えば定数λの倍数にあたることである。この設定値は、ノイズとみなし得るノードを定期的に削除するために設定されるパラメータである。λに小さな値を設定すれば、頻繁にノイズ処理を実施することができるが、λが極端に小さければ、実際にはノイズでないノードまで誤って削除してしまう。一方、λが大きすぎれば、ノイズの影響で生成されたノードを適切に取り除くことができない。そこで、λは、例えば実験等により得られた値を設定することが望ましい。なお、STAR−SOINNにおけるλは、Adjusted−SOINNにおけるλとは意味合いが異なる。Adjusted−SOINNでは、過去に入力されたノードの数をλにより評価し、削除ノードの抽出を行っていたが、この方法では生成されてからの時間が比較的短いノードは削除対象となりやすい。一方、STAR−SOINNでは、各ノードに年齢という概念を導入し、入力ノード数ではなく、各ノードの年齢をλにより評価し、削除ノードの抽出を行うこととした。すなわち、各ノードは、一定の年齢に達すると、削除するか否かの判定がなされる。このことにより、ノードの生成タイミングに影響されることなくノイズの除去を行うことができる。
【0124】
2つ目の条件は、ノードの隣接ノード数(エッジで接続されているノード数)があらかじめ定められた閾値η以下であることである。閾値ηは、ノード群のうち低密度の領域、すなわちノイズとみなし得るノードを定義するためのパラメータである。なお、ηは、0以上の整数を示す。識別対象となるクラスに応じて、又は学習に使用す教師データの数に応じて、例えば実験等により、最適なηを設定すればよい。
【0125】
以上、2つの条件により、例えば、λ=100、η=2と設定した場合には、年齢が100の倍数に達したノードについて、2以下のノードとエッジで接続されているノード(隣接ノードを2以下有するノード)は、削除される。
【0126】
S311:STAR−SOINNは、S405において削除対象として抽出されたノードを削除する。
【0127】
S406:STAR−SOINNは、削除されたノードのラベル重みの少なくとも一部を、削除ノードの周辺のノードに譲渡する(ラベルの拡散)。ラベル重みの譲渡は、例えば、削除ノードと最も近いノード及び2番目に近いノードのラベル重みを、それぞれ数13及び数14に従って更新することにより行うことができる。数13及び数14において、ΔLがラベル重みの増加量である。また、Κは削除ノードのラベル情報、cは属性、Kcは削除ノードの属性cのラベル重み、Tω及びTsωはそれぞれ削除ノードと最も近いノード及び2番目に近いノードの類似度閾値である。Dω及びDsωは、それぞれ数15及び数16により定義される。数15及び数16において、Wω及びWsωはそれぞれ削除ノードと最も近いノード及び2番目に近いノードの重みベクトル、Wdは削除ノードの重みベクトルである。
【数13】

【数14】

【数15】

【数16】

【0128】
STAR−SOINNにおいては、このようにラベルの拡散を行うことにより、ラベル情報を統計情報としてSTAR−SOINN内に蓄積し、認識率を向上させすることを可能にしている。
【0129】
S312:入力されたノードの数が、あらかじめ定められた定数ρに達したならば、STAR−SOINNは学習を完了する。未だ達していない場合は、次の入力ノードの入力を受付け、上述した手順により学習を継続する。
【0130】
<認識器生成装置の構成>
次に、図14を用いて、本実施の形態にかかる認識器生成装置100の構成について説明する。認識器生成装置100は、典型的には、専用コンピュータ、パーソナルコンピュータ(PC)などのコンピュータにより実現される。
【0131】
認識器生成装置100の構成要素101乃至107は、図示しない記憶手段等に格納された各種プログラムに基づいて、各種制御をそれぞれ実行する機能を有し、中央演算処理装置(CPU)、読出専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、入出力ポート(I/O)等により実現される処理部である。
【0132】
特徴抽出部101は、入力データ(教師データ)から特徴量を抽出する。この特徴量を、重みベクトル(入力ノード)として、後述するラベルとともに、STAR−SOINNに入力する処理を行う。
【0133】
教師データとしては、例えば画像センサをはじめとする種々のセンサ等から入力される任意の情報が利用され得る。本実施の形態では、教師データとして、特に動物の画像情報が用いられた場合を主に例示する。教師データが画像情報である場合は、例えばSIFT、SURF、HOG、Haar−like等の公知の技術を用いて、その画像情報から特徴量を抽出することができる。
【0134】
なお、教師データ(入力データ)としては、画像だけでなく、音声や様々なセンサ情報も入力することができる。例えば、「怖い動物である」という属性がある場合、このような属性の値(「怖い動物である」程度を示す数値)を画像の特徴から判断することは非常に困難である。このような場合に、その動物の鳴き声などの音声情報を入力データとして用いるならば、画像以上に精度の良い認識ができると考えられる。さらには、「皮膚が柔らかい」「表面がザラザラしている」等の属性がある場合には、動物に直接触れることができる圧力センサの情報も用いることで、画像では分かりにくいこれらの属性を精度よく扱うことが可能となる。このような様々な感覚(センサ情報)を用いた対象の認識の仕方は、人間が行っている認識に非常に近いものである。そのため、本実施の形態は、人と同じように活動ができるロボットへ応用するならば非常に有用と考えられる。ロボットは、人間と同じような感覚(センサ)を搭載することで、人と同じような概念を獲得することができる。これにより、ロボットは、例えば人から命令を受ける際に、曖昧且つ複雑に人が認識している属性も扱うことができるようになるため、人とロボットとのやり取りの効率化や簡易化をすすめることができる。
【0135】
また、本実施の形態においては、入力される教師データには、ラベルとして、少なくともその教師データが有する属性が付与されているものとする。なお、この他に、教師データの属するクラスに関する情報等をラベルとして保持させてもよい。ラベルは、典型的には人手によりあらかじめ付与されるが、図示しないラベリング部が、所定のアルゴリズムに従って自動的に付与するものであってもよい。
【0136】
属性とは、上述したように、識別対象を示すクラスが有する性質又は特徴を表わす値のことをいう。例えば、教師データが動物の画像情報であれば、その教師データのクラスに応じて、茶色い、大きい、毛が長い、肉食である等の複数の属性がその程度を表す属性値と共にラベルとして付与される。本実施の形態においては、この属性値は多値である。このように、STAR−SOINNでは、属性値を連続値として扱うことができるため、ラベルを人手により入力するだけでなく、例えばセンサから入力されるデータを正規化して得られる値をそのまま用いることも可能である。
【0137】
ここで、通常、クラスが異なれば、属性の種類や、その組み合わせ、及び属性値の組み合わせ等は異なるものとなる。識別対象となるクラスにどのような属性を設定するか、また、属性をいくつ設定するか、により、識別器の性能も異なる。すなわち、属性を多数設定すれば、そのクラスをより詳細に表わすことができるが、演算量が増大する。また、属性の数が少なすぎれば、識別能力が低下することとなる。そのクラスを識別するための最適な属性を適当数設定することで、より高性能な認識器を生成することが可能となる。
【0138】
勝者ノード抽出部102は、STAR−SOINNに重みベクトル(入力ノード)が入力されたときに、入力ノードと各既存ノードとの間の距離を算出し、当該入力ノードと最も近いノード及び2番目に近いノードをそれぞれ第1勝者ノード及び第2勝者ノードとして抽出する処理を行う。
【0139】
ノード挿入判定部103は、入力ノードと、第1及び第2勝者ノードとの距離に基づき、入力ノードをSTAR−SOINN内に新たなノードとして挿入するか否かを判定する処理を行う
【0140】
エッジ管理部104は、エッジの生成、削除に関する処理を行う。具体的には、入力ノードを新たなノードとして挿入しない場合に、第1勝者ノードと第2勝者ノードとの間にエッジがない場合はエッジを生成しその年齢を0とし、エッジがある場合はその年齢を0とする。また、第1勝者ノードが有する全エッジの年齢をインクリメントし、所定の年齢に達したエッジを削除する等する。
【0141】
ノード重み更新部105は、入力ノードを新たなノードとして挿入しない場合、入力ノードの重みベクトルに基づき、第1勝者ノード及び第2勝者ノードの重みベクトルを更新する処理を行う。なお、本実施の形態においては、第1及び第2勝者ノードの重みを更新するものとして説明するが、第1勝者ノードの重みベクトルのみを更新するようにしてもよい。
【0142】
ラベル重み更新部106は、入力ノードを新たなノードとして挿入しない場合、入力ノードのラベル重みを少なくとも第1勝者及び第2勝者に拡散する処理、及びノードを削除するとき、そのノードが有するラベル重みの少なくとも一部を、当該削除ノードの周辺に存在するノードのラベル重みを更新する処理を行う。
【0143】
ノード削除部107は、所定のタイミング、本実施の形態においては、ノードがλの倍数の年齢に達すると、当該ノードのノード密度、すなわちそのノードにエッジで結ばれるノードがいくつ存在するか等に応じてノードを削除する処理を行う。
【0144】
なお、認識器生成装置100は、図示しない属性適正化部を有してもよい。属性適正化部は、所定のタイミングで、ノードにとって不要な属性を削除することができる。所定のタイミングとは、例えばSTAR−SOINN内のノードの年齢が所定の年齢に達したときであってよく、あるいは、第1勝者及び第2勝者ノードに入力ノードの属性が拡散されるときであってもよい。また、不要な属性とは、例えば重複する属性、又は属性値が所定の閾値を下回る属性等としてもよい。あるいは、属性の関連度が所定の閾値を下回る属性について、所定の評価式等により属性としての有効度を算出し、この有効度が低い属性を不要と判定してもよい。さらに、属性数の上限数が定められている場合であって、新たに属性が追加されたため属性の数がその上限を超える場合に、すべての属性の中から属性値が最も低い属性を選択してもよい。
【0145】
このように属性を減らすことにより、過学習の抑制や認識時間の短縮、情報量の削減などが実現できる。なお、属性を削除した場合は、認識率が低下しない事を認識作業により判定することが望ましい。具体的には、削除する属性と似ている属性を検出し、それらを定量的に評価して削除の可否を判断することができる。
【0146】
上述のAT−SOINNとは異なり、STAR−SOINNは、属性の増減がSOINNの数に影響しない。また、STAR−SOINNは、このような属性の削除の作業をオンラインで実行することが可能である。そのため、装置の動作中であっても、新しい属性の削減を柔軟に実行することが可能である。すなわち、STAR−SOINNは、環境や命令者の要求に合わせた学習や認識が必要な、人の生活環境のなかで働くロボットに適したオンライン学習性を備えている。
【0147】
<認識器生成方法>
つづいて、図15及び図18を用いて、本実施の形態にかかる認識器生成装置100の動作について具体的に説明する。図15は認識器生成装置100の処理を示すフローチャートである。また、図18は、認識器生成装置100及び後述の認識装置200が行う処理の概念図である。
【0148】
S501:認識器生成装置100に、教師データが入力される。
【0149】
S502:特徴抽出部101が、入力された教師データから特徴量を抽出する。
【0150】
S401:抽出された特徴量は、重みベクトルとして、STAR−SOINNに入力される。この重みベクトルを入力ノードという。学習段階(認識器生成段階)では、入力ノードと共にラベルが入力され、各入力ノードには、上記ラベルが付与される。
【0151】
S402:ノード削除部107が、STAR−SOINN内のすべての既存ノードの年齢をインクリメントする。
【0152】
S302:勝者ノード抽出部102が、入力ノードというと既存ノードとの間の距離、典型的にはベクトル間の距離を示すユークリッド距離を計算する。この計算の結果、入力ノードと最も近いノードを第1勝者、2番目に近いノードを第2勝者として抽出する。
【0153】
S303:ノード挿入判定部103が、入力ノードを、STAR−SOINN内に新たなノードとして挿入するか否かを判定する。
【0154】
S403:S303において新たなノードを挿入すべきと判定された場合、ノード挿入判定部103は、入力ノードを、STAR−SOINN内に新たなノードとして挿入する。すなわち、入力ノードと同じ位置に、新たなノードを作成する。このとき、ノード挿入判定部103は、新たなノードに対し、入力ノードが有していたラベルを付与する。
【0155】
S305:S303において新たなノードを挿入すべきでないと判定された場合、エッジ管理部104は、第1勝者と第2勝者との間にエッジがあるか否かを判定する。
【0156】
S306:S305においてエッジがないと判定された場合、エッジ管理部104は、第1勝者と第2勝者との間にエッジを生成する。
【0157】
S307:エッジ管理部104は、S306においてエッジを生成した場合、その年齢を0とする。また、エッジを生成しなかった場合、既存のエッジの年齢を0とする。さらに、エッジ管理部104は、第1勝者が接続されている全てのエッジの年齢をインクリメントする。
【0158】
S308:エッジ管理部104は、年齢が所定の閾値(age)に達したエッジがあれば、そのエッジを削除する。
【0159】
S309:ノード重み更新部105が、少なくとも第1勝者ノードの重みベクトルを、入力ノードの重みベクトルに基づいて更新する。あるいは、第1勝者とその隣接ノードの重みベクトルを更新することとしてもよい。重みベクトルの更新量は、例えば数3及び数4により求めることが可能である。
【0160】
S404:ラベル重み更新部106が、入力ノードのラベル重みを、第1勝者ノード及び第2勝者ノードに拡散する。すなわち、ラベル重み更新部106は、第1勝者ノード及び第2勝者ノードのラベル重みを、入力ノードのラベル重みの少なくとも一部に基づいて更新する。ラベル重みの更新量は、例えば数A及び数Bにより求めることができる。なお、拡散の範囲は、例えば第1勝者とその隣接ノード、及び第2勝者とその隣接ノードとしてもよい。
【0161】
S405:ノード削除部107が、ノードの年齢があらかじめ定められた設定値にあたり、かつ隣接ノード数があらかじめ定められた閾値λ以下であるノードを、STAR−SOINNのすべてのノードの中から抽出する。ここで、上記設定値は、例えば定数λの倍数とすることができる。
【0162】
S311:ノード削除部107は、S405において削除対象として抽出されたノードを削除する。
【0163】
S406:ラベル重み更新部106が、削除されたノードのラベル重みの少なくとも一部を、削除ノードの周辺のノード、例えば、削除ノードと最も近いノード及び2番目に近いノードに譲渡する。ラベル重みの譲渡は、譲渡される側のノードのラベル重みを、それぞれ数C及び数Dに従って更新することにより行うことができる。ここで、ラベル重み更新部106は、任意のラベルのラベル重みのみを拡散するよう構成してもよい。例えば、属性に関するラベルのみを拡散することも可能である。また、属性とクラスとを拡散することとしてもよい。
【0164】
S312:認識器生成装置100は、入力されたノードの数があらかじめ定められた定数ρに達したならば、学習は完了したものと判断し、処理を完了する。未だ達していない場合は、次の入力ノードの入力を受付け、上述した手順により処理を継続する。学習を完了したSTAR−SOINNのノード群は、後述する認識装置200が備える認識器として利用可能である。
【0165】
また、上述の実施の形態においては、認識器生成装置100が、入力データから抽出される1つの特徴量に対応する1つの認識器を生成する構成について説明した。しかしながら、入力データから複数の特徴量が抽出できる場合は、それらの特徴量にそれぞれ対応する、認識器生成装置100と同等の機能を備えた認識器生成部を複数準備し、各特徴量に対応して独立した認識器を生成する構成とすることができる。この場合、これらの認識器生成部の特徴抽出部101は、それぞれ違う特徴量を抽出するよう構成することができる。より具体的には、識別器生成装置100に教師データが入力されると、その教師データがこれら複数の認識器生成部の特徴抽出部101にそれぞれ入力される。これらの特徴抽出部101は、それぞれが対応する勝者ノード抽出部102、ノード挿入判定部103、エッジ管理部104、ノード重み管理部105、ラベル重み更新部106及びノード削除部107を有しており、これらの構成要素が、それぞれ上述のステップS401乃至S315と同様の処理を行う。
【0166】
かかる構成により、認識器生成装置100は、複数の特徴量に対応する複数の認識器を生成することができる。
【0167】
<認識装置の構成>
つづいて、認識器生成装置100により生成した認識器を用いて、転移学習を行うことが可能な認識装置200について説明する。認識装置200は、上記認識器を用いて入力データの属性を認識し、その属性により認識対象であるクラス認識することで転移学習を行う。
【0168】
図16を用いて、本実施の形態にかかる認識装置200の構成について説明する。認識器生成装置200は、典型的には、専用コンピュータ、パーソナルコンピュータ(PC)などのコンピュータにより実現される。
【0169】
認識装置200の構成要素201乃至203は、図示しない記憶手段等に格納された各種プログラムに基づいて、各種制御をそれぞれ実行する機能を有し、中央演算処理装置(CPU)、読出専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、入出力ポート(I/O)等により実現される。
【0170】
特徴抽出部201は、入力データから特徴量を重みベクトルとして抽出する処理を行う。
【0171】
なお、特徴抽出部201は、上述の特徴抽出部101と同一のものであってもよい。すなわち、特徴抽出部101及び201は、学習時は教師データの特徴量を抽出し、前記入力データの特徴量を抽出するよう機能するものであってよい。
【0172】
認識器202は、入力データから認識すべき認識対象をクラスとし、当該クラスをその特徴である属性により認識することで転移学習が可能であり、上述の認識器生成装置100に、クラス及び属性がラベル重みとして付された教師データを入力し、その特徴量を学習することで生成される。
【0173】
すなわち、この認識器202は、認識器生成装置100に、所定数の前記教師データを入力した後の各ノード(学習済ノード)により構成されている。
【0174】
結果出力部203は、認識器202が有する複数の学習済ノードと、入力データから抽出した重みベクトルとの距離に応じて、入力ノードの属性及びクラスを認識し、認識結果を出力する処理を行う。以下に、認識方法の一例を示す。
【0175】
まず、結果出力部203は、認識器202に入力された重みベクトル(入力ノード)と、既存のノードとの距離、典型的にはユークリッド距離をそれぞれ計算する。この計算の結果を用いて、入力ノードと最も近いk個(kは任意の自然数)のノードを抽出する。つぎに、結果出力部203は、これらk個のノードが有するラベル重みに基づいて、入力ノードの属性及びクラスを認識する。
【0176】
入力ノードの属性及びクラスを認識方法の一例を以下に示す。以下の例は、すべての属性値をnegative又はpositiveの2値で表す場合の認識方法である。
【0177】
まず、認識器生成装置100は、ρ番目に学習するクラス(動物)よりも前のクラス(動物)については、上記認識器生成方法として説明した学習ステップを実行する。一方、ρ番目に学習するクラス(動物)以降のクラス(動物)を学習する際には、上記学習ステップに加え、属性を判定するための閾値T(後述の数17で利用)を決定するための処理を行う。この閾値Tを決定するための処理とは、属性それぞれについて、positive及びnegativeである確率を認識作業により計算し、その平均をとることで算出する。具体的には、positive及びnegativeである確率を求め、この値を用いて、positiveであるべき属性についてはpositiveの平均値を、negativeであるべき属性についてはnegativeの平均値を更新してゆく。例えば、ライオンの画像特徴量が入力され、「肉食動物か」という属性について、positive及びnegativeの値を計算した場合を考える。ここで、ライオンは本来「肉食動物」(positive)であるから、この場合はpositiveの値を用いて、この「肉食動物か」という属性にかかるpositiveの平均値を更新する。ρ番目以降のすべての動物について同様の処理を行ってゆくと、この属性にかかるpositiveの平均値、negativeの平均値が求められる。そして、このpositiveの平均値及びnegativeの平均値の中間値、つまり足して2で割った値を、閾値Tとする。
【0178】
かかる処理の後、認識器202は、数17に示す判定式を利用することにより、入力ノードのクラスを認識する。ここで、cは認識結果のクラスである。また、Zは比較対象となるクラスの集合、Mは属性の数、Qは認識対象から抽出する特徴の数、aはクラスzの属性m(positive又はnegative)を表す。Tは学習時に認識を行った際の平均値の中間値、Dはpositiveの平均値からnegativeの平均値を引いた値である。Uは数18で求められる。数18における、属性がm、特徴qの入力ノードの特徴量がIのときのPは数19及び数20で求められる。ここで、Nは特徴qのSTAR−SOINNにおいて入力ノードの特徴量Iとt番目に近い重みベクトルを持つノード、WはNの重みベクトルを示す。また、数19及び数20の右辺のPは数21及び数22で求められる。数21及び数22は、ノードNが持っている属性mがpositive又はnegativeである確率を示す。LはノードNの属性mのラベル重みである。
【数17】

【数18】

【数19】

【数20】

【数21】

【数22】

【0179】
ここで、クラスの認識は、属性とクラスとの対応関係を定義した辞書データに基づいて行われる。この辞書データでは、複数の属性及びその値の組合せに対し、1のクラス名が対応付けられる。結果出力部203は、入力ノードが有していると認識された属性の種類及びその値と、この辞書データとを比較し、一致するものがあれば、そのクラス名を認識結果として出力することができる。なお、一致するクラス名がこの辞書データに記憶されていない場合であっても、結果出力部203は、認識の結果を、認識された属性の種類及びその値からなる未定義クラスとして出力することができる。
【0180】
<認識方法>
つづいて、図17を用いて、本実施の形態にかかる認識装置200の動作について具体的に説明する。
【0181】
S601:認識装置200に、入力データが入力される。入力データとしては、例えば画像センサをはじめとする種々のセンサ等から入力される任意の情報を利用できる。
【0182】
S502:特徴抽出部201は、この入力データから特徴量を抽出する。特徴量の抽出処理は、認識器生成装置100の特徴抽出部101と同様に実施することができる。入力データから抽出された特徴量は、重みベクトルとして、認識器202に入力される。
【0183】
S602:結果出力部203は、既存のノードのうち、入力ノードと最も近いk個(kは任意の自然数)の学習済ノードを抽出する。
【0184】
S603:結果出力部203は、これらk個の学習済ノードが有するラベル重みに基づいて、入力ノードの属性及びクラスを認識し、認識結果を出力する。
【0185】
なお、上述の実施の形態においては、認識装置200が、入力データから抽出される1つの特徴量に対応する1つの認識器を利用して認識を行う構成(すなわちQが1種類の場合)について説明した。しかしながら、入力データから複数の特徴量が抽出できる場合(Qが複数の場合)は、それらの特徴量にそれぞれ対応する、独立した認識器を利用する構成としてもよい。例えば、特徴抽出部201を複数備え、それらの特徴抽出部201がそれぞれ異なる特徴量を抽出するよう構成することができる。この場合、認識装置200にデータが入力されると、その入力データがこれら複数の特徴抽出部201にそれぞれ入力される。これらの特徴抽出部201は、それぞれが対応する特徴抽出部201、認識器202を有しており、これらの認識器202から得られるパラメータを用いて、結果出力部203が認識結果を出力する。
【0186】
なお、このような認識器生成装置及び認識装置は、専用コンピュータ、パーソナルコンピュータ(PC)などのコンピュータにより実現可能である。但し、コンピュータは、物理的に単一である必要はなく、分散処理を実行する場合には、複数であってもよい。図1に示すように、コンピュータ10は、CPU11(Central Processing Unit)、ROM12(Read Only Memory)及びRAM13(Random Access Memory)を有し、これらがバス14を介して相互に接続されている。尚、コンピュータを動作させるためのOSソフトなどは、説明を省略するが、この情報処理装置を構築するコンピュータも当然備えているものとする。
【0187】
バス14には又、入出力インターフェイス15も接続されている。入出力インターフェイス15には、例えば、キーボード、マウス、センサなどよりなる入力部16、CRT、LCDなどよりなるディスプレイ、並びにヘッドフォンやスピーカなどよりなる出力部17、ハードディスクなどより構成される記憶部18、モデム、ターミナルアダプタなどより構成される通信部19などが接続されている。
【0188】
CPU11は、ROM12に記憶されている各種プログラム、又は記憶部18からRAM13にロードされた各種プログラムに従って各種の処理、本実施の形態においては、例えば最近傍プロトタイプ選択手段34やプロトタイプ削除手段35における処理を実行する。RAM13には又、CPU11が各種の処理を実行する上において必要なデータなども適宜記憶される。
【0189】
通信部19は、例えば図示しないインターネットを介しての通信処理を行ったり、CPU11から提供されたデータを送信したり、通信相手から受信したデータをCPU11、RAM13、記憶部18に出力したりする。記憶部18はCPU11との間でやり取りし、情報の保存・消去を行う。通信部19は又、他の装置との間で、アナログ信号又はディジタル信号の通信処理を行う。
【0190】
入出力インターフェイス15は又、必要に応じてドライブ20が接続され、例えば、磁気ディスク201、光ディスク202、フレキシブルディスク203、又は半導体メモリ204などが適宜装着され、それらから読み出されたコンピュータプログラムが必要に応じて記憶部18にインストールされる。
【0191】
<実施例>
本実施の形態の認識器生成装置100及び認識装置200(以下、AT−STAR−SOINN(Attribute Transfer−STAR−SOINN)という)を、非特許文献1記載の技術であるLampertらのDAPとIAP、上述のAT−SOINNとの比較で評価した結果を図19乃至図22に示す。なお、本実施の形態の評価において用いたパラメータは、λ=600、age=100、η=0、k=13、ρ=25である。これらは予備実験の結果に基づき決定した。学習画像は24,295枚、認識画像は6,180枚である。また、実験は全て、CPUが2.93GHz、メモリが8GBのパソコンを使用した。
【0192】
図19に、本実施の形態のAT−STAR−SOINN、及び上記他の手法の認識率の比較結果を示す。図19より、AT−STAR−SOINNにおける認識率は、バッチで学習したDAPには劣るが、AT−SOINNと同等であることがわかる。
【0193】
図20に、AT−STAR−SOINNとAT−SOINNとがそれぞれ保有する、SOINN(STAR−SOINN又はAdjusted−SOINN)のノード数の比較結果を示す。図22によれば、AT−STAR−SOINNでは、AT−SOINNのノード数の99.47%を削減することができた。これは、AT−SOINNではAdjusted−SOINNの数が属性の数に比例していたのに対し、AT−STAR−SOINNではSTAR−SOINN内のラベルを用いて属性を管理することで、属性の増減によりSOINNの数を変動させずに学習出来ることに起因する。本実施の形態では、このような大幅な情報量(SOINN)の削減を行ったにも関わらず、上述のように認識率が殆ど低下しなかった。
【0194】
図21及び図22に、AT−STAR−SOINN及び上記他の手法の学習時間及び認識時間の比較結果を示す。図21によれば、AT−STAR−SOINNの学習時間は、DAPに比べ約13,616倍速く、AT−SOINNに比べ約47倍速い。さらに、図22によれば、AT−STAR−SOINNにおいて認識に要した時間は、DAPに比べ約1,892倍速く、AT−SOINNに比べ約156倍速い。
【0195】
このように、本実施の形態によれば、認識率を低下させることなく、高速に、オンラインかつ追加学習が可能な属性の学習及び転移を実現することができる。
【0196】
<実施の形態3.>
次に、実施の形態2における識別器生成装置により生成された識別器を搭載したロボット装置について説明する。図23は、本実施の形態にかかるロボット装置を示すブロック図である。
【0197】
ロボット装置300は、入力データ取得部301及び認識装置200を有する。ここで、認識装置201は、実施の形態2において説明した認識装置200と同一のものであってよい。
【0198】
入力データ取得部301は、例えばカメラを備えた撮像部である。この場合、入力データ取得部301は、入力データとして画像データを取得することができる。なお、入力データ取得部301は、種々のセンサ等により他の種類のデータを取得できるものであってもよい。
【0199】
認識装置201は、入力データ取得部301が取得したデータを入力データとして、その入力データクラスや属性等を認識する。この認識は、実施の形態2と同様の手順により実施可能である。
【0200】
なお、ロボット装置300は、上述の認識器生成装置100と同様の構成をさらに備えることにより、入力データを教師データとして追加学習を行うよう構成されてもよい。このとき、入力データ取得部301は、入力データに付与されるラベル情報を取得することが望ましい。ラベル情報は、例えば入力データが取得される度に人が入力することとしてもよく、あるいは図示しないラベリング部が、所定のアルゴリズムに従って自動的に付与するものであってもよい。
【0201】
また、ロボット装置300は、例えば自走可能な車輪等の移動手段を有し、この移動手段により移動しながら、入力データ取得部301により入力データを取得するものであってもよい。
【0202】
また、ロボット装置300は、他のロボット装置、認識装置、認識器生成装置、あるいは種々の学習済みノードが登録された記憶装置又はデータベース等と通信可能な通信部を有しており、この通信部を介して、上記装置等から学習済ノードを取得するよう構成してもよい。
【0203】
一般に、対象を認識するのに必要な属性の種類や辞書データは、環境等に応じて変化し得る。例えば、動物の種類を認識するのに必要な属性群や辞書データと、場所を認識するのに必要な属性群や辞書データは異なるものとなるであろう。そこで、そうした場合、ロボット装置300は、認識対象に応じて必要な、特定の属性を備えた教師データにより学習済みのノード群を、通信部を介してダウンロードするよう構成することができる。ロボット装置300は、このノード群を認識器として用いることにより、クラスや属性を適切に認識することができる。このように、状況に応じた適切な認識器を、ネットワークを介して融通することにより、他の装置における学習結果を再利用でき、適切な認識を効率的に行うロボット装置300を提供することができる。
【0204】
本実施の形態では、ロボット装置300がSTAR−SOINNを利用して高速に学習、及び認識を行うことが可能である。このような処理時間の高速化は、リアルタイム性が求められるロボットに対して必要不可欠な特徴であり、かかる点において本発明はロボットへの適用に好適である。
【0205】
<その他の実施の形態>
上述の実施の形態のほか、本発明はさらに、携帯端末への適用も可能である。例えば、携帯端末はカメラやマイクからなる入力部と、上述の認識装置200とを備える。携帯端末は、入力部から入力されたデータを上述の認識装置200により認識する。これにより、見たことや聞いたことがないものであっても、この携帯端末を用いて、それが何であるかを推測することができるようになる。
【0206】
このとき、認識装置200は、インターネットなどのネットワーク上に配置されていてもよい。また、認識装置200は、インターネットなどのネットワーク上に配置された、学習済みノードのデータベースを用いて、その国の環境や文化に合わせた学習、及び認識を行うこととしてもよい。さらに、このデータベースは、このような学習済みノードのデータを、位置情報と関連付けて記憶していてもよい。
【0207】
多くの携帯端末にはGPSなどの位置を同定する機能が搭載されているから、このような機能により取得した位置情報をキーとして、上記データベースから適切な学習済みノードを取得し、これを認識に利用することで、認識器200は場所の情報も用いた適切な認識を行うことができる。例えば、認識対象としてタオルを考えたときに、洗面所や浴場のような「体の一部を洗う場所」に特化した学習済みノードを用いれば、体を拭く物という意味合いも含めた認識が可能となるであろうし、ダイニングやリビングのような「机などがある場所」に特化した学習済みノードを用いれば、机や家具を拭くものという意味をも含めた認識が可能となるであろう。このような、場所により意味の異なる物であっても、本実施の形態の手法を用いることで、認識することが可能となる。
【0208】
このようなネットワークを用いた学習手法は、従来の転移を用いていない学習手法でも可能であるが、ネットワーク上に日常環境にあるもの全てに関する学習済みデータを備えることは現実的でない。この点、転移学習を行うSTAR−SOINNを用いた本発明によれば、学習済みのデータに基づいてみ学習の対象の認識が可能である。かかる点において、本発明は日常環境での認識処理が求められる上記携帯端末への適用に好適である。また、本発明は従来の学習手法に比べ計算量が少なくて済み、低処理能力でもリアルタイム性を確保できるため、その点においても携帯端末への搭載に適している。
【0209】
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【0210】
上述の実施の形態では、自己増殖型ニューラルネットワークとしてAdjusted−SOINNを利用した例を示したが、本発明はこれに限定されず、Enhanced−SOINN(特開2008−217246)、k−means等の公知のクラスタリングツールを利用するものであってもよい。
【0211】
また、上述の実施の形態では、1枚の画像から1つのクラス(動物)を認識する例を示したが、動画像などの複数の連続した画像から1つの動物を認識することも可能である。SOINNを用いた時系列データの学習は、例えば非特許文献「Shogo Okada and Osamu Hasegawa,On−lineLearning of Sequence Data Based on Self−organizing Incremental Neural Network,Inter−national Joint Conference on Neural Networks,2008.」に記載の手法を用いてを行うことができる。
【0212】
さらに、上述の実施の形態では、識別対象(クラス)として主に動物を例示したが、本発明はこれに限定されず、あらゆる物体、空間、事象等の識別に応用することが可能である。例えば、台所にある物体「コップ」「紙コップ」「ボトル」「やかん」等のクラスを、「水をいれるもの」「紙で出来ている」「金属でできている」等の属性により識別することが考えられる。また、文房具「ペン」「ボールペン」「はさみ」「カッター」等のクラスは、「細長い物」「書く物」「切るもの」「金属の刃」等の属性により、屋外にある物体「自転車」「自動車」「バイク」「トラック」等のクラスは、「タイヤ」「ハンドル」「荷台」「排気口」等の属性により識別することが可能である。
【0213】
また、上述の実施の形態では、ラベルとして属性を用いる例を主に示したが、本発明はこれに限定されず、あらゆるラベルの転移学習にこれを応用することが可能である。
【0214】
また、上述の認識器生成装置及び認識器における任意の処理を、例えばCPU(Central Processing Unit)にコンピュータプログラムを実行させることにより実現することも可能である。この場合、コンピュータプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non−transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【符号の説明】
【0215】
1 属性の学習及び転移システム
2 特徴抽出部
3 ラベリング部
4 識別器保持部
5 識別器生成部
6 属性識別部
7 クラス識別部
100 認識器生成装置
101 特徴抽出部
102 勝者ノード抽出部
103 ノード挿入判定部
104 エッジ管理部
105 ノード重み管理部
106 ラベル重み更新部
107 ノード削除部
200 認識装置
201 特徴抽出部
202 認識器
203 結果出力部
300 ロボット装置
301 入力データ取得部

【特許請求の範囲】
【請求項1】
識別対象であるクラスをその特徴である属性により認識する認識器を、教師データの特徴量を学習することにより生成する認識器生成装置であって、
前記クラス及び前記属性がラベル重みとして付された教師データから特徴量を重みベクトルとして抽出する特徴抽出部と、
前記抽出された重みベクトルを入力ノードとし、当該入力ノードと各ノードとの間の距離を算出し、当該入力ノードと最も近いノード及び2番目に近いノードをそれぞれ第1勝者ノード及び第2勝者ノードとして抽出する勝者ノード抽出部と、
前記入力ノードと、前記第1及び第2勝者ノードとの距離に基づき、当該入力ノードを新たなノードとして挿入するか否かを判定するノード挿入判定部と、
前記入力ノードを新たなノードとして挿入しない場合、前記第1勝者ノードと前記第2勝者ノードとの間にエッジがない場合はエッジを生成しその年齢を0とし、エッジがある場合はその年齢を0とし、さらに前記第1勝者ノードが有する全エッジの年齢をインクリメントし、所定の年齢に達したエッジを削除するエッジ管理部と、
前記入力ノードを新たなノードとして挿入しない場合、前記第1勝者ノードの重みベクトルを当該入力ノードの重みベクトルに基づき更新するノード重み更新部と、
前記入力ノードを新たなノードとして挿入しない場合、当該入力ノードの前記ラベル重みの少なくとも一部を前記第1及び第2勝者ノードに拡散するラベル重み更新部と、
所定のタイミングで、そのノード密度に応じてノードを削除するノード削除部と、を有し、
前記ラベル重み更新部は、前記ノード削除部がノードを削除する際、削除ノードが有するラベル重みの少なくとも一部を当該削除ノードの周辺のノードに拡散する、認識器生成装置。
【請求項2】
前記属性は、多値データである、請求項1記載の認識器生成装置。
【請求項3】
属性はクラスに応じて異なる
クラスには複数の属性が設定されるものであって、クラスに応じて異なる属性を有し得る、請求項1又は2記載の認識器生成装置。
【請求項4】
前記ノードの年齢が所定の年齢に達する毎に、当該ノードが有するラベル重みに含まれる属性のうち、当該ノードに不要な属性を削除する属性適正化部を更に有する、請求項1乃至3のいずれか1項記載の認識器生成装置。
【請求項5】
前記ラベル重み更新部は、前記削除ノードのラベル重みのうち、前記属性についてのみ前記周辺のノードに拡散する、請求項1乃至4のいずれか1項記載の認識器生成装置。
【請求項6】
前記ノード削除部は、新しいノードの入力毎に、全ノードの年齢をインクリメントし、全ノードのうち、所定の年齢に達する毎に、所定数未満のノードとエッジで接続されているノードを削除する、請求項1乃至5のいずれか1項記載の認識器生成装置。
【請求項7】
前記特徴抽出部、前記勝者ノード抽出部、前記ノード挿入判定部、前記エッジ管理部、前記ノード重み更新部、前記ラベル重み更新部及びノード削除部を有する認識器生成部を複数有し、前記特徴抽出部は、それぞれ異なる特徴量を前記教師データから抽出する、請求項1乃至6のいずれか1項記載の認識器生成装置。
【請求項8】
前記ノード挿入判定部は、前記入力ノードを新たなノードとして追加するか否かの閾値である類似度閾値を、前記第1及び第2勝者ノード及びその周辺ノードとの距離に基づき算出し、前記類似度閾値に基づき前記入力ノードを新たなノードとして挿入するか否かを決定する、請求項1乃至7のいずれか1項記載の認識器生成装置。
【請求項9】
前記ノード挿入判定部は、前記第1及び第2勝者ノードとエッジで接続されたノードである近傍ノードが存在する場合は当該近傍ノードのうち最も遠いノードとの間の距離、前記近傍ノードが存在しない場合は最近傍ノードとの間の距離をそれぞれ第1及び第2類似度閾値とし、前記入力ノードが前記第1及び第2類似度閾値のいずれか一方より大きい場合に当該入力ノードを新たなノードとして挿入する、請求項1乃至8のいずれか1項記載の認識器生成装置。
【請求項10】
教師データに前記クラス及び前記属性をラベル重みとしてラベル付けするラベリング部を更に有する、請求項1乃至9のいずれか1項記載の認識器生成装置。
【請求項11】
所定数の教師データを入力した後の各ノードを学習済ノードとし、当該学習済ノードにより識別器が構成される、請求項1乃至10のいずれか1項記載の認識器生成装置。
【請求項12】
識別対象であるクラスをその特徴である属性により認識する認識器を、教師データの特徴量を学習することにより生成する認識器生成方法であって、
前記クラス及び前記属性がラベル重みとして付された教師データから特徴量を重みベクトルとして抽出する特徴抽出ステップと、
前記抽出された重みベクトルを入力ノードとし、当該入力ノードと各ノードとの間の距離を算出し、当該入力ノードと最も近いノード及び2番目に近いノードをそれぞれ第1勝者ノード及び第2勝者ノードとして抽出する勝者ノード抽出ステップと、
前記入力ノードと、前記第1及び第2勝者ノードとの距離に基づき、当該入力ノードを新たなノードとして挿入するか否かを判定するノード挿入判定ステップと、
前記入力ノードを新たなノードとして挿入しない場合、前記第1勝者ノードと前記第2勝者ノードとの間にエッジがない場合はエッジを生成しその年齢を0とし、エッジがある場合はその年齢を0とし、さらに前記第1勝者ノードが有する全エッジの年齢をインクリメントし、所定の年齢に達したエッジを削除するエッジ管理ステップと、
前記入力ノードを新たなノードとして挿入しない場合、前記第1勝者ノードの重みベクトルを当該入力ノードの重みベクトルに基づき更新するノード重み更新ステップと、
前記入力ノードを新たなノードとして挿入しない場合、当該入力ノードの前記ラベル重みの少なくとも一部を前記第1及び第2勝者ノードに拡散する第1ラベル重み更新ステップと、
所定のタイミングで、そのノード密度に応じてノードを削除するノード削除ステップと、
前記ノード削除ステップにてノードを削除する際、削除ノードが有するラベル重みの少なくとも一部を当該削除ノードの周辺のノードに拡散する第1ラベル重み更新ステップとを有する認識器生成方法。
【請求項13】
入力データから認識すべき認識対象をクラスとし、当該クラスをその特徴である属性により認識することで転移学習が可能な認識装置であって、
前記入力データから特徴量を重みベクトルとして抽出する特徴抽出部と、
認識器生成装置に、前記クラス及び前記属性がラベル重みとして付された教師データを入力し、その特徴量を学習することで生成されたものであって、学習済ノード及び当該学習済ノード間を接続するエッジを含む自己増殖型ニューラルネットワークを用いて構成された認識器と、
前記認識器が有する重みベクトルからなる複数の学習済ノードと前記入力データから抽出した重みベクトルとの距離に応じて、認識結果を出力する結果出力部とを有し、
前記認識器生成装置は、
前記教師データから特徴量を重みベクトルとして抽出する特徴抽出部と、
前記抽出された重みベクトルを入力ノードとし、当該入力ノードと各ノードとの間の距離を算出し、当該入力ノードと最も近いノード及び2番目に近いノードをそれぞれ第1勝者ノード及び第2勝者ノードとして抽出する勝者ノード抽出部と、
前記入力ノードと、前記第1及び第2勝者ノードとの距離に基づき、当該入力ノードを新たなノードとして挿入するか否かを判定するノード挿入判定部と、
前記入力ノードを新たなノードとして挿入しない場合、前記第1勝者ノードと前記第2勝者ノードとの間にエッジがない場合はエッジを生成しその年齢を0とし、エッジがある場合はその年齢を0とし、さらに前記第1勝者ノードが有する全エッジの年齢をインクリメントし、所定の年齢に達したエッジを削除するエッジ管理部と、
前記入力ノードを新たなノードとして挿入しない場合、前記第1勝者ノードの重みベクトルを当該入力ノードの重みベクトルに基づき更新するノード重み更新部と、
前記入力ノードを新たなノードとして挿入しない場合、当該入力ノードの前記ラベル重みの少なくとも一部を前記第1及び第2勝者ノードに拡散するラベル重み更新部と、
所定のタイミングで、そのノード密度に応じてノードを削除するノード削除部と、を有し、
前記ラベル重み更新部は、前記ノード削除部がノードを削除する際、削除ノードが有するラベル重みの少なくとも一部を当該削除ノードの周辺のノードに拡散し、
所定数の前記教師データを入力した後の各ノードが前記学習済ノードとされ、
前記認識器は、前記入力データから抽出した重みベクトルと前記学習済ノードとの間の類似度に応じて当該入力データの前記属性を認識する
認識装置。
【請求項14】
前記特徴抽出部は、学習時は前記教師データの特徴量を抽出し、認識時は前記入力データの特徴量を抽出する、請求項13記載の認識装置。
【請求項15】
前記結果出力部は、前記入力データから抽出した重みベクトルに最も近いN(Nは自然数)個の学習済ノードを抽出し、当該N個の学習済ノードが有するラベル重みに基づき、前記入力データのクラス及び属性の情報を認識結果として出力する、請求項13又は14記載の認識装置。
【請求項16】
前記結果出力部は、前記属性と前記クラスとの対応関係を示した辞書データを有し、前記N個の学習済ノードが有するラベル重みに基づき、当該辞書データを参照して前記入力データのクラスを認識結果として出力する、請求項13乃至15のいずれか1項記載の認識装置。
【請求項17】
前記辞書データに含まれるクラスは、前記教師データとして入力されたクラス以外の未学習クラスを含む、請求項16項記載の認識装置。
【請求項18】
入力データ及び教師データから特徴を抽出する特徴抽出部と、
与えられる属性情報を前記教師データにラベル付けするラベリング部と、
前記入力データに含まれる属性を識別する属性識別器であって、当該属性識別器をノード及び当該ノード間を接続するエッジを含む自己増殖型ニューラルネットワークを用いて構成し、当該自己増殖型ニューラルネットワークを前記属性により識別される識別内容に応じて複数の部分に分割し、前記ラベリング部でラベル付けされた前記属性情報により特定される前記自己増殖型ニューラルネットワークの部分に対して、前記特徴抽出部で抽出された前記教師データの特徴を入力パターンとして入力し、当該自己増殖型ニューラルネットワークにおいて前記入力パターンに基づいて前記ノード及び前記エッジを生成する識別器生成部と、
前記識別器生成部で生成された属性識別器を保持する識別器保持部と、
前記入力データが入力された場合に、前記識別器保持部で保持された前記属性識別器を構成する前記自己増殖型ニューラルネットワークのそれぞれの部分に対して、前記入力データから抽出された特徴を入力パターンとして入力し、当該入力パターンと前記自己増殖型ニューラルネットワークに含まれる前記ノードとの第1の類似度をそれぞれの前記自己増殖型ニューラルネットワークの各部分において算出し、当該算出した第1の類似度に応じて、前記識別内容のいずれの属性が前記入力データに含まれるかを識別する属性識別部と、
複数のクラスについてそれぞれが含む属性情報が与えられ、前記属性識別部で識別された前記入力データの属性と前記クラスの属性情報とを比較して第2の類似度を求め、当該算出した第2の類似度に応じて、前記複数のクラスのうちでいずれのクラスに前記入力データが含まれるか識別するクラス識別部と、
を備える属性の学習及び転移システム。
【請求項19】
前記識別器生成部は、
前記属性が含まれていることを示す第1の部分と、前記属性が含まれていないことを示す第2の部分と、に前記属性識別器を分割する
ことを特徴とする請求項18に記載の属性の学習及び転移システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図8】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図23】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図21】
image rotate

【図22】
image rotate