(57)【特許請求の範囲】
【請求項１】
２次元状に配置されたＮ個のユニットから構成され、入力ベクトルが与えられたときに、前記各ユニットへの入力が前記入力ベクトルの各成分とシナプス荷重ベクトルの各成分との積の総和として決定され、該各ユニットへの入力のうち最大の入力を受けたユニットであるウィナー・ユニットのみが発火するように決定されるトポロジカル・マップの演算装置であって、
前記入力ベクトルはセンサーで計測された環境の情報であり、
現在の入力タイミングに近接する過去の入力タイミングにおいて算出されたウィナー・ユニットに基づいて、前記現在の入力タイミングにおける入力ベクトルに対応するウィナー・ユニットの候補の集合であるウィナー・ユニット候補集合を算出するウィナー・ユニット候補集合算出手段と、
前記現在の入力タイミングにおける入力ベクトルに対応するウィナー・ユニットを、前記ウィナー・ユニット候補集合算出手段が算出したウィナー・ユニット候補集合に含まれるユニットのうち最大の入力を受けたユニットとして算出するウィナー・ユニット算出手段と、
を含むことを特徴とするトポロジカル・マップ演算装置。
【請求項２】
２次元状に配置されたＮ個のユニットから構成され、入力ベクトルが与えられたときに、前記各ユニットへの入力が前記入力ベクトルの各成分とシナプス荷重ベクトルの各成分との積の総和として決定され、該各ユニットへの入力のうち最大の入力を受けたユニットであるウィナー・ユニットのみが発火するように決定されるトポロジカル・マップの演算装置であって、
前記入力ベクトルはセンサーで計測された環境の情報であり、
現在の入力タイミングにおける入力ベクトルに対応するウィナー・ユニットの候補の集合であるウィナー・ユニット候補集合を算出するウィナー・ユニット候補集合算出手段と、
前記現在の入力タイミングにおける入力ベクトルに対応するウィナー・ユニットを、前記ウィナー・ユニット候補集合算出手段が算出したウィナー・ユニット候補集合に含まれるユニットのうち最大の入力を受けたユニットとして算出するウィナー・ユニット算出手段と、
前記現在の入力タイミングにおける入力ベクトルの変化方向を算出する入力ベクトル変化方向算出手段を含み、
前記ウィナー・ユニット候補集合算出手段は、前記現在の入力タイミングに近接する過去の入力タイミングにおけるウィナー・ユニットと、前記入力ベクトル変化方向算出手段が算出した前記現在の入力タイミングにおける入力ベクトルの変化方向とに基づいて、前記ウィナー・ユニット候補集合を算出する、
ことを特徴とするトポロジカル・マップ演算装置。
【請求項３】
前記ウィナー・ユニットは、前記トポロジカル・マップの各ユニットのシナプス荷重ベクトルを更新する学習処理のために算出される、
ことを特徴とする請求項１乃至２の何れか１項に記載のトポロジカル・マップ演算装置。
【請求項４】
前記トポロジカル・マップは、環境内での移動体の移動経路をナビゲートするための地図として使用され、
前記入力ベクトルは、前記移動体の前記環境内での位置を示すセンサー情報に対応する、
ことを特徴とする請求項３に記載のトポロジカル・マップ演算装置。
【請求項５】
前記トポロジカル・マップは、環境内での移動体の移動経路をナビゲートするための地図として使用され、
前記入力ベクトルは、前記移動体の前記環境内での位置を示すセンサー情報に対応し、
前記ウィナー・ユニットは、前記トポロジカル・マップの各ユニットのシナプス荷重ベクトルを更新する学習処理のために算出され、
前記ウィナー・ユニット候補集合算出手段は、現在の入力タイミングの１つ前の入力タイミングで算出されたウィナー・ユニットの位置を（ｉnw，ｊnw）、前記ウィナー・ユニット候補集合に含まれる各ユニットの位置を（ｉn ，ｊn ）、前記ウィナー・ユニット候補集合をＣ（ｎw ）としたとき、下記数１式を満たすウィナー・ユニット候補集合Ｃ（ｎw ）を算出する、
【数１】
0003884103.tif 000025
ことを特徴とする請求項１に記載のトポロジカル・マップ演算装置。
【請求項６】
前記トポロジカル・マップは、環境内での移動体の移動経路をナビゲートするための地図として使用され、
前記入力ベクトルは、前記移動体の前記環境内での位置を示すセンサー情報に対応し、
前記ウィナー・ユニットは、前記トポロジカル・マップの各ユニットのシナプス荷重ベクトルを更新する学習処理のために算出され、
前記ウィナー・ユニット候補集合算出手段は、現在の入力タイミングの１つ前の入力タイミングで算出されたウィナー・ユニットの位置を（ｉnw，ｊnw）、前記ウィナー・ユニット候補集合をＣ（ｎw ）としたとき、下記数２式を満たすウィナー・ユニット候補集合Ｃ（ｎw ）を算出する、
【数２】
0003884103.tif 000026
ことを特徴とする請求項１に記載のトポロジカル・マップ演算装置。
【請求項７】
前記トポロジカル・マップは、環境内での移動体の移動経路をナビゲートするための地図として使用され、
前記入力ベクトルは、前記移動体の前記環境内での位置を示すセンサー情報に対応し、
前記ウィナー・ユニットは、前記トポロジカル・マップの各ユニットのシナプス荷重ベクトルを更新する学習処理のために算出され、
前記入力ベクトル変化方向算出手段は、前記現在の入力タイミングにおける入力ベクトルの変化方向を、下記数３式を満たす４方向dir1，dir2，dir3、dir4の何れかの方向として算出し、
【数３】
0003884103.tif 000027
前記ウィナー・ユニット候補集合算出手段は、現在の入力タイミングの１つ前の入力タイミングで算出されたウィナー・ユニットの位置を（ｉnw，ｊnw）、前記ウィナー・ユニット候補集合をＣ（ｎw ）としたとき、前記入力ベクトル変化方向算出手段が算出した前記現在の入力タイミングにおける入力ベクトルの変化方向に応じて、下記数４式を満たすウィナー・ユニット候補集合Ｃ（ｎw ）を算出する、
【数４】
0003884103.tif 000028
ことを特徴とする請求項２に記載のトポロジカル・マップ演算装置。
【請求項８】
前記トポロジカル・マップは、環境内での移動体の移動経路をナビゲートするための地図として使用され、
前記入力ベクトルは、前記移動体の前記環境内での位置を示すセンサー情報に対応し、
前記ウィナー・ユニットは、前記トポロジカル・マップの各ユニットのシナプス荷重ベクトルを更新する学習処理のために算出され、
前記入力ベクトル変化方向算出手段は、前記現在の入力タイミングにおける入力ベクトルの変化方向を、下記数５式を満たす４方向dir1，dir2，dir3、dir4の何れかの方向として算出し、
【数５】
0003884103.tif 000029
前記ウィナー・ユニット候補集合算出手段は、現在の入力タイミングの１つ前の入力タイミングで算出されたウィナー・ユニットの位置を（ｉnw，ｊnw）、前記ウィナー・ユニット候補集合をＣ（ｎw ）としたとき、前記入力ベクトル変化方向算出手段が算出した前記現在の入力タイミングにおける入力ベクトルの変化方向に応じて、下記数６式を満たすウィナー・ユニット候補集合Ｃ（ｎw ）を算出する、
【数６】
0003884103.tif 000030
ことを特徴とする請求項２に記載のトポロジカル・マップ演算装置。
【請求項９】
前記ウィナー・ユニットは、前記トポロジカル・マップの各ユニットのシナプス荷重ベクトルを更新する学習処理のために算出され、
前記ウィナー・ユニット算出手段が算出したウィナー・ユニットと、前記入力ベクトル変化方向算出手段が算出した前記現在の入力タイミングにおける入力ベクトルの変化方向とに基づき、シナプス荷重ベクトルが更新されるユニットの集合である学習対象ユニット集合を算出する学習対象ユニット集合算出手段と、
該学習対象ユニット集合算出手段が算出した学習対象ユニット集合に含まれるユニットに対して、前記シナプス荷重ベクトルを更新する学習処理を実行するシナプス荷重ベクトル更新手段と、
を更に含む、
ことを特徴とする請求項２に記載のトポロジカル・マップ演算装置。
【請求項１０】
前記ウィナー・ユニットは、前記トポロジカル・マップの参照処理のために算出される、
ことを特徴とする請求項１乃至２の何れか１項に記載のトポロジカル・マップ演算装置。
【請求項１１】
前記トポロジカル・マップは、環境内での移動体の移動経路をナビゲートするための地図として使用され、
前記入力ベクトルは、前記移動体の前記環境内での位置を示すセンサー情報に対応する、
ことを特徴とする請求項１０に記載のトポロジカル・マップ演算装置。
【請求項１２】
２次元状に配置されたＮ個のユニットから構成され、入力ベクトルが与えられたときに、前記各ユニットへの入力が前記入力ベクトルの各成分とシナプス荷重ベクトルの各成分との積の総和として決定し、該各ユニットへの入力のうち最大の入力を受けたユニットであるウィナー・ユニットのみが発火するように決定するトポロジカル・マップ演算装置により実行されるトポロジカル・マップ演算方法であって、
前記入力ベクトルはセンサーで計測された環境の情報であり、
現在の入力タイミングに近接する過去の入力タイミングにおいて算出されたウィナー・ユニットに基づいて、現在の入力タイミングにおける入力ベクトルに対応するウィナー・ユニットの候補の集合であるウィナー・ユニット候補集合を算出し、
前記現在の入力タイミングにおける入力ベクトルに対応するウィナー・ユニットを、前記ウィナー・ユニット候補集合に含まれるユニットのうち最大の入力を受けたユニットとして算出する、
過程を含むことを特徴とするトポロジカル・マップ演算方法。
【請求項１３】
２次元状に配置されたＮ個のユニットから構成され、入力ベクトルが与えられたときに、前記各ユニットへの入力が前記入力ベクトルの各成分とシナプス荷重ベクトルの各成分との積の総和として決定し、該各ユニットへの入力のうち最大の入力を受けたユニットであるウィナー・ユニットのみが発火するように決定するトポロジカル・マップ演算装置により実行されるトポロジカル・マップ演算方法であって、
前記入力ベクトルはセンサーで計測された環境の情報であり、
現在の入力タイミングにおける入力ベクトルの変化方向を算出し、
前記現在の入力タイミングに近接する過去の入力タイミングにおけるウィナー・ユニットと、前記現在の入力タイミングにおける入力ベクトルの変化方向とに基づいて、前記現在の入力タイミングにおける入力ベクトルに対応するウィナー・ユニットの候補の集合であるウィナー・ユニット候補集合を算出し、
前記現在の入力タイミングにおける入力ベクトルに対応するウィナー・ユニットを、前記ウィナー・ユニット候補集合に含まれるユニットのうち最大の入力を受けたユニットとして算出する、
過程を含むことを特徴とするトポロジカル・マップ演算方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、移動ロボットのように環境（空間）内を移動する移動体のナビゲーションを行うための地図を表現するため等に用いられるトポロジカル・マップの学習技術に関する。
【０００２】
【従来の技術】
移動体が、ある位置から別の位置へ移動するなどのナビゲーションを効率良く行うためには地図を利用することが必要であり、実際、人は目的に応じて様々な地図を利用している。
【０００３】
人が使用する普通の地図は、多くの人が共有して利用できるように、方位、距離、高度などの情報を計器によって測量し、地形や道路などの情報を記号を使って紙などの媒体に記述して作成される。
【０００４】
一方、人を含めた多くの生物は、環境内を動き回ることによって、脳内に認知地図（いわゆる土地勘）を学習によって獲得することができる。いわゆる普通の地図が万人向けであるのに対して、学習によって作られる生物の認知地図は個人用であり目的依存である。
【０００５】
移動体が学習によって地図を作成できることには、
１）初めての環境で、かつ既存の地図を持っていないとき、学習によって独自に地図を作成できる。
【０００６】
２）既存の地図がある目的に対して不適当なとき、目的に合った地図を学習できる。
３）使用可能なセンサー（受容器）の種類に基づいて、より効果的な地図を作成できる（例えば、超音波センサーしか持っていない移動ロボットにとっては、視覚に基づいた地図は役に立たない）。
等の利点がある。従って、学習によって地図を自己組織的に作成できることは、非常に重要な機能である。
【０００７】
地図の表現方法には、普通の地図（方位、距離、高度などを記号を使って２次元上に表現したもの）、識別木（木構造）を利用した地図、座標を使って表現する地図などがある。本発明においては、特に、Teuvo Kohonen が、論文  "Self-Organized  Formation of Topologically  Correct Feature Maps, Biological Cybernetics 43, 59-69, 1982"、"The Self-Organizing Map, The Proceedings of IEEE, VOL.78, NO.9, 1464-1480, 1990" 等において提案したトポロジカル・マップ（topological map 又は topology preserving map）を利用して、地図を表現する。トポロジカル・マップは、ニューラル・ネットワーク（神経回路網）のひとつのモデルであり、入力パターンが相互に持つ類似性（位相構造）が発火するニューロンの位置関係に反映させられる「トポロジー保存写像」を、学習によって形成できるという特徴を有している。以下に、トポロジカル・マップについて説明する。
【０００８】
（１）トポロジカル・マップの構造
トポロジカル・マップは、図１９に示される１層構造を有するニューラル・ネットワークである。このニューラル・ネットワークは、２次元状に配置されたＮ（＝Ｎ1 ×Ｎ2 ）個のユニット（神経細胞）から構成される。そして、入力としてベクトルｘ∈ＲM が与えられる。ここで、Ｍは、入力の次元を示す。また、以下の説明で、下線付き記号はベクトル量を示す。ｉ番目のユニットは、シナプス結合ベクトル（以下、シナプス荷重と呼ぶ）ｗi ∈ＲM （ｉ＝１，・・・，Ｎ）を介してセンサー情報を受け取るので、ユニットｉへの入力ｕi は次式で計算される。
【０００９】
【数７】
0003884103.tif 000002
【００１０】
ニューラル・ネットワークの出力ｙi （ｉ＝１，・・・，Ｎ）は、下記数８式と数９式に示されるように、最大入力を受けたユニットｃがウィナー（winner：勝者）となり、ウィナー・ユニットのみが発火し（１を出力し）、残りのユニットは発火しない（０を出力する）ように、決定される。
【００１１】
【数８】
0003884103.tif 000003
【００１２】
【数９】
0003884103.tif 000004
【００１３】
入力ｘとシナプス荷重ｗi が単位ベクトルに規格化されている時、ウィナー・ユニットは、下記数１０式に示されるように、入力ｘに最も近い（最も類似する）シナプス荷重ｗi を有するユニットｃとして決定することもできる。以後の説明では、簡単のために、入力ｘとシナプス荷重ｗi は、ともに単位ベクトルに規格化されているとする。
【００１４】
【数１０】
0003884103.tif 000005
【００１５】
（２）学習則
トポロジカル・マップの学習においては、ある環境（空間）上で互いに近接する入力ｘのパターンに対して、トポロジカル・マップ上で同様に互いに近接するユニットが発火するように、学習が行われる。
【００１６】
この学習において、シナプス荷重ｗi の変化分Δｗi は、下記数１１式によって計算される。
【００１７】
【数１１】
0003884103.tif 000006
【００１８】
ここで、ηは、学習速度を決定する正の定数、Ｌ(c) は、ウィナー・ユニットｃの周辺（近傍）のユニットの集合である。数１１式は、数１０式を満たすウィナー・ユニットｃとその周辺の集合Ｌ(c) に属するユニットのシナプス荷重ｗi のみが学習により修正され、その他のユニットのシナプス荷重ｗi は変化させられないことを意味している。一般的に、学習の初期においては、ηの値は大きく、かつ集合Ｌ(c) の範囲は広く設定し、学習が進むにつれて、徐々に、ηの値は小さく、かつ集合Ｌ(c) の範囲は広く設定するのがよいと言われている。
【００１９】
（３）性質と応用分野
上記（１）で説明した構造を有するトポロジカル・マップは、上記（２）で説明した学習則に基づく学習によって、入力ｘの類似性が発火するウィナー・ユニットｃの位置の近接性に反映される写像、すなわち、入力のトポロジー（位相構造）を保存する写像を、獲得することができる。
【００２０】
この性質を利用することによって、トポロジカル・マップは、入力の分類、運動制御、音声認識、ベクトル量子化、組合せ最適化問題など、多方面に応用されている。後述する本実施の形態が対象とする、学習による地図の自己組織的形成は、入力ｘの分類の応用のひとつである。すなわち、本実施の形態では、入力ｘが任意の空間内の位置を示している場合に、その空間内で互いに近接する各位置に対応する各入力ｘは、学習されたトポロジカル・マップ上で同様に互いに近接するウィナー・ユニットｃに写像されるという性質を利用することにより、任意の位置検出センサーからの入力ｘに基づいて環境（空間）内の位置を特定する地図としての役割を有するトポロジカル・マップを実現することができる。これはちょうど、人が、目から得た視覚情報に基づいて現在の位置を特定する行動に対応する。
【００２１】
【発明が解決しようとする課題】
上記「従来の技術」の項の（２）において説明した従来のトポロジカル・マップの学習則は、入力空間Ｘから入力（入力ベクトル）ｘが、ランダムに、或いはある確率分布に従って選択されることを前提としている。ここで、移動体が、環境（空間）内を移動しながらセンサーによって環境の情報を計測し、得られたセンサー情報から地図を形成する場合には、センサーから得られる入力情報は、ランダムに与えられるのではなく、移動経路に従って与えられる。しかし、上記従来の学習則は、一般的であって応用分野に特有の性質を利用しないため、入力ｘが移動経路に沿って与えられるという情報、すなわち、運動情報を利用することができない。
【００２２】
そのため、上記従来の学習則は、学習定数ηや学習範囲Ｌ(c) を学習回数に応じて適切に調節する必要があり、また、学習に時間がかかるという問題点を有していた。更に、上記従来の学習則は、学習がうまく進まず、形成されたトポロジカル・マップによる地図がねじれてしまう事態も起こり得るという問題点を有していた。
【００２３】
本発明の課題は、移動ロボットなどの移動体が環境内を動き回ることによって収集するセンサー情報と運動情報（移動の連続性、移動方向）等を利用することによって、トポロジカル・マップを効率的に学習することにある。
【００２４】
【課題を解決するための手段】
図１は、本発明のブロック図である。本発明は、２次元状に配置されたＮ個のユニットから構成され、入力ベクトルが与えられたときに、各ユニットへの入力が入力ベクトルの各成分とシナプス荷重ベクトルの各成分との積の総和として決定され、その各ユニットへの入力のうち最大の入力を受けたユニットであるウィナー・ユニットのみが発火するように決定されるトポロジカル・マップの演算装置／方法を前提とする。
【００２５】
まず、ウィナー・ユニット候補集合算出手段１０２は、現在の入力タイミングにおける入力ベクトルに対応するウィナー・ユニットの候補の集合であるウィナー・ユニット候補集合を算出する。
【００２６】
次に、ウィナー・ユニット算出手段１０３は、現在の入力タイミングにおける入力ベクトルに対応するウィナー・ユニットを、ウィナー・ユニット候補集合算出手段１０２が算出したウィナー・ユニット候補集合に含まれるユニットのうち最大の入力を受けたユニットとして算出する。
【００２７】
このように本発明では、学習モード又は参照モードにおいて、トポロジカル・マップ上でウィナー・ユニットが演算される場合に、予めその演算範囲をウィナー・ユニット候補集合として限定しておくことにより、効率的かつ精度の高いウィナー・ユニットの演算が可能となる。
【００２８】
上述の発明の構成において、ウィナー・ユニット候補集合算出手段１０２は、現在の入力タイミングに近接する過去の入力タイミングにおいて算出されたウィナー・ユニットに基づいて、ウィナー・ユニット候補集合を算出するように構成することができる。
【００２９】
或いは、上述の発明の構成において、現在の入力タイミングにおける入力ベクトルの変化方向を算出する入力ベクトル変化方向算出手段１０４を更に含み、ウィナー・ユニット候補集合算出手段１０２は、現在の入力タイミングに近接する過去の入力タイミングにおけるウィナー・ユニットと、入力ベクトル変化方向算出手段１０４が算出した現在の入力タイミングにおける入力ベクトルの変化方向とに基づいて、ウィナー・ユニット候補集合を算出するように構成することができる。
【００３０】
このように、ウィナー・ユニット候補集合が、現在の入力タイミングに近接する過去（例えば１つ前）の入力タイミングにおいて算出されたウィナー・ユニットに基づいて、或いは、そのウィナー・ユニットと、入力ベクトル変化方向算出手段１０４が算出した現在の入力タイミングにおける入力ベクトルの変化方向とに基づいて、決定されることにより、入力ベクトルの変化状態をウィナー・ユニットの算出処理に反映させることができ、入力ベクトルの性質に応じた効率的かつ精度の高いウィナー・ユニットの算出が可能となる。
【００３１】
ここで、ウィナー・ユニットは、トポロジカル・マップ１０１の各ユニットのシナプス荷重ベクトルを更新する学習処理のために算出されるように構成することができる。すなわち、本発明は、トポロジカル・マップ１０１の学習モードに対して適用されるように構成することができる。
【００３２】
またこの場合において、トポロジカル・マップ１０１は、環境内での移動体の移動経路をナビゲートするための地図として使用され、入力ベクトルは移動体の環境内での位置を示すセンサー情報に対応するように構成することができる。
【００３３】
このように、本発明が、トポロジカル・マップ１０１の学習モードに対して適用され、かつ環境内での移動体の移動経路をナビゲートするための地図として使用される場合に、移動体の移動経路及び移動方向に関する情報が、ウィナー・ユニット候補集合に反映されるため、学習時のウィナー・ユニットを移動体の移動経路及び移動方向による制約のもとで決定することができ、学習を効率的かつ正確に行うことが可能となる。
【００３４】
本発明が、上述のように、トポロジカル・マップ１０１の学習モードに対して適用され、かつ環境内での移動体の移動経路をナビゲートするための地図として使用される場合の、より具体的な構成について以下に示す。
【００３５】
ウィナー・ユニット候補集合算出手段１０２は、現在の入力タイミングの１つ前の入力タイミングで算出されたウィナー・ユニットの位置を（ｉnw，ｊnw）、ウィナー・ユニット候補集合に含まれる各ユニットの位置を（ｉn ，ｊn ）、ウィナー・ユニット候補集合をＣ（ｎw ）としたとき、前述の数１式又は数２式を満たすウィナー・ユニット候補集合Ｃ（ｎw ）を算出する。
【００３６】
或いは、入力ベクトル変化方向算出手段１０４は、現在の入力タイミングにおける入力ベクトルの変化方向を、前述の数３式又は数５式を満たす４方向dir1，dir2，dir3、dir4の何れかの方向として算出し、ウィナー・ユニット候補集合算出手段１０２は、現在の入力タイミングの１つ前の入力タイミングで算出されたウィナー・ユニットの位置を（ｉnw，ｊnw）、ウィナー・ユニット候補集合をＣ（ｎw ）としたとき、入力ベクトル変化方向算出手段１０４が算出した現在の入力タイミングにおける入力ベクトルの変化方向に応じて、前述の数４式（数３式た適用される場合）又は数６式（数５式が適用される場合）を満たすウィナー・ユニット候補集合Ｃ（ｎw ）を算出する。
【００３７】
また、本発明が、前述のように、トポロジカル・マップ１０１の学習モードに対して適用される場合において、ウィナー・ユニット算出手段１０３が算出したウィナー・ユニットと、入力ベクトル変化方向算出手段１０４が算出した現在の入力タイミングにおける入力ベクトルの変化方向とに基づき、シナプス荷重ベクトルが更新されるユニットの集合である学習対象ユニット集合を算出する学習対象ユニット集合算出手段と、その学習対象ユニット集合算出手段が算出した学習対象ユニット集合に含まれるユニットに対して、シナプス荷重ベクトルを更新する学習処理を実行するシナプス荷重ベクトル更新手段とを更に含むように構成することができる。
【００３８】
このように、本発明が、トポロジカル・マップ１０１の学習モードに対して適用される場合に、移動体の移動経路及び移動方向に関する情報を、シナプス荷重ベクトルを更新すべき学習対象ユニット集合の決定に反映させることができ、やはり学習を効率的かつ正確に行うことが可能となる。
【００３９】
一方、本発明において、ウィナー・ユニットは、トポロジカル・マップ１０１の参照処理のために算出されるように構成することができる。すなわち、本発明は、トポロジカル・マップ１０１の参照モードに対しても適用されるように構成することができる。
【００４０】
また、この場合において、本発明は、環境内での移動体の移動経路をナビゲートするための地図として使用されるように構成することができる。
このように、本発明が、トポロジカル・マップ１０１の参照モードに対して適用され、かつ環境内での移動体の移動経路をナビゲートするための地図として使用される場合に、移動体の移動経路及び移動方向に関する情報が、ウィナー・ユニット候補集合に反映されるため、参照時のウィナー・ユニットを移動体の移動経路及び移動方向による制約のもとで決定することができ、参照を効率的かつ正確に行うことが可能となる。
【００４１】
なお、本発明は、上述と同様の機能を実現する方法として構成することもできる。
【００４２】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施の形態について詳細に説明する。
移動体が、環境内を移動しながらセンサーによって環境の情報を計測し、得られたセンサー情報をトポロジカル・マップに入力して地図を学習するとき、センサー入力ｘは、ランダムに与えられるのではなく、移動体の移動経路に沿って入力される。そこで、本実施の形態では、入力ｘが移動経路に沿って与えられるという情報、すなわち、運動情報を利用して、トポロジカル・マップの学習を行うことを特徴とする。ここで、運動情報とは、
１）移動の連続性の情報：移動はある位置からその隣の位置へ連続的に行われるという性質を示す情報。
【００４３】
２）移動方向：現在の位置から次に移動する方向を示す情報。
をいう。本実施の形態では、これらの運動情報を利用して、学習時におけるウィナー・ユニットの選択及び学習範囲の設定が行われ、学習が効率化される。
【００４４】
図２は、本実施の形態における地図学習装置の構成図である。この地図学習装置は、センサー部２０１、移動駆動部２０２、センサー情報処理部２０３、地図表現部２０４、学習調節部２０５、及び学習実行部２０６から構成される。そして、この地図学習装置は、地図学習モードと地図参照モードの２つの動作モードで動作する。地図学習モードでは、この地図学習装置を搭載した移動体が、環境内を動き回り、環境情報を収集して、環境の地図を学習する。一方、地図参照モードでは、学習した地図をナビゲーション等に利用する。
＜用語と記号の説明＞
図２の構成について説明する前に、以下の説明において使用される用語と記号を定義する。
・ｎ（１≦ｎ≦Ｎ）：トポロジカル・マップを構成するＮ（＝Ｎ1 ×Ｎ2 ）個のユニットの番号。
・ｋ（１≦ｋ≦Ｋ）：移動経路に沿った学習位置の番号。この位置は、移動経路に沿って、所定時間間隔毎又は所定距離の移動毎或いはセンサー情報が所定閾値以上に変化する毎に決定される。
・ｄk ：位置ｋにおいて、センサー部２０１により計測されるセンサー情報ベクトル。
・ｘk ：位置ｋにおいて、センサー情報処理部２０３によって処理されトポロジカル・マップに入力される入力ベクトル。
・参照時ウィナー・ユニット：地図参照モードでのウィナー・ユニット。
・学習時ウィナー・ユニット：地図学習モードでのウィナー・ユニット。
・ｎw r （ｘk ）：移動経路に沿った位置ｋでの入力ｘk に対する参照時ウィナー・ユニット番号。参照時ウィナー・ユニットｎw r （ｘk ）とも称する。
・ｎw l （ｘk ）：移動経路に沿った位置ｋでの入力ｘk に対する学習時ウィナー・ユニット番号。学習時ウィナー・ユニットｎw l （ｘk ）とも称する。
・Ｌ（ｎw l （ｘk ））：移動経路に沿った現在の位置ｋでの学習時ウィナー・ユニットｎw l （ｘk ）の周辺においてシナプス荷重の修正が行われるユニットの集合（学習対象ユニット集合）。Ｌ（ｎw ）と称される場合もある。
・Ｃ（ｎw l （ｘk-1 ））：移動経路に沿った１つ前の位置ｋ−１における学習時ウィナー・ユニットがｎw l （ｘk-1 ）であるとき、現在の位置ｋにおける学習時ウィナー・ユニットｎw l （ｘk ）の候補になるユニットの集合（学習時ウィナー・ユニット候補集合）。Ｃ（ｎw ）と称される場合もある。
・（ｉn ，ｊn ）：番号ｎのユニットのトポロジカル・マップ上での位置。
・（ｉnw，ｊnw）：番号ｎのウィナー・ユニットのトポロジカル・マップ上での位置。
次に、図２の各部の詳細について説明する。
＜環境と移動ロボット＞
図２の地図学習装置が搭載される移動ロボットが動き回る環境（動作範囲）として、例えば、図３に示されるような、平面上の円形の環境が想定される。この円形の環境は、平面上に定義されたｘｙ座標系の原点に中心があり、半径がＲである。環境には、Ｍ個のランドマークがあるとする。
＜センサー部２０１の説明＞
センサー部２０１は、移動体が環境内を移動して到達した位置において、環境からの情報を多種類のセンサーを利用して収集する。また、センサー部２０１は、移動駆動部２０２から移動距離、移動方向、消費エネルギー等の情報も収集する。それらの収集された情報を表現するセンサー情報ｄk は、センサー情報処理部２０３に伝達される。
【００４５】
具体的には図３の例において、移動ロボットは、Ｍ個のランドマークからの距離を計測できるセンサーを有し、移動経路に沿った位置ｋにおいて、ランドマークからの距離ｄk ＝（ｄk (1) ，ｄk (2) ，・・，ｄk (m) ，・・ｄk (M) ），（１≦ｋ≦Ｋ）を計測する。ここで、ｄk (m) は、位置ｋからランドマークｍまでの距離を示す。
＜移動駆動部２０２の説明＞
移動駆動部２０２は、モーター等の駆動部を制御して移動体を移動させる。地図学習モードでは、移動駆動部２０２は、移動体が環境内を動き回るように、ランダム・ウォークをさせたり、行ったことがない場所へ移動させたり、環境の境界で移動方向を変更する等の機能を有する。地図の学習の終了後の地図参照モードでは、移動駆動部２０２は、地図表現部２０４が表現する地図を利用してナビゲーションを行い、環境内を効率的に移動する機能を有する。
【００４６】
また、移動駆動部２０２は、移動経路に沿った位置ｋにおいて移動方向をセンサー部２０１に伝達する。
＜センサー情報処理部２０３＞
センサー情報処理部２０３は、センサー部２０１が収集したセンサー情報ｄk を規格化すると共に、地図表現部２０４であるトポロジカル・マップへの入力として適合した形式ｘk に変換する。また、移動駆動部２０２から運動情報（移動方向等）を受け取って、それを学習調節部２０５に伝達する。
【００４７】
具体的には、センサー情報処理部２０３は、センサー情報ｄk を、下記数１２式〜数１４式によって、入力ｘk に変換する。
すなわち、まず、センサー情報ｄk の成分ｄk (m) （１≦ｍ≦Ｍ）のそれぞれに対して、下記数１２式で示されるバンド・パス・フィルタ（ガウシアン・フィルタの一種）の演算が実行される。
【００４８】
【数１２】
0003884103.tif 000007
【００４９】
ここで、μj (m) 及びσ(m) （１≦ｊ≦Ｇ）は、それぞれランドマークｍからの距離ｄk (m) に対するフィルタのパラメータ（ガウシアン・フィルタの平均と分散）であり、Ｇはｄk (m) に対して演算されるフィルタの個数である。μj (m) 及びσ(m) の値は、移動ロボットとランドマークｍの間の最大距離max(m)と最小距離min(m)とから、下記数１３式に基づいて設定される。
【００５０】
【数１３】
0003884103.tif 000008
【００５１】
次に、センサー情報ｄk の成分ｄk (m) （１≦ｍ≦Ｍ）のそれぞれに対する数１２式の演算結果が、下記数１４式に基づいて、１つのベクトルにまとめられて規格化されることにより、入力ベクトルｘk が算出される。
【００５２】
【数１４】
0003884103.tif 000009
【００５３】
上記数１４式の右辺の分母は、その右辺の分子によって得られるベクトルを、単位ベクトルに規格化するための項である。このようにして得られる入力ｘk が、図２の地図表現部２０４であるトポロジカル・マップに入力される。
【００５４】
今、例えばセンサーが２個あり２つの場所で、センサー情報ｄ1 ＝(1.0,1.0),ｄ2 ＝(2.0,2.0) が得られたとする。これらの値を単純に規格化すれば（すなわち単位ベクトルに変換すれば）、共に（２-1/2，２-1/2）となって区別がつかなくなってしまう。そこで、センサー情報ｄk （ｋ＝１，２）の各成分に対して数１２式に示されるバンド・パス・フィルタの演算が実行され、その演算結果を使用して数１４式に基づくベクトル化及び規格化が行われる。ここで、センサー情報ｄk （ｋ＝１，２）の各成分に対してそれぞれＧ＝１１個のガウシアン・フィルタが演算されるとし、この場合に、μj (m) ＝σ(m) ＝0.27  （１≦ｊ≦Ｇ，ｍ＝１，２）とすれば、上記センサー情報ｄ1 及びｄ2 は、数１２式及び数１４式の演算によって、図４(a) 及び(b) に示される成分を有する入力ｘ1 及びｘ2 に変換される。なお、入力ｘk ＝（第１成分の１１個の値，第２成分の１１個の値）（ｋ＝１，２）である。図４(a) 及び(b) から、数１２式及び数１４式に示される演算によって、センサー情報ｄ1 及びｄ2 が、相互に区別できる形式で入力ｘ1 及びｘ2 に変換されることがわかる。また、これらの演算は、トポロジカル・マップの各ユニットへの入力の最大値を、ある値で抑えることができるという利点も有している。
＜地図表現部２０４の説明＞
次に、図２の地図表現部２０４は、センサー情報処理部２０３においてセンサー情報ｄk から上述のようにして得られた入力ｘk を入力し、トポロジカル・マップを用いて環境地図を表現する。ここで、トポロジカル・マップには、Ｎ（＝Ｎ（＝Ｎ1 ×Ｎ2 ）個のユニットが格子状に配置されている（後述する図１４参照）。
【００５５】
地図参照モードでは、地図表現部２０４は、移動経路に沿った位置ｋにおけるセンサー情報ｄk から算出された入力ｘk （１≦ｋ≦Ｋ）を、シナプス荷重ｗn ∈ＲM*G （数１４式参照）を介して、トポロジカル・マップのそれぞれのユニットに入力する。そして、地図表現部２０４は、トポロジカル・マップ上で、入力ｘk に対する参照時ウィナー・ユニットｎw r （ｘk ）と出力ｙn を、下記数１５式及び数１６式に基づいて算出する。
【００５６】
【数１５】
0003884103.tif 000010
【００５７】
【数１６】
0003884103.tif 000011
【００５８】
図５は、地図参照モードにおける図２の地図学習装置の動作を示すフローチャートである。
まず、センサー部２０１が、現在の移動位置ｋにおけるセンサー情報ｄk を獲得する（図５の５０１）。
【００５９】
次に、センサー情報処理部２０３が、数１２式〜数１４式に基づいて、現在の移動位置ｋにおけるセンサー情報ｄk に対応する入力ｘk を計算する（図５の５０２）。
【００６０】
続いて、地図表現部２０４が、数１５式及び数１６式に基づいて、移動位置ｋにおける参照時ウィナー・ユニットｎw r （ｘk ）と出力ｙn を算出する（図５の５０３）。なお、これらの演算は、図１３を用いて後述するように、並列計算が可能である。
【００６１】
移動駆動部２０２等は、地図表現部２０４が算出した出力ｙn に基づいて、環境内での現在の位置を把握し、予めプログラムされた行動を実行する（マップの利用：図５の５０４）。
【００６２】
そして、移動駆動部２０２は、現在の位置ｋが移動の終わり位置であるか否かを判定し（図５の５０５）、終わり位置でないと判定した場合には、次の位置ｋ＋１への移動制御を実行し（図５の５０５→５０６→５０１）、終わり位置になったと判定した場合には、移動制御を終了する。
＜学習調節部２０５の説明＞
学習調節部２０５は、地図学習モードにおいて、センサー情報処理部２０３がセンサー部２０１から取得するセンサー情報ｄk に基づいて算出した入力ｘk を用いて、現在の位置ｋにおける学習時ウィナー・ユニットｎw l （ｘk ）を決定する。
【００６３】
この場合に、本発明に関連する特徴として、学習調節部２０５は、下記数１７式の第２式に示されるように、移動経路に沿った１つ前の位置ｋ−１における処理で算出された学習時ウィナー・ユニット候補集合Ｃ（ｎw l （ｘk-1 ））の範囲内のみから、現在の位置ｋにおける学習時ウィナー・ユニットｎw l （ｘk ）を算出する。なお、ｋ＝１（先頭位置）の場合には、学習調節部２０５は、数１７式の第１式に示されるように、環境の全範囲から、先頭位置ｋ＝１における学習時ウィナー・ユニットｎw l （ｘ1 ）を算出する。
【００６４】
【数１７】
0003884103.tif 000012
【００６５】
この学習時ウィナー・ユニット候補集合Ｃ（ｎw l （ｘk-1 ））は、数１８式〜数２６式を用いて後述するように、１つ前の位置ｋ−１における処理で算出された学習時ウィナー・ユニットｎw l （ｘk-1 ）に対して特定の範囲に存在するユニットの集合、或いは、１つ前の位置ｋ−１における処理で算出された学習時ウィナー・ユニットｎw l （ｘk-1 ）に対して特定の範囲であって、かつ学習調節部２０５がセンサー情報処理部２０３を介して移動駆動部２０２から取得する運動情報（移動方向等）に基づいて決定される特定の範囲に存在するユニットの集合である。
【００６６】
「従来の技術」の項で説明したように、入力ｘk （センサー情報ｄk ）は、移動体の移動経路に沿って与えられるにもかかわらず、従来の学習則では、移動経路に沿った現在の位置ｋにおける学習時ウィナー・ユニットｎw l （ｘk ）は、１つ前の位置ｋ−１における処理において算出された学習時ウィナー・ユニットｎw l （ｘk-1 ）の位置とは無関係に算出されていた。
【００６７】
これに対して、本実施の形態では、現在の位置ｋにおける学習時ウィナー・ユニットｎw l （ｘk ）は、上述したように、移動体の移動経路による制約を受けて決定されるため、学習が効率的かつ正確に行われるという、大きな特徴を有するのである。
【００６８】
学習調節部２０５は、上述したようにして現在の位置ｋにおける学習時ウィナー・ユニットｎw l （ｘk ）を決定した後、そのユニットの周辺においてシナプス荷重の修正が行われるべき学習対象ユニット集合Ｌ（ｎw l （ｘk ））を決定し、その集合を学習実行部２０６に伝達する。
【００６９】
これと共に、学習調節部２０５は、学習時ウィナー・ユニットｎw l （ｘk ）に対して特定の範囲に存在するユニットの集合、或いは、学習時ウィナー・ユニットｎw l （ｘk-1 ）に対して特定の範囲であって、かつ学習調節部２０５がセンサー情報処理部２０３を介して移動駆動部２０２から取得する運動情報（移動方向等）に基づいて決定される特定の範囲に存在するユニットの集合として、学習時ウィナー・ユニット候補集合Ｃ（ｎw l （ｘk ））を算出する。これは、前述したように、移動経路に沿った次の位置での処理において、学習時ウィナー・ユニット候補集合Ｃ（ｎw l （ｘk-1 ））として参照されることになる。
【００７０】
以下に、学習時ウィナー・ユニット候補集合Ｃ（ｎw l （ｘk-1 ））と、学習対象ユニット集合Ｌ（ｎw l （ｘk ））の具体的な設定例を示す。なお、表示の簡単のため、学習時ウィナー・ユニットｎw l （ｘk ）はｎw と略す。従って、Ｃ（ｎw l （ｘk-1 ））はＣ（ｎw ）と略され、また、Ｌ（ｎw l （ｘk ））はＬ（ｎw ）と略される。また、＜用語と記号の説明＞において前述したように、（ｉn ，ｊn ）は番号ｎのユニットのトポロジカル・マップ上での位置を示し、（ｉnw，ｊnw）は番号ｎの学習時ウィナー・ユニットｎw のトポロジカル・マップ上での位置を示す。
設定例１
下記数１８式に示されるように、Ｃ（ｎw ），Ｌ（ｎw ）は共に、図６に示される位置（ｉnw，ｊnw）に存在する学習時ウィナー・ユニットｎw 自身と、それに隣接する８個のユニットの、計９個のユニットの集合として設定される。
【００７１】
【数１８】
0003884103.tif 000013
【００７２】
設定例２
下記数１９式に示されるように、Ｃ（ｎw ）は、図７に示される位置（ｉnw，ｊnw）に存在する学習時ウィナー・ユニットｎw 自身と、その上下左右に位置する４個のユニットの、計５個のユニットの集合として設定され、Ｌ（ｎw ）は、図６に示されるユニットの集合として設定される。
【００７３】
【数１９】
0003884103.tif 000014
【００７４】
設定例３
下記数２０式に示されるように、Ｃ（ｎw ），Ｌ（ｎw ）は共に、図７に示される位置（ｉnw，ｊnw）に存在する学習時ウィナー・ユニットｎw 自身と、その上下左右に位置する４個のユニットの、計５個のユニットの集合として設定される。
【００７５】
【数２０】
0003884103.tif 000015
【００７６】
設定例４
上記設定例１〜３では、Ｃ（ｎw ），Ｌ（ｎw ）は、移動経路に沿った１つ前の位置における処理で算出された学習時ウィナー・ユニットｎw のみから、それぞれの範囲が決定されている。
【００７７】
これに加えて、設定例４では、移動体の移動方向も考慮して、Ｃ（ｎw ）及びＬ（ｎw ）の範囲が設定される。
まず、移動体の移動方向が、９０°間隔で、図８(a) 及び数２１式に示される４方向に分類される。学習調節部２０５は、この移動方向情報（運動情報）を、センサー情報処理部２０３を介して移動駆動部２０２から受け取る。
【００７８】
【数２１】
0003884103.tif 000016
【００７９】
そして、下記数２２式に示されるように、移動方向に応じて、Ｃ（ｎw ）は、位置（ｉnw，ｊnw）（図９(a) 〜(d) の黒丸）に存在する学習時ウィナー・ユニットｎw を中心として、図９(a) 〜(d) に示されるユニットの集合として設定される。
【００８０】
【数２２】
0003884103.tif 000017
【００８１】
また、Ｌ（ｎw ）は、数２３式に示されるように、Ｃ（ｎw ）と同じに設定されるか、或いは、数２４式に示されるように、図６に示されるユニットの集合として設定される。
【００８２】
【数２３】
0003884103.tif 000018
【００８３】
【数２４】
0003884103.tif 000019
【００８４】
設定例５
設定例５では、まず、移動体の移動方向が、９０°間隔で、図８(b) 及び数２５式に示される４方向に分類される。
【００８５】
【数２５】
0003884103.tif 000020
【００８６】
そして、下記数２６式に示されるように、移動方向に応じて、Ｃ（ｎw ）は、位置（ｉnw，ｊnw）（図１０(a) 〜(d) の黒丸）に存在する学習時ウィナー・ユニットｎw を中心として、図１０(a) 〜(d) に示されるユニットの集合として設定される。
【００８７】
【数２６】
0003884103.tif 000021
【００８８】
また、Ｌ（ｎw ）は、設定例４の場合と同様に、数２３式に示されるように、Ｃ（ｎw ）と同じに設定されるか、或いは、数２４式に示されるように、図６に示されるユニットの集合として設定される。
＜学習実行部２０６の説明＞
次に、図２に示される学習実行部２０６は、地図学習モードにおいて、上述の学習調節部２０５から移動経路に沿った現在の位置ｋにおける学習対象ユニット集合Ｌ（ｎw l （ｘk ））を受けて、下記数２７式に従って、シナプス荷重ｗi の変化分Δｗi を計算する。
【００８９】
【数２７】
0003884103.tif 000022
【００９０】
ここで、ηは、数１１式の場合と同様である。
これにより、学習対象ユニット集合Ｌ（ｎw l （ｘk ））に属するユニットのシナプス荷重ｗi のみが学習によって修正され、その他のユニットのシナプス荷重ｗi は変化させられない。
【００９１】
その後、数２７式によって計算された変化分Δｗi を用いて、下記数２８式に基づいて、シナプス荷重ｗi が更新される。ここで、数２８式の右辺の分母は、シナプス荷重ｗi のノルムが１となるように規格化を行うための項である。
【００９２】
【数２８】
0003884103.tif 000023
【００９３】
＜地図学習モード時の全体動作の説明＞
図１１は、地図参照モードにおける図２の地図学習装置の動作を示すフローチャートである。
【００９４】
まず、センサー部２０１が、現在の移動位置ｋにおけるセンサー情報ｄk を獲得する（図１１の１１０１）。
次に、センサー情報処理部２０３が、数１２式〜数１４式に基づいて、現在の移動位置ｋにおけるセンサー情報ｄk に対応する入力ｘk を計算する（図１１の１１０２）。
【００９５】
次に、学習調節部２０５が、移動経路に沿った１つ前の位置ｋ−１での処理で算出している学習時ウィナー・ユニット候補集合Ｃ（ｎw l （ｘk-1 ））の範囲内において、各ユニットの出力ｗi ・ｘk ，ｉ∈Ｃ（ｎw l （ｘk-1 ））を計算する（図１１の１１０３）。
【００９６】
続いて、学習調節部２０５が、ステップ１１０３で計算した出力から、数１７式に基づいて、移動経路に沿った現在の位置ｋにおける学習時ウィナー・ユニットｎw l （ｘk ）を決定する（図１１の１１０４）。
【００９７】
更に、学習調節部２０５が、数１８式〜数２６式に基づいて、現在の位置ｋにおける学習対象ユニット集合Ｌ（ｎw l （ｘk ））と、次の位置のための学習時ウィナー・ユニット候補集合Ｃ（ｎw l （ｘk ））を決定する（図１１の１１０５）。このようにして決定されたＬ（ｎw l （ｘk ））は、学習実行部２０６に伝達される。また、Ｃ（ｎw l （ｘk ））は、移動経路に沿った次の位置での学習調節部２０５による処理（図１１の１１０３）において、学習時ウィナー・ユニット候補集合Ｃ（ｎw l （ｘk-1 ））として参照される。
【００９８】
次に、学習実行部２０６が、数２７式及び数２８式に基づいて、学習調節部２０５から伝達された学習対象ユニット集合Ｌ（ｎw l （ｘk ））に属するユニットのシナプス荷重ｗi に対して、学習処理を実行する（図１１の１１０６）。
【００９９】
そして、移動駆動部２０２は、現在の位置ｋが移動の終わり位置であるか否かを判定し（図１１の１１０７）、終わり位置でないと判定した場合には、次の位置ｋ＋１への移動制御を実行し（図１１の１１０７→１１０８→１１０１）、終わり位置になったと判定した場合には、移動制御及び地図学習モードの処理を終了する。
【０１００】
以上の地図学習モードの処理が終了した後に、＜地図表現部２０４の説明＞の項で説明した図５の動作フローチャートで示される地図参照モードの処理が実行されると、図１２に示されるように、現実の環境内の移動体の各位置ｋ間の関係が、地図表現部２０４内のトポロジカル・マップにおいて計算される各参照時ウィナー・ユニットｎw r （ｘk ）間の位置関係と、良く一致するようになる。
＜ハードウエア構成例の説明＞
図１３は、図２に示される本実施の形態における地図学習装置がハードウエアによって構成される場合の、構成例を示す図である。
【０１０１】
図１３において、入力部１３０１は図２のセンサー部２０１及びセンサー情報処理部２０３に対応し、並列計算ユニット１３０２は図２の地図表現部２０４に対応し、地図学習の制御部１３０３は図２の学習調節部２０５及び学習実行部２０６に対応し、出力部１３０４は図２の移動駆動部２０２の一部の機能に対応する。また、表示部１３０５は、並列計算ユニット１３０２の出力に基づいて地図を表示する。そして、入力部１３０１、並列計算ユニット１３０２、地図学習の制御部１３０３、出力部１３０４、及び表示部１３０５は、バス１３０６によって相互に接続される。
【０１０２】
図１３の特徴は、並列計算ユニット１３０２が、トポロジカル・マップの各ユニットに対応して並列に構成され、図５のステップ５０３、図１１のステップ１１０３、図１１のステップ１１０６として示されるトポロジカル・マップの各ユニットに依存する計算を並列に計算できる点である。これにより、地図参照モード及び地図学習モードでの各処理を、高速に実行することが可能となる。
＜シミュレーション実験の結果の説明＞
以上の本実施の形態の有効性を示すために、計算機シミュレーション実験を行った。まず、以下に、実験条件を示す。
【０１０３】
・トポロジカル・マップのユニット数：Ｎ＝４９（＝７×７）。それぞれのユニットには、図１４に示される番号が付加される。
・図３に示される円形環境の半径：Ｒ＝1.0 m 。
【０１０４】
・図３に示される円形環境の中心位置（座標）：原点(0,0) 。
・ランドマークの数：Ｍ＝３。
・ランドマークの位置（座標）：(1.0,0),(0,1.0),(-2/3,-2/3) 。
【０１０５】
・ランドマークからの各距離ｄk (m) （１≦ｋ≦２００，１≦ｍ≦３）に対するガウシアン・フィルタの個数：Ｇ＝１１。
・ランドマークの距離の最大、最小：(max,min)=(2.0,0) 。
【０１０６】
・移動経路に沿った学習位置の総数：0.2 m 間隔の200 点。
・移動経路：移動体は、図１５に示されるように、原点(0,0) から移動を開始し、ほぼランダムに環境内を動き回る。
【０１０７】
・学習前のシナプス荷重ｗi ：ランダムに設定されるが、規格されている。
以下の説明では、まず、数１０式及び数１１式に基づく従来のトポロジカル・マップの学習則が採用された場合のシミュレーション結果を示し、次に、数１７式、数２７式、及び数２８式に基づく本実施の形態によるトポロジカル・マップの学習則が採用された場合のシミュレーション結果を示す。
【０１０８】
（１）学習前の状態
図１６は、学習前の地図（トポロジカル・マップ）の様子を示した図である。この図は、移動ロボットが円形環境内の0.1 m 間隔の格子上の位置(0.1x,0.1y) に存在すると仮定して、その位置で計測されるセンサー情報ｄk が入力ｘk に変換された上でトポロジカル・マップに入力された場合の参照時ウィナー・ユニットｎw r （ｘk ）の番号を、上記位置上に表記したものである。
【０１０９】
図１６からわかるように、学習前のトポロジカル・マップのシナプス荷重ｗi はランダムであるため、図１４に示されるように配置されているユニットの位置関係と、移動ロボットの図１５に示される座標内での位置関係は、全く無関係になっている。
【０１１０】
（２）従来の学習則が採用された場合
図１７は、数１０式及び数１１式に基づく従来のトポロジカル・マップの学習則に従って、２０００回の学習が行われた後の地図（トポロジカル・マップ）の様子を示した図である。図１７では、図１４に示されるように配置されているユニットの位置関係と、移動ロボットの図１５に示される座標内での位置関係は、相対的な位置関係において部分的には一致しているものの、ねじれが起きている部分もあり、全体としては正しい地図が得られていないことがわかる。
【０１１１】
（３）本実施の形態による学習則が採用された場合
図１８は、数１７式、数２７式、及び数２８式に基づく本実施の形態によるトポロジカル・マップの学習則に従い、かつ、Ｃ（ｎw ）及びＬ（ｎw ）が、数２２式，数２４式、及び図８(a) ，図９(a) 〜(d) に示されるように設定された場合において、２０００回の学習が行われた後の地図（トポロジカル・マップ）の様子を示した図である。図１８からわかるように、図１４に示されるように配置されているユニットの位置関係と、移動ロボットの図１５に示される座標内での位置関係は、非常に良く一致しており、センサー情報ｄk から地図が正確に作成されたことがわかる。
【０１１２】
なお、本シミュレーションでは、図３に示される円形の環境が図１４に示される方形のトポロジカル・マップに写像されているが、両者の形状を一致させることにより、更に正確な地図を作成することが可能である。
＜他の実施の形態の説明＞
以上説明した実施の形態においては、地図学習モードにおいて、移動経路に沿った１つ前の位置ｋ−１における処理によって得られる学習時ウィナー・ユニットｎw l （ｘk-1 ）に基づいて、現在の位置ｋにおける学習時ウィナー・ユニットｎw l （ｘk ）の範囲が限定されているが、１つ以上前の複数の位置における結果に基づいてその範囲が限定されてもよい。
【０１１３】
また、上述の実施の形態においては、移動方向に基づいて、現在の位置ｋにおける学習時ウィナー・ユニットｎw l （ｘk ）の範囲が限定される例も示されているが、そのほかにも、移動速度をはじめとする種々の運動情報に基づいてその範囲が限定されてもよい。
【０１１４】
更に、上述の実施の形態においては、地図学習モードにおける学習時ウィナー・ユニットｎw l （ｘk ）の範囲のみでなく、地図参照モードにおける参照時ウィナー・ユニットｎw r （ｘk ）の範囲も、移動経路に関連する情報に基づいて限定されてもよい。
【０１１５】
加えて、本実施の形態では、トポロジカル・マップが移動体の地図の用途で使用された場合における学習則を例として開示しているが、本発明はこれに限られるものではなく、入力の分類、運動制御、音声認識、ベクトル量子化、組合せ最適化問題などの、多方面へのトポロジカル・マップの応用分野において、学習時ウィナー・ユニット又は参照時ウィナー・ユニットを、パターンの変化の連続性を示す情報に基づいて限定することにより、学習処理及び参照処理の効率及び精度を飛躍的に向上させることができる。
【０１１６】
【発明の効果】
本発明によれば、学習モード又は参照モードにおいて、トポロジカル・マップ上でウィナー・ユニットが演算される場合に、予めその演算範囲をウィナー・ユニット候補集合として限定しておくことにより、効率的かつ精度の高いウィナー・ユニットの演算が可能となる。
【０１１７】
また、本発明において、ウィナー・ユニット候補集合が、現在の入力タイミングに近接する過去（例えば１つ前）の入力タイミングにおいて算出されたウィナー・ユニットに基づいて、或いは、そのウィナー・ユニットと、入力ベクトル変化方向算出手段が算出した現在の入力タイミングにおける入力ベクトルの変化方向とに基づいて決定されることにより、入力ベクトルの変化状態をウィナー・ユニットの算出処理に反映させることができ、入力ベクトルの性質に応じた効率的かつ精度の高いウィナー・ユニットの算出が可能となる。
【０１１８】
また、本発明が、トポロジカル・マップの学習モードに対して適用され、かつ環境内での移動体の移動経路をナビゲートするための地図として使用される場合に、移動体の移動経路及び移動方向に関する情報が、ウィナー・ユニット候補集合に反映されるため、学習時のウィナー・ユニットを移動体の移動経路及び移動方向による制約のもとで決定することができ、学習を効率的かつ正確に行うことが可能となる。
【０１１９】
更に、本発明が、トポロジカル・マップの学習モードに対して適用される場合に、移動体の移動経路及び移動方向に関する情報を、シナプス荷重ベクトルを更新すべき学習対象ユニット集合の決定に反映させることができ、やはり学習を効率的かつ正確に行うことが可能となる。
【０１２０】
加えて、本発明が、トポロジカル・マップの参照モードに対して適用され、かつ環境内での移動体の移動経路をナビゲートするための地図として使用される場合に、移動体の移動経路及び移動方向に関する情報が、ウィナー・ユニット候補集合に反映されるため、参照時のウィナー・ユニットを移動体の移動経路及び移動方向による制約のもとで決定することができ、参照を効率的かつ正確に行うことが可能となる。
【図面の簡単な説明】
【図１】本発明のブロック図である。
【図２】本実施の形態における地図学習装置の構成図である。
【図３】移動ロボットと円形環境を示す図である。
【図４】センサー情報処理部の説明図である。
【図５】地図参照モードでの動作フローチャートである。
【図６】Ｃ（ｎw ），Ｌ（ｎw ）の設定例１，２を示す図である。
【図７】Ｃ（ｎw ），Ｌ（ｎw ）の設定例２を示す図である。
【図８】移動方向の分類を示す図である。
【図９】Ｃ（ｎw ），Ｌ（ｎw ）の設定例４を示す図である。
【図１０】Ｃ（ｎw ），Ｌ（ｎw ）の設定例５を示す図である。
【図１１】地図学習モードでの動作フローチャートである。
【図１２】学習後の地図（トポロジカル・マップ）の説明図である。
【図１３】本実施の形態のハードウエア構成例を示す図である。
【図１４】ユニットの番号を示す図である。
【図１５】移動ロボットの移動経路を示す図である。
【図１６】学習前の地図（ウィナー・ユニットの配置）を示す図である。
【図１７】従来の学習則で学習が行われた後の地図（ウィナー・ユニットの配置）を示す図である。
【図１８】本実施の形態における学習則で学習が行われた後の地図（ウィナー・ユニットの配置）を示す図（設定例４を使ってＣ，Ｌを決定した場合）である。
【図１９】トポロジカル・マップの構成図である。
【符号の説明】
１０１      トポロジカル・マップ
１０２      ウィナー・ユニット候補集合算出手段
１０３      ウィナー・ユニット算出手段
１０４      入力ベクトル変化方向算出手段
２０１      センサー部
２０２      移動駆動部
２０３      センサー情報処理部
２０４      地図表現部
２０５      学習調節部
２０６      学習実行部
１３０１      入力部
１３０２      並列計算ユニット
１３０３      地図学習の制御部
１３０４      出力部
１３０５      表示部
１３０６      バス
0003884103.tif 000024
【図１】
0003884103.tif 000031
【図２】
0003884103.tif 000032
【図３】
0003884103.tif 000033
【図４】
0003884103.tif 000034
【図５】
0003884103.tif 000035
【図６】
0003884103.tif 000036
【図７】
0003884103.tif 000037
【図８】
0003884103.tif 000038
【図９】
0003884103.tif 000039
【図１０】
0003884103.tif 000040
【図１１】
0003884103.tif 000041
【図１２】
0003884103.tif 000042
【図１３】
0003884103.tif 000043
【図１４】
0003884103.tif 000044
【図１５】
0003884103.tif 000045
【図１６】
0003884103.tif 000046
【図１７】
0003884103.tif 000047
【図１８】
0003884103.tif 000048
【図１９】
0003884103.tif 000049