トップ :: G 物理学 :: G06 計算;計数

【発明の名称】 自己組織化ネットワークシステム
【発明者】 【氏名】三好 力

【要約】 【課題】結合加重の初期値を調整し、学習の高速化を図ることができる自己組織化ネットワークシステムを得る。

【構成】自己組織化ネットワーク10の入力層と出力層を結合する各結合リンク(ノード間リンク)に、初期化部11によってランダムな初期結合加重を与え、次に初期化加重交換部12により、初期化部11により初期結合加重が与えられた結合リンク(ノード間リンク)の結合加重を、入力層に入力されたベクトル値と距離の近い出力ノードが出力層で近傍になるように交換し、次いで、学習部13により、初期化加重交換部12により結合加重が交換された状態で、入力層に学習データ15を入力することにより学習を行うようにした。
【特許請求の範囲】
【請求項1】
複数の入力ノードを有し、この入力ノードに応じた次元数を有する多次元の学習データが入力される入力層と、複数の出力ノードを有する低次元の出力層と、上記入力層の各入力ノード及び上記出力層の各出力ノード間を結合し、それぞれ結合加重を有する複数の結合リンクとにより構成される自己組織化ネットワークを、学習によって上記結合加重を固定させる自己組織化ネットワークシステムにおいて、上記各結合リンクにランダムな初期結合加重を与える初期化部、この初期化部により初期結合加重が与えられた結合リンクの上記結合加重を、上記入力層に入力された値と距離の近い出力ノードが上記出力層で近傍になるように交換する初期化加重交換部、及びこの初期化加重交換部により交換された結合加重に基き、上記入力層に学習データを入力することにより学習を行う学習部を備えたことを特徴とする自己組織化ネットワークシステム。
【請求項2】
上記初期化加重交換部は、上記出力層の出力ノードを選択することにより、この選択された出力ノードが有する結合加重を上記入力層に入力された値とすることを特徴とする請求項1記載の自己組織化ネットワークシステム。
【請求項3】
上記初期化加重交換部は、上記出力ノードの選択を所定回数行うことを特徴とする請求項2記載の自己組織化ネットワークシステム。
【発明の詳細な説明】【技術分野】
【0001】
この発明は、学習を高速化した自己組織化ネットワークシステムに関するものである。
【背景技術】
【0002】
一般に、自己組織化ネットワークは、図9のように、2層構造を持っている。
図9は、一般的な自己組織化ネットワークを示す概略図であり、5×5個の出力ノードをもつ出力層、3次元入力データの場合を示している。
図9において、出力層1は、多くの場合2次元のマップ状に出力ノードが配置されており、特徴マップと呼ばれることもある。入力層2には、取り扱うデータの次元数と同じ数の入力ノードが配置されている。出力層1の一つの出力ノードに着目すると、全ての入力ノードと結合しており、入力層2の一つの入力ノードに着目すると、全ての出力ノードと結合している。全ての結合リンク(ノード間リンク)3には、結合加重が割り振られている。
出力層1の出力ノード同士は、特徴マップ上の位置が定まっているが結合はない。したがって、出力層1の全ての出力ノードは、取り扱うデータと同じ次元数の結合加重を持っている。入力データを複数の値からなるベクトルと考えると、各出力ノードは、それぞれ同じ次元数のベクトルを持っていると考えることができる。
自己組織化ネットワークを、結合加重を教師なし近傍学習という手法で、自動的に調整することによって、学習データを分類可能な特徴マップを自動的に生成する自己組織化ネットワークシステムを構築することができる。
この結合加重が調整された自己組織化ネットワークは、例えば健康診断などの診断や、認識など、広範囲の技術分野での利用が期待されている。
【0003】
【特許文献1】特開2004−252923号公報(第2〜3頁、図1)
【特許文献2】特開2004−318700号公報(第3〜4頁、図1)
【発明の開示】
【発明が解決しようとする課題】
【0004】
自己組織化ネットワークでは、既存技術の学習手順の初期化段階で、全ての結合加重に対して、ランダムに初期化している。これは、出力層1にある出力ノード全体では、入力ベクトルがとりうる多次元空間内のランダムな位置に各出力ノードの持つベクトルを配置することであり、未知の学習データに対応するための初期値として理にかなっている。
しかし、出力層1における出力ノード間の関係もランダムであるため、出力層1で隣り合っている出力ノードが持つベクトルは、多次元空間内では非常に離れた点であり、出力層1では遠く離れた出力ノードが多次元空間内では隣り合っているということが頻発する。
これは、特に学習の初期において、学習時間の増大を招くという問題があった。
【0005】
学習の高速化は、学習データが多い場合や、更新頻度の高い自己組織化ネットワークでは、とくに重要になる。この学習の高速化を図るために従来から種々の研究が行われてきた。
例えば、特許文献1では、他の学習データとの距離が近いデータほど遅い順番に学習データを与えることにより、以前の学習が打ち消される度合いを少なくして学習の高速化を図ったものが記載されている。
しかし、この特許文献1のものでは、以前の学習の打ち消しを減少させ、学習処理の改善を図ったものの、学習処理だけの改善では、その高速化には限度があった。
また、特許文献2は、特徴マップの初期値としてクラスタの代表値を与え、このクラスタの代表値を与えた出力ノードの結合加重の学習を制御して、特徴マップの形成を制御するものが記載されている。
しかし、特許文献2は、特徴マップの形成を制御するものであり、付加的に学習の高速化が行われるに過ぎないものである。
したがって、これらの学習処理自体の改善に止まらず、上述のように、結合加重をランダムに初期化することによる学習時間の増大を防ぐ方策が必要になってくる。これは、とくに学習データが多い場合や、更新頻度の高い自己組織化ネットワークでは、なおさら重要になる。
【0006】
この発明は、上述のような課題を解決するためになされたものであり、結合加重の初期値を調整し、学習の高速化を図ることができる自己組織化ネットワークシステムを得ることを目的としている。
【課題を解決するための手段】
【0007】
この発明に係わる自己組織化ネットワークシステムにおいては、複数の入力ノードを有し、この入力ノードに応じた次元数を有する多次元の学習データが入力される入力層と、複数の出力ノードを有する低次元の出力層と、入力層の各入力ノード及び出力層の各出力ノード間を結合し、それぞれ結合加重を有する複数の結合リンクとにより構成される自己組織化ネットワークを、学習によって結合加重を固定させる自己組織化ネットワークシステムにおいて、各結合リンクにランダムな初期結合加重を与える初期化部、この初期化部により初期結合加重が与えられた結合リンクの結合加重を、入力層に入力された値と距離の近い出力ノードが出力層で近傍になるように交換する初期化加重交換部、及びこの初期化加重交換部により交換された結合加重に基き、入力層に学習データを入力することにより学習を行う学習部を備えたものである。
【発明の効果】
【0008】
この発明は、以上説明したように、複数の入力ノードを有し、この入力ノードに応じた次元数を有する多次元の学習データが入力される入力層と、複数の出力ノードを有する低次元の出力層と、入力層の各入力ノード及び出力層の各出力ノード間を結合し、それぞれ結合加重を有する複数の結合リンクとにより構成される自己組織化ネットワークを、学習によって結合加重を固定させる自己組織化ネットワークシステムにおいて、各結合リンクにランダムな初期結合加重を与える初期化部、この初期化部により初期結合加重が与えられた結合リンクの結合加重を、入力層に入力された値と距離の近い出力ノードが出力層で近傍になるように交換する初期化加重交換部、及びこの初期化加重交換部により交換された結合加重に基き、入力層に学習データを入力することにより学習を行う学習部を備えたので、初期化加重交換段階をもつことにより、学習に要する時間を大幅に短縮することができる。
【発明を実施するための最良の形態】
【0009】
実施の形態1.
図1は、この発明の実施の形態1による自己組織化ネットワークシステムを示す構成図である。
図1において、図9のような構成の自己組織化ネットワーク10を構築する自己組織化ネットワークシステムは、自己組織化ネットワーク10の結合リンク(ノード間リンク)3の結合加重の初期化を行う初期化部11と、結合リンク(ノード間リンク)3の結合加重を、学習データを用いることなく結合リンク間で交換する初期化加重交換部12と、学習データを入力し、学習データを基に、教師なし近傍学習法を用いて、自己組織化ネットワークの結合加重を変更・調整することによって特徴マップを自己組織化する学習部13と、学習が終った後の結合加重を変更できないように固定し、未知のデータを入力して未知のデータの性質を調べる(後述の検査フェーズを行う)結果表示・操作部14とにより構成され、自己組織化ネットワーク10に入力される学習データ15及び検査データ16とを有している。
初期化加重交換部12は、この発明の実施の形態1の特徴を示すものであり、学習手順の初期化段階と学習段階の間に、新しく初期化加重交換段階を加えることにより、勝利ノードの出力層における近傍内に、多次元空間内で距離の近いベクトルを集めるように、結合加重を交換する操作を追加するものである。
なお、自己組織化ネットワーク10の出力層1は、図9では、2次元のものを示したが、低次元のものを用いることができる。また、入力層2は、図9では、3次元データのものを示したが、多次元のものでもよい。
図2は、この発明の実施の形態1による自己組織化ネットワークシステムの学習手順を示すフローチャートである。
【0010】
図3は、この発明の実施の形態1による自己組織化ネットワークシステムの近傍の概念を示す説明図である。
図3において、1〜3は図9におけるものと同一のものである。近傍4内のノードである近傍ノードは、学習が進むにつれて縮小され、ハッチングされた勝利ノード5だけを学習するようにする。図3では、近傍4内に3×3個の出力ノードが示されている。
【0011】
図4は、この発明の実施の形態1による自己組織化ネットワークシステムの結合加重の交換を示すイメージ図である。
図4(a)は、出力層1の結合加重をランダムに初期化した直後のイメージであり、交換前の図、図4(b)は、初期化加重交換部での処理を行った直後のイメージであり、交換後の図である。
図4(a)では、入力層2の学習データ及び検査データが取り得る範囲17内のランダムな位置のデータが出力層1のランダムな位置の出力ノードに対応しているため、矢印が交差している。
これに対して図4(b)では、矢印の交差が少なくなり、入力層2の学習データ及び検査データが取り得る範囲17内で近くに位置するデータが、出力層1においても近くに位置する出力ノードに対応するようになっている。
【0012】
図5は、この発明の実施の形態1による自己組織化ネットワークシステムの初期化段階を示すフローチャートである。
図6は、この発明の実施の形態1による自己組織化ネットワークシステムの初期化加重交換段階を示すフローチャートである。
図7は、この発明の実施の形態1による自己組織化ネットワークシステムの学習段階を示すフローチャートである。
【0013】
実施の形態1では、学習時間の短縮のために、図2の手順により、学習を行う。すなわち、図2に示されるように、初期化部11により結合リンク(ノード間リンク)3の結合加重の初期値をランダムに与える初期化段階(ステップS1)、初期化加重交換部12により、初期化段階によりランダムに与えられた一つの結合リンク(ノード間リンク)3の結合加重を他の結合リンク(ノード間リンク)3の結合加重と交換する初期化加重交換段階(ステップS2)、及び学習部13により、実際の学習データ15を用いて、後述する教師なし近傍学習を行う学習段階(ステップS3)の手順により、学習を行う。
初期化加重交換段階は、学習段階に比べて、極めて短時間で行うことができるので、初期化加重交換段階を含めての学習速度を高速にすることができる。
各ステップの詳細については後述する。
【0014】
次に、自己組織化ネットワークシステムの概略を説明する。
図1のような自己組織化ネットワークシステムは、学習フェーズと検査フェーズの2つの異なる機能を持つ。
学習フェーズでは、学習データを入力し、学習データを基に初期化部11、初期化加重交換部12の処理を経て、学習部13が教師なし近傍学習法を用いて、自己組織化ネットワークの結合加重を変更・調整することによって特徴マップを自己組織化する。この自己組織化を学習という。
検査フェーズでは、学習フェーズによって結合加重は固定した値となっており、検査データを入力して、検査データが出力層(特徴マップ)上のどのノードに近いかの表示、そのノードに近い学習データの性質の表示、近くのノードの性質の表示などを行うことにより、検査データの性質を知ることができる。
【0015】
ここで、用いる教師なし近傍学習法の概略を説明するため、まず、用語として、距離関数、近傍、学習係数について説明する。
距離関数とは、ベクトル間の違いを測定するための関数で、多くの場合、式(1)で示すユークリッド距離(最も一般的な距離)の2乗が用いられる。距離の計算は、式(1)の距離関数を用いて行われ、式(1)では、計算結果である距離の値をS、結合加重のi番目の次元の値をw、学習データのi番目の次元の値をdとしている。
【0016】
【数1】


【0017】
次に、一つのノードからある範囲内をそのノードの近傍4と呼び、近傍4内のノードを近傍ノードと呼ぶ。図3は、ハッチングされた勝利ノード5の3x3近傍を示しており、近傍ノードは、勝利ノード5を含めて合計9個である。
実際の学習では、はじめは近傍を大きな値にしておき、学習が進むにしたがってだんだん減少させて、最終的には図3のハッチングした勝利ノード5一つだけを学習するように減少させる。
【0018】
学習係数は、学習の強さを調節する係数である。学習係数が1の場合は、学習後、結合加重と学習データが同じ値となり、学習係数が0の場合は、結合加重に変化は起こらない。学習は、式(2)の学習式にしたがって行われる。ここで、学習後の結合加重の値をwi+1、学習前の結合加重の値をwi、学習データをdi、学習係数をaとする。
実際の学習では、はじめは学習係数を1以下の大きな値にしておき、学習が進むにしたがって、だんだん0に近い値に減少させる。
【0019】
i+1=w+a(d−w) ………(2)
【0020】
教師なし近傍学習とは、教師なし学習であって、かつ近傍学習であるということである。教師なし学習とは、学習データに対して望ましい結果を与えない、外部から教師信号を与えない学習で、学習データのみを用いて行う学習方法である。
近傍学習とは、学習データに最も近い出力ノードだけでなく、その近傍の出力ノードも同時に学習を行う学習方法である。この二つの学習方法を組み合わせた学習方法が教師なし近傍学習法である。
【0021】
次に、図2の学習の各手順について詳細に説明する。
まず、図2のステップS1の初期化段階について、図5に基き説明する。
ステップS11で、近傍の初期値を決める。次いで、ステップS12で、学習係数の初期値を決める。ステップS13で、全ての結合加重に対して、値のとりうる範囲内でばらばらの値を与える(ランダムに初期化する)。次いで、ステップS14で、全ての学習データを未処理とする。
これにより、初期化が行われる。
【0022】
次いで、図2のステップS2の初期化加重交換段階について、図6に基き説明する。
ステップS21で、全ての出力ノードを未処理とする。
(ループ1)
ステップS22で、未処理の出力ノードの中から一つを選択し、その出力ノードが結合加重としてもっているベクトル値を入力層に入力し、その出力ノードを処理済とする。次いで、ステップS23で、全ての出力ノードに対して、出力ノードが結合加重としてもっているベクトル値と入力されたベクトル値との距離を距離関数である式(1)にしたがって計算する。ステップS24で、計算された距離が最も小さい出力ノードを選び勝利ノードとし、勝利ノードの近傍内の近傍ノードを未処理とする。
【0023】
(ループ2)
ステップS25で、勝利ノードの近傍内から未処理の近傍ノードを選び、その近傍ノードを処理済とする。次いで、ステップS26で、選ばれた近傍ノードの結合加重と、ステップS23で計算された距離が、次に近い出力ノードの結合加重とを交換する。次いで、ステップS27で、未処理の近傍ノードが残っているかどうかを調べ、残っている場合は、ループ2のステップS25に戻って同様の交換を行う。
ステップS27で、全ての近傍ノードが処理済の場合は、ステップS28で、あらかじめ定められた個数の出力ノードを選択し、処理したかどうかを調べ、あらかじめ定められた個数を処理していない場合は、ループ1のステップS22に戻って同様の交換を行う。
ステップS28で、あらかじめ定められた個数の出力ノードを選択し、処理した場合は、ステップS29で、終了条件を調べる。ステップS29で、終了条件を満たしていなければ、ステップS30で、近傍を小さくし、全ての出力ノードを未処理としてループ1に戻って交換を続ける。
ステップS29で、終了条件を満たしていれば、結合加重の交換を終了する。
【0024】
ここで、終了条件とは、近傍領域が1つのノードを示す大きさまで小さくなった、あるいは必要な回数の交換が行われた、などである。
【0025】
次に、図2のステップS3の学習段階について、図7に基き説明する。
(ループ1)
ステップS31で、未処理の学習データの一つを入力層に入力し、その学習データを処理済とする。次いで、ステップS32で、全ての出力ノードに対して、出力ノードが結合加重としてもっているベクトルと入力された学習データとの距離を、距離関数である式(1)にしたがって計算する。ステップS33で、計算結果、距離が最も小さい出力ノードを選び勝利ノードとする。次いで、ステップS34で、勝利ノードがもっているベクトル値を学習式(2)にしたがって変更する(学習する)。
【0026】
(ループ2)
ステップS35で、勝利ノードの近傍内から未処理の出力ノード(近傍ノード)を選び、その近傍ノードを処理済とする。ステップS36で、選ばれた近傍ノードがもっているベクトル値を学習式(2)にしたがって変更する(学習する)。
次いで、ステップS37で、未処理の近傍ノードが残っているか調べ、残っている場合は、ループ2のステップS35に戻って同様の学習を行う。
ステップS37で、全ての近傍ノードが処理済の場合は、ステップS38で、未処理の学習データが残っているかどうかを調べ、残っている場合は、ループ1のステップS31に戻って同様の学習を行う。
ステップS38で、全ての学習データが処理済の場合は、ステップS39で、終了条件を調べる。ステップS39で、終了条件を満たしていなければ、ステップS40で、近傍と学習係数を少し小さくし、全ての学習データを未処理としてループ1のステップS31に戻って学習を続ける。
ステップS39で、終了条件を満たしていれば、学習を終了する。
【0027】
ここで、終了条件は、
・学習データとそれに対応する勝利ノードのうち最も遠いものの距離が予め定めておいた値より小さい。
・予め定めておいた回数の学習を行った。
などの内のひとつ、またはこれらを複合して判定する。
【0028】
実施の形態1によれば、初期化加重交換段階をもつことにより、学習に要する時間を大幅に短縮することができる。
結合リンク間の結合加重を交換するという簡単な処理である初期化加重交換処理を加えることによって、学習速度が高速になる。実験では、初期化加重交換処理を含めても、1.3倍程度の高速化の可能性が示された。
したがって、学習データが多い場合や、更新頻度の高い自己組織化ネットワークでは、とくに効果がある。
【0029】
実施の形態2.
図8は、この発明の実施の形態2による自己組織化ネットワークシステムの初期化加重交換処理のデータ数に対する平均移動距離を示す図である。
図8では、処理した出力ノードの数であるデータ数を横軸にし、結合加重が学習段階の学習終了後に初期値からどれだけ移動しているかを測定して、全出力ノードの平均をとった平均移動距離を縦軸にし、いずれも百分率で表している。
グラフの左側の0パーセントのところは、初期化加重交換処理を行わなかったときの出力ノードの平均移動距離を示し、このときの平均移動距離に比べて、全出力ノードの5パーセントのデータ数を用いて初期化加重交換処理を行ったとき、学習後の出力ノードの平均移動距離が十分少なくなることが読取れる。その分、学習速度が速くなっている。
【0030】
実施の形態2は、初期化加重交換部12の初期化加重交換処理に必要な出力ノードの決め方についてのものである。
最も簡単なものは、全出力ノードについて初期化加重交換処理を行うことであり、これによって、次の学習段階の学習速度が高速化される。
出力層(特徴マップ)上の全出力ノード数に比べて処理される出力ノード数が多い場合などは、初期化加重交換処理が特徴マップ上の同じ出力ノードに対して何度も行われることが予想される。これは初期化加重交換処理の速度を遅くする上に、余分な交換による学習速度の向上は期待できないため、全ての出力ノードについて初期化加重交換処理を行う代わりに、少数の出力ノードを選択して初期化加重交換処理行っても同様の学習速度の向上が期待できる。
【0031】
少数の出力ノードの選択方法として、実験を行ったところ、出力ノードをランダムに選択することにより、図8のような効果を挙げることができた。
【0032】
実施の形態2によれば、全出力ノードから選択された少数の出力ノードにより、初期化加重交換処理を行っても、学習時間を短縮することができる。
【図面の簡単な説明】
【0033】
【図1】この発明の実施の形態1による自己組織化ネットワークシステムを示す構成図である。
【図2】この発明の実施の形態1による自己組織化ネットワークシステムの学習手順を示すフローチャートである。
【図3】この発明の実施の形態1による自己組織化ネットワークシステムの近傍の概念を示す説明図である。
【図4】この発明の実施の形態1による自己組織化ネットワークシステムの結合加重の交換を示すイメージ図である。
【図5】この発明の実施の形態1による自己組織化ネットワークシステムの初期化段階を示すフローチャートである。
【図6】この発明の実施の形態1による自己組織化ネットワークシステムの初期化加重交換段階を示すフローチャートである。
【図7】この発明の実施の形態1による自己組織化ネットワークシステムの学習段階を示すフローチャートである。
【図8】この発明の実施の形態2による自己組織化ネットワークシステムの初期化加重交換処理のデータ数に対する平均移動距離を示す図である。
【図9】一般的な自己組織化ネットワークを示す概略図である。
【符号の説明】
【0034】
1 出力層(特徴マップ)
2 入力層
3 結合リンク(ノード間リンク)
4 近傍
5 勝利ノード
10 自己組織化ネットワーク
11 初期化部
12 初期化加重交換部
13 学習部
14 結果表示・操作部
15 学習データ
16 検査データ
17 学習データ及び検査データが取り得る範囲
【出願人】 【識別番号】504150461
【氏名又は名称】国立大学法人鳥取大学
【出願日】 平成18年7月7日(2006.7.7)
【代理人】 【識別番号】100073759
【弁理士】
【氏名又は名称】大岩 増雄


【公開番号】 特開2008−15881(P2008−15881A)
【公開日】 平成20年1月24日(2008.1.24)
【出願番号】 特願2006−187957(P2006−187957)