(57)【要約】【課題】結合加重の初期値を調整し、学習の高速化を図ることができる自己組織化ネットワークシステムを得る。【解決手段】自己組織化ネットワーク１０の入力層と出力層を結合する各結合リンク（ノード間リンク）に、初期化部１１によってランダムな初期結合加重を与え、次に初期化加重交換部１２により、初期化部１１により初期結合加重が与えられた結合リンク（ノード間リンク）の結合加重を、入力層に入力されたベクトル値と距離の近い出力ノードが出力層で近傍になるように交換し、次いで、学習部１３により、初期化加重交換部１２により結合加重が交換された状態で、入力層に学習データ１５を入力することにより学習を行うようにした。【選択図】図１
2008015881.tif 000002
【特許請求の範囲】
【請求項１】
複数の入力ノードを有し、この入力ノードに応じた次元数を有する多次元の学習データが入力される入力層と、複数の出力ノードを有する低次元の出力層と、上記入力層の各入力ノード及び上記出力層の各出力ノード間を結合し、それぞれ結合加重を有する複数の結合リンクとにより構成される自己組織化ネットワークを、学習によって上記結合加重を固定させる自己組織化ネットワークシステムにおいて、上記各結合リンクにランダムな初期結合加重を与える初期化部、この初期化部により初期結合加重が与えられた結合リンクの上記結合加重を、上記入力層に入力された値と距離の近い出力ノードが上記出力層で近傍になるように交換する初期化加重交換部、及びこの初期化加重交換部により交換された結合加重に基き、上記入力層に学習データを入力することにより学習を行う学習部を備えたことを特徴とする自己組織化ネットワークシステム。
【請求項２】
上記初期化加重交換部は、上記出力層の出力ノードを選択することにより、この選択された出力ノードが有する結合加重を上記入力層に入力された値とすることを特徴とする請求項１記載の自己組織化ネットワークシステム。
【請求項３】
上記初期化加重交換部は、上記出力ノードの選択を所定回数行うことを特徴とする請求項２記載の自己組織化ネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、学習を高速化した自己組織化ネットワークシステムに関するものである。
【背景技術】
【０００２】
一般に、自己組織化ネットワークは、図９のように、２層構造を持っている。
図９は、一般的な自己組織化ネットワークを示す概略図であり、５×５個の出力ノードをもつ出力層、３次元入力データの場合を示している。
図９において、出力層１は、多くの場合２次元のマップ状に出力ノードが配置されており、特徴マップと呼ばれることもある。入力層２には、取り扱うデータの次元数と同じ数の入力ノードが配置されている。出力層１の一つの出力ノードに着目すると、全ての入力ノードと結合しており、入力層２の一つの入力ノードに着目すると、全ての出力ノードと結合している。全ての結合リンク（ノード間リンク）３には、結合加重が割り振られている。
出力層１の出力ノード同士は、特徴マップ上の位置が定まっているが結合はない。したがって、出力層１の全ての出力ノードは、取り扱うデータと同じ次元数の結合加重を持っている。入力データを複数の値からなるベクトルと考えると、各出力ノードは、それぞれ同じ次元数のベクトルを持っていると考えることができる。
自己組織化ネットワークを、結合加重を教師なし近傍学習という手法で、自動的に調整することによって、学習データを分類可能な特徴マップを自動的に生成する自己組織化ネットワークシステムを構築することができる。
この結合加重が調整された自己組織化ネットワークは、例えば健康診断などの診断や、認識など、広範囲の技術分野での利用が期待されている。
【０００３】
【特許文献１】特開２００４−２５２９２３号公報（第２〜３頁、図１）
【特許文献２】特開２００４−３１８７００号公報（第３〜４頁、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
自己組織化ネットワークでは、既存技術の学習手順の初期化段階で、全ての結合加重に対して、ランダムに初期化している。これは、出力層１にある出力ノード全体では、入力ベクトルがとりうる多次元空間内のランダムな位置に各出力ノードの持つベクトルを配置することであり、未知の学習データに対応するための初期値として理にかなっている。
しかし、出力層１における出力ノード間の関係もランダムであるため、出力層１で隣り合っている出力ノードが持つベクトルは、多次元空間内では非常に離れた点であり、出力層１では遠く離れた出力ノードが多次元空間内では隣り合っているということが頻発する。
これは、特に学習の初期において、学習時間の増大を招くという問題があった。
【０００５】
学習の高速化は、学習データが多い場合や、更新頻度の高い自己組織化ネットワークでは、とくに重要になる。この学習の高速化を図るために従来から種々の研究が行われてきた。
例えば、特許文献１では、他の学習データとの距離が近いデータほど遅い順番に学習データを与えることにより、以前の学習が打ち消される度合いを少なくして学習の高速化を図ったものが記載されている。
しかし、この特許文献１のものでは、以前の学習の打ち消しを減少させ、学習処理の改善を図ったものの、学習処理だけの改善では、その高速化には限度があった。
また、特許文献２は、特徴マップの初期値としてクラスタの代表値を与え、このクラスタの代表値を与えた出力ノードの結合加重の学習を制御して、特徴マップの形成を制御するものが記載されている。
しかし、特許文献２は、特徴マップの形成を制御するものであり、付加的に学習の高速化が行われるに過ぎないものである。
したがって、これらの学習処理自体の改善に止まらず、上述のように、結合加重をランダムに初期化することによる学習時間の増大を防ぐ方策が必要になってくる。これは、とくに学習データが多い場合や、更新頻度の高い自己組織化ネットワークでは、なおさら重要になる。
【０００６】
この発明は、上述のような課題を解決するためになされたものであり、結合加重の初期値を調整し、学習の高速化を図ることができる自己組織化ネットワークシステムを得ることを目的としている。
【課題を解決するための手段】
【０００７】
この発明に係わる自己組織化ネットワークシステムにおいては、複数の入力ノードを有し、この入力ノードに応じた次元数を有する多次元の学習データが入力される入力層と、複数の出力ノードを有する低次元の出力層と、入力層の各入力ノード及び出力層の各出力ノード間を結合し、それぞれ結合加重を有する複数の結合リンクとにより構成される自己組織化ネットワークを、学習によって結合加重を固定させる自己組織化ネットワークシステムにおいて、各結合リンクにランダムな初期結合加重を与える初期化部、この初期化部により初期結合加重が与えられた結合リンクの結合加重を、入力層に入力された値と距離の近い出力ノードが出力層で近傍になるように交換する初期化加重交換部、及びこの初期化加重交換部により交換された結合加重に基き、入力層に学習データを入力することにより学習を行う学習部を備えたものである。
【発明の効果】
【０００８】
この発明は、以上説明したように、複数の入力ノードを有し、この入力ノードに応じた次元数を有する多次元の学習データが入力される入力層と、複数の出力ノードを有する低次元の出力層と、入力層の各入力ノード及び出力層の各出力ノード間を結合し、それぞれ結合加重を有する複数の結合リンクとにより構成される自己組織化ネットワークを、学習によって結合加重を固定させる自己組織化ネットワークシステムにおいて、各結合リンクにランダムな初期結合加重を与える初期化部、この初期化部により初期結合加重が与えられた結合リンクの結合加重を、入力層に入力された値と距離の近い出力ノードが出力層で近傍になるように交換する初期化加重交換部、及びこの初期化加重交換部により交換された結合加重に基き、入力層に学習データを入力することにより学習を行う学習部を備えたので、初期化加重交換段階をもつことにより、学習に要する時間を大幅に短縮することができる。
【発明を実施するための最良の形態】
【０００９】
実施の形態１．
図１は、この発明の実施の形態１による自己組織化ネットワークシステムを示す構成図である。
図１において、図９のような構成の自己組織化ネットワーク１０を構築する自己組織化ネットワークシステムは、自己組織化ネットワーク１０の結合リンク（ノード間リンク）３の結合加重の初期化を行う初期化部１１と、結合リンク（ノード間リンク）３の結合加重を、学習データを用いることなく結合リンク間で交換する初期化加重交換部１２と、学習データを入力し、学習データを基に、教師なし近傍学習法を用いて、自己組織化ネットワークの結合加重を変更・調整することによって特徴マップを自己組織化する学習部１３と、学習が終った後の結合加重を変更できないように固定し、未知のデータを入力して未知のデータの性質を調べる（後述の検査フェーズを行う）結果表示・操作部１４とにより構成され、自己組織化ネットワーク１０に入力される学習データ１５及び検査データ１６とを有している。
初期化加重交換部１２は、この発明の実施の形態１の特徴を示すものであり、学習手順の初期化段階と学習段階の間に、新しく初期化加重交換段階を加えることにより、勝利ノードの出力層における近傍内に、多次元空間内で距離の近いベクトルを集めるように、結合加重を交換する操作を追加するものである。
なお、自己組織化ネットワーク１０の出力層１は、図９では、２次元のものを示したが、低次元のものを用いることができる。また、入力層２は、図９では、３次元データのものを示したが、多次元のものでもよい。
図２は、この発明の実施の形態１による自己組織化ネットワークシステムの学習手順を示すフローチャートである。
【００１０】
図３は、この発明の実施の形態１による自己組織化ネットワークシステムの近傍の概念を示す説明図である。
図３において、１〜３は図９におけるものと同一のものである。近傍４内のノードである近傍ノードは、学習が進むにつれて縮小され、ハッチングされた勝利ノード５だけを学習するようにする。図３では、近傍４内に３×３個の出力ノードが示されている。
【００１１】
図４は、この発明の実施の形態１による自己組織化ネットワークシステムの結合加重の交換を示すイメージ図である。
図４（ａ）は、出力層１の結合加重をランダムに初期化した直後のイメージであり、交換前の図、図４（ｂ）は、初期化加重交換部での処理を行った直後のイメージであり、交換後の図である。
図４（ａ）では、入力層２の学習データ及び検査データが取り得る範囲１７内のランダムな位置のデータが出力層１のランダムな位置の出力ノードに対応しているため、矢印が交差している。
これに対して図４（ｂ）では、矢印の交差が少なくなり、入力層２の学習データ及び検査データが取り得る範囲１７内で近くに位置するデータが、出力層１においても近くに位置する出力ノードに対応するようになっている。
【００１２】
図５は、この発明の実施の形態１による自己組織化ネットワークシステムの初期化段階を示すフローチャートである。
図６は、この発明の実施の形態１による自己組織化ネットワークシステムの初期化加重交換段階を示すフローチャートである。
図７は、この発明の実施の形態１による自己組織化ネットワークシステムの学習段階を示すフローチャートである。
【００１３】
実施の形態１では、学習時間の短縮のために、図２の手順により、学習を行う。すなわち、図２に示されるように、初期化部１１により結合リンク（ノード間リンク）３の結合加重の初期値をランダムに与える初期化段階（ステップＳ１）、初期化加重交換部１２により、初期化段階によりランダムに与えられた一つの結合リンク（ノード間リンク）３の結合加重を他の結合リンク（ノード間リンク）３の結合加重と交換する初期化加重交換段階（ステップＳ２）、及び学習部１３により、実際の学習データ１５を用いて、後述する教師なし近傍学習を行う学習段階（ステップＳ３）の手順により、学習を行う。
初期化加重交換段階は、学習段階に比べて、極めて短時間で行うことができるので、初期化加重交換段階を含めての学習速度を高速にすることができる。
各ステップの詳細については後述する。
【００１４】
次に、自己組織化ネットワークシステムの概略を説明する。
図１のような自己組織化ネットワークシステムは、学習フェーズと検査フェーズの２つの異なる機能を持つ。
学習フェーズでは、学習データを入力し、学習データを基に初期化部１１、初期化加重交換部１２の処理を経て、学習部１３が教師なし近傍学習法を用いて、自己組織化ネットワークの結合加重を変更・調整することによって特徴マップを自己組織化する。この自己組織化を学習という。
検査フェーズでは、学習フェーズによって結合加重は固定した値となっており、検査データを入力して、検査データが出力層（特徴マップ）上のどのノードに近いかの表示、そのノードに近い学習データの性質の表示、近くのノードの性質の表示などを行うことにより、検査データの性質を知ることができる。
【００１５】
ここで、用いる教師なし近傍学習法の概略を説明するため、まず、用語として、距離関数、近傍、学習係数について説明する。
距離関数とは、ベクトル間の違いを測定するための関数で、多くの場合、式（１）で示すユークリッド距離（最も一般的な距離）の２乗が用いられる。距離の計算は、式（１）の距離関数を用いて行われ、式（１）では、計算結果である距離の値をＳ、結合加重のｉ番目の次元の値をｗｉ、学習データのｉ番目の次元の値をｄｉとしている。
【００１６】
【数１】
2008015881.tif 000003
【００１７】
次に、一つのノードからある範囲内をそのノードの近傍４と呼び、近傍４内のノードを近傍ノードと呼ぶ。図３は、ハッチングされた勝利ノード５の３ｘ３近傍を示しており、近傍ノードは、勝利ノード５を含めて合計９個である。
実際の学習では、はじめは近傍を大きな値にしておき、学習が進むにしたがってだんだん減少させて、最終的には図３のハッチングした勝利ノード５一つだけを学習するように減少させる。
【００１８】
学習係数は、学習の強さを調節する係数である。学習係数が１の場合は、学習後、結合加重と学習データが同じ値となり、学習係数が０の場合は、結合加重に変化は起こらない。学習は、式（２）の学習式にしたがって行われる。ここで、学習後の結合加重の値をｗi+1、学習前の結合加重の値をｗi、学習データをｄi、学習係数をａとする。
実際の学習では、はじめは学習係数を１以下の大きな値にしておき、学習が進むにしたがって、だんだん０に近い値に減少させる。
【００１９】
ｗｉ＋１＝ｗｉ＋ａ（ｄｉ−ｗｉ）    ………（２）
【００２０】
教師なし近傍学習とは、教師なし学習であって、かつ近傍学習であるということである。教師なし学習とは、学習データに対して望ましい結果を与えない、外部から教師信号を与えない学習で、学習データのみを用いて行う学習方法である。
近傍学習とは、学習データに最も近い出力ノードだけでなく、その近傍の出力ノードも同時に学習を行う学習方法である。この二つの学習方法を組み合わせた学習方法が教師なし近傍学習法である。
【００２１】
次に、図２の学習の各手順について詳細に説明する。
まず、図２のステップＳ１の初期化段階について、図５に基き説明する。
ステップＳ１１で、近傍の初期値を決める。次いで、ステップＳ１２で、学習係数の初期値を決める。ステップＳ１３で、全ての結合加重に対して、値のとりうる範囲内でばらばらの値を与える（ランダムに初期化する）。次いで、ステップＳ１４で、全ての学習データを未処理とする。
これにより、初期化が行われる。
【００２２】
次いで、図２のステップＳ２の初期化加重交換段階について、図６に基き説明する。
ステップＳ２１で、全ての出力ノードを未処理とする。
（ループ１）
ステップＳ２２で、未処理の出力ノードの中から一つを選択し、その出力ノードが結合加重としてもっているベクトル値を入力層に入力し、その出力ノードを処理済とする。次いで、ステップＳ２３で、全ての出力ノードに対して、出力ノードが結合加重としてもっているベクトル値と入力されたベクトル値との距離を距離関数である式（１）にしたがって計算する。ステップＳ２４で、計算された距離が最も小さい出力ノードを選び勝利ノードとし、勝利ノードの近傍内の近傍ノードを未処理とする。
【００２３】
（ループ２）
ステップＳ２５で、勝利ノードの近傍内から未処理の近傍ノードを選び、その近傍ノードを処理済とする。次いで、ステップＳ２６で、選ばれた近傍ノードの結合加重と、ステップＳ２３で計算された距離が、次に近い出力ノードの結合加重とを交換する。次いで、ステップＳ２７で、未処理の近傍ノードが残っているかどうかを調べ、残っている場合は、ループ２のステップＳ２５に戻って同様の交換を行う。
ステップＳ２７で、全ての近傍ノードが処理済の場合は、ステップＳ２８で、あらかじめ定められた個数の出力ノードを選択し、処理したかどうかを調べ、あらかじめ定められた個数を処理していない場合は、ループ１のステップＳ２２に戻って同様の交換を行う。
ステップＳ２８で、あらかじめ定められた個数の出力ノードを選択し、処理した場合は、ステップＳ２９で、終了条件を調べる。ステップＳ２９で、終了条件を満たしていなければ、ステップＳ３０で、近傍を小さくし、全ての出力ノードを未処理としてループ１に戻って交換を続ける。
ステップＳ２９で、終了条件を満たしていれば、結合加重の交換を終了する。
【００２４】
ここで、終了条件とは、近傍領域が１つのノードを示す大きさまで小さくなった、あるいは必要な回数の交換が行われた、などである。
【００２５】
次に、図２のステップＳ３の学習段階について、図７に基き説明する。
（ループ１）
ステップＳ３１で、未処理の学習データの一つを入力層に入力し、その学習データを処理済とする。次いで、ステップＳ３２で、全ての出力ノードに対して、出力ノードが結合加重としてもっているベクトルと入力された学習データとの距離を、距離関数である式（１）にしたがって計算する。ステップＳ３３で、計算結果、距離が最も小さい出力ノードを選び勝利ノードとする。次いで、ステップＳ３４で、勝利ノードがもっているベクトル値を学習式（２）にしたがって変更する（学習する）。
【００２６】
（ループ２）
ステップＳ３５で、勝利ノードの近傍内から未処理の出力ノード（近傍ノード）を選び、その近傍ノードを処理済とする。ステップＳ３６で、選ばれた近傍ノードがもっているベクトル値を学習式（２）にしたがって変更する（学習する）。
次いで、ステップＳ３７で、未処理の近傍ノードが残っているか調べ、残っている場合は、ループ２のステップＳ３５に戻って同様の学習を行う。
ステップＳ３７で、全ての近傍ノードが処理済の場合は、ステップＳ３８で、未処理の学習データが残っているかどうかを調べ、残っている場合は、ループ１のステップＳ３１に戻って同様の学習を行う。
ステップＳ３８で、全ての学習データが処理済の場合は、ステップＳ３９で、終了条件を調べる。ステップＳ３９で、終了条件を満たしていなければ、ステップＳ４０で、近傍と学習係数を少し小さくし、全ての学習データを未処理としてループ１のステップＳ３１に戻って学習を続ける。
ステップＳ３９で、終了条件を満たしていれば、学習を終了する。
【００２７】
ここで、終了条件は、
・学習データとそれに対応する勝利ノードのうち最も遠いものの距離が予め定めておいた値より小さい。
・予め定めておいた回数の学習を行った。
などの内のひとつ、またはこれらを複合して判定する。
【００２８】
実施の形態１によれば、初期化加重交換段階をもつことにより、学習に要する時間を大幅に短縮することができる。
結合リンク間の結合加重を交換するという簡単な処理である初期化加重交換処理を加えることによって、学習速度が高速になる。実験では、初期化加重交換処理を含めても、１．３倍程度の高速化の可能性が示された。
したがって、学習データが多い場合や、更新頻度の高い自己組織化ネットワークでは、とくに効果がある。
【００２９】
実施の形態２．
図８は、この発明の実施の形態２による自己組織化ネットワークシステムの初期化加重交換処理のデータ数に対する平均移動距離を示す図である。
図８では、処理した出力ノードの数であるデータ数を横軸にし、結合加重が学習段階の学習終了後に初期値からどれだけ移動しているかを測定して、全出力ノードの平均をとった平均移動距離を縦軸にし、いずれも百分率で表している。
グラフの左側の０パーセントのところは、初期化加重交換処理を行わなかったときの出力ノードの平均移動距離を示し、このときの平均移動距離に比べて、全出力ノードの５パーセントのデータ数を用いて初期化加重交換処理を行ったとき、学習後の出力ノードの平均移動距離が十分少なくなることが読取れる。その分、学習速度が速くなっている。
【００３０】
実施の形態２は、初期化加重交換部１２の初期化加重交換処理に必要な出力ノードの決め方についてのものである。
最も簡単なものは、全出力ノードについて初期化加重交換処理を行うことであり、これによって、次の学習段階の学習速度が高速化される。
出力層（特徴マップ）上の全出力ノード数に比べて処理される出力ノード数が多い場合などは、初期化加重交換処理が特徴マップ上の同じ出力ノードに対して何度も行われることが予想される。これは初期化加重交換処理の速度を遅くする上に、余分な交換による学習速度の向上は期待できないため、全ての出力ノードについて初期化加重交換処理を行う代わりに、少数の出力ノードを選択して初期化加重交換処理行っても同様の学習速度の向上が期待できる。
【００３１】
少数の出力ノードの選択方法として、実験を行ったところ、出力ノードをランダムに選択することにより、図８のような効果を挙げることができた。
【００３２】
実施の形態２によれば、全出力ノードから選択された少数の出力ノードにより、初期化加重交換処理を行っても、学習時間を短縮することができる。
【図面の簡単な説明】
【００３３】
【図１】この発明の実施の形態１による自己組織化ネットワークシステムを示す構成図である。
【図２】この発明の実施の形態１による自己組織化ネットワークシステムの学習手順を示すフローチャートである。
【図３】この発明の実施の形態１による自己組織化ネットワークシステムの近傍の概念を示す説明図である。
【図４】この発明の実施の形態１による自己組織化ネットワークシステムの結合加重の交換を示すイメージ図である。
【図５】この発明の実施の形態１による自己組織化ネットワークシステムの初期化段階を示すフローチャートである。
【図６】この発明の実施の形態１による自己組織化ネットワークシステムの初期化加重交換段階を示すフローチャートである。
【図７】この発明の実施の形態１による自己組織化ネットワークシステムの学習段階を示すフローチャートである。
【図８】この発明の実施の形態２による自己組織化ネットワークシステムの初期化加重交換処理のデータ数に対する平均移動距離を示す図である。
【図９】一般的な自己組織化ネットワークを示す概略図である。
【符号の説明】
【００３４】
１  出力層（特徴マップ）
２  入力層
３  結合リンク（ノード間リンク）
４  近傍
５  勝利ノード
１０  自己組織化ネットワーク
１１  初期化部
１２  初期化加重交換部
１３  学習部
１４  結果表示・操作部
１５  学習データ
１６  検査データ
１７  学習データ及び検査データが取り得る範囲
【図１】
2008015881.tif 000004
【図２】
2008015881.tif 000005
【図３】
2008015881.tif 000006
【図４】
2008015881.tif 000007
【図５】
2008015881.tif 000008
【図６】
2008015881.tif 000009
【図７】
2008015881.tif 000010
【図８】
2008015881.tif 000011
【図９】
2008015881.tif 000012