(57)【特許請求の範囲】
【請求項１】
識別対象であるクラスをその特徴である属性により認識する認識器を、教師データの特徴量を学習することにより生成する認識器生成装置であって、
前記クラス及び前記属性がラベル重みとして付された教師データから特徴量を重みベクトルとして抽出する特徴抽出部と、
前記抽出された重みベクトルを入力ノードとし、当該入力ノードと各ノードとの間の距離を算出し、当該入力ノードと最も近いノード及び２番目に近いノードをそれぞれ第１勝者ノード及び第２勝者ノードとして抽出する勝者ノード抽出部と、
前記入力ノードと、前記第１及び第２勝者ノードとの距離に基づき、当該入力ノードを新たなノードとして挿入するか否かを判定するノード挿入判定部と、
前記入力ノードを新たなノードとして挿入しない場合、前記第１勝者ノードと前記第２勝者ノードとの間にエッジがない場合はエッジを生成しその年齢を０とし、エッジがある場合はその年齢を０とし、さらに前記第１勝者ノードが有する全エッジの年齢をインクリメントし、所定の年齢に達したエッジを削除するエッジ管理部と、
前記入力ノードを新たなノードとして挿入しない場合、前記第１勝者ノードの重みベクトルを当該入力ノードの重みベクトルに基づき更新するノード重み更新部と、
前記入力ノードを新たなノードとして挿入しない場合、当該入力ノードの前記ラベル重みの少なくとも一部を前記第１及び第２勝者ノードに拡散するラベル重み更新部と、
所定のタイミングで、そのノード密度に応じてノードを削除するノード削除部と、を有し、
前記ラベル重み更新部は、前記ノード削除部がノードを削除する際、削除ノードが有するラベル重みの少なくとも一部を当該削除ノードの周辺のノードに拡散する、認識器生成装置。
【請求項２】
前記属性は、多値データである、請求項１記載の認識器生成装置。
【請求項３】
クラスには複数の属性が設定されるものであって、クラスに応じて異なる属性を有し得る、請求項１又は２記載の認識器生成装置。
【請求項４】
前記ノードの年齢が所定の年齢に達する毎に、当該ノードが有するラベル重みに含まれる属性のうち、当該ノードに不要な属性を削除する属性適正化部を更に有する、請求項１乃至３のいずれか１項記載の認識器生成装置。
【請求項５】
前記ラベル重み更新部は、前記削除ノードのラベル重みのうち、前記属性についてのみ前記周辺のノードに拡散する、請求項１乃至４のいずれか１項記載の認識器生成装置。
【請求項６】
前記ノード削除部は、新しいノードの入力毎に、全ノードの年齢をインクリメントし、全ノードのうち、所定の年齢に達する毎に、所定数未満のノードとエッジで接続されているノードを削除する、請求項１乃至５のいずれか１項記載の認識器生成装置。
【請求項７】
前記特徴抽出部、前記勝者ノード抽出部、前記ノード挿入判定部、前記エッジ管理部、前記ノード重み更新部、前記ラベル重み更新部及びノード削除部を有する認識器生成部を複数有し、前記特徴抽出部は、それぞれ異なる特徴量を前記教師データから抽出する、請求項１乃至６のいずれか１項記載の認識器生成装置。
【請求項８】
前記ノード挿入判定部は、前記入力ノードを新たなノードとして追加するか否かの閾値である類似度閾値を、前記第１及び第２勝者ノード及びその周辺ノードとの距離に基づき算出し、前記類似度閾値に基づき前記入力ノードを新たなノードとして挿入するか否かを決定する、請求項１乃至７のいずれか１項記載の認識器生成装置。
【請求項９】
前記ノード挿入判定部は、前記第１及び第２勝者ノードとエッジで接続されたノードである近傍ノードが存在する場合は当該近傍ノードのうち最も遠いノードとの間の距離、前記近傍ノードが存在しない場合は最近傍ノードとの間の距離をそれぞれ第１及び第２類似度閾値とし、前記入力ノードが前記第１及び第２類似度閾値のいずれか一方より大きい場合に当該入力ノードを新たなノードとして挿入する、請求項１乃至８のいずれか１項記載の認識器生成装置。
【請求項１０】
教師データに前記クラス及び前記属性をラベル重みとしてラベル付けするラベリング部を更に有する、請求項１乃至９のいずれか１項記載の認識器生成装置。
【請求項１１】
所定数の教師データを入力した後の各ノードを学習済ノードとし、当該学習済ノードにより識別器が構成される、請求項１乃至１０のいずれか１項記載の認識器生成装置。
【請求項１２】
識別対象であるクラスをその特徴である属性により認識する認識器を、教師データの特徴量を学習することにより生成する認識器生成方法であって、
前記クラス及び前記属性がラベル重みとして付された教師データから特徴量を重みベクトルとして抽出する特徴抽出ステップと、
前記抽出された重みベクトルを入力ノードとし、当該入力ノードと各ノードとの間の距離を算出し、当該入力ノードと最も近いノード及び２番目に近いノードをそれぞれ第１勝者ノード及び第２勝者ノードとして抽出する勝者ノード抽出ステップと、
前記入力ノードと、前記第１及び第２勝者ノードとの距離に基づき、当該入力ノードを新たなノードとして挿入するか否かを判定するノード挿入判定ステップと、
前記入力ノードを新たなノードとして挿入しない場合、前記第１勝者ノードと前記第２勝者ノードとの間にエッジがない場合はエッジを生成しその年齢を０とし、エッジがある場合はその年齢を０とし、さらに前記第１勝者ノードが有する全エッジの年齢をインクリメントし、所定の年齢に達したエッジを削除するエッジ管理ステップと、
前記入力ノードを新たなノードとして挿入しない場合、前記第１勝者ノードの重みベクトルを当該入力ノードの重みベクトルに基づき更新するノード重み更新ステップと、
前記入力ノードを新たなノードとして挿入しない場合、当該入力ノードの前記ラベル重みの少なくとも一部を前記第１及び第２勝者ノードに拡散する第１ラベル重み更新ステップと、
所定のタイミングで、そのノード密度に応じてノードを削除するノード削除ステップと、
前記ノード削除ステップにてノードを削除する際、削除ノードが有するラベル重みの少なくとも一部を当該削除ノードの周辺のノードに拡散する第１ラベル重み更新ステップとを有する認識器生成方法。
【請求項１３】
入力データから認識すべき認識対象をクラスとし、当該クラスをその特徴である属性により認識することで転移学習が可能な認識装置であって、
前記入力データから特徴量を重みベクトルとして抽出する特徴抽出部と、
認識器生成装置に、前記クラス及び前記属性がラベル重みとして付された教師データを入力し、その特徴量を学習することで生成されたものであって、学習済ノード及び当該学習済ノード間を接続するエッジを含む自己増殖型ニューラルネットワークを用いて構成された認識器と、
前記認識器が有する重みベクトルからなる複数の学習済ノードと前記入力データから抽出した重みベクトルとの距離に応じて、認識結果を出力する結果出力部とを有し、
前記認識器生成装置は、
前記教師データから特徴量を重みベクトルとして抽出する特徴抽出部と、
前記抽出された重みベクトルを入力ノードとし、当該入力ノードと各ノードとの間の距離を算出し、当該入力ノードと最も近いノード及び２番目に近いノードをそれぞれ第１勝者ノード及び第２勝者ノードとして抽出する勝者ノード抽出部と、
前記入力ノードと、前記第１及び第２勝者ノードとの距離に基づき、当該入力ノードを新たなノードとして挿入するか否かを判定するノード挿入判定部と、
前記入力ノードを新たなノードとして挿入しない場合、前記第１勝者ノードと前記第２勝者ノードとの間にエッジがない場合はエッジを生成しその年齢を０とし、エッジがある場合はその年齢を０とし、さらに前記第１勝者ノードが有する全エッジの年齢をインクリメントし、所定の年齢に達したエッジを削除するエッジ管理部と、
前記入力ノードを新たなノードとして挿入しない場合、前記第１勝者ノードの重みベクトルを当該入力ノードの重みベクトルに基づき更新するノード重み更新部と、
前記入力ノードを新たなノードとして挿入しない場合、当該入力ノードの前記ラベル重みの少なくとも一部を前記第１及び第２勝者ノードに拡散するラベル重み更新部と、
所定のタイミングで、そのノード密度に応じてノードを削除するノード削除部と、を有し、
前記ラベル重み更新部は、前記ノード削除部がノードを削除する際、削除ノードが有するラベル重みの少なくとも一部を当該削除ノードの周辺のノードに拡散し、
所定数の前記教師データを入力した後の各ノードが前記学習済ノードとされ、
前記認識器は、前記入力データから抽出した重みベクトルと前記学習済ノードとの間の類似度に応じて当該入力データの前記属性を認識する
認識装置。
【請求項１４】
前記特徴抽出部は、学習時は前記教師データの特徴量を抽出し、認識時は前記入力データの特徴量を抽出する、請求項１３記載の認識装置。
【請求項１５】
前記結果出力部は、前記入力データから抽出した重みベクトルに最も近いＮ（Ｎは自然数）個の学習済ノードを抽出し、当該Ｎ個の学習済ノードが有するラベル重みに基づき、前記入力データのクラス及び属性の情報を認識結果として出力する、請求項１３又は１４記載の認識装置。
【請求項１６】
前記結果出力部は、前記属性と前記クラスとの対応関係を示した辞書データを有し、前記Ｎ個の学習済ノードが有するラベル重みに基づき、当該辞書データを参照して前記入力データのクラスを認識結果として出力する、請求項１５記載の認識装置。
【請求項１７】
入力データ及び教師データから特徴を抽出する特徴抽出部と、
与えられる属性情報を前記教師データにラベル付けするラベリング部と、
前記入力データに含まれる属性を識別する属性識別器であって、当該属性識別器をノード及び当該ノード間を接続するエッジを含む自己増殖型ニューラルネットワークを用いて構成し、当該自己増殖型ニューラルネットワークを前記属性により識別される識別内容に応じて複数の部分に分割し、前記ラベリング部でラベル付けされた前記属性情報により特定される前記自己増殖型ニューラルネットワークの部分に対して、前記特徴抽出部で抽出された前記教師データの特徴を入力パターンとして入力し、当該自己増殖型ニューラルネットワークにおいて前記入力パターンに基づいて前記ノード及び前記エッジを生成する識別器生成部と、
前記識別器生成部で生成された属性識別器を保持する識別器保持部と、
前記入力データが入力された場合に、前記識別器保持部で保持された前記属性識別器を構成する前記自己増殖型ニューラルネットワークのそれぞれの部分に対して、前記入力データから抽出された特徴を入力パターンとして入力し、当該入力パターンと前記自己増殖型ニューラルネットワークに含まれる前記ノードとの第１の類似度をそれぞれの前記自己増殖型ニューラルネットワークの各部分において算出し、当該算出した第１の類似度に応じて、前記識別内容のいずれの属性が前記入力データに含まれるかを識別する属性識別部と、
複数のクラスについてそれぞれが含む属性情報が与えられ、前記属性識別部で識別された前記入力データの属性と前記クラスの属性情報とを比較して第２の類似度を求め、当該算出した第２の類似度に応じて、前記複数のクラスのうちでいずれのクラスに前記入力データが含まれるか識別するクラス識別部と、
を備える属性の学習及び転移システム。
【請求項１８】
前記識別器生成部は、
前記属性が含まれていることを示す第１の部分と、前記属性が含まれていないことを示す第２の部分と、に前記属性識別器を分割する
ことを特徴とする請求項１７に記載の属性の学習及び転移システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、識別対象であるクラスをその特徴である属性により認識することで転移学習を可能とする技術に関し、クラスを認識するための属性の学習及び転移システム、認識器生成装置、認識器生成方法及び認識装置に関する。
【背景技術】
【０００２】
対象認識や対象識別についての個々の研究が、ここ１０年の間に大きな発達を遂げている。顔や車両のような特定の物体を検出するタスクについては、とても強力な検出器や認識器が利用可能である。このような検出器や認識器は、対象の特徴を示す低次元の特徴量（例えば、ＳＩＦＴ、ＳＵＲＦなど）と、サポートベクトルマシーン（ＳＶＭ）などの現代的な機械学習メカニズムと、の組み合わせにより得ることができる。しかしながらこのような手法では、良好な精度を得るために人手によりラベル付けされた多数の教師データを通常必要とし、各個別のクラスを学習するためには一般的に数１０万枚のサンプル画像を必要とする。
【０００３】
また、多くの対象を認識する必要がある場合には他の問題が発生することがある。このような多くの対象を認識するという問題を解決するためには、これまでの手法では、各対象カテゴリーに対してそれぞれ新たな検出器を作った上で、それら検出器を学習する必要がある。しかしながら、新たな各検出器を効率的に学習する場合においても、上述したのと同様にして、人手によりラベル付けされた多数の教師データを必要とし、各個別のクラスを学習するために、一般的に数１０万枚のサンプル画像を必要とする。
【０００４】
コンピュータの見地から見れば、例えば何らかの効率的で自動的なラベリングツールが利用可能であれば、多数の学習データセットを用意することはそれほど大変なことではないと考えられるかもしれない。インターネットを介して多数の画像の集合へは簡単にアクセスすることができ、コンピュータハードウェアのパフォーマンスは近年では劇的に向上してきた。それにもかかわらず、ロボットのような知的エージェントの利用には、このようなことは当てはまらない。知的ロボットに対しては、ロボットはインターネットへのアクセスが限定されると共にハードウェア資源も限られており、また、実用的な実世界でのタスクがあまりにも一般的なものであるために、事前に学習された検出器のみを利用するものとしてはとてもこのタスクを解決することはできそうにない。従って最近では、多くの研究者達が、対象の属性（例えば非特許文献１に例示される。）や、対象の部分を考慮することによる対象認識についてより興味を持つようになってきた。
【０００５】
複数の対象同士の間には、通常、何らかの共通属性が存在する（例えば、ライオン、タイガー、ドッグ、キャットなどでは、全て４本足の動物であるという共通の属性が存在する。）。非特許文献１において提案されているように、人間は、例から学習してそれを十分に抽象化することによって、少なくとも３００００の関連のある対象クラスを区別することができる（人間は、高次元の特徴記述が与えられた時には、完全に未知の対象クラスであっても検出することができる。）。このことはつまり、１つの対象クラスにおいて発見された属性の知識が、同じ属性を含む他の異なる対象クラスへの利用のために転移されているものと考えられている。コンピュータビジョンにおける多くのこれまでの貴重な成果が、転移された属性を利用することで、未知の対象クラスの検出がまさに可能となることを既に示している（例えば、非特許文献１を参照されたい。）。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】C. Lampert et al., "Learning to detect unseen object classes by between-class attribute transfer, " in CVPR, 2009.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
共通属性の学習の可能性とそれら属性を新規クラスの検出への利用に転移させることは、現在のロボティクスでは極めて有効である。簡単に説明するため、オフィス内での移動ロボットの利用を想定する。ロボットを他の部屋へと移動させて我々のために対象Ｂを取ってくるようにロボットに命令したい場合に、そのような対象Ｂの画像をロボットに提示するために我々が用意しているという状況は、とてもありえそうなことではない。対象の画像を必要とせずにロボットに命令を与える唯一の方法は、対象の属性を言葉で説明することである。これは、対象の１つのクラスからの属性をロボットに学習させ、さらに、その学習させた属性を転移させて未知クラスに属する新たな対象の認識へ利用させることで、解決されるべきである。
【０００８】
しかしながら、属性の学習及び転移によって未知対象クラスの検出が可能となることがこれまでに示されたにも関わらず、これまでに提案された属性の転移及び学習手法をロボットでの利用に応用することについては以下に述べるような課題がある。
【０００９】
まず、従来手法では、学習した属性は他の対象クラスでの利用に転移可能であるものの、各属性検出器を学習する事前の学習段階に関して、完全にバッチ処理となっている。従来手法では、任意の１つの属性の検出器を学習するために、巨大な教師画像データセットを必要とする。また、ロボットで利用するためには、システムは、教師画像を取得したときにはいつでもより柔軟に学習すべきであり、さらに、必要な場合にはいつでも識別すべきである。従って、完全に追加的な、属性の学習及び転移手法が必要である。
【００１０】
ここで、非特許文献１に開示された従来手法を例に課題を説明する。非特許文献１に開示された従来手法では、個別の属性それぞれについての識別器を学習する必要がある。テスト段階では、各属性識別器が各属性についての確率を予測し、ベイズ理論に基づいて最終的な確率スコアが計算される。各属性識別器はＳＶＭによって学習され、学習には数時間を必要とする。これを全ての属性（８５個の属性）について行うと、あまりにも計算負荷が高くなり、ロボティクスや他のオンラインアプリケーションには事実上利用することができない。また、全ての属性に対してＳＶＭを再度学習することは非現実的であることから、新たな入力教師データを追加的に学習することができない。
【００１１】
本発明は、このような問題点を解決するためになされたものであり、オンラインかつ追加学習が可能な属性の学習及び転移システム、及び、学習及び転移方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明にかかる属性の学習及び転移システムは、入力データ及び教師データから特徴を抽出する特徴抽出部と、与えられる属性情報を前記教師データにラベル付けするラベリング部と、前記入力データに含まれる属性を識別する属性識別器であって、当該属性識別器をノード及び当該ノード間を接続するエッジを含む自己増殖型ニューラルネットワークを用いて構成し、当該自己増殖型ニューラルネットワークを前記属性により識別される識別内容に応じて複数の部分に分割し、前記ラベリング部でラベル付けされた前記属性情報により特定される前記自己増殖型ニューラルネットワークの部分に対して、前記特徴抽出部で抽出された前記教師データの特徴を教師パターンとして入力し、当該自己増殖型ニューラルネットワークにおいて前記教師パターンに基づいて前記ノード及び前記エッジを生成する識別器生成部と、前記識別器生成部で生成された属性識別器を保持する識別器保持部と、前記入力データが入力された場合に、前記識別器保持部で保持された前記属性識別器を構成する前記自己増殖型ニューラルネットワークのそれぞれの部分に対して、前記入力データから抽出された特徴を入力パターンとして入力し、当該入力パターンと前記自己増殖型ニューラルネットワークに含まれる前記ノードとの第１の類似度をそれぞれの前記自己増殖型ニューラルネットワークの各部分において算出し、当該算出した第１の類似度に応じて、前記識別内容のいずれの属性が前記入力データに含まれるかを識別する属性識別部と、複数のクラスについてそれぞれが含む属性情報が与えられ、前記属性識別部で識別された前記入力データの属性と前記クラスの属性情報とを比較して第２の類似度を求め、当該算出した第２の類似度に応じて、前記複数のクラスのうちでいずれのクラスに前記入力データが含まれるか識別するクラス識別部と、を備えるものである。
【００１３】
これにより、オンラインかつ追加学習が可能な属性の学習及び転移を実現することができる。
【００１４】
また、前記識別器生成部は、前記属性が含まれていることを示す第１の部分と、前記属性が含まれていないことを示す第２の部分と、に前記属性識別器を分割するようにしてもよい。これにより、簡単な構成で２値の属性の識別を実現することができる。
【００１５】
さらにまた、前記入力データ及び教師データは、画像データ、音声データ、時系列データ、又は、これらを組み合わせたデータであるようにしてもよいし、前記特徴抽出部は、前記画像データからＳＩＦＴ特徴量、SURF特徴量、rg-SIFT特徴量、PHOG特徴量、cq特徴量、Lss-histogram特徴量を抽出するようにしてもよい。
【００１６】
また、前記自己増殖型ニューラルネットワークは、Self-Organizing and Incremental Neural Networksであるようにしてもよい。これにより、完全なオンラインかつ追加学習を実現することができる。
【００１７】
本発明にかかる認識器生成装置は、識別対象であるクラスをその特徴である属性により認識する認識器を、教師データの特徴量を学習することにより生成する認識器生成装置であって、前記クラス及び前記属性がラベル重みとして付された教師データから特徴量を重みベクトルとして抽出する特徴抽出部と、前記抽出された重みベクトルを入力ノードとし、当該入力ノードと各ノードとの間の距離を算出し、当該入力ノードと最も近いノード及び２番目に近いノードをそれぞれ第１勝者ノード及び第２勝者ノードとして抽出する勝者ノード抽出部と、前記入力ノードと、前記第１及び第２勝者ノードとの距離に基づき、当該入力ノードを新たなノードとして挿入するか否かを判定するノード挿入判定部と、前記入力ノードを新たなノードとして挿入しない場合、前記第１勝者ノードと前記第２勝者ノードとの間にエッジがない場合はエッジを生成しその年齢を０とし、エッジがある場合はその年齢を０とし、さらに前記第１勝者ノードが有する全エッジの年齢をインクリメントし、所定の年齢に達したエッジを削除するエッジ管理部と、前記入力ノードを新たなノードとして挿入しない場合、前記第１勝者ノードの重みベクトルを当該入力ノードの重みベクトルに基づき更新するノード重み更新部と、前記入力ノードを新たなノードとして挿入しない場合、当該入力ノードの前記ラベル重みの少なくとも一部を前記第１及び第２勝者ノードに拡散するラベル重み更新部と、所定のタイミングで、そのノード密度に応じてノードを削除するノード削除部と、を有し、前記ラベル重み更新部は、前記ノード削除部がノードを削除する際、削除ノードが有するラベル重みの少なくとも一部を当該削除ノードの周辺のノードに拡散するものである。
【００１８】
これにより、オンラインかつ追加学習が可能な認識器生成装置を提供することができる。
【００１９】
本発明にかかる認識器生成方法は、識別対象であるクラスをその特徴である属性により認識する認識器を、教師データの特徴量を学習することにより生成する認識器生成方法であって、前記クラス及び前記属性がラベル重みとして付された教師データから特徴量を重みベクトルとして抽出する特徴抽出ステップと、前記抽出された重みベクトルを入力ノードとし、当該入力ノードと各ノードとの間の距離を算出し、当該入力ノードと最も近いノード及び２番目に近いノードをそれぞれ第１勝者ノード及び第２勝者ノードとして抽出する勝者ノード抽出ステップと、前記入力ノードと、前記第１及び第２勝者ノードとの距離に基づき、当該入力ノードを新たなノードとして挿入するか否かを判定するノード挿入判定ステップと、前記入力ノードを新たなノードとして挿入しない場合、前記第１勝者ノードと前記第２勝者ノードとの間にエッジがない場合はエッジを生成しその年齢を０とし、エッジがある場合はその年齢を０とし、さらに前記第１勝者ノードが有する全エッジの年齢をインクリメントし、所定の年齢に達したエッジを削除するエッジ管理ステップと、前記入力ノードを新たなノードとして挿入しない場合、前記第１勝者ノードの重みベクトルを当該入力ノードの重みベクトルに基づき更新するノード重み更新ステップと、前記入力ノードを新たなノードとして挿入しない場合、当該入力ノードの前記ラベル重みの少なくとも一部を前記第１及び第２勝者ノードに拡散する第１ラベル重み更新ステップと、所定のタイミングで、そのノード密度に応じてノードを削除するノード削除ステップと、前記ノード削除ステップにてノードを削除する際、削除ノードが有するラベル重みの少なくとも一部を当該削除ノードの周辺のノードに拡散する第１ラベル重み更新ステップとを有するものである。
【００２０】
これにより、オンラインかつ追加学習が可能な認識器生成方法を提供することができる。
【００２１】
本発明にかかるプログラムは、識別対象であるクラスをその特徴である属性により認識する認識器を、教師データの特徴量を学習することにより生成する処理をコンピュータに実行させるプログラムであって、前記クラス及び前記属性がラベル重みとして付された教師データから特徴量を重みベクトルとして抽出する特徴抽出処理と、前記抽出された重みベクトルを入力ノードとし、当該入力ノードと各ノードとの間の距離を算出し、当該入力ノードと最も近いノード及び２番目に近いノードをそれぞれ第１勝者ノード及び第２勝者ノードとして抽出する勝者ノード抽出処理と、前記入力ノードと、前記第１及び第２勝者ノードとの距離に基づき、当該入力ノードを新たなノードとして挿入するか否かを判定するノード挿入判定処理と、前記入力ノードを新たなノードとして挿入しない場合、前記第１勝者ノードと前記第２勝者ノードとの間にエッジがない場合はエッジを生成しその年齢を０とし、エッジがある場合はその年齢を０とし、さらに前記第１勝者ノードが有する全エッジの年齢をインクリメントし、所定の年齢に達したエッジを削除するエッジ管理処理と、前記入力ノードを新たなノードとして挿入しない場合、前記第１勝者ノードの重みベクトルを当該入力ノードの重みベクトルに基づき更新するノード重み更新処理と、前記入力ノードを新たなノードとして挿入しない場合、当該入力ノードの前記ラベル重みの少なくとも一部を前記第１及び第２勝者ノードに拡散する第１ラベル重み更新処理と、所定のタイミングで、そのノード密度に応じてノードを削除するノード削除処理と、前記ノード削除ステップにてノードを削除する際、削除ノードが有するラベル重みの少なくとも一部を当該削除ノードの周辺のノードに拡散する第１ラベル重み更新処理とをコンピュータに実行させるものである。
【００２２】
これにより、オンラインかつ追加学習が可能なプログラムを提供することができる。
【００２３】
本発明にかかる認識装置は、入力データから認識すべき認識対象をクラスとし、当該クラスをその特徴である属性により認識することで転移学習が可能な認識装置であって、前記入力データから特徴量を重みベクトルとして抽出する特徴抽出部と、認識器生成装置に、前記クラス及び前記属性がラベル重みとして付された教師データを入力し、その特徴量を学習することで生成された認識器と、前記認識器が有する重みベクトルからなる複数の学習済ノードと前記入力データから抽出した重みベクトルとの距離に応じて、認識結果を出力する結果出力部とを有し、前記認識器生成装置は、前記教師データから特徴量を重みベクトルとして抽出する特徴抽出部と、前記抽出された重みベクトルを入力ノードとし、当該入力ノードと各ノードとの間の距離を算出し、当該入力ノードと最も近いノード及び２番目に近いノードをそれぞれ第１勝者ノード及び第２勝者ノードとして抽出する勝者ノード抽出部と、前記入力ノードと、前記第１及び第２勝者ノードとの距離に基づき、当該入力ノードを新たなノードとして挿入するか否かを判定するノード挿入判定部と、前記入力ノードを新たなノードとして挿入しない場合、前記第１勝者ノードと前記第２勝者ノードとの間にエッジがない場合はエッジを生成しその年齢を０とし、エッジがある場合はその年齢を０とし、さらに前記第１勝者ノードが有する全エッジの年齢をインクリメントし、所定の年齢に達したエッジを削除するエッジ管理部と、前記入力ノードを新たなノードとして挿入しない場合、前記第１勝者ノードの重みベクトルを当該入力ノードの重みベクトルに基づき更新するノード重み更新部と、前記入力ノードを新たなノードとして挿入しない場合、当該入力ノードの前記ラベル重みの少なくとも一部を前記第１及び第２勝者ノードに拡散するラベル重み更新部と、所定のタイミングで、そのノード密度に応じてノードを削除するノード削除部と、を有し、前記ラベル重み更新部は、前記ノード削除部がノードを削除する際、削除ノードが有するラベル重みの少なくとも一部を当該削除ノードの周辺のノードに拡散し、所定数の前記教師データを入力した後の各ノードが前記学習済ノードとされ、当該学習済ノードにより前記認識器が構成されるものである。
【００２４】
これにより、オンラインかつ追加学習が可能な認識器を用いた認識装置を提供することができる。
【００２５】
本発明にかかる認識方法は、識別対象であるクラスをその特徴である属性により認識する認識器を、教師データの特徴量を学習することにより生成し、入力データを当該認識器により認識する認識方法であって、前記クラス及び前記属性がラベル重みとして付された教師データから特徴量を重みベクトルとして抽出する第１特徴抽出ステップと、前記抽出された重みベクトルを入力ノードとし、当該入力ノードと各ノードとの間の距離を算出し、当該入力ノードと最も近いノード及び２番目に近いノードをそれぞれ第１勝者ノード及び第２勝者ノードとして抽出する勝者ノード抽出ステップと、前記入力ノードと、前記第１及び第２勝者ノードとの距離に基づき、当該入力ノードを新たなノードとして挿入するか否かを判定するノード挿入判定ステップと、前記入力ノードを新たなノードとして挿入しない場合、前記第１勝者ノードと前記第２勝者ノードとの間にエッジがない場合はエッジを生成しその年齢を０とし、エッジがある場合はその年齢を０とし、さらに前記第１勝者ノードが有する全エッジの年齢をインクリメントし、所定の年齢に達したエッジを削除するエッジ管理ステップと、前記入力ノードを新たなノードとして挿入しない場合、前記第１勝者ノードの重みベクトルを当該入力ノードの重みベクトルに基づき更新するノード重み更新ステップと、前記入力ノードを新たなノードとして挿入しない場合、当該入力ノードの前記ラベル重みの少なくとも一部を前記第１及び第２勝者ノードに拡散する第１ラベル重み更新ステップと、所定のタイミングで、そのノード密度に応じてノードを削除するノード削除ステップと、前記ノード削除ステップにてノードを削除する際、削除ノードが有するラベル重みの少なくとも一部を当該削除ノードの周辺のノードに拡散する第１ラベル重み更新ステップと、所定数の前記教師データを入力した後の各ノードを学習済ノードとし、当該学習済ノードにより前記認識器を構成する認識器生成ステップと、入力データから特徴量を重みベクトルとして抽出する第２特徴量抽出ステップと、前記認識器生成ステップにて生成された前記認識器の前記複数の学習済ノードと、前記入力データから抽出した重みベクトルとの距離に応じて、認識結果を出力する結果出力ステップとを有するものである。
【００２６】
これにより、オンラインかつ追加学習が可能な認識器を用いた認識方法を提供することができる。
【００２７】
本発明にかかるプログラムは、識別対象であるクラスをその特徴である属性により認識する認識器を、教師データの特徴量を学習することにより生成し、入力データを当該認識器により認識する処理をコンピュータに実行させるためのプログラムであって、前記クラス及び前記属性がラベル重みとして付された教師データから特徴量を重みベクトルとして抽出する第１特徴抽出処理と、前記抽出された重みベクトルを入力ノードとし、当該入力ノードと各ノードとの間の距離を算出し、当該入力ノードと最も近いノード及び２番目に近いノードをそれぞれ第１勝者ノード及び第２勝者ノードとして抽出する勝者ノード抽出処理と、前記入力ノードと、前記第１及び第２勝者ノードとの距離に基づき、当該入力ノードを新たなノードとして挿入するか否かを判定するノード挿入判定処理と、前記入力ノードを新たなノードとして挿入しない場合、前記第１勝者ノードと前記第２勝者ノードとの間にエッジがない場合はエッジを生成しその年齢を０とし、エッジがある場合はその年齢を０とし、さらに前記第１勝者ノードが有する全エッジの年齢をインクリメントし、所定の年齢に達したエッジを削除するエッジ管理処理と、前記入力ノードを新たなノードとして挿入しない場合、前記第１勝者ノードの重みベクトルを当該入力ノードの重みベクトルに基づき更新するノード重み更新処理と、前記入力ノードを新たなノードとして挿入しない場合、当該入力ノードの前記ラベル重みの少なくとも一部を前記第１及び第２勝者ノードに拡散する第１ラベル重み更新処理と、所定のタイミングで、そのノード密度に応じてノードを削除するノード削除処理と、前記ノード削除処理にてノードを削除する際、削除ノードが有するラベル重みの少なくとも一部を当該削除ノードの周辺のノードに拡散する第１ラベル重み更新処理と、所定数の前記教師データを入力した後の各ノードを学習済ノードとし、当該学習済ノードにより前記認識器を構成する認識器生成処理と、入力データから特徴量を重みベクトルとして抽出する第２特徴量抽出処理と、前記認識器生成処理にて生成された前記認識器の前記複数の学習済ノードと、前記入力データから抽出した重みベクトルとの距離に応じて、認識結果を出力する結果出力処理と、をコンピュータに実行させるものである。
【００２８】
これにより、オンラインかつ追加学習が可能な認識器を用いたプログラムを提供することができる。
【００２９】
本発明にかかるロボット装置は、入力データ取得部と、前記入力データから認識すべき認識対象をクラスとし、当該クラスをその特徴である属性により認識することで転移学習が可能な認識装置と、を有し、前記認識装置は、認識器生成装置と、前記入力データから特徴量を重みベクトルとして抽出する特徴抽出部と、前記認識器生成装置に、前記クラス及び前記属性がラベル重みとして付された教師データを入力し、その特徴量を学習することで生成された認識器と、前記認識器が有する重みベクトルからなる複数の学習済ノードと前記入力データから抽出した重みベクトルとの距離に応じて、認識結果を出力する結果出力部とを有し、前記認識器生成装置は、前記教師データから特徴量を重みベクトルとして抽出する前記特徴抽出部と、前記抽出された重みベクトルを入力ノードとし、当該入力ノードと各ノードとの間の距離を算出し、当該入力ノードと最も近いノード及び２番目に近いノードをそれぞれ第１勝者ノード及び第２勝者ノードとして抽出する勝者ノード抽出部と、前記入力ノードと、前記第１及び第２勝者ノードとの距離に基づき、当該入力ノードを新たなノードとして挿入するか否かを判定するノード挿入判定部と、前記入力ノードを新たなノードとして挿入しない場合、前記第１勝者ノードと前記第２勝者ノードとの間にエッジがない場合はエッジを生成しその年齢を０とし、エッジがある場合はその年齢を０とし、さらに前記第１勝者ノードが有する全エッジの年齢をインクリメントし、所定の年齢に達したエッジを削除するエッジ管理部と、前記入力ノードを新たなノードとして挿入しない場合、前記第１勝者ノードの重みベクトルを当該入力ノードの重みベクトルに基づき更新するノード重み更新部と、前記入力ノードを新たなノードとして挿入しない場合、当該入力ノードの前記ラベル重みの少なくとも一部を前記第１及び第２勝者ノードに拡散するラベル重み更新部と、所定のタイミングで、そのノード密度に応じてノードを削除するノード削除部と、を有し、前記ラベル重み更新部は、前記ノード削除部がノードを削除する際、削除ノードが有するラベル重みの少なくとも一部を当該削除ノードの周辺のノードに拡散し、所定数の前記教師データを入力した後の各ノードは、前記学習済ノードとし、当該学習済ノードにより前記認識器が構成されるものである。
【００３０】
これにより、オンラインかつ追加学習が可能なロボット装置を提供することができる。
【発明の効果】
【００３１】
本発明によれば、オンラインかつ追加学習が可能な属性の学習及び転移システム、認識器生成装置、認識器生成方法及び認識装置を提供することができる。
【図面の簡単な説明】
【００３２】
【図１】実施の形態１にかかる属性の学習及び転移システムの構成図である。
【図２】実施の形態１にかかる属性の学習及び転移を説明するためのフローチャートである。
【図３】実施の形態１にかかる未知対象検出を説明するためのフローチャートである。
【図４】実施の形態１にかかる属性の学習及び転移システムの全体的な構成及び処理を説明するための概念図である。
【図５】実施の形態１にかかる効果を説明するための図である。
【図６】実施の形態１にかかる効果を説明するための図である。
【図７】実施の形態１にかかる効果を説明するための図である。
【図８】実施の形態１にかかる効果を説明するための図である。
【図９】実施の形態１にかかる効果を説明するための図である。
【図１０】実施の形態１にかかる効果を説明するための図である。
【図１１】実施の形態１にかかる効果を説明するための図である。
【図１２】実施の形態２の前提となるＡｄｊｕｓｔｅｄ−ＳＯＩＮＮの処理を示す図である。
【図１３】実施の形態２の前提となるＳＴＡＲ−ＳＯＩＮＮの処理を示す図である。
【図１４】実施の形態２の識別器生成装置の構成を示す図である。
【図１５】実施の形態２の識別器生成装置の処理を示す図である。
【図１６】実施の形態２の識別装置の構成を示す図である。
【図１７】実施の形態２の識別装置の処理を示す図である。
【図１８】実施の形態２の識別器生成装置及び識別装置処理を示す図である。
【図１９】実施の形態２にかかる効果を説明するための図である。
【図２０】実施の形態２にかかる効果を説明するための図である。
【図２１】実施の形態２にかかる効果を説明するための図である。
【図２２】実施の形態２にかかる効果を説明するための図である。
【図２３】実施の形態３のロボット装置の構成を示す図である。
【発明を実施するための形態】
【００３３】
＜実施の形態１．＞
＜学習及び転移システムの構成＞
以下、図面を参照して本発明の実施の形態について説明する。
図１は、本実施の形態にかかる属性の学習及び転移システムの構成図である。属性の学習及び転移システム１は、特徴抽出部２と、ラベリング部３と、識別器保持部４と、識別器生成部５と、属性識別部６と、クラス識別部７と、を備えている。
【００３４】
特徴抽出部２は、学習時は教師データ、認識時は入力データからその特徴を抽出する。例えば教師データ及び入力データが画像データである場合には、ＳＩＦＴ、ＳＵＲＦなどの特徴量を抽出する。なお、教師データ及び入力データは画像データに限定されず、音声データ、モーターなどの時系列データ、さらにそれらのデータの組み合わせが入力されるものとしてもよい。ここで、モーターは、ロボットに搭載されており、モーターが回転駆動することで、ロボットの各関節が駆動される。このようなモーターの値などが教師データ及び入力データとなる。また、教師データ及び入力データが画像データである場合に抽出する特徴量としては、ＳＩＦＴ特徴量、ＳＵＲＦ特徴量、ｒｇ−ＳＩＦＴ特徴量、ＰＨＯＧ特徴量、ｃｑ特徴量、Ｌｓｓ−ｈｉｓｔｏｇｒａｍ特徴量など公知の特徴量のうち、いずれか１つを抽出するものとしてもよいし、複数の種類の特徴量を抽出するものとしてもよい。
【００３５】
ラベリング部３は、与えられる属性情報を、入力するデータにラベル付けする（教師データ）。属性情報は、入力するデータのクラスが持つ属性を表現する情報であり、多値ベクトルにより与えられる。本実施の形態では、教師データ及び入力データを画像として、その画像クラスが持つ属性を２値のベクトル（属性情報）として入力画像にラベル付けする。なお、本実施の形態では、ラベリング部３は、後述する属性ラベリングモジュールに相当する。
【００３６】
識別器保持部４は、識別器生成部５で生成される属性識別器を、メモリ等の記憶手段（不図示）に保持する。識別器生成部５は、入力データに含まれる属性を識別するために用いる属性識別器を生成する。識別器生成部５は、ノード及びノード間を接続するエッジを含む自己増殖型ニューラルネットワークを用いて構成されており、自己増殖型ニューラルネットワークは、属性により識別される識別内容に応じて複数の部分に分割されている。本実施の形態では、後述するように、属性が含まれていることを示す第１の部分（ポジティブ部分）と、属性が含まれていないことを示す第２の部分（ネガティブ部分）と、に自己増殖型ニューラルネットワークを分割する。なお、３つ以上の内容を識別する場合には、自己増殖型ニューラルネットワークを３つ以上の部分に分割するものとしてもよい。また、自己増殖型ニューラルネットワークの詳細については後述する。
【００３７】
また、識別器生成部５は、ラベリング部３でラベル付けされた属性情報により特定される自己増殖型ニューラルネットワークの部分に対して、特徴抽出部２で抽出された教師データの特徴を教師パターンとして入力する。そして、識別器生成部５は、自己増殖型ニューラルネットワークにおいて、教師パターンに基づいてノード及びエッジを生成する。なお、属性情報は、自己増殖型ニューラルネットワークのいずれの部分に教師データ及び入力データが入力されるべきかを示しており、識別器生成部５は、ラベリング部３でラベル付けされた属性情報により、どの自己増殖型ニューラルネットワークに対して、教師パターンを入力すればよいのかを特定することができる。
【００３８】
属性識別部６は、入力データが入力された場合に、属性識別器を用いて、入力データに含まれる属性を識別する。属性識別部６は、識別器保持部４で保持された属性識別器の自己増殖型ニューラルネットワークのそれぞれの部分に対して、入力データから抽出された特徴を入力パターンとして入力し、当該入力パターンと自己増殖型ニューラルネットワークに含まれるノードとの第１の類似度をそれぞれの自己増殖型ニューラルネットワークの部分において算出し、算出した第１の類似度に応じて、識別内容のいずれの属性が入力データに含まれるかを識別する。
【００３９】
本実施の形態では、後述するように、１つの属性を表現する１つの属性識別器を用いて、入力データがその１つの属性を含んでいるか否かという２つの内容を識別する。また、複数の属性識別器を用いる場合には、それぞれの属性識別器から、その属性の有無を示す識別結果が出力され、入力データが複数の属性のそれぞれを含んでいるか否かが識別される。
【００４０】
また、本実施の形態では、入力パターンと自己増殖型ニューラルネットワークに含まれるノードとの類似度として、入力パターンと複数個の最近傍ノードとの間の距離を算出する。さらに、後述する数（４）に示されるように、第１の部分（ポジティブ部分）に関して算出した第１の類似度と、第２の部分（ネガティブ部分）に関して算出した第１の類似度と、を比較する際には、これら第１の類似度の相対的な大小関係を考慮した上で、入力データに含まれる属性を識別している。
【００４１】
クラス識別部７は、入力データに対する属性識別器からの出力に基づいて、その入力データが含まれるクラスを識別する。より具体的には、クラス識別部７は、複数のクラスについてそれぞれが含む属性情報が与えられ、属性識別部６で識別された入力データの属性とクラスの属性情報とを比較して第２の類似度を求め、その算出した第２の類似度に応じて、複数のクラスのうちでいずれのクラスに入力データが含まれるか識別する。
【００４２】
なお、属性の学習及び転移システム１は、例えば、演算処理等を行うＣＰＵ（Central Processing Unit）、ＣＰＵによって実行される演算プログラム等が記憶されたＲＯＭ（Read Only Memory）、処理データ等を一時的に記憶するＲＡＭ（Random Access Memory）等からなるマイクロコンピュータを中心にして、ハードウェア構成されている。
【００４３】
＜属性識別器の学習方法＞
図２は、学習段階における、属性の学習及び転移を説明するためのフローチャートである。
Ｓ１０１：属性の学習及び転移システム１は、属性識別器を初期化する。
Ｓ１０２：特徴抽出部２は、教師データである入力画像から特徴を抽出する。
Ｓ１０３：ラベリング部３は、教師画像に属性情報をラベル付けする。
Ｓ１０４：識別器生成部５は、教師画像の入力パターンを属性識別器を構成する自己増殖型ニューラルネットワークの対応する部分に入力し、クラスタリングを行う。
Ｓ１０５：属性の学習及び転移システム１は、学習を継続するか否かを判定し、継続すると判定した場合には、新たな教師画像が入力されてＳ１０２以降の処理を繰り返す。継続しないと判定した場合には、学習処理（教師画像を用いた属性識別器の訓練）を終了する。
【００４４】
図３は、認識段階における、未知対象検出を説明するためのフローチャートである。
Ｓ２０１：特徴抽出部２は、入力データである入力画像から特徴を抽出する。
Ｓ２０２：属性識別部６は、属性識別器を用いて、その属性識別器が表現する属性を入力データが含むか否かを識別する。
Ｓ２０３：クラス識別部７は、入力データに対する属性識別器からの出力と、その入力データが含まれるクラスの属性情報とを比較する。
Ｓ２０４：クラス識別部７は、上記比較結果に基づいて、入力データが含まれるクラスの識別結果を出力する。
【００４５】
＜Ａｄｊｕｓｔｅｄ−ＳＯＩＮＮ＞
次に、本実施の形態において用いる自己増殖型ニューラルネットワークについて簡単に説明する。
自己増殖型ニューラルネットワークとして、例えば、Ａｄｊｕｓｔｅｄ−ＳＯＩＮＮ（Ｓｅｌｆ−Ｏｒｇａｎｉｚｉｎｇ  Ｉｎｃｒｅｍｅｎｔａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）が提案されている。Ａｄｊｕｓｔｅｄ−ＳＯＩＮＮは、自己組織化かつ追加学習可能なニューラルネットワークであり、オンラインの教師無し識別学習のためのメカニズムである（特開２００８−２１７２４２号公報、非特許文献「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.」参照）。
【００４６】
Ａｄｊｕｓｔｅｄ−ＳＯＩＮＮは、入力パターンに対応するノードと、当該ノード間を接続するエッジと、から構成される。Ａｄｊｕｓｔｅｄ−ＳＯＩＮＮは、ノードの空集合から開始して、最初に、２つの入力データを開始時の２つのノードとして取得する。そして、入力パターンξ∈Ｒｎ（ｎ次元ベクトル空間）ごとに、その最も近いノードｓ１と、２番目に近いノードｓ２を、以下の数（１）及び（２）により求める。なお、以下の数において、Ａ'はＡｄｊｕｓｔｅｄ−ＳＯＩＮＮにおける全てのノードの集合であり、Ｗｃは、ノードｃのｎ次元の重みベクトルを示している。
【数１】
0005846553.tif 000002
【数２】
0005846553.tif 000003
【００４７】
Ａｄｊｕｓｔｅｄ−ＳＯＩＮＮは、新たな入力パターンと、第１及び第２の勝者ノード（ノードｓ１と、ノードｓ２）との距離が所定の閾値よりも小さい場合には、その入力パターンを第１の勝者ノードに割り当てる。それ以外の場合には、Ａｄｊｕｓｔｅｄ−ＳＯＩＮＮは、入力パターンは現在のノードとあまりに異なるものであると判断して、その入力パターンを新たなノードとして生成する。
【００４８】
Ａｄｊｕｓｔｅｄ−ＳＯＩＮＮは、Ａｄｊｕｓｔｅｄ−ＳＯＩＮＮにおける最も近いノードｓ１に新たなパターンを割り当てた場合、その重みベクトルＷｓ１を新たな入力パターンの値によって更新する。また、（エッジが存在しない場合には、）第１及び第２の勝者ノードの間にエッジを生成する。このような処理が、Ｋ−Ｍｅａｎのような他のクラスタリング手法とＡｄｊｕｓｔｅｄ−ＳＯＩＮＮとで著しく異なる点である。Ａｄｊｕｓｔｅｄ−ＳＯＩＮＮでは、その新たに入力されたパターン又はデータは、クラスタを形成するためにネットワークに直接追加されない。その代わりに、Ａｄｊｕｓｔｅｄ−ＳＯＩＮＮにおいて存在するノードをエッジにより接続していくことでクラスタが形成される。Ａｄｊｕｓｔｅｄ−ＳＯＩＮＮにおける現在のノードと入力パターンとが著しく異なる場合においてのみ、新たなノードを生成することから、このようなクラスタ形成処理によれば、長期間における実行に対してメモリの節約に大きな貢献をもたらす。
【００４９】
Ａｄｊｕｓｔｅｄ−ＳＯＩＮＮの他の主要な特徴として、いくつかの重要な性質をノードに与えている点が挙げられる。このアイデアにより、Ａｄｊｕｓｔｅｄ−ＳＯＩＮＮでは、ノードが自律的なエージェントのように振舞うことを可能としている。ノードは、年齢や累積エラーなどの性質を持っている。この結果、任意の時点で、各ノードはその自身の年齢や、ノードの累積エラー（ノードが第１勝者として選択される都度、入力パターンとの距離を累積することで求められる。）を持っている。これら性質によって、各ノードは２つの振る舞い（ノードの死滅及び自身の分割）を実行する。ノードの年齢に基づく死滅に関しては、任意の新しい入力パターンに対して勝利することなしにノードが長期間存在している場合には（ノイズ又は不要なノードである場合）、そのノードに連結された全てのエッジが徐々に死滅する。加えて、ノードの累積エラーに基づく分割に関しては、累積されたノイズがあまりにも大きな場合には、ノードは自身を二つに分割する。これは、巨大なクラスタ上でのＫ−Ｍｅａｎの再帰処理の振る舞いに類似する。このように、Ａｄｊｕｓｔｅｄ−ＳＯＩＮＮは、オンラインかつ追加学習可能な識別問題に対する強力な学習ツールであり、本実施の形態では、Ａｄｊｕｓｔｅｄ−ＳＯＩＮＮを採用することでその主な長所を継承すると共に、それをコンピュータビジョンにおける属性識別問題に適用可能となるように変更する。
【００５０】
なお、自己増殖型ニューラルネットワークはＡｄｊｕｓｔｅｄ−ＳＯＩＮＮに限定されず、Ｅｎｈａｎｃｅｄ−ＳＯＩＮＮ（特開２００８−２１７２４６）などを利用するものとしてもよい。また、オンラインかつ追加学習可能という観点からは、事前にネットワークの構成やサイズを決定する必要があるためにその性能に制限が加えられるものの、自己増殖型ニューラルネットワークとして、ニューラルガス（ＮＧ）（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.）を用いることもできる。
【００５１】
＜ＡＴ−ＳＯＩＮＮ＞
以下では、自己組織化かつ追加学習可能なニューラルネットワークであるＡｄｊｕｓｔｅｄ−ＳＯＩＮＮに基づく属性の学習及び転移システム１を、ＡＴ−ＳＯＩＮＮと称し、未知対象クラス識別に対するＡＴ−ＳＯＩＮＮの詳細について説明する。ただし、理解を容易とするために、以下では、ＡＴ−ＳＯＩＮＮにより解決する問題を再度簡単に説明した上で、属性識別器の生成方法について説明し、さらに、属性識別器をどのようにして未知対象認識に利用するのかについて説明する。
【００５２】
まず、ＡＴ−ＳＯＩＮＮにより解決したい問題について説明する。
ＡＴ−ＳＯＩＮＮに向けられている問題は、非特許文献１に記載された問題とほぼ類似するものである。この問題に関して、唯一、かつ、重要な相違点は、システムがどのようにして学習されるのかということである。非特許文献１では、教師画像の集合が事前に準備され、システムに一度に入力される必要がある。各クラスの各画像は、２値の特徴ベクトルの属性がラベル付けされる。システムはまず、ＳＶＭによって属性識別器を学習する。教師サンプルとして（ｘ１，ｌ１），...，（ｘｎ，ｌｎ）⊂Ｘ×Ｙが与えられる。ここで、Ｘは任意の特徴空間であり、Ｙ＝｛ｙ１，...，ｙＫ｝はＫ個の分離したクラスであり、Ｚ＝｛ｚ１，...，ｚＬ｝は、Ｙとは互いに素なクラスのテスト用データの集合である（集合Ｚと集合Ｙの積集合は空集合となる。）。ここでの主なタスクは、Ｙとは完全に互いに素なラベル集合Ｚ＝｛ｚ１，...，ｚＬ｝に対して、入力画像Ｘ→Ｚを識別することである。
【００５３】
クラスｚ１，...，ｚＬが学習段階でたとえ与えられないとしても、ｚ∈Ｚ及びｙ∈Ｙのそれぞれのクラスに対して属性の表現ａが利用可能であるならば、Ｙ及びＺの間に存在する属性ａ∈Ａを転移させることで、属性の識別は可能である。具体的には、任意の教師クラスｙに対する属性の表現ａｙ＝（ａｙ１，...，ａｙｍ）が固定長の２値のベクトルとなるように、全ての属性が２値（binary value）により表現される。学習処理は、各属性ａｍについての確率的な識別器を学習することで開始する。教師クラス集合Ｙからの全ての画像がラベル付きの教師サンプルとして用いられ、サンプルのラベルに一致する属性ベクトルが記入されてそのラベルが決定される（つまり、クラスｙのサンプルには２値のラベルａｙｍが割り当てられる）。学習された属性識別器は、ｐ（ａｍ｜ｘ）の推定を与える。ｐ（ａｍ｜ｘ）は、ｐ（ａ｜ｘ）＝ΠＭｍ＝１ｐ（ａｍ｜ｘ）としての完全な画像属性のレイヤーに対するモデルである。ここで、Ｍは、与えられる属性の全ての個数である。この推定項は、以下の数（３）に示すように、画像が与えられたときのクラスの事後分布を計算するために用いられる。
【数３】
0005846553.tif 000004
【００５４】
本実施の形態で提案する手法（ＡＴ−ＳＯＩＮＮ）は、以上で説明した非特許文献１に記載された問題を解決するものであるが、さらに、以下の２つの条件をも満たして問題を解決するものである。
（条件１：オンラインでの属性の学習及び転移の実現）教師画像の集合を事前に準備するものではない。システムは、教師画像の集合のサイズを知らない。ロボットへの利用の観点からは、システムは、クラスインデックスとそのようなクラスの属性の表現とがラベル付された１つの教師画像を、徐々に取得する。
（条件２：追加学習可能な属性の学習及び転移の実現）システムは、入力画像が入力されたときにはいつでも学習を停止して識別することができ、同様にして、新たな教師画像が利用可能となったときにはいつでも学習処理を再開することができる。
これらの条件によって、各属性の識別のためにＳＶＭを学習するという手法は非現実的なことになる。従って、これら２つの条件をも満たして問題を解決することは、本実施の形態による主な貢献となる。
【００５５】
＜属性識別器の生成方法＞
次に、属性識別器の生成方法について説明する。
明らかに、未知対象クラスの検出において高いパフォーマンスを得るためには、各属性についての効果的な識別器が依然として必要である。ＳＶＭではオンライン追加システムの要求には答えることができない。このため、本実施の形態では、ＳＶＭに代えて、自己増殖型ニューラルネットワークであるＡｄｊｕｓｔｅｄ−ＳＯＩＮＮを用いて属性識別器を構成する。ただし、Ａｄｊｕｓｔｅｄ−ＳＯＩＮＮの適用に際しては、いくつかの重要な修正が必要となる。
【００５６】
基本的に、Ａｄｊｕｓｔｅｄ−ＳＯＩＮＮ自体は、オンラインで追加学習可能なクラスタリングツールのように動作する。Ａｄｊｕｓｔｅｄ−ＳＯＩＮＮは、マルチクラスの識別に用いることが可能であるが、本実施の形態での主なタスクは、個別の属性ａを画像が含んでいるか否かを答えることである。従って、これは２値の識別の問題になる（つまり、画像が属性ａを含んでいるか否かの２つを識別する）。さらに、本実施の形態では、Ａｄｊｕｓｔｅｄ−ＳＯＩＮＮを用いて識別するクラスの個数を固定する；ポジティブ（＋）クラスと、ネガティブ（−）クラスの２つのクラスのみを考える（ポジティブクラスは画像がその属性を含んでいることを示し、ネガティブクラスはその属性を含んでいないことを示す。）。
【００５７】
従って、このような属性の識別を実現するために、属性識別器であるＡｄｊｕｓｔｅｄ−ＳＯＩＮＮを２つの部分（ポジティブ部分とネガティブ部分）に分割する。各部分において、オリジナルなＡｄｊｕｓｔｅｄ−ＳＯＩＮＮと同様の処理によって、入力パターンに基づいてノード及びエッジを生成し、追加的にクラスタを成長させていく。
【００５８】
１つの属性識別器について１つのＡｄｊｕｓｔｅｄ−ＳＯＩＮＮを必要とするため、画像のＭ個の属性を識別するためには、全部でＭ個のＡｄｊｕｓｔｅｄ−ＳＯＩＮＮを必要とする。非特許文献１に記載された内容と同じように、この個数Ｍは、ちょうど１つの特徴空間に対してのみ必要となる。このため、Ｑ個の特徴量を用いるならば、全部でＭ×Ｑ個のＡｄｊｕｓｔｅｄ−ＳＯＩＮＮを必要とする。例えば、非特許文献１に記載されたデータセットを用いる実験では、６個の異なる特徴空間における属性識別のために、８５×６個のＡｄｊｕｓｔｅｄ−ＳＯＩＮＮを必要とする。本実施の形態にかかるＡｄｊｕｓｔｅｄ−ＳＯＩＮＮの個数は非特許文献１に記載されたＳＶＭの個数とまさに同じであるが、Ａｄｊｕｓｔｅｄ−ＳＯＩＮＮは、より少ないメモリ消費により高速に動作することができ、最も重要なこととして、オンラインかつ追加学習可能な学習処理を行うものである。
【００５９】
図４は、ＡＴ−ＳＯＩＮＮの全体的な構成及び処理を示す概念図である。
まず、学習段階では、追加的な手法において、教師クラス（Training Classes Y）からの教師画像が、Ｍ個のＳＯＩＮＮ（SOINN-based Individual Attribute Classifiers）に徐々に入力される。教師画像は、属性ラベリングモジュール（Labeling Attributes）によるラベリング処理を介して各Ａｄｊｕｓｔｅｄ−ＳＯＩＮＮに入力される。
【００６０】
本実施の形態にかかる属性ラベリングモジュールは、ロボットが使用するシステムの場合におけるものである。管理者（ここでは人間）が、このモジュールを介して、各画像クラスの属性をラベル付けする。本実施の形態では、非特許文献１に記載されている手法と同様にして、属性ラベルは直接得られるものと想定する。
【００６１】
教師画像は、属性ラベリングモジュールを介してなされたラベル（属性情報）に応じて、ポジティブサンプル（Positive Sample）又はネガティブサンプル（Negative Sample）として区別され、各Ａｄｊｕｓｔｅｄ−ＳＯＩＮＮの対応する部分に入力される。教師画像の入力による属性識別器の学習は、追加的に実行することができる。また、新たなＡｄｊｕｓｔｅｄ−ＳＯＩＮＮを生成することで、新たな属性識別器を単純に追加することができる。
【００６２】
ＡＴ−ＳＯＩＮＮで認識したいときにはいつでも、未知画像クラスの入力画像をＡＴ−ＳＯＩＮＮに入力する。入力画像ｘは特徴ベクトルによって表現され、個々のＡｄｊｕｓｔｅｄ−ＳＯＩＮＮ全てに入力される。属性ｍの個別のＡｄｊｕｓｔｅｄ−ＳＯＩＮＮ（属性識別器）に対して、ポジティブ部分とネガティブ部分の両方から、それぞれｋ個の最近傍ノードの集合が得られる（ポジティブ部分からｋ個の最近傍ノードＳ＋ｍ＝｛ｓ＋ｍ，１，...，ｓ＋ｍ，ｋ｝が、ネガティブ部分からｋ個の最近傍ノードＳ−ｍ＝｛ｓ−ｍ，１，...，ｓ−ｍ，ｋ｝が得られる。）。そして、以下の数（４）が当てはまる場合にのみ、入力画像ｘは属性ｍを含んでいるとみなされる。なお、ここで、ξは入力パターン（入力画像ｘの特徴ベクトル）であり、Ｗ＋ｍ，ｊはノードｓ＋ｍ，ｊの重みベクトルである。また、予めユーザにより所定の閾値Ｔとして適当な値が設定される。以下の数（４）が当てはまらない場合には、入力画像ｘは属性ｍを含んでいないものとして扱われる。
【数４】
0005846553.tif 000005
【００６３】
＜認識方法＞
次に、属性識別器をどのようにして未知対象認識に利用するのかについて説明する。
各属性の識別器が利用可能となることで、ＡＴ−ＳＯＩＮＮは必要なときにいつでも、未知クラスにおける未知対象を識別することができる。未知対象の識別は、極めて単純な手法により行うことができる。基本的に、Ａｄｊｕｓｔｅｄ−ＳＯＩＮＮ及びＳＶＭの両方とも、属性識別器の出力は、入力画像のベクトルと代表ベクトルとの間の距離空間におけるものとなる。ＳＶＭに対しては、その空間を確率空間に変換するPlatt scaling（J. C. Platt, "Probabilities for SV machines, " in Advances in Large Margin Classifiers. MIT Press, 2000.）を実行するために、余計な教師画像の集合を準備する必要がある。教師データの集合を事前に得ることができないというＡＴ−ＳＯＩＮＮが想定する条件下では、残念なことに、余計な教師画像集合を準備するという手法は非現実的である。従って、本実施の形態では、入力画像の特徴ベクトルとＡｄｊｕｓｔｅｄ−ＳＯＩＮＮの最近傍クラスとの距離空間を単純に考慮することによって、未知対象の識別を行う。
【００６４】
属性ｍの識別器を表現する２部分のＡｄｊｕｓｔｅｄ−ＳＯＩＮＮ（ポジティブ部分と、ネガティブ部分）に関して、現在の入力画像とｋ個の最近傍ノードとの間の平均距離が、それぞれｄ＋ｍ及びｄ−ｍとして与えられる。入力入力画像は、以下の数（５）に基づいて、未知対象クラスｃに対して割り当てられる。なお、ここで、ｓｑｚｌは、全部でＱ特徴のうちの特徴ｑの空間におけるクラスｚｌのスコアであり、後述する数（６）に基づいて算出される。
【数５】
0005846553.tif 000006
各特徴空間ｑの類似度スコアｓｚｌは、以下の数（６）により得られる。なお、ここで、条件Ｐが真である場合には［Ｐ］＝１であり、それ以外には、［Ｐ］＝０である（ここで、［Ｐ］は、角括弧を用いて記載しているが、正しくは、［Ｐ］は、数（６）に示すように、二重角括弧を用いて記載される。）。全ての未知対象クラスｚは、その属性ベクトルａｚを決定論的な手法によって生じさせるものと想定する。この決定論的な手法は、Iverson's bracket notation（D. E. Knuth, "Two notes on notation, " Amer. Math. Monthly, 99(5):403-422, 1992.）から得られる。具他的には、本実施の形態では、認識段階では、未知対象クラスｚｌについての２値により表現される属性ｍが与えられるため、ａｚｌｍの値が１である場合（ａｚｌｍ＝１）には［ａｚｌｍ＝１］の値は１となり、［ａｚｌｍ＝０］の値は０となり、ａｚｌｍの値が０である場合（ａｚｌｍ＝０）には［ａｚｌｍ＝１］の値は０となり、［ａｚｌｍ＝０］の値は１となる。
【数６】
0005846553.tif 000007
【００６５】
＜実施例＞
次に、本実施の形態による成果及び実験について説明する。
従来手法との比較のために、非特許文献１に記載された属性付の動物データセットを利用する。このデータセットは、５０個の動物クラスについての８５個の属性を含んでいる。学習メカニズムのパフォーマンスのみに焦点を与えるために、本実施の形態では、粗い画像データセットをそのまま用いることに代えて、非特許文献１に開示された予め抽出された特徴データセットを用いて実験を行う。このデータセットに対しては６個の特徴を利用することができる（ＳＩＦＴ、ＳＵＲＦ、ＰＨＯＧ、ｒｇＳＩＦＴ、local self-similarity histograms(ＬＳＳ)、及びRGB Color Histogram（ＣＱ）（詳細は非特許文献１を参照されたい）。
【００６６】
ＡＴ−ＳＯＩＮＮは追加学習が可能であるが、ここでは、追加学習が不可能な非特許文献１による成果との比較をするために、４０個の画像クラスが既に学習されたときにおけるパフォーマンスの認識を行うことにする。つまり、５０個の動物クラスのうちで、４０個の画像クラスが教師データとして用いられ、その４０個の画像クラスと互いに素な残りの１０個の画像クラスが、ＡＴ−ＳＯＩＮＮのテスト（認識用データ）に利用される。この条件は非特許文献１に記載されたものと全く同一のものであるため、ＡＴ−ＳＯＩＮＮと非特許文献１に記載された手法との間での公平な比較を可能とする。
【００６７】
なお、実験では、Ａｄｊｕｓｔｅｄ−ＳＯＩＮＮのパラメータに関して、ａｇｅｄｅａｄ＝１００、λ＝２５０として設定する。他のパラメータについては、上述したオリジナルのＡｄｊｕｓｔｅｄ−ＳＯＩＮＮの文献に記載されているものと同様の設定を利用する。これらＡｄｊｕｓｔｅｄ−ＳＯＩＮＮのパラメータは、ＡＴ−ＳＯＩＮＮでベストな成果を達成できるように選択されている。実験は、様々な値の設定（設定λ＝１５０、２５０、３５０、４５０、５５０、ａｇｅｄｅａｄ＝５０、１００、１５０、２５０）によって試行するが、これらの結果はそれほど異なるものではない。ただし、あまりに小さな値をλ及びａｇｅｄｅａｄに設定すると、あまりに頻繁なノード除去処理の実行を招くことになり、同時に、存在しているノードが十分な入力を得る前にあまりにも早く死滅してしまい、Ａｄｊｕｓｔｅｄ−ＳＯＩＮＮはクラスタを生成することができなくなる。従って、あまりに小さな値（例えば、λ＝２５、ａｇｅｄｅａｄ＝１０）をパラメータとして設定しない限りにおいては、パラメータの値の違いは、識別結果にそれほどの低下をもたらすものではない。
【００６８】
まず、ＡＴ−ＳＯＩＮＮの属性識別器の品質について説明する。
図５は、非特許文献１に記載された手法と比較した場合のＡＴ−ＳＯＩＮＮの個別の属性識別器の品質を示している。ＡＴ−ＳＯＩＮＮによる結果はいくつかの属性について非特許文献１に記載された手法を下回っているものの、後述する図９で示されるように、劇的に減少した計算時間を考慮すれば、ＡＴ−ＳＯＩＮＮの属性識別器の品質は十分に高いものである。
【００６９】
属性識別器の学習に要する計算時間の観点からは、ＡＴ−ＳＯＩＮＮは、各特徴空間に対する各識別器を学習するために４０個の画像クラス（２４２９４個の教師画像）を用いた学習でおよそ３００秒を必要とする。これに対して、非特許文献１に記載された手法は、各特徴空間に対する各識別器を学習するために数時間を必要とする。従って、非特許文献１に記載された手法は、たった１つの特徴空間に対する全ての属性の識別器を学習するために、合計で１００時間以上を必要とする。また、他の従来手法とは異なり、ＡＴ−ＳＯＩＮＮは完全に追加学習が可能であるために、全体の学習メカニズムを再度開始することなく、新たな入力画像を追加的に入力可能である。
【００７０】
次に、ＡＴ−ＳＯＩＮＮの実験として、動物の４０個のクラスを用いた８５個の属性予測器の追加的なオンライン学習によって、他の互いに素な１０個の動物のクラスでのテスト（認識）を行う。
図６は、１０個のクラス間での混同行列の結果を示している。マルチクラスの平均精度は、２８，９２％である。このパフォーマンスは、１０％のチャンスレベルよりも明らかに十分に高いものである。
【００７１】
図７は、ＡＴ−ＳＯＩＮＮと、非特許文献１に記載された２つの手法ＤＡＰ（Direct attribute prediction）及びＩＡＰ（Indirect attribute prediction）と、の比較を示している。
【００７２】
ここで、評価のために選択されたデータセットが未知対象検出に関して困難なものであることを示すために、非特許文献１においてベースライン手法として記述された他の結果についても言及する。非特許文献１では、同じ設定で同じデータセットを利用して、ＤＡＰ及びＩＡＰという２つの手法に加えて、さらに２つのベースライン（（ｉ）単純な１回完結の学習アプローチであり、これは、システムが、４０個の教師クラスからの特徴分散の対角線共分散行列を学習し、結果として生じた最近傍の識別のためのマハラノビス距離を利用するものである。（ｉｉ）標準的なありふれたマルチクラス識別であり、半々の画像の分割が教師及び認識用データ（入力データ）に対して与えられる。最初のベースライン（１回完結の学習）によって、認識用データの集合からランダムに選択された最大で１０個の画像により、各目標クラスが表現される。）を実装している。
【００７３】
しかしながら、最初のベースラインでは、いくつかのサンプル（１から１０個のサンプル）が与えられたとしても、クラスごとの１個の教師画像に対してせいぜい１４．３％の平均精度にすぎず、クラスごとの１０個の教師画像に対しては１８．９％の平均精度にすぎない。この精度は、１０％のチャンスレベル以上に明らかに向上させるものではない。また、二番目のベースライン（標準的なマルチクラス識別）は、問題を大いに簡単化するために、同一のクラスからの多数の教師サンプルが利用可能であるという想定であるにも関わらず、このベースラインは、６５．９％のマルチクラスの精度しか達成することができない。
【００７４】
図８は、ＡＴ−ＳＯＩＮＮと他のベースラインとの比較結果をまとめた表である。認識は１０個の動物クラスで行った。標準手法（Ordinary Method）及び１回完結の学習手法（One-shot Learning）による結果は、非特許文献１に記載されており、これら手法による結果は、非特許文献１の記載内容から直接得ている。未知対象検出に関して、比較可能な５個の手法のうち最後の３個の手法のみが、認識対象のクラスからの任意のサンプルを必要とせずに検出を行うことができ、それら３個の手法のうちで、ＡＴ−ＳＯＩＮＮのみが追加学習が可能である。さらには、ＡＴ−ＳＯＩＮＮは、ＤＡＰ及びＩＡＰが必要とするよりも極めて短時間で学習を行うことができる。なお、ＤＡＰ及びＩＡＰに関して、各属性に対するＳＶＭ（識別器）の学習に要する学習時間については明確に示されていないものの、１つのＳＶＭの学習には数時間を必要とすることを確認している。
【００７５】
図８に示されるように、得られたベースラインとの比較に基づけば、１回完結の学習アプローチが仮に認識対象のクラスからの任意のサンプルを必要としないものであっても、ＡＴ−ＳＯＩＮＮはその性能を超えている。また、ＡＴ−ＳＯＩＮＮは、非特許文献１のＩＡＰ手法さえも超えている。ＡＴ−ＳＯＩＮＮとＤＡＰ手法との比較では、精度の観点では、ＡＴ−ＳＯＩＮＮはより低いパフォーマンスを示している。しかしながら、ＡＴ−ＳＯＩＮＮは、事前の教師データセットを必要とすることなく追加的に画像を処理することができ、より重要なことには、ＩＡＰ及びＤＡＰよりも遥かに少ない学習時間で処理することができ、精度の違いは落胆させるほどに大きなものではないと考えている。加えて、ＡＴ−ＳＯＩＮＮは追加学習が可能なアルゴリズムであり、学習データの追加によって識別率を向上させることが可能である。また、属性の追加が可能であり、それにより識別率を向上させることが可能である。ＤＡＰなど従来の転移学習方式では学習データの追加、属性の追加の機能を持っていない。
【００７６】
また、上述した図５に示した属性識別結果には、他の興味深い点が含まれている。ROCカーブ（AUC）の下でのエリアによって評価された個々の属性識別器の品質について考慮すると、図５の結果は、ＡＴ−ＳＯＩＮＮのパフォーマンス（０．６８）とＤＡＰのパフォーマンス（０．７２）との間で重要な違いがないことを示している。ＡＴ−ＳＯＩＮＮによる対象識別の精度（２８．９％）を、ＤＡＰの精度（４０．５％）よりも低くしている理由の１つは、ＡＴ−ＳＯＩＮＮが、出力空間を粗い距離から確率へと変換するのに適した余計な教師データセットを持っていないことにあると考えている。
【００７７】
図９は、各特徴に対する各属性識別器の学習に必要とする計算時間を示している。
同じ量の教師画像（４０個のクラス、２４２９４個の画像、６個の特徴）について、ＤＡＰ及びＩＡＰ手法では、１つの特徴の１つの属性に対するＳＶＭの学習に数時間を必要とする。これに対して、ＡＴ−ＳＯＩＮＮでは、わずか約２００〜５００秒を必要とすることから、１つの属性識別器の学習に要する計算時間を劇的に減少させることができる。また、ＡＴ−ＳＯＩＮＮの学習メカニズムはオンラインかつ追加学習可能であるために、教師画像を徐々にシステムに入力することができる。
【００７８】
以上説明したように、本発明によれば、属性の転移及び学習をオンラインかつ追加学習可能なアプローチにより実現することができる。このアプローチを成功させることは、ロボティクスのコミュニティにおいて重要なインパクトを持ち、特に、ロボティクス操作に関して重要なインパクトを持つものである。
【００７９】
上述した比較基準のベースラインによって、本発明が処理可能なデータセットは、ロボティクスで見られるもの以上に十分に困難なものであることは明らかである。このデータセットは、いかなるセグメンテーションの注釈も持っていない。また、全ての特徴は、画像全体から抽出されている。そして、いくつかの画像は図１０に例示するようにその主な部分に目標動物を含んでいるかもしれないが、また多くの画像は図１１に例示するようにその主な部分に背景を含んでいる。このことは、ベースライン手法（標準的な手法）が、教師に対して認識テストに使用するデータ集合をなぜ半々に分割した上で、認識テストで６５．９％の精度のみしか達成できないのかを明らかにする。
【００８０】
さらに加えて、上述した実験では、固定数の属性に対する結果を示しているが、ＡＴ−ＳＯＩＮＮは、属性の個数が固定されていない状況においても実行可能である。ＡＴ−ＳＯＩＮＮでは、単純にＡｄｊｕｓｔｅｄ−ＳＯＩＮＮを追加することで、新たな属性識別器を追加することができる。
【００８１】
具体的には、ＡＴ−ＳＯＩＮＮが、例えば、現在８５×６個のＡｄｊｕｓｔｅｄ−ＳＯＩＮＮ（６個の特徴空間において８５個の属性識別）を有しており、学習された各クラスの画像をいくつか格納している（例えば、各クラスに対して１００個の画像）場合を想定する。この場合において、ユーザが新たな属性を追加しようするときには、ユーザは、各クラスに対して１つ以上の属性（０又は１）を単純にラベル付けすればよい。従って、ＡＴ−ＳＯＩＮＮは、同じ量の教師画像を用いることで新たな属性識別器を生成することができ、また、８６個の属性を識別することができるようになる。
【００８２】
属性識別器の追加に関するテクニックは、同じ属性ラベルを各クラスに対して単に追加し、そして、新たな識別器に対するＳＶＭを学習するために教師画像を再利用することで、これまでの従来手法によっても簡単になすことができるものと考えられるかもしれない。計算時間を考慮しないのであれば、この考えは正しい。しかし、ロボティクスにおけるオンラインでの追加学習可能な利用のためには、１つ以上の属性を新たに追加するために数時間を犠牲にすることは、とても合理的なことではない。ＡＴ−ＳＯＩＮＮでは、同じテクニックを利用することで、わずか３８〜４０分によって、追加の新たな属性を学習することができる。さらには、利用する特徴の個数が固定されている場合には、ＡＴ−ＳＯＩＮＮを並列に実行するようにハードウェアを構成することができ、これにより、学習のために必要な時間をわずか１０分にまで減少させることができる。
【００８３】
ロボティクスにおいては、十分に準備された学習のためのシーンから開始することで、ロボットは、より正確に属性を学習することができるようになる。オンラインで追加学習可能な手法によって属性を学習することで、ロボットはユーザにサービスを提供しながら、より多くの教師画像を徐々に取得していくことができる。これにより、本発明は最終的には、ロボティクスにおける想像能力へと繋がるものであり、ロボットは、人間からの言葉による説明のみに基づいて、未知対象を取りに行くことができる。
【００８４】
＜実施の形態２.＞
以上の実施の形態１においては、属性をネガティブ、ポジティブの２値の値として取り扱ったが、属性を多値でとらえることができれば、より柔軟に識別が可能となる。そこで、本願発明者等が鋭意実験研究した結果、多値の属性情報を識別可能な識別器を生成する方法を見出した。以下の説明では、この多値の属性情報を使用して識別器を生成することができるアルゴリズムをＳＴＡＲ（ＳＴＡｔｉｓｔｉｃａｌ  Ｒｅｃｏｇｎｉｔｉｏｎ）−ＳＯＩＮＮということする。
【００８５】
ＳＴＡＲ−ＳＯＩＮＮは、上述のＡｄｊｕｓｔｅｄ−ＳＯＩＮＮ（Ｓｅｌｆ−Ｏｒｇａｎｉｚｉｎｇ  Ｉｎｃｒｅｍｅｎｔａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）を改良したものである。
【００８６】
＜Ａｄｊｕｓｔｅｄ−ＳＯＩＮＮ＞
ここで、ＳＴＡＲ−ＳＯＩＮＮの理解を容易とするため、上述のＡｄｊｕｓｔｅｄ−ＳＯＩＮＮについて、さらに詳細に説明する。
【００８７】
Ａｄｊｕｓｔｅｄ−ＳＯＩＮＮは、オンラインで追加学習可能な自己増殖型ニューラルネットワークである。Ａｄｊｕｓｔｅｄ−ＳＯＩＮＮは、重みベクトルとして表わされるノードが、自律的に増殖及び消滅することを特徴とする。ノード同士は、所定の条件を満たす場合に、エッジと呼ばれる仮想的な線で結合される。Ａｄｊｕｓｔｅｄ−ＳＯＩＮＮは、このエッジをたどって互いに到達できるノード同士を同じクラスタとみなすことにより、クラスタリングを行う。また、エッジは年齢と呼ばれるパラメータを持っており、Ａｄｊｕｓｔｅｄ−ＳＯＩＮＮは、所定の年齢に達したエッジを削除する。これにより、ノイズとみなし得るノードを所定のタイミングで削除可能としている。
【００８８】
図１２を用いて、Ａｄｊｕｓｔｅｄ−ＳＯＩＮＮの学習アルゴリズム、すなわちＡｄｊｕｓｔｅｄ−ＳＯＩＮＮに新たなノードが入力された場合のＡｄｊｕｓｔｅｄ−ＳＯＩＮＮの動作について説明する。
【００８９】
Ｓ３０１：重みベクトルを持つ入力ノードが、Ａｄｊｕｓｔｅｄ−ＳＯＩＮＮに新たに入力される。
【００９０】
Ｓ３０２：Ａｄｊｕｓｔｅｄ−ＳＯＩＮＮは、入力ノードと既存のノードとの間の距離、典型的にはユークリッド距離を計算する。ユークリッド距離とは、数７により定義される距離をいう。数７において、ｄはユークリッド距離、ｆ及びｇはそれぞれｎ次元のベクトルを示す。
【数７】
0005846553.tif 000008
【００９１】
Ａｄｊｕｓｔｅｄ−ＳＯＩＮＮは、この計算結果より、このユークリッド距離が最も近いノード（第１勝者）と２番目に近いノード（第２勝者）とを決定する。
【００９２】
Ｓ３０３：Ａｄｊｕｓｔｅｄ−ＳＯＩＮＮは、この第１勝者及び第２勝者ノードがもつ類似度閾値をそれぞれ計算する。ここで、類似度閾値とは、あるノードが隣接ノードを持つ場合、その隣接ノードとの最大距離をいう。あるノードが隣接ノードを持たない場合は、そのノードとそれ以外のノードとの最小距離をいう。類似度閾値は、数８により求められる。数８において、Ｎはノードｉの隣接ノードの集合、Ｗはノードｉの重みベクトル、Ａはノード全体の集合を示す。
【数８】
0005846553.tif 000009
【００９３】
Ａｄｊｕｓｔｅｄ−ＳＯＩＮＮは、これらの類似度閾値と、上述の入力ノードと第１勝者及び第２勝者とのユークリッド距離とを相互に比較する。比較の結果、入力ノードと第１勝者及び第２勝者とのユークリッド距離が、第１勝者又は第２勝者の類似度閾値よりも大きい場合、入力ノードは、第１勝者及び第２勝者とは異なるクラスタに属するとみなされる。この場合、Ａｄｊｕｓｔｅｄ−ＳＯＩＮＮは、入力ノードの位置に新たなノードを挿入すべきと判定する。一方、入力ノードと第１勝者及び第２勝者とのユークリッド距離が、第１勝者及び第２勝者の類似度閾値よりも小さい場合、入力ノード、第１勝者及び第２勝者はいずれも同一のクラスタに属するとみなされる。この場合、Ａｄｊｕｓｔｅｄ−ＳＯＩＮＮは、新たなノードを挿入すべきでないと判定する。
【００９４】
Ｓ３０４：Ｓ３０３において、新たなノードを挿入すべきと判定された場合、Ａｄｊｕｓｔｅｄ−ＳＯＩＮＮは、入力ノードの位置に新たなノードを挿入する。
【００９５】
Ｓ３０５：Ｓ３０３において、新たなノードを挿入すべきでないと判定された場合、Ａｄｊｕｓｔｅｄ−ＳＯＩＮＮは、第１勝者と第２勝者の間にエッジが存在するか否かを判定する。
【００９６】
Ｓ３０６：Ｓ３０５において、第１勝者と第２勝者の間にエッジが存在しないと判定された場合、Ａｄｊｕｓｔｅｄ−ＳＯＩＮＮは、それらの間にエッジを生成する。
【００９７】
Ｓ３０７：Ａｄｊｕｓｔｅｄ−ＳＯＩＮＮは、Ｓ３０５においてエッジが存在しないと判定された場合、Ｓ３０５において生成したエッジの年齢を０とする。一方、Ｓ３０５においてエッジが存在すると判定された場合、既に存在していたエッジの年齢を０とする。加えて、Ａｄｊｕｓｔｅｄ−ＳＯＩＮＮは、第１勝者に接続されている全てのエッジの年齢をインクリメントする。
【００９８】
Ｓ３０８：Ａｄｊｕｓｔｅｄ−ＳＯＩＮＮは、あらかじめ定められた閾値（ａｇｅ）を超えた年齢を持つエッジを削除する。ａｇｅは、ノイズ等の影響により誤って生成されるエッジを削除するために設定されるパラメータである。ａｇｅに小さな値を設定すれば、エッジは削除されやすくなり、ノイズの影響は防ぎやすくなるが、ａｇｅが極端に小さければ、エッジが頻繁に削除されるようになり、学習結果が不安定になる。一方、ａｇｅが大きすぎれば、ノイズの影響で生成されたエッジを適切に取り除くことができない。それで、ａｇｅには、実験により算出された適切な値を設定することが望ましい。
【００９９】
Ｓ３０９：Ａｄｊｕｓｔｅｄ−ＳＯＩＮＮは、第１勝者及び第１勝者とエッジを介して直接接続されている隣接ノードの重みベクトルを、以下の数９、数１０により更新する。数９、数１０において、ΔＷｉはノードｉの重みベクトルの更新量、ΔＷｊはノードｊの重みベクトルの更新量を示す。また、ｉは第１勝者、ｊは隣接ノード、Ｗｋは入力ノードの重みベクトル、Ｍｉはノードｉがこれまで第１勝者になった回数を示す。これにより、入力ノードは、第１勝者及び隣接ノードにいわば吸収される形となる。
【数９】
0005846553.tif 000010
【数１０】
0005846553.tif 000011
【０１００】
Ｓ３１０：Ａｄｊｕｓｔｅｄ−ＳＯＩＮＮは、以下の２つの条件を満たすノードを、すべてのノードの中から抽出し、削除対象と判定する。
【０１０１】
１つ目の条件は、入力されたノードの数が、あらかじめ定められた設定値、例えば定数λの倍数にあたるか否かを判定する。この設定値は、ノイズとみなし得るノードを定期的に削除するために設定されるパラメータである。λに小さな値を設定すれば、頻繁にノイズ処理を実施することができるが、λが極端に小さければ、実際にはノイズでないノードまで誤って削除してしまう。一方、λが大きすぎれば、ノイズの影響で生成されたノードを適切に取り除くことができない。それで、λには、実験により算出された適切な値を設定することが望ましい。
【０１０２】
２つ目の条件は、ノードの隣接ノード数があらかじめ定められた閾値η以下であることである。閾値ηは、ノード群のうち低密度の領域、すなわちノイズとみなし得るノードを定義するためのパラメータである。
【０１０３】
Ｓ３１１：Ａｄｊｕｓｔｅｄ−ＳＯＩＮＮは、Ｓ４０５において削除対象として抽出されたノードを削除する。
【０１０４】
Ｓ３１２：入力されたノードの数が、あらかじめ定められた定数ρに達したならば、Ａｄｊｕｓｔｅｄ−ＳＯＩＮＮは学習を完了する。未だ達していない場合は、次の入力ノードの入力を受付け、上述した手順により学習を継続する。
【０１０５】
＜ＳＴＡＲ−ＳＯＩＮＮ＞
次に、ＳＴＡＲ−ＳＯＩＮＮについて説明する。
【０１０６】
上述のように、ＳＴＡＲ−ＳＯＩＮＮは、Ａｄｊｕｓｔｅｄ−ＳＯＩＮＮに改良を加えたものである。ＳＴＡＲ−ＳＯＩＮＮとＡｄｊｕｓｔｅｄ−ＳＯＩＮＮとの主な相違点を以下に示す。
【０１０７】
ＳＴＡＲ−ＳＯＩＮＮは、Ａｄｊｕｓｔｅｄ−ＳＯＩＮＮに対して統計情報を取り入れる拡張を施すことにより、認識率の向上や情報量の削減を図っている。これを実現するため、ＳＴＡＲ−ＳＯＩＮＮでは、ノードの追加や削除といった重みベクトルの管理手法に幾らかの変更を加えている。また、ノードに付加される情報であるラベルの概念を導入している。ＳＴＡＲ−ＳＯＩＮＮは、ラベルとして、例えばそのノードが属するクラス、備える属性等の情報を保持させることができる。また、この属性値として、多値（０又は１の２値でない、連続値）を保持することが可能である。なお、ラベルは、ノードがＳＴＡＲ−ＳＯＩＮＮに入力される際に、何らかの方法によりそのノードに予め付加される。
【０１０８】
ここで、クラスとは、識別器の識別対象を示す。識別器が識別するものが、ライオンかトラ、パンダかクマ、のような動物であれば、それらがクラスとなる。そして、属性とは、クラスの特徴を示す。動物の名前がクラスになる場合であれば、属性とは、肉食か否か、草食か否か、体毛が長いか否か、などの情報を示す。また、識別対象（クラス）が、リビングルームなのか、浴室なのか、ベッドルームか、等の部屋を識別する場合は、それら部屋名がクラスとなり、この場合の属性は、テーブルがあるか、ベッドがあるか、バスタブがあるか、等の情報である。
【０１０９】
ラベルとは、各ノードに与えられる、そのノードのクラス及び属性の情報である。上述の実施の形態１においては、１つのＡＴ−ＳＯＩＮＮがラベルとして扱えるのは、１つのクラスの１つの属性のみであった。すなわち、ある１つのＡＴ−ＳＯＩＮＮは、例えば「ライオン」というクラスの、例えば「肉食である」という属性のみを学習するものであった。これに対し、ＳＴＡＲ−ＳＯＩＮＮにおいては、１つのクラス「ライオン」の全属性情報（例えば、８５個の属性）を全てラベルとして付与することができる。例えば、「ライオン」というクラスが有する「肉食である」「草食である」等の複数の属性それぞれについて、「肉食である」は「１」（ｐｏｓｉｔｉｖｅ）、「草食である」は「０」（ｎｅｇａｔｉｖｅ）といった値を付与することが可能である。本実施の形態においては、１つのクラスの全属性のデータをラベルとして付与するものとして説明する。
【０１１０】
また、ラベルの値は、上述の例のように「０」「１」の２値で与えることもできるが、連続値、例えば、１〜０の正規化された値とすることも可能である。例えば、たまに肉を食べる動物の場合に、「肉食動物」という属性を単純に「１」（ｐｏｓｉｔｉｖｅ）にするのではなく、「肉食動物」という属性を"４０％関係性がある"と定義することができる。このように、連続値の入力に対応することにより、精度の良い属性定義を行うことができる。例えば、人間などのような雑食である動物を表現する時、上述のＡＴ−ＳＯＩＮＮの場合は「０」「１」の２値で属性値を与える必要があるため、「肉食動物」と「草食動物」の両方の属性をポジティブとする必要があった。一方、ＳＴＡＲ−ＳＯＩＮＮでは、属性値として連続値を扱うことができるので、例えば両方の属性を０．５と設定することもできる。このように設定すれば、雑食である人間を、本来「肉食動物」が意味するところの動物とは区別して学習することができることになる。なお、ＳＴＡＲ−ＳＯＩＮＮおいても、両方の属性を１００％と設定することや、連続値である属性値を所定の閾値の前後でバイナリ化する等の手法により、ＡＴ−ＳＯＩＮＮと同様に利用することも可能である。なお、属性値は正規化する必要はなく、そのままのデータ値を使用してもよい。
【０１１１】
なお、このように連続値に対応したラベルは、ここで説明する学習時だけではなく、後述する認識時においても非常に有用である。例えば、認識対象として与えられた未学習の動物が「少しだけ肉を食べる」というような、曖昧な認識結果を出力することも、属性値が連続であることによって可能となる。このような特性により、ＳＴＡＲ−ＳＯＩＮＮは、より人間の認識や感覚を模擬できる認識器を提供することができる。
【０１１２】
また、ＳＴＡＲ−ＳＯＩＮＮでは、容易に属性を追加することが可能である。具体的には、入力ノードに付与されるラベルを増やすことで、ＳＯＩＮＮが保有している属性を増やすことができる。上述のＡＴ−ＳＯＩＮＮとは異なり、ＳＴＡＲ−ＳＯＩＮＮは、属性の増減がＳＯＩＮＮの数に影響しない。また、ＳＴＡＲ−ＳＯＩＮＮは、このような属性の追加の作業をオンラインで実行することが可能である。そのため、装置の動作中であっても、新しい属性の追加を柔軟に実行することが可能である。このように、ＳＴＡＲ−ＳＯＩＮＮは、環境や命令者の要求に合わせた学習や認識が必要な、人の生活環境のなかで働くロボットに適したオンライン学習性を備えている。
【０１１３】
次に、図１３を用いて、ＳＴＡＲ−ＳＯＩＮＮの学習アルゴリズム、すなわちＳＴＡＲ−ＳＯＩＮＮに新たなノードが入力された場合のＳＴＡＲ−ＳＯＩＮＮの動作について説明する。
【０１１４】
Ｓ４０１：重みベクトルをもつ入力ノードと、その入力ノードのラベルが、ＳＴＡＲ−ＳＯＩＮＮに新たに入力される。
【０１１５】
Ｓ４０２：ＳＴＡＲ−ＳＯＩＮＮは、既存のノードの年齢をすべてインクリメントする。
【０１１６】
Ｓ３０２：ＳＴＡＲ−ＳＯＩＮＮは、Ａｄｊｕｓｔｅｄ−ＳＯＩＮＮと同様に、入力ノードに対する第１勝者及び第２勝者ノードを決定する。
【０１１７】
Ｓ３０３：ＳＴＡＲ−ＳＯＩＮＮは、Ａｄｊｕｓｔｅｄ−ＳＯＩＮＮと同様に、第１勝者及び第２勝者ノードの類似度閾値をそれぞれ計算し、これを用いて入力ノードと第１勝者及び第２勝者とが同一のクラスタに属するか否かを判定する。
【０１１８】
Ｓ４０３：Ｓ３０３において同一クラスタでないと判定された場合、入力ノードと同じ位置に新たなノードを生成する。ここで、ＳＴＡＲ−ＳＯＩＮＮにおいては、新たなノードに対し、入力ノードのラベル重みも設定することが望ましい。ラベル重みとは、ノードに付与されるラベルの値をいう。すなわち、クラス名、属性値が入力ノードにラベルとして付与されていたのであれば、それらのクラス名、属性値が新たなノードにラベルとして付与される。
【０１１９】
Ｓ３０５乃至Ｓ３０９：Ｓ３０３において同一クラスタと判定された場合、ＳＴＡＲ−ＳＯＩＮＮは、Ａｄｊｕｓｔｅｄ−ＳＯＩＮＮと同様に、第１勝者と第２勝者の間にエッジを生成し、そのエッジの年齢を０にする。既にエッジが存在する場合には、そのエッジの年齢を０とする。また、第１勝者に接続されているすべてのエッジの年齢をインクリメントする。その後、あらかじめ定められた閾値（ａｇｅ）を超えた年齢を持つエッジを削除する。ついで、ＳＴＡＲ−ＳＯＩＮＮは、第１勝者とその近傍ノードの重みベクトルを更新する。
【０１２０】
Ｓ４０４：ＳＴＡＲ−ＳＯＩＮＮは、入力ノードのラベル情報の拡散を行う。すなわち、入力ノードのラベル重みに基づいて、第１勝者とその隣接ノード、及び第２勝者ノードとその隣接ノードのラベル重みを更新する。ラベル重みの更新は、例えば数１１及び数１２に従って行うことができる。ＳＴＡＲ−ＳＯＩＮＮでは、このように入力ノードのラベル情報を統計情報としてＳＴＡＲ−ＳＯＩＮＮ内に蓄積することにより、認識率を向上させている。
【数１１】
0005846553.tif 000012
【数１２】
0005846553.tif 000013
【０１２１】
Ｓ４０５：上述のＳ４０３で新たなノードを生成した場合、及びＳ４０４でラベル重みを拡散させた場合は、このステップＳ４０５に進む。
【０１２２】
ＳＴＡＲ−ＳＯＩＮＮは、以下の２つの条件を満たすノードを、すべてのノードの中から抽出し、削除対象と判定する。
【０１２３】
１つ目の条件は、ノードの年齢があらかじめ定められた設定値、例えば定数λの倍数にあたることである。この設定値は、ノイズとみなし得るノードを定期的に削除するために設定されるパラメータである。λに小さな値を設定すれば、頻繁にノイズ処理を実施することができるが、λが極端に小さければ、実際にはノイズでないノードまで誤って削除してしまう。一方、λが大きすぎれば、ノイズの影響で生成されたノードを適切に取り除くことができない。そこで、λは、例えば実験等により得られた値を設定することが望ましい。なお、ＳＴＡＲ−ＳＯＩＮＮにおけるλは、Ａｄｊｕｓｔｅｄ−ＳＯＩＮＮにおけるλとは意味合いが異なる。Ａｄｊｕｓｔｅｄ−ＳＯＩＮＮでは、過去に入力されたノードの数をλにより評価し、削除ノードの抽出を行っていたが、この方法では生成されてからの時間が比較的短いノードは削除対象となりやすい。一方、ＳＴＡＲ−ＳＯＩＮＮでは、各ノードに年齢という概念を導入し、入力ノード数ではなく、各ノードの年齢をλにより評価し、削除ノードの抽出を行うこととした。すなわち、各ノードは、一定の年齢に達すると、削除するか否かの判定がなされる。このことにより、ノードの生成タイミングに影響されることなくノイズの除去を行うことができる。
【０１２４】
２つ目の条件は、ノードの隣接ノード数（エッジで接続されているノード数）があらかじめ定められた閾値η以下であることである。閾値ηは、ノード群のうち低密度の領域、すなわちノイズとみなし得るノードを定義するためのパラメータである。なお、ηは、０以上の整数を示す。識別対象となるクラスに応じて、又は学習に使用す教師データの数に応じて、例えば実験等により、最適なηを設定すればよい。
【０１２５】
以上、２つの条件により、例えば、λ＝１００、η＝２と設定した場合には、年齢が１００の倍数に達したノードについて、２以下のノードとエッジで接続されているノード（隣接ノードを２以下有するノード）は、削除される。
【０１２６】
Ｓ３１１：ＳＴＡＲ−ＳＯＩＮＮは、Ｓ４０５において削除対象として抽出されたノードを削除する。
【０１２７】
Ｓ４０６：ＳＴＡＲ−ＳＯＩＮＮは、削除されたノードのラベル重みの少なくとも一部を、削除ノードの周辺のノードに譲渡する（ラベルの拡散）。ラベル重みの譲渡は、例えば、削除ノードと最も近いノード及び２番目に近いノードのラベル重みを、それぞれ数１３及び数１４に従って更新することにより行うことができる。数１３及び数１４において、ΔＬがラベル重みの増加量である。また、Κは削除ノードのラベル情報、ｃは属性、Ｋｃは削除ノードの属性ｃのラベル重み、Ｔω及びＴｓωはそれぞれ削除ノードと最も近いノード及び２番目に近いノードの類似度閾値である。Ｄω及びＤｓωは、それぞれ数１５及び数１６により定義される。数１５及び数１６において、Ｗω及びＷｓωはそれぞれ削除ノードと最も近いノード及び２番目に近いノードの重みベクトル、Ｗｄは削除ノードの重みベクトルである。
【数１３】
0005846553.tif 000014
【数１４】
0005846553.tif 000015
【数１５】
0005846553.tif 000016
【数１６】
0005846553.tif 000017
【０１２８】
ＳＴＡＲ−ＳＯＩＮＮにおいては、このようにラベルの拡散を行うことにより、ラベル情報を統計情報としてＳＴＡＲ−ＳＯＩＮＮ内に蓄積し、認識率を向上させすることを可能にしている。
【０１２９】
Ｓ３１２：入力されたノードの数が、あらかじめ定められた定数ρに達したならば、ＳＴＡＲ−ＳＯＩＮＮは学習を完了する。未だ達していない場合は、次の入力ノードの入力を受付け、上述した手順により学習を継続する。
【０１３０】
＜認識器生成装置の構成＞
次に、図１４を用いて、本実施の形態にかかる認識器生成装置１００の構成について説明する。認識器生成装置１００は、典型的には、専用コンピュータ、パーソナルコンピュータ（ＰＣ）などのコンピュータにより実現される。
【０１３１】
認識器生成装置１００の構成要素１０１乃至１０７は、図示しない記憶手段等に格納された各種プログラムに基づいて、各種制御をそれぞれ実行する機能を有し、中央演算処理装置（ＣＰＵ）、読出専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、入出力ポート（Ｉ／Ｏ）等により実現される処理部である。
【０１３２】
特徴抽出部１０１は、入力データ（教師データ）から特徴量を抽出する。この特徴量を、重みベクトル（入力ノード）として、後述するラベルとともに、ＳＴＡＲ−ＳＯＩＮＮに入力する処理を行う。
【０１３３】
教師データとしては、例えば画像センサをはじめとする種々のセンサ等から入力される任意の情報が利用され得る。本実施の形態では、教師データとして、特に動物の画像情報が用いられた場合を主に例示する。教師データが画像情報である場合は、例えばＳＩＦＴ、ＳＵＲＦ、ＨＯＧ、Ｈａａｒ−ｌｉｋｅ等の公知の技術を用いて、その画像情報から特徴量を抽出することができる。
【０１３４】
なお、教師データ（入力データ）としては、画像だけでなく、音声や様々なセンサ情報も入力することができる。例えば、「怖い動物である」という属性がある場合、このような属性の値（「怖い動物である」程度を示す数値）を画像の特徴から判断することは非常に困難である。このような場合に、その動物の鳴き声などの音声情報を入力データとして用いるならば、画像以上に精度の良い認識ができると考えられる。さらには、「皮膚が柔らかい」「表面がザラザラしている」等の属性がある場合には、動物に直接触れることができる圧力センサの情報も用いることで、画像では分かりにくいこれらの属性を精度よく扱うことが可能となる。このような様々な感覚（センサ情報）を用いた対象の認識の仕方は、人間が行っている認識に非常に近いものである。そのため、本実施の形態は、人と同じように活動ができるロボットへ応用するならば非常に有用と考えられる。ロボットは、人間と同じような感覚（センサ）を搭載することで、人と同じような概念を獲得することができる。これにより、ロボットは、例えば人から命令を受ける際に、曖昧且つ複雑に人が認識している属性も扱うことができるようになるため、人とロボットとのやり取りの効率化や簡易化をすすめることができる。
【０１３５】
また、本実施の形態においては、入力される教師データには、ラベルとして、少なくともその教師データが有する属性が付与されているものとする。なお、この他に、教師データの属するクラスに関する情報等をラベルとして保持させてもよい。ラベルは、典型的には人手によりあらかじめ付与されるが、図示しないラベリング部が、所定のアルゴリズムに従って自動的に付与するものであってもよい。
【０１３６】
属性とは、上述したように、識別対象を示すクラスが有する性質又は特徴を表わす値のことをいう。例えば、教師データが動物の画像情報であれば、その教師データのクラスに応じて、茶色い、大きい、毛が長い、肉食である等の複数の属性がその程度を表す属性値と共にラベルとして付与される。本実施の形態においては、この属性値は多値である。このように、ＳＴＡＲ−ＳＯＩＮＮでは、属性値を連続値として扱うことができるため、ラベルを人手により入力するだけでなく、例えばセンサから入力されるデータを正規化して得られる値をそのまま用いることも可能である。
【０１３７】
ここで、通常、クラスが異なれば、属性の種類や、その組み合わせ、及び属性値の組み合わせ等は異なるものとなる。識別対象となるクラスにどのような属性を設定するか、また、属性をいくつ設定するか、により、識別器の性能も異なる。すなわち、属性を多数設定すれば、そのクラスをより詳細に表わすことができるが、演算量が増大する。また、属性の数が少なすぎれば、識別能力が低下することとなる。そのクラスを識別するための最適な属性を適当数設定することで、より高性能な認識器を生成することが可能となる。
【０１３８】
勝者ノード抽出部１０２は、ＳＴＡＲ−ＳＯＩＮＮに重みベクトル（入力ノード）が入力されたときに、入力ノードと各既存ノードとの間の距離を算出し、当該入力ノードと最も近いノード及び２番目に近いノードをそれぞれ第１勝者ノード及び第２勝者ノードとして抽出する処理を行う。
【０１３９】
ノード挿入判定部１０３は、入力ノードと、第１及び第２勝者ノードとの距離に基づき、入力ノードをＳＴＡＲ−ＳＯＩＮＮ内に新たなノードとして挿入するか否かを判定する処理を行う
【０１４０】
エッジ管理部１０４は、エッジの生成、削除に関する処理を行う。具体的には、入力ノードを新たなノードとして挿入しない場合に、第１勝者ノードと第２勝者ノードとの間にエッジがない場合はエッジを生成しその年齢を０とし、エッジがある場合はその年齢を０とする。また、第１勝者ノードが有する全エッジの年齢をインクリメントし、所定の年齢に達したエッジを削除する等する。
【０１４１】
ノード重み更新部１０５は、入力ノードを新たなノードとして挿入しない場合、入力ノードの重みベクトルに基づき、第１勝者ノード及び第２勝者ノードの重みベクトルを更新する処理を行う。なお、本実施の形態においては、第１及び第２勝者ノードの重みを更新するものとして説明するが、第１勝者ノードの重みベクトルのみを更新するようにしてもよい。
【０１４２】
ラベル重み更新部１０６は、入力ノードを新たなノードとして挿入しない場合、入力ノードのラベル重みを少なくとも第１勝者及び第２勝者に拡散する処理、及びノードを削除するとき、そのノードが有するラベル重みの少なくとも一部を、当該削除ノードの周辺に存在するノードのラベル重みを更新する処理を行う。
【０１４３】
ノード削除部１０７は、所定のタイミング、本実施の形態においては、ノードがλの倍数の年齢に達すると、当該ノードのノード密度、すなわちそのノードにエッジで結ばれるノードがいくつ存在するか等に応じてノードを削除する処理を行う。
【０１４４】
なお、認識器生成装置１００は、図示しない属性適正化部を有してもよい。属性適正化部は、所定のタイミングで、ノードにとって不要な属性を削除することができる。所定のタイミングとは、例えばＳＴＡＲ−ＳＯＩＮＮ内のノードの年齢が所定の年齢に達したときであってよく、あるいは、第１勝者及び第２勝者ノードに入力ノードの属性が拡散されるときであってもよい。また、不要な属性とは、例えば重複する属性、又は属性値が所定の閾値を下回る属性等としてもよい。あるいは、属性の関連度が所定の閾値を下回る属性について、所定の評価式等により属性としての有効度を算出し、この有効度が低い属性を不要と判定してもよい。さらに、属性数の上限数が定められている場合であって、新たに属性が追加されたため属性の数がその上限を超える場合に、すべての属性の中から属性値が最も低い属性を選択してもよい。
【０１４５】
このように属性を減らすことにより、過学習の抑制や認識時間の短縮、情報量の削減などが実現できる。なお、属性を削除した場合は、認識率が低下しない事を認識作業により判定することが望ましい。具体的には、削除する属性と似ている属性を検出し、それらを定量的に評価して削除の可否を判断することができる。
【０１４６】
上述のＡＴ−ＳＯＩＮＮとは異なり、ＳＴＡＲ−ＳＯＩＮＮは、属性の増減がＳＯＩＮＮの数に影響しない。また、ＳＴＡＲ−ＳＯＩＮＮは、このような属性の削除の作業をオンラインで実行することが可能である。そのため、装置の動作中であっても、新しい属性の削減を柔軟に実行することが可能である。すなわち、ＳＴＡＲ−ＳＯＩＮＮは、環境や命令者の要求に合わせた学習や認識が必要な、人の生活環境のなかで働くロボットに適したオンライン学習性を備えている。
【０１４７】
＜認識器生成方法＞
つづいて、図１５及び図１８を用いて、本実施の形態にかかる認識器生成装置１００の動作について具体的に説明する。図１５は認識器生成装置１００の処理を示すフローチャートである。また、図１８は、認識器生成装置１００及び後述の認識装置２００が行う処理の概念図である。
【０１４８】
Ｓ５０１：認識器生成装置１００に、教師データが入力される。
【０１４９】
Ｓ５０２：特徴抽出部１０１が、入力された教師データから特徴量を抽出する。
【０１５０】
Ｓ４０１：抽出された特徴量は、重みベクトルとして、ＳＴＡＲ−ＳＯＩＮＮに入力される。この重みベクトルを入力ノードという。学習段階（認識器生成段階）では、入力ノードと共にラベルが入力され、各入力ノードには、上記ラベルが付与される。
【０１５１】
Ｓ４０２：ノード削除部１０７が、ＳＴＡＲ−ＳＯＩＮＮ内のすべての既存ノードの年齢をインクリメントする。
【０１５２】
Ｓ３０２：勝者ノード抽出部１０２が、入力ノードというと既存ノードとの間の距離、典型的にはベクトル間の距離を示すユークリッド距離を計算する。この計算の結果、入力ノードと最も近いノードを第１勝者、２番目に近いノードを第２勝者として抽出する。
【０１５３】
Ｓ３０３：ノード挿入判定部１０３が、入力ノードを、ＳＴＡＲ−ＳＯＩＮＮ内に新たなノードとして挿入するか否かを判定する。
【０１５４】
Ｓ４０３：Ｓ３０３において新たなノードを挿入すべきと判定された場合、ノード挿入判定部１０３は、入力ノードを、ＳＴＡＲ−ＳＯＩＮＮ内に新たなノードとして挿入する。すなわち、入力ノードと同じ位置に、新たなノードを作成する。このとき、ノード挿入判定部１０３は、新たなノードに対し、入力ノードが有していたラベルを付与する。
【０１５５】
Ｓ３０５：Ｓ３０３において新たなノードを挿入すべきでないと判定された場合、エッジ管理部１０４は、第１勝者と第２勝者との間にエッジがあるか否かを判定する。
【０１５６】
Ｓ３０６：Ｓ３０５においてエッジがないと判定された場合、エッジ管理部１０４は、第１勝者と第２勝者との間にエッジを生成する。
【０１５７】
Ｓ３０７：エッジ管理部１０４は、Ｓ３０６においてエッジを生成した場合、その年齢を０とする。また、エッジを生成しなかった場合、既存のエッジの年齢を０とする。さらに、エッジ管理部１０４は、第１勝者が接続されている全てのエッジの年齢をインクリメントする。
【０１５８】
Ｓ３０８：エッジ管理部１０４は、年齢が所定の閾値（ａｇｅ）に達したエッジがあれば、そのエッジを削除する。
【０１５９】
Ｓ３０９：ノード重み更新部１０５が、少なくとも第１勝者ノードの重みベクトルを、入力ノードの重みベクトルに基づいて更新する。あるいは、第１勝者とその隣接ノードの重みベクトルを更新することとしてもよい。重みベクトルの更新量は、例えば数３及び数４により求めることが可能である。
【０１６０】
Ｓ４０４：ラベル重み更新部１０６が、入力ノードのラベル重みを、第１勝者ノード及び第２勝者ノードに拡散する。すなわち、ラベル重み更新部１０６は、第１勝者ノード及び第２勝者ノードのラベル重みを、入力ノードのラベル重みの少なくとも一部に基づいて更新する。ラベル重みの更新量は、例えば数Ａ及び数Ｂにより求めることができる。なお、拡散の範囲は、例えば第１勝者とその隣接ノード、及び第２勝者とその隣接ノードとしてもよい。
【０１６１】
Ｓ４０５：ノード削除部１０７が、ノードの年齢があらかじめ定められた設定値にあたり、かつ隣接ノード数があらかじめ定められた閾値λ以下であるノードを、ＳＴＡＲ−ＳＯＩＮＮのすべてのノードの中から抽出する。ここで、上記設定値は、例えば定数λの倍数とすることができる。
【０１６２】
Ｓ３１１：ノード削除部１０７は、Ｓ４０５において削除対象として抽出されたノードを削除する。
【０１６３】
Ｓ４０６：ラベル重み更新部１０６が、削除されたノードのラベル重みの少なくとも一部を、削除ノードの周辺のノード、例えば、削除ノードと最も近いノード及び２番目に近いノードに譲渡する。ラベル重みの譲渡は、譲渡される側のノードのラベル重みを、それぞれ数Ｃ及び数Ｄに従って更新することにより行うことができる。ここで、ラベル重み更新部１０６は、任意のラベルのラベル重みのみを拡散するよう構成してもよい。例えば、属性に関するラベルのみを拡散することも可能である。また、属性とクラスとを拡散することとしてもよい。
【０１６４】
Ｓ３１２：認識器生成装置１００は、入力されたノードの数があらかじめ定められた定数ρに達したならば、学習は完了したものと判断し、処理を完了する。未だ達していない場合は、次の入力ノードの入力を受付け、上述した手順により処理を継続する。学習を完了したＳＴＡＲ−ＳＯＩＮＮのノード群は、後述する認識装置２００が備える認識器として利用可能である。
【０１６５】
また、上述の実施の形態においては、認識器生成装置１００が、入力データから抽出される１つの特徴量に対応する１つの認識器を生成する構成について説明した。しかしながら、入力データから複数の特徴量が抽出できる場合は、それらの特徴量にそれぞれ対応する、認識器生成装置１００と同等の機能を備えた認識器生成部を複数準備し、各特徴量に対応して独立した認識器を生成する構成とすることができる。この場合、これらの認識器生成部の特徴抽出部１０１は、それぞれ違う特徴量を抽出するよう構成することができる。より具体的には、識別器生成装置１００に教師データが入力されると、その教師データがこれら複数の認識器生成部の特徴抽出部１０１にそれぞれ入力される。これらの特徴抽出部１０１は、それぞれが対応する勝者ノード抽出部１０２、ノード挿入判定部１０３、エッジ管理部１０４、ノード重み管理部１０５、ラベル重み更新部１０６及びノード削除部１０７を有しており、これらの構成要素が、それぞれ上述のステップＳ４０１乃至Ｓ３１５と同様の処理を行う。
【０１６６】
かかる構成により、認識器生成装置１００は、複数の特徴量に対応する複数の認識器を生成することができる。
【０１６７】
＜認識装置の構成＞
つづいて、認識器生成装置１００により生成した認識器を用いて、転移学習を行うことが可能な認識装置２００について説明する。認識装置２００は、上記認識器を用いて入力データの属性を認識し、その属性により認識対象であるクラス認識することで転移学習を行う。
【０１６８】
図１６を用いて、本実施の形態にかかる認識装置２００の構成について説明する。認識器生成装置２００は、典型的には、専用コンピュータ、パーソナルコンピュータ（ＰＣ）などのコンピュータにより実現される。
【０１６９】
認識装置２００の構成要素２０１乃至２０３は、図示しない記憶手段等に格納された各種プログラムに基づいて、各種制御をそれぞれ実行する機能を有し、中央演算処理装置（ＣＰＵ）、読出専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、入出力ポート（Ｉ／Ｏ）等により実現される。
【０１７０】
特徴抽出部２０１は、入力データから特徴量を重みベクトルとして抽出する処理を行う。
【０１７１】
なお、特徴抽出部２０１は、上述の特徴抽出部１０１と同一のものであってもよい。すなわち、特徴抽出部１０１及び２０１は、学習時は教師データの特徴量を抽出し、前記入力データの特徴量を抽出するよう機能するものであってよい。
【０１７２】
認識器２０２は、入力データから認識すべき認識対象をクラスとし、当該クラスをその特徴である属性により認識することで転移学習が可能であり、上述の認識器生成装置１００に、クラス及び属性がラベル重みとして付された教師データを入力し、その特徴量を学習することで生成される。
【０１７３】
すなわち、この認識器２０２は、認識器生成装置１００に、所定数の前記教師データを入力した後の各ノード（学習済ノード）により構成されている。
【０１７４】
結果出力部２０３は、認識器２０２が有する複数の学習済ノードと、入力データから抽出した重みベクトルとの距離に応じて、入力ノードの属性及びクラスを認識し、認識結果を出力する処理を行う。以下に、認識方法の一例を示す。
【０１７５】
まず、結果出力部２０３は、認識器２０２に入力された重みベクトル（入力ノード）と、既存のノードとの距離、典型的にはユークリッド距離をそれぞれ計算する。この計算の結果を用いて、入力ノードと最も近いｋ個（ｋは任意の自然数）のノードを抽出する。つぎに、結果出力部２０３は、これらｋ個のノードが有するラベル重みに基づいて、入力ノードの属性及びクラスを認識する。
【０１７６】
入力ノードの属性及びクラスを認識方法の一例を以下に示す。以下の例は、すべての属性値をｎｅｇａｔｉｖｅ又はｐｏｓｉｔｉｖｅの２値で表す場合の認識方法である。
【０１７７】
まず、認識器生成装置１００は、ρ番目に学習するクラス（動物）よりも前のクラス（動物）については、上記認識器生成方法として説明した学習ステップを実行する。一方、ρ番目に学習するクラス（動物）以降のクラス（動物）を学習する際には、上記学習ステップに加え、属性を判定するための閾値Ｔ（後述の数１７で利用）を決定するための処理を行う。この閾値Ｔを決定するための処理とは、属性それぞれについて、ｐｏｓｉｔｉｖｅ及びｎｅｇａｔｉｖｅである確率を認識作業により計算し、その平均をとることで算出する。具体的には、ｐｏｓｉｔｉｖｅ及びｎｅｇａｔｉｖｅである確率を求め、この値を用いて、ｐｏｓｉｔｉｖｅであるべき属性についてはｐｏｓｉｔｉｖｅの平均値を、ｎｅｇａｔｉｖｅであるべき属性についてはｎｅｇａｔｉｖｅの平均値を更新してゆく。例えば、ライオンの画像特徴量が入力され、「肉食動物か」という属性について、ｐｏｓｉｔｉｖｅ及びｎｅｇａｔｉｖｅの値を計算した場合を考える。ここで、ライオンは本来「肉食動物」（ｐｏｓｉｔｉｖｅ）であるから、この場合はｐｏｓｉｔｉｖｅの値を用いて、この「肉食動物か」という属性にかかるｐｏｓｉｔｉｖｅの平均値を更新する。ρ番目以降のすべての動物について同様の処理を行ってゆくと、この属性にかかるｐｏｓｉｔｉｖｅの平均値、ｎｅｇａｔｉｖｅの平均値が求められる。そして、このｐｏｓｉｔｉｖｅの平均値及びｎｅｇａｔｉｖｅの平均値の中間値、つまり足して２で割った値を、閾値Ｔとする。
【０１７８】
かかる処理の後、認識器２０２は、数１７に示す判定式を利用することにより、入力ノードのクラスを認識する。ここで、ｃは認識結果のクラスである。また、Ｚは比較対象となるクラスの集合、Ｍは属性の数、Ｑは認識対象から抽出する特徴の数、ａはクラスｚの属性ｍ（ｐｏｓｉｔｉｖｅ又はｎｅｇａｔｉｖｅ）を表す。Ｔは学習時に認識を行った際の平均値の中間値、Ｄはｐｏｓｉｔｉｖｅの平均値からｎｅｇａｔｉｖｅの平均値を引いた値である。Ｕは数１８で求められる。数１８における、属性がｍ、特徴ｑの入力ノードの特徴量がＩのときのＰは数１９及び数２０で求められる。ここで、Ｎは特徴ｑのＳＴＡＲ−ＳＯＩＮＮにおいて入力ノードの特徴量Ｉとｔ番目に近い重みベクトルを持つノード、ＷはＮの重みベクトルを示す。また、数１９及び数２０の右辺のＰは数２１及び数２２で求められる。数２１及び数２２は、ノードＮが持っている属性ｍがｐｏｓｉｔｉｖｅ又はｎｅｇａｔｉｖｅである確率を示す。ＬはノードＮの属性ｍのラベル重みである。
【数１７】
0005846553.tif 000018
【数１８】
0005846553.tif 000019
【数１９】
0005846553.tif 000020
【数２０】
0005846553.tif 000021
【数２１】
0005846553.tif 000022
【数２２】
0005846553.tif 000023
【０１７９】
ここで、クラスの認識は、属性とクラスとの対応関係を定義した辞書データに基づいて行われる。この辞書データでは、複数の属性及びその値の組合せに対し、１のクラス名が対応付けられる。結果出力部２０３は、入力ノードが有していると認識された属性の種類及びその値と、この辞書データとを比較し、一致するものがあれば、そのクラス名を認識結果として出力することができる。なお、一致するクラス名がこの辞書データに記憶されていない場合であっても、結果出力部２０３は、認識の結果を、認識された属性の種類及びその値からなる未定義クラスとして出力することができる。
【０１８０】
＜認識方法＞
つづいて、図１７を用いて、本実施の形態にかかる認識装置２００の動作について具体的に説明する。
【０１８１】
Ｓ６０１：認識装置２００に、入力データが入力される。入力データとしては、例えば画像センサをはじめとする種々のセンサ等から入力される任意の情報を利用できる。
【０１８２】
Ｓ５０２：特徴抽出部２０１は、この入力データから特徴量を抽出する。特徴量の抽出処理は、認識器生成装置１００の特徴抽出部１０１と同様に実施することができる。入力データから抽出された特徴量は、重みベクトルとして、認識器２０２に入力される。
【０１８３】
Ｓ６０２：結果出力部２０３は、既存のノードのうち、入力ノードと最も近いｋ個（ｋは任意の自然数）の学習済ノードを抽出する。
【０１８４】
Ｓ６０３：結果出力部２０３は、これらｋ個の学習済ノードが有するラベル重みに基づいて、入力ノードの属性及びクラスを認識し、認識結果を出力する。
【０１８５】
なお、上述の実施の形態においては、認識装置２００が、入力データから抽出される１つの特徴量に対応する１つの認識器を利用して認識を行う構成（すなわちＱが１種類の場合）について説明した。しかしながら、入力データから複数の特徴量が抽出できる場合（Ｑが複数の場合）は、それらの特徴量にそれぞれ対応する、独立した認識器を利用する構成としてもよい。例えば、特徴抽出部２０１を複数備え、それらの特徴抽出部２０１がそれぞれ異なる特徴量を抽出するよう構成することができる。この場合、認識装置２００にデータが入力されると、その入力データがこれら複数の特徴抽出部２０１にそれぞれ入力される。これらの特徴抽出部２０１は、それぞれが対応する特徴抽出部２０１、認識器２０２を有しており、これらの認識器２０２から得られるパラメータを用いて、結果出力部２０３が認識結果を出力する。
【０１８６】
なお、このような認識器生成装置及び認識装置は、専用コンピュータ、パーソナルコンピュータ（ＰＣ）などのコンピュータにより実現可能である。但し、コンピュータは、物理的に単一である必要はなく、分散処理を実行する場合には、複数であってもよい。図１に示すように、コンピュータ１０は、ＣＰＵ１１（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＲＯＭ１２（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）及びＲＡＭ１３（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）を有し、これらがバス１４を介して相互に接続されている。尚、コンピュータを動作させるためのＯＳソフトなどは、説明を省略するが、この情報処理装置を構築するコンピュータも当然備えているものとする。
【０１８７】
バス１４には又、入出力インターフェイス１５も接続されている。入出力インターフェイス１５には、例えば、キーボード、マウス、センサなどよりなる入力部１６、ＣＲＴ、ＬＣＤなどよりなるディスプレイ、並びにヘッドフォンやスピーカなどよりなる出力部１７、ハードディスクなどより構成される記憶部１８、モデム、ターミナルアダプタなどより構成される通信部１９などが接続されている。
【０１８８】
ＣＰＵ１１は、ＲＯＭ１２に記憶されている各種プログラム、又は記憶部１８からＲＡＭ１３にロードされた各種プログラムに従って各種の処理、本実施の形態においては、例えば最近傍プロトタイプ選択手段３４やプロトタイプ削除手段３５における処理を実行する。ＲＡＭ１３には又、ＣＰＵ１１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０１８９】
通信部１９は、例えば図示しないインターネットを介しての通信処理を行ったり、ＣＰＵ１１から提供されたデータを送信したり、通信相手から受信したデータをＣＰＵ１１、ＲＡＭ１３、記憶部１８に出力したりする。記憶部１８はＣＰＵ１１との間でやり取りし、情報の保存・消去を行う。通信部１９は又、他の装置との間で、アナログ信号又はディジタル信号の通信処理を行う。
【０１９０】
入出力インターフェイス１５は又、必要に応じてドライブ２０が接続され、例えば、磁気ディスク２０１、光ディスク２０２、フレキシブルディスク２０３、又は半導体メモリ２０４などが適宜装着され、それらから読み出されたコンピュータプログラムが必要に応じて記憶部１８にインストールされる。
【０１９１】
＜実施例＞
本実施の形態の認識器生成装置１００及び認識装置２００（以下、ＡＴ−ＳＴＡＲ−ＳＯＩＮＮ（Ａｔｔｒｉｂｕｔｅ  Ｔｒａｎｓｆｅｒ−ＳＴＡＲ−ＳＯＩＮＮ）という）を、非特許文献１記載の技術であるＬａｍｐｅｒｔらのＤＡＰとＩＡＰ、上述のＡＴ−ＳＯＩＮＮとの比較で評価した結果を図１９乃至図２２に示す。なお、本実施の形態の評価において用いたパラメータは、λ＝６００、ａｇｅ＝１００、η＝０、ｋ＝１３、ρ＝２５である。これらは予備実験の結果に基づき決定した。学習画像は２４，２９５枚、認識画像は６，１８０枚である。また、実験は全て、ＣＰＵが２．９３ＧＨｚ、メモリが８ＧＢのパソコンを使用した。
【０１９２】
図１９に、本実施の形態のＡＴ−ＳＴＡＲ−ＳＯＩＮＮ、及び上記他の手法の認識率の比較結果を示す。図１９より、ＡＴ−ＳＴＡＲ−ＳＯＩＮＮにおける認識率は、バッチで学習したＤＡＰには劣るが、ＡＴ−ＳＯＩＮＮと同等であることがわかる。
【０１９３】
図２０に、ＡＴ−ＳＴＡＲ−ＳＯＩＮＮとＡＴ−ＳＯＩＮＮとがそれぞれ保有する、ＳＯＩＮＮ（ＳＴＡＲ−ＳＯＩＮＮ又はＡｄｊｕｓｔｅｄ−ＳＯＩＮＮ）のノード数の比較結果を示す。図２２によれば、ＡＴ−ＳＴＡＲ−ＳＯＩＮＮでは、ＡＴ−ＳＯＩＮＮのノード数の９９．４７％を削減することができた。これは、ＡＴ−ＳＯＩＮＮではＡｄｊｕｓｔｅｄ−ＳＯＩＮＮの数が属性の数に比例していたのに対し、ＡＴ−ＳＴＡＲ−ＳＯＩＮＮではＳＴＡＲ−ＳＯＩＮＮ内のラベルを用いて属性を管理することで、属性の増減によりＳＯＩＮＮの数を変動させずに学習出来ることに起因する。本実施の形態では、このような大幅な情報量（ＳＯＩＮＮ）の削減を行ったにも関わらず、上述のように認識率が殆ど低下しなかった。
【０１９４】
図２１及び図２２に、ＡＴ−ＳＴＡＲ−ＳＯＩＮＮ及び上記他の手法の学習時間及び認識時間の比較結果を示す。図２１によれば、ＡＴ−ＳＴＡＲ−ＳＯＩＮＮの学習時間は、ＤＡＰに比べ約１３，６１６倍速く、ＡＴ−ＳＯＩＮＮに比べ約４７倍速い。さらに、図２２によれば、ＡＴ−ＳＴＡＲ−ＳＯＩＮＮにおいて認識に要した時間は、ＤＡＰに比べ約１，８９２倍速く、ＡＴ−ＳＯＩＮＮに比べ約１５６倍速い。
【０１９５】
このように、本実施の形態によれば、認識率を低下させることなく、高速に、オンラインかつ追加学習が可能な属性の学習及び転移を実現することができる。
【０１９６】
＜実施の形態３.＞
次に、実施の形態２における識別器生成装置により生成された識別器を搭載したロボット装置について説明する。図２３は、本実施の形態にかかるロボット装置を示すブロック図である。
【０１９７】
ロボット装置３００は、入力データ取得部３０１及び認識装置２００を有する。ここで、認識装置２０１は、実施の形態２において説明した認識装置２００と同一のものであってよい。
【０１９８】
入力データ取得部３０１は、例えばカメラを備えた撮像部である。この場合、入力データ取得部３０１は、入力データとして画像データを取得することができる。なお、入力データ取得部３０１は、種々のセンサ等により他の種類のデータを取得できるものであってもよい。
【０１９９】
認識装置２０１は、入力データ取得部３０１が取得したデータを入力データとして、その入力データクラスや属性等を認識する。この認識は、実施の形態２と同様の手順により実施可能である。
【０２００】
なお、ロボット装置３００は、上述の認識器生成装置１００と同様の構成をさらに備えることにより、入力データを教師データとして追加学習を行うよう構成されてもよい。このとき、入力データ取得部３０１は、入力データに付与されるラベル情報を取得することが望ましい。ラベル情報は、例えば入力データが取得される度に人が入力することとしてもよく、あるいは図示しないラベリング部が、所定のアルゴリズムに従って自動的に付与するものであってもよい。
【０２０１】
また、ロボット装置３００は、例えば自走可能な車輪等の移動手段を有し、この移動手段により移動しながら、入力データ取得部３０１により入力データを取得するものであってもよい。
【０２０２】
また、ロボット装置３００は、他のロボット装置、認識装置、認識器生成装置、あるいは種々の学習済みノードが登録された記憶装置又はデータベース等と通信可能な通信部を有しており、この通信部を介して、上記装置等から学習済ノードを取得するよう構成してもよい。
【０２０３】
一般に、対象を認識するのに必要な属性の種類や辞書データは、環境等に応じて変化し得る。例えば、動物の種類を認識するのに必要な属性群や辞書データと、場所を認識するのに必要な属性群や辞書データは異なるものとなるであろう。そこで、そうした場合、ロボット装置３００は、認識対象に応じて必要な、特定の属性を備えた教師データにより学習済みのノード群を、通信部を介してダウンロードするよう構成することができる。ロボット装置３００は、このノード群を認識器として用いることにより、クラスや属性を適切に認識することができる。このように、状況に応じた適切な認識器を、ネットワークを介して融通することにより、他の装置における学習結果を再利用でき、適切な認識を効率的に行うロボット装置３００を提供することができる。
【０２０４】
本実施の形態では、ロボット装置３００がＳＴＡＲ−ＳＯＩＮＮを利用して高速に学習、及び認識を行うことが可能である。このような処理時間の高速化は、リアルタイム性が求められるロボットに対して必要不可欠な特徴であり、かかる点において本発明はロボットへの適用に好適である。
【０２０５】
＜その他の実施の形態＞
上述の実施の形態のほか、本発明はさらに、携帯端末への適用も可能である。例えば、携帯端末はカメラやマイクからなる入力部と、上述の認識装置２００とを備える。携帯端末は、入力部から入力されたデータを上述の認識装置２００により認識する。これにより、見たことや聞いたことがないものであっても、この携帯端末を用いて、それが何であるかを推測することができるようになる。
【０２０６】
このとき、認識装置２００は、インターネットなどのネットワーク上に配置されていてもよい。また、認識装置２００は、インターネットなどのネットワーク上に配置された、学習済みノードのデータベースを用いて、その国の環境や文化に合わせた学習、及び認識を行うこととしてもよい。さらに、このデータベースは、このような学習済みノードのデータを、位置情報と関連付けて記憶していてもよい。
【０２０７】
多くの携帯端末にはＧＰＳなどの位置を同定する機能が搭載されているから、このような機能により取得した位置情報をキーとして、上記データベースから適切な学習済みノードを取得し、これを認識に利用することで、認識器２００は場所の情報も用いた適切な認識を行うことができる。例えば、認識対象としてタオルを考えたときに、洗面所や浴場のような「体の一部を洗う場所」に特化した学習済みノードを用いれば、体を拭く物という意味合いも含めた認識が可能となるであろうし、ダイニングやリビングのような「机などがある場所」に特化した学習済みノードを用いれば、机や家具を拭くものという意味をも含めた認識が可能となるであろう。このような、場所により意味の異なる物であっても、本実施の形態の手法を用いることで、認識することが可能となる。
【０２０８】
このようなネットワークを用いた学習手法は、従来の転移を用いていない学習手法でも可能であるが、ネットワーク上に日常環境にあるもの全てに関する学習済みデータを備えることは現実的でない。この点、転移学習を行うＳＴＡＲ−ＳＯＩＮＮを用いた本発明によれば、学習済みのデータに基づいてみ学習の対象の認識が可能である。かかる点において、本発明は日常環境での認識処理が求められる上記携帯端末への適用に好適である。また、本発明は従来の学習手法に比べ計算量が少なくて済み、低処理能力でもリアルタイム性を確保できるため、その点においても携帯端末への搭載に適している。
【０２０９】
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【０２１０】
上述の実施の形態では、自己増殖型ニューラルネットワークとしてＡｄｊｕｓｔｅｄ−ＳＯＩＮＮを利用した例を示したが、本発明はこれに限定されず、Ｅｎｈａｎｃｅｄ−ＳＯＩＮＮ（特開２００８−２１７２４６）、ｋ−ｍｅａｎｓ等の公知のクラスタリングツールを利用するものであってもよい。
【０２１１】
また、上述の実施の形態では、１枚の画像から１つのクラス（動物）を認識する例を示したが、動画像などの複数の連続した画像から１つの動物を認識することも可能である。ＳＯＩＮＮを用いた時系列データの学習は、例えば非特許文献「Ｓｈｏｇｏ  Ｏｋａｄａ  ａｎｄ  Ｏｓａｍｕ  Ｈａｓｅｇａｗａ，Ｏｎ−ｌｉｎｅＬｅａｒｎｉｎｇ  ｏｆ  Ｓｅｑｕｅｎｃｅ  Ｄａｔａ  Ｂａｓｅｄ  ｏｎ  Ｓｅｌｆ−ｏｒｇａｎｉｚｉｎｇ  Ｉｎｃｒｅｍｅｎｔａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ，Ｉｎｔｅｒ−ｎａｔｉｏｎａｌ  Ｊｏｉｎｔ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋｓ，２００８．」に記載の手法を用いてを行うことができる。
【０２１２】
さらに、上述の実施の形態では、識別対象（クラス）として主に動物を例示したが、本発明はこれに限定されず、あらゆる物体、空間、事象等の識別に応用することが可能である。例えば、台所にある物体「コップ」「紙コップ」「ボトル」「やかん」等のクラスを、「水をいれるもの」「紙で出来ている」「金属でできている」等の属性により識別することが考えられる。また、文房具「ペン」「ボールペン」「はさみ」「カッター」等のクラスは、「細長い物」「書く物」「切るもの」「金属の刃」等の属性により、屋外にある物体「自転車」「自動車」「バイク」「トラック」等のクラスは、「タイヤ」「ハンドル」「荷台」「排気口」等の属性により識別することが可能である。
【０２１３】
また、上述の実施の形態では、ラベルとして属性を用いる例を主に示したが、本発明はこれに限定されず、あらゆるラベルの転移学習にこれを応用することが可能である。
【０２１４】
また、上述の認識器生成装置及び認識器における任意の処理を、例えばＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）にコンピュータプログラムを実行させることにより実現することも可能である。この場合、コンピュータプログラムは、様々なタイプの非一時的なコンピュータ可読媒体（ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（ｔａｎｇｉｂｌｅ  ｓｔｏｒａｇｅ  ｍｅｄｉｕｍ）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  ＰＲＯＭ）、フラッシュＲＯＭ、ＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【符号の説明】
【０２１５】
１  属性の学習及び転移システム
２  特徴抽出部
３  ラベリング部
４  識別器保持部
５  識別器生成部
６  属性識別部
７  クラス識別部
１００  認識器生成装置
１０１  特徴抽出部
１０２  勝者ノード抽出部
１０３  ノード挿入判定部
１０４  エッジ管理部
１０５  ノード重み管理部
１０６  ラベル重み更新部
１０７  ノード削除部
２００  認識装置
２０１  特徴抽出部
２０２  認識器
２０３  結果出力部
３００  ロボット装置
３０１  入力データ取得部
【図１】
0005846553.tif 000024
【図２】
0005846553.tif 000025
【図３】
0005846553.tif 000026
【図８】
0005846553.tif 000027
【図１２】
0005846553.tif 000028
【図１３】
0005846553.tif 000029
【図１４】
0005846553.tif 000030
【図１５】
0005846553.tif 000031
【図１６】
0005846553.tif 000032
【図１７】
0005846553.tif 000033
【図１８】
0005846553.tif 000034
【図１９】
0005846553.tif 000035
【図２０】
0005846553.tif 000036
【図２３】
0005846553.tif 000037
【図４】
0005846553.tif 000038
【図５】
0005846553.tif 000039
【図６】
0005846553.tif 000040
【図７】
0005846553.tif 000041
【図９】
0005846553.tif 000042
【図１０】
0005846553.tif 000043
【図１１】
0005846553.tif 000044
【図２１】
0005846553.tif 000045
【図２２】
0005846553.tif 000046