本発明は、人工ニューラルネットワーク構造に係り、とりわけ、構成の柔軟性及び学習の容易性に優れた新しいネットワーク形態を備えた相互結合型ニューラルネットワークシステム、相互結合型ニューラルネットワーク構造の構築方法、自己組織化ニューラルネットワーク構造の構築方法及びそれらの構築プログラムに関する。
従来の人工ニューラルネットワーク構造としては、単一の入力ベクトルを入力とする階層型ネットワーク等の固定的なネットワーク形態において、ウェイトベクトル等のネットワークパラメータの調整を行うものが一般的である。ここで、ネットワークパラメータの調整を行う手法としては、ネットワークパラメータを逐次的に更新する誤差逆伝播(backpropagation)法が広く用いられている(非特許文献1)。
しかしながら、上述した従来の人工ニューラルネットワーク構造では、ネットワークパラメータの調整を行う手法として、誤差逆伝播法のような、ネットワークパラメータを逐次的に更新していく逐次型の学習アルゴリズム(iterative training scheme)が用いられているので、(1)入出力の結び付けがきちんと行われるまでのネットワークパラメータの更新に多大な時間がかかる、(2)ネットワークパラメータを更新した結果得られる解が局所解(local minima)に陥りやすく、正しい解が得られにくい、(3)ロバストな追加学習法を実現することが困難である、という問題がある。
また、上述したような従来の人工ニューラルネットワーク構造では、構成の柔軟性が乏しく、複数の入力ベクトルを扱うことができるような実際上有用な手法が確立されていないという問題がある。
なお、人工ニューラルネットワーク構造において複数の入力ベクトルを扱うための従来の手法としては、様々なニューラルネットワーク(もしくはエージェント)をモジュール化してそれらを統合するというようなアプローチ(modular approach)が考えられている(非特許文献2)。
しかしながら、このような手法でも、一つ一つのネットワークモジュールについては、従来のものと同様に、逐次的な学習アルゴリズムをベースにした、ネットワーク形態の固定された人工ニューラルネットワーク構造が用いられるので、上述したような本質的な問題が依然として存在している。
D. E. Rumelhart, G. E. Hinton, and R. J. Williams, "Learning internal representations by error propagation," In D. E. Rumelhart and J. L. McClelland (Eds.), Parallel Distributed Processing: explorations in the microstructure of cognition, 1, Chapter 8, Cambridge, MA, MIT Press, 1986.
S. Haykin, "Neural Networks: A Comprehensive Foundation," Macmillan College Publishing Co. Inc., N.Y., 1994.
このような背景の下で、本発明者は先に、ラジアル基底関数(RBF:Radial Basis Function)に従って入力ベクトルとセントロイドベクトルとの類似度に応じた発火の強さを出力するRBFニューラルネットワーク構造(文献:『S. Haykin, “Neural networks: A Comprehensive Foundation,” Macmillan College Publishing Co. Inc., N.Y., 1994.』参照)を応用した新規なニューラルネットワーク構造を提案している(特願2001−291235号参照)。また、本発明者は、RBFニューラルネットワーク構造に含まれる各RBF素子同士を連携させて記憶連鎖の機能を実現する手法を提案している(特願2002−100223号参照)。
本発明は、上記特願2001−291235号及び特願2002−100223号で提案した方法をさらに発展させたものであり、複数の入力ベクトルを入力とするようなネットワーク形態を自在にとることができ、かつ、人工ニューラルネットワーク構造の追加学習も容易に行うことができる、相互結合型ニューラルネットワークシステム、相互結合型ニューラルネットワーク構造の構築方法、自己組織化ニューラルネットワーク構造の構築方法及びそれらの構築プログラムを提供することを目的とする。
本発明は、第1の解決手段として、核関数に従って入力ベクトルとセントロイドベクトルとの類似度に応じた発火の強さを出力する複数のニューロンを含むニューラルネットワーク部と、前記ニューラルネットワーク部の前記各ニューロンのうち互いに関係のあるニューロン同士をウェイト係数を介して相互に結合することにより人工ニューラルネットワーク構造を構築するネットワーク制御部とを備え、前記ニューラルネットワーク部の前記各ニューロンは、当該各ニューロンが外部から与えられた入力ベクトルにより活性化されたときに、核関数に従って入力ベクトルとセントロイドベクトルとの類似度に応じた発火の強さを出力する一方で、当該各ニューロンが当該各ニューロンに結合された他のニューロンの発火に起因して連鎖的に活性化されたときに、当該他のニューロンから出力された発火の強さに基づいて得られた擬似的な発火の強さを出力することを特徴とする相互結合型ニューラルネットワークシステムを提供する。
なお、上述した第1の解決手段において、前記ニューラルネットワーク部の前記各ニューロンは、相互に結合された他のニューロンの発火に起因して連鎖的に活性化されたときに、前記擬似的な発火の強さとともに当該各ニューロンのセントロイドベクトルを出力することが好ましい。
また、上述した第1の解決手段において、前記ネットワーク制御部は、前記ニューラルネットワーク部に外部から与えられる複数の入力ベクトルに関連して時系列的に追加又は発火したニューロンの順序に基づいて、前記ニューラルネットワーク部の前記各ニューロンのうち互いに関係のあるニューロン同士を相互に結合することが好ましい。
さらに、上述した第1の解決手段において、前記ネットワーク制御部は、前記ニューラルネットワーク部の前記各ニューロンの発火の度合いに基づいて当該各ニューロン間を結び付けるウェイト係数を学習することが好ましい。
さらに、上述した第1の解決手段において、前記ネットワーク制御部は、前記ニューラルネットワーク部の前記各ニューロンの発火の度合いに基づいて決定される所定のタイミングで当該各ニューロンを除去することが好ましい。
さらにまた、上述した第1の解決手段において、前記ニューラルネットワーク部の前記各ニューロンは、前記セントロイドベクトルとして時系列的な推移を考慮した行列形式のセントロイドデータを用いる中間層ニューロンであり、当該各中間層ニューロンに結合された出力層ニューロンにおいて、前記各中間層ニューロンから出力された発火の強さの変遷を時系列的に出力することが好ましい。
本発明は、第2の解決手段として、核関数に従って入力ベクトルとセントロイドベクトルとの類似度に応じた発火の強さを出力する複数のニューロンからなる人工ニューラルネットワーク構造であって、前記各ニューロンのうち互いに関係のあるニューロン同士がウェイト係数を介して相互に結合された人工ニューラルネットワーク構造を準備するステップと、前記各ニューロンの発火の度合いに基づいて当該各ニューロン間を結び付けるウェイト係数を学習するステップとを含むことを特徴とする、相互結合型ニューラルネットワーク構造の構築方法を提供する。
なお、上述した第2の解決手段においては、前記人工ニューラルネットワーク構造を準備するステップにおいて、外部から与えられる複数の入力ベクトルに関連して時系列的に追加又は発火したニューロンの順序に基づいて、前記各ニューロンのうち互いに関係のあるニューロン同士を相互に結合することが好ましい。
また、上述した第2の解決手段においては、前記各ニューロンの発火の度合いに基づいて決定される所定のタイミングで当該各ニューロンを除去するステップをさらに含むことが好ましい。
本発明は、第3の解決手段として、核関数に従って入力ベクトルとセントロイドベクトルとの類似度に応じた発火の強さを出力する複数のニューロンからなる自己組織化ニューラルネットワーク構造であって、前記各ニューロンのうち互いに関係のあるニューロン同士が入力ベクトルに基づいて自律的に結合されてなる自己組織化ニューラルネットワーク構造を構築する、自己組織化ニューラルネットワーク構造の構築方法において、外部から入力された1番目の入力ベクトルに基づいて、当該入力ベクトルを核関数のセントロイドベクトルとして持つニューロンを新たなニューロンとして自己組織化ニューラルネットワーク構造内に追加する第1のステップと、外部から入力されたn(nは2以上の整数)番目の入力ベクトルのそれぞれに基づいて、以下の(a)〜(c)の処理、すなわち、(a)外部から入力されたn番目の入力ベクトルに基づいて、自己組織化ニューラルネットワーク構造内の全てのニューロンの発火の度合いを計算する処理、(b)上記(a)の処理において自己組織化ニューラルネットワーク構造内の一つ又は複数のニューロンの中に所定の閾値を越えて活性化したニューロンがないと判断された場合に、n番目の入力ベクトルを核関数のセントロイドベクトルとして持つニューロンを新たなニューロンとして自己組織化ニューラルネットワーク構造内に追加する処理、及び(c)自己組織化ニューラルネットワーク構造内の各ニューロンの発火の度合いに基づいて当該各ニューロン間を結び付けるウェイト係数の形成及び/又は既存のウェイト係数の学習を行う処理、を繰り返す第2のステップとを含むことを特徴とする、自己組織化ニューラルネットワーク構造の構築方法を提供する。
なお、上述した第3の解決手段においては、前記第2のステップにおいて、(d)前記自己組織化ニューラルネットワーク構造内の各ニューロンの発火の度合いに基づいて不要となったニューロンを除去する処理をさらに行うことが好ましい。
また、上述した第3の解決手段においては、前記自己組織化ニューラルネットワーク構造内の各ニューロンは最終的な出力値に関連するクラスラベルを保持し、前記第2のステップの前記(c)の処理において、前記自己組織化ニューラルネットワーク構造内の各ニューロンが持つクラスラベルが同一である場合にのみ当該各ニューロンの発火の度合いに基づいて当該各ニューロン間を結び付けるウェイト係数の形成及び/又は既存のウェイト係数の学習を行うことが好ましい。
さらに、上述した第3の解決手段において、前記自己組織化ニューラルネットワーク構造内の各ニューロンは、単一のモダリティ(例えば聴覚モダリティ又は視覚モダリティ)を持っていてもよく、また、互いに異なる複数のモダリティ(例えば聴覚モダリティ及び視覚モダリティの両方)を持っていてもよい。
なお、上述した第3の解決手段において、前記各ニューロンで用いられる前記核関数はラジアル基底関数を含むことが好ましい。
本発明は、第4の解決手段として、上述した第2の解決手段又は第3の解決手段における方法をコンピュータに対して実行させることを特徴とする、相互結合型ニューラルネットワーク構造又は自己組織化ニューラルネットワーク構造の構築プログラムを提供する。
本発明は、第5の解決手段として、核関数に従って入力ベクトルとセントロイドベクトルとの類似度に応じた発火の強さを出力する複数の中間層ニューロンであって、前記セントロイドベクトルとして時系列的な推移を考慮した行列形式のセントロイドデータを用いる複数の中間層ニューロンと、前記各中間層ニューロンに結合された出力層ニューロンであって、前記各中間層ニューロンから出力された発火の強さの変遷を時系列的に出力する出力層ニューロンとを備えたことを特徴とする相互結合型ニューラルネットワークシステムを提供する。
なお、上述した第1乃至第5の解決手段における核関数(カーネル関数)とは、ある2つのベクトルの関係を出力する関数をいう(文献:『N. Cristianini and J. S. Taylor, "An Introduction to Support Vector Machines, Cambridge Univ. Press, 2000.』参照)。このような核関数としては任意のものを用いることができるが、2つのベクトルの相互関係を距離で表してその度合いをスカラー形式で出力するようなガウス関数等に基づくラジアル基底関数や、ノルムを利用した関数、2つベクトルの間の内積を利用した関数、イパネクニコフ平方(Epanechinikov quadratic)や立方(Tri-cube)を利用した関数等が一般的に好ましく用いられる。
本発明の第1乃至第4の解決手段によれば、各ニューロンのうち互いに関係のあるニューロン同士をウェイト係数を介して相互に結合することにより人工ニューラルネットワーク構造を構築し、各ニューロンは、外部から与えられた入力ベクトルにより活性化されたときに、核関数に従って入力ベクトルとセントロイドベクトルとの類似度に応じた発火の強さを出力する一方で、当該各ニューロンに結合された他のニューロンの発火に起因して連鎖的に活性化されたときに、当該他のニューロンから出力された発火の強さに基づいて得られた擬似的な発火の強さを出力するようにしている。このため、1つのニューロンが複数のネットワークに跨って属することが可能となり、また、複数のニューロンを任意のネットワーク形態で結合することが可能となるので、単一の入力ベクトルを入力とする従来の固定的なネットワーク形態とは異なり、複数の入力ベクトルを自在に扱うことが可能で、かつ、構成の変更等を柔軟に行うことができる。またこの場合、ニューロンがモダリティの異なる複数のネットワークに跨って属することが可能となるので、聴覚モダリティ及び視覚モダリティのような互いに異なる複数のモダリティを持つ入力ベクトルを自在に扱うことが可能となり、シングルドメインのパターン認識に限らずマルチドメインのパターン認識にも幅広く適用することが可能となる。
また、本発明の第1乃至第4の解決手段によれば、相互に結合されたニューロン間を結び付けるウェイト係数を更新することにより学習を行うので、人工ニューラルネットワーク構造の追加学習を容易に行うことができる。
さらに、本発明の第1乃至第4の解決手段によれば、ニューロンの出力から独立した形で、ニューロン間を結び付けるウェイト係数を更新することができるので、従来の誤差逆伝播法のような学習アルゴリズムとは異なり、ウェイト係数の学習時に各ニューロンに保存されたデータそのものに全く影響がなく、ニューロンにセントロイドベクトルという形でデータを局在的に保存しながら、ニューロン同士の結合関係を規定するために分散的に保存されているウェイト係数のみを逐次的に更新することができる。このため、分散性及び局在性という異なる特徴を備えたデータ表現を実現することが可能となり、汎化能力及び追加学習能力をも持ち合わせたメモリー素子の構築が可能になる。
さらに、本発明の第1乃至第4の解決手段によれば、セントロイドベクトルとして時系列的な推移を考慮した行列形式のセントロイドデータを用いる複数の中間層ニューロンを設け、当該各中間層ニューロンに結合された出力層ニューロンにおいて、当該各中間層ニューロンから出力された発火の強さの変遷を時系列的に出力することにより、データベースのインクリメンタルサーチ機能のように、時間の推移とともに最終候補が絞られてゆくような認知システムを容易に構築することができる。
本発明の第5の解決手段によれば、セントロイドベクトルとして時系列的な推移を考慮した行列形式のセントロイドデータを用いる複数の中間層ニューロンを設け、当該各中間層ニューロンに結合された出力層ニューロンにおいて、当該各中間層ニューロンから出力された発火の強さの変遷を時系列的に出力するようにしているので、データベースのインクリメンタルサーチ機能のように、時間の推移とともに最終候補が絞られてゆくような認知システムを容易に構築することができる。
発明を実施するための形態
以下、図面を参照して本発明の実施の形態について説明する。
<全体構成>
まず、図1により、本発明の一実施の形態に係る相互結合型ニューラルネットワークシステムの全体構成について説明する。
図1に示すように、相互結合型ニューラルネットワークシステム10は、ニューラルネットワーク部11と、ニューラルネットワーク部11を制御するネットワーク制御部12とを有している。
このうち、ニューラルネットワーク部11は、複数の入力ベクトルx 1,x 2,…,x n(以下、下線付きの英字はベクトルを表す)を入力として複数の出力(スカラー)o1,o2,…,oNoを出力するものであり、ラジアル基底関数(RBF:Radial Basis Function)に従って入力ベクトルx 1,x 2,…,x nに応じた発火の強さを出力する複数のRBF素子(ニューロン)を含む。
また、ネットワーク制御部12は、ニューラルネットワーク部11の各RBF素子のうち互いに関係のあるRBF素子同士をウェイト係数を介して相互に結合することにより人工ニューラルネットワーク構造を構築するものである。
<人工ニューラルネットワーク構造>
図2は、図1に示すニューラルネットワーク部11内に構築される人工ニューラルネットワーク構造の一例を示す図である。
図2に示すように、この人工ニューラルネットワーク構造は、3個の入力ベクトルx 1,x 2,x 3を入力するための3個の入力層ニューロン13と、入力層ニューロン13を介して入力された入力ベクトルx 1,x 2,x 3に応じた発火の強さを出力するRBF素子(中間層ニューロン)14と、RBF素子14から出力された発火の強さに基づいて最終的な出力(スカラー)o1,o2,…,oNoを出力する出力層ニューロン15とを有している。
ここで、中間層ニューロンである4つのRBF素子14(RBF1,RBF2,RBF3,RBF4)はウェイト係数wijを介して相互に結合されている。また、このようなRBF素子14(RBF1,RBF2,RBF3,RBF4)はウェイト係数wij′を介して出力層ニューロン15(o1,o2,…,oNo)に結合されている。
<RBF素子>
以下、図3により、ニューラルネットワーク部11に含まれるRBF素子14の詳細について説明する。
図3に示すように、RBF素子14は、RBF本体部16と、ポインター部17と、ウェイト係数保持部18と、生存期間変数保持部19と、活性回数保持部20とを有している。
このうち、RBF本体部16は、当該RBF素子が外部から与えられた入力ベクトルxにより活性化されたときに、ラジアル基底関数に従って入力ベクトルに応じた発火の強さを出力する一方で、当該RBF素子が当該RBF素子に結合された他のRBF素子の発火に起因して連鎖的に活性化されたときに、当該他のRBF素子から出力された発火の強さに基づいて得られた擬似的な発火の強さを出力するものである。
具体的には、i番目のRBF素子14(RBF
i)のRBF本体部16において、入力ベクトル
xが与えられたときの発火の強さh
i(
x)は次式(1)により表される。なお、次式(1)において、
c iはRBF素子14(RBF
i)のセントロイドベクトルを表し、σ
iはラジウスを表す。
一方、i番目のRBF素子14(RBF
i)のRBF本体部16における擬似的な発火の強さh
iは次式(2)により表される。なお、次式(2)において、h
kはi番目のRBF素子14(RBF
i)に結合された他のRBF素子14(RBF
k)のRBF本体部16における発火の強さを表し、w
kiはi番目のRBF素子14(RBF
i)と他のRBF素子14(RBF
k)との間を結び付けるウェイト係数を表し、L
iはi番目のRBF素子14(RBF
i)に結合された他のRBF素子14(RBF
k)の数を表す。
なお、RBF本体部16は、当該RBF素子(例えば、i番目のRBF素子14(RBFi))が当該RBF素子に結合された他のRBF素子の発火に起因して連鎖的に活性化されたときには、上式(2)に示すような擬似的な発火の強さとともに当該RBF素子(RBFi)のセントロイドベクトルc iを出力するようにしてもよい。
ポインター部17は、互いに関係がある他のRBF素子に対するポインター情報を複数保持するものである。図3に示すように、i番目のRBF素子14(RBFi)のポインター部17には、そのi番目のRBF素子14(RBFi)に結合される他のRBF素子14のアドレスが、符号pi,1〜pi,maxのそれぞれに保持されている。
ウェイト係数保持部18は、相互に結合されているRBF素子間を結び付けるウェイト係数を保持するものである。図3に示すように、i番目のRBF素子14(RBFi)のウェイト係数保持部18には、そのi番目のRBF素子14(RBFi)に結合される他のRBF素子14との間を結び付けるウェイト係数が、符号wi,1〜wi,maxのそれぞれに保持されている。なお、符号wi,1〜wi,maxに保持されているウェイト係数は、ポインター部17に保持されているポインター情報pi,1〜pi,maxのそれぞれに対応している。
生存期間変数保持部19は、i番目のRBF素子14(RBFi)の生存期間を決定する変数φiを保持するカウンタである。
活性回数保持部20は、i番目のRBF素子14(RBFi)が活性化した回数εiを保存するカウンタである。
なお、このようなRBF素子14からなる人工ニューラルネットワーク構造は、図2に示すように、複数の
x 1,
x 2,
x 3を入力として複数の出力(スカラー)o
1,o
2,…,o
Noを出力するものであり、中間層ニューロンであるRBF素子14(RBF
1,RBF
2,RBF
3,RBF
4)と出力層ニューロン15(o
1,o
2,…,o
No)とが、図2に示すような形態でウェイト係数w
ij′を介して結合されているものとすると、出力o
j(j=1,2,…,N
o)は、次式(3)(4)により表される。なお、次式(3)(4)において、h
iはj番目の出力層ニューロン15(o
j)に結合されたRBF素子14(RBF
i)のRBF本体部16における発火の強さを表し、w
ij′はj番目の出力層ニューロン15(o
j)とRBF素子14(RBF
i)との間を結び付けるウェイト係数を表し、L
jはj番目の出力層ニューロン15(o
j)に結合されたRBF素子14(RBF
i)の数を表す。
また、出力oj(j=1,2,…,No)は、RBF素子14(RBF1,RBF2,RBF3,RBF4)の出力の総和ではなく、出力層ニューロン15(o1,o2,…,oNo)に結合されたRBF素子14(RBFi:i=1,2,…,4)の発火の強さの最大値をとることによって求めてもよい。この場合には、出力oj(j=1,2,…,No)は、次式(5)により表される。
oj=max(wijhi(x)) … (5)
<ネットワーク形態>
(相互結合型ネットワーク)
図2に示す人工ニューラルネットワーク構造では、4つのRBF素子14(RBF1,RBF2,RBF3,RBF4)がウェイト係数wijを介して相互に結合されており、全体として相互結合型ネットワークを構成している。このような相互結合型ネットワークシステムは、複数の入力ベクトルx 1,x 2,x 3を自在に扱うことが可能な多入力−多出力(MIMO:multi-modal input multi output)システムであり、構成の変更等を柔軟に行うことができる。なお、この場合、各RBF素子14のセントロイドベクトルの大きさは、固定長でなく、入力ベクトルx 1,x 2,x 3の種類に応じた可変長とすることが好ましい。これにより、幾つかの異なる感覚入力(音や画像等)を同時に処理して人間のような複合的なパターン認識を行うことができる。
なお、図1に示す相互結合型ニューラルネットワークシステム10においては、ニューラルネットワーク部11内に構築される人工ニューラルネットワーク構造として、図2に示すようなものに限らず、図4乃至図7に示すような任意のネットワーク形態をとることができる。
(双方向型ネットワーク)
図4は、図1に示すニューラルネットワーク部11内に構築される人工ニューラルネットワーク構造の他の例を示す図である。図4に示す人工ニューラルネットワーク構造は、3つのRBF素子14(RBF1,RBF2,RBF3)がウェイト係数w13,w23を介して相互に結合されたものであり、フィードフォワード型及びフィードバック型の両方の性質を持つ双方向型ネットワークを構成している。
具体的には例えば、入力ベクトル
x 1が、片方の耳に相当する聴覚センサーから入力された入力ベクトルに対応し、入力ベクトル
x 2が、片目に相当する視覚センサーから入力された入力ベクトルに対応するものとし、入力ベクトル
x 1,
x 2がそれぞれRBF
1,RBF
2に入力されることにより、RBF
1,RBF
2がそれぞれ活性化されるものとする。次に、RBF
3が(言語学上の)語義ネットワーク(semantic network)等の陳述記憶(declarative memory)を表しているものとし、センサー等から入力された入力ベクトル
x 3ではなく、ウェイト係数w
13,w
23を介して結合されたRBF
1,RBF
2の発火に起因して活性化されたときには、上式(2)に基づく次式(6)のようなルール、又は、次式(7)のようなルールに従って擬似的な発火の強さh
3を決定するものとする。なお、次式(6)(7)では、|w
13h
1|≦1及び|w
23h
2|≦1という2つの条件が満たされることをあらかじめ仮定している。
この場合には、RBF3から最終的に出力が得られたときには、信号の流れは、x1,x2→RBF1,RBF2→RBF3となるので、図4に示す人工ニューラルネットワーク構造はフィードフォワード型の働きをなしていることになる。
なお、上式(6)(7)のうち、上式(7)の場合には、RBF3 の出力がバイナリ型の出力(0又は1)となるので、条件反射(conditional reflexes)等のように、速いシナプス(synapse)間の情報の伝達を行う電気シナプスの特性を模倣することができると考えられる。それと対照的に、上式(6)の場合には、組織の微妙な調節を行う化学シナプスの特性を模倣することができると考えられる(文献:『山元大輔, 「脳と記憶の謎」, 講談社現代新書, 1997.』参照)。なお、RBF3は、上記文献(『脳と記憶の謎』)によれば、「視覚刺激にしか反応しないニューロンと聴覚刺激にしか反応しないニューロンの両方から情報を譲り受けて、対象の全体的イメージをつくりあげる働きをしている」、複数の感覚を統合する脳細胞の役割を模倣するもの、もしくは、哲学でいう「ゲシュタルト(gestalt)」的な細胞の役割を模倣するものと考えられる。
一方、最初に、センサーから入力された入力ベクトルx 3が与えられてRBF3が活性化されたとき、又は、最初に、思考メカニズム及び言語処理の過程で語義ネットワーク内においてウェイト係数を介して結合されたノードの活性化によりRBF3が活性化されたときには、上式(6)又は上式(7)と同様のルールに従ってRBF素子h1,h2がそれぞれ続けて活性化される。
この場合には、信号の流れは、x3→RBF3→RBF1,RBF2となるので、図4に示す人工ニューラルネットワーク構造はフィードバック型の働きをなしていることになる。このとき、このようなフィードバック型の働きを応用し、例えば「ウェイト係数を介して結合されたRBF1,RBF2が活性化されたときには、その保存されているセントロイドベクトルc 1,c 2も同時に出力する」というようにしておけば、ニューラルネットワークの出力から入力を復元して取り出すことが可能になる。具体的には例えば、「母親」という言葉から連想して、その母親の声(聴覚情報)及び顔(視覚情報)の特徴の両方を同時に取り出すことができる。
(木構造ネットワーク)
図5は、図1に示すニューラルネットワーク部11内に構築される人工ニューラルネットワーク構造の他の例を示す図である。図5に示す人工ニューラルネットワーク構造は、図2及び図4に示す人工ニューラルネットワーク構造をさらに発展させたものであり、ディシジョンツリー(decision tree)で用いられるような木構造ネットワークを構成している。なお、図5に示す人工ニューラルネットワーク構造は、入力ベクトルが与えられるRBF素子14(RBF1,RBF2,RBF3,RBF4,…)の他、入力ベクトルが直接入力されないRBF素子14′(RBF5)(感覚入力がなく情報の統合のみを行うようなニューロン)を含む。
(格子状ネットワーク)
図6は、図1に示すニューラルネットワーク部11内に構築される人工ニューラルネットワーク構造のさらに他の例を示す図である。図6に示す人工ニューラルネットワーク構造は、図2及び図4に示す人工ニューラルネットワーク構造をさらに発展させたものであり、自己組織化マップ(SOFM:self-organising feature map)(文献:『T. Kohonen, "The self-organizing map," Proc. IEEE, vol. 78, pp. 1464-1480, 1990.』参照)等を模倣した格子状ネットワークを構成している。このような人工ニューラルネットワーク構造は、網膜(retina)等に見られるような視覚系のコラム構造を模倣するのに有用である。
(階層型ネットワーク)
図7は、図1に示すニューラルネットワーク部11内に構築される人工ニューラルネットワーク構造のさらに他の例を示す図である。図7に示す人工ニューラルネットワーク構造は、図2及び図4乃至図6に示す人工ニューラルネットワーク構造とは異なり、図3に示すRBF素子14を用いて従来の階層型ニューラルネットワークを構成したものである。
ここで、図7に示すような3層の階層型ニューラルネットワークを構成する場合、RBF素子14(RBFi:i=1,2,…,Nh)のポインター情報は、次式(8)に従って、
phi,1=o1,phi,2=o2,…,phi,No=oNo … (8)
と与えられる。
図7に示すような階層型ニューラルネットワークは、単一の入力ベクトル
x=[x
1,x
2,…,x
Ni]
Tを入力として複数の出力(スカラー)o
1,o
2,…,o
Noを出力する一入力−多出力システム(SIMO:single-modal input multiple output)であり、中間層ニューロンであるRBF素子14(RBF
1,RBF
2,…,RBF
Nh)と出力層ニューロン15(o
1,o
2,…,o
No)とが、図7に示すような完全結合形態でウェイト係数w
ijを用いて結合されているものとすると、出力o
j(j=1,2,…,N
o)は、次式(9)(10)(11)により表される。なお、次式(9)(10)(11)において、h
iはRBF素子14(RBF
i)のRBF本体部16における発火の強さを表し、w
ijはj番目の出力層ニューロン15(o
j)とRBF素子14(RBF
i)との間を結び付けるウェイト係数を表し、N
hはRBF素子14(RBF
i)の数を表す。また、
c iはRBF素子14(RBF
i)のセントロイドベクトルを表し、σ
iはラジウスを表す。
また、出力oj(j=1,2,…,No)は、このようなRBF素子14(RBF1,RBF2,…,RBFNh)の出力の総和ではなく、出力層ニューロン15(o1,o2,…,oNo)に結合されたRBF素子14(RBFi:i=1,2,…,Nh)の発火の強さの最大値をとることによって求めてもよい。この場合には、出力oj(j=1,2,…,No)は、次式(12)により表される。
oj=max(wijhi(x)) … (12)
次に、図1乃至図7に示す相互結合型ニューラルネットワークシステム10の作用について説明する。
<人工ニューラルネットワーク構造の構築>
まず、図1に示す相互結合型ニューラルネットワークシステム10において、ネットワーク制御部12によりニューラルネットワーク部11を制御し、ニューラルネットワーク部11内において、外部から与えられる複数の入力ベクトルx 1,x 2,…,x nに基づいてRBF素子14を適宜追加及び削除することにより、動的なパターン認識を実現する人工ニューラルネットワーク構造を構築する。
具体的には、次のステップ1及びステップ2に従って行われる。
ステップ1:RBF素子の数Mが上限値Mmaxよりも小さい場合には、上式(1)で計算される発火の強さhiと、そのセントロイドベクトルc i=xとを持つRBF素子を、ニューラルネットワーク部11に加える。
ステップ2:そうでない場合には、最も発火の弱いセントロイドの発火の強さ(例えば、j番目のhj)がhj<thである場合には、それを、セントロイドベクトルがc j=xとなる、新しいものに置き換える。
なおこのとき、外部から与えられる複数の入力ベクトルx 1,x 2,…,x nに関連して時系列的に追加又は発火したRBF素子14の順序に基づいて、各RBF素子14のポインター部17を用いて、各RBF素子14のうち互いに関係のあるRBF素子14同士を相互に結合する。
具体的には例えば、ある時間t=t1で、RBF1が追加又は発火され、次いで、時間t=t2で、RBF2が追加又は発火されるとすると、図8に示すように、1つ前の時間t1に追加又は発火されたRBF1のポインター情報p1,1はRBF1の次に追加又は発火されたRBF2のアドレスを示す値に設定され、同時に、RBF2のポインター情報p2,1はRBF1のアドレスを示す値に設定される。また、同様にして、再度RBF1が発火し、その直後に別のRBF素子(例えばRBF3)が引き続いて追加又は発火されたとすると、RBF1の2番目のポインター情報p1,2はRBF1の次に追加又は発火されたRBF3のアドレスを示す値に設定され、同時に、RBF3のポインター情報p3,1はRBF1のアドレスを示す値に設定される。
また、このようにして互いに関係のあるRBF素子14同士が相互に結合される過程で、各RBF素子14のウェイト係数保持部18を用いて、ウエイト係数が設定される。
具体的には例えば、図8に示すように、RBF1とRBF2とが相互に結合される場合には、RBF1の1番目のウェイト係数w1,1及びRBF2の1番目のウェイト係数w2,1に、RBF1とRBF2との間を結び付けるウェイト係数がそれぞれ設定される。
<RBF素子間のウェイト係数の学習>
なお、以上のようにしてニューラルネットワーク部11内に人工ニューラルネットワーク構造を構築する過程においては、各RBF素子14の活性回数保持部20を用いて、当該各RBF素子14の発火の度合いに基づいて当該各RBF素子14間を結び付けるウェイト係数を学習するようにするとよい。
具体的には、各RBF素子14間を結び付けるウェイト係数は、Hebbの法則(文献:『D. O. Hebb, "The Organization of Behavior," John Wiley & Sons, New York, 1949.』参照)を拡張し、「ウェイト係数を介して相互に結合された2つのRBF素子が、ある期間p1内で2つとも発火し、その発火の度合いが、ある評価関数で与えられた閾値を越えたときに、そのウェイト係数の値を増加させるものとし、逆に、ある期間p2内に、2つのRBF素子の片方もしくは両方ともが発火しなかった場合には、そのウェイト係数の値を減少させる」ものとする。
(ウェイト係数の更新のための第1のアルゴリズム)
具体的なアルゴリズム(第1のアルゴリズム)としては次のようなものを用いることができる。
(1) ある期間p1内に、2つのRBF素子(例えばRBFiとRBFj(i≠j))の発火の回数εi,εjが両方ともある閾値θp1を越えた場合、すなわち、次式(13)を満たす場合には、
εi≧θp1,εj≧θp1 … (13)
ウェイト係数wijは、次式(14)に従って設定される(ただし、Δ1wij>0)。
wij=wij+Δ1wij(wijが存在している場合)
=wij,max (wij>wij,maxの場合) … (14)
=winit (wijが存在していない場合)
(2) 逆に、ある期間p2内に、RBFiとRBFjのいずれか片方もしくは両方ともが、上式(13)を満たさない場合には、ウェイト係数wijは次式(15)に従って設定される(ただし、Δ2wij>0)。
wij=wij−Δ2wij(wij>winitの場合)
wijを消去 (そうでない場合) … (15)
(3) もし、RBF素子が、期間p3(≪p1,p2)内に他のRBF素子と結合されなければ、そのRBF素子はニューラルネットワークから除去される。
(ウェイト係数の更新のための第2のアルゴリズム)
また、上記第1のアルゴリズムに変えて、次の第2のアルゴリズムを用いることも可能である。なお、この第2のアルゴリズムは、Hebbの法則の一つである「ニューロンAの軸索がニューロンBを発火させるのに十分に近く、かつ、反復的にかつ永続的にその発火が起こるものとすると、何らかの成長プロセス又は代謝の変化が、ニューロンBを発火させるニューロンの一つとしてのニューロンAの効率性を増加させるような形でニューロンA及びニューロンBの一つ又は両方に生じる。」という法則から神経心理学的な考察を経て導かれた以下の2つの仮定(仮定1及び仮定2)に基づくものである。
仮定1:2つのRBF素子が反復的に発火すると、これらのRBF素子の間に新たなウェイト係数が形成される。それから、このようなことが周期的に生じると、ウェイト係数の値は増加する。(なお、この仮定1では、上記Hebbの法則におけるニューロンA及びニューロンBの間の隣接関係については考慮されていない。これは、第1に、後述するようなアルゴリズムを実際にハードウェア(例えばロボットのメモリーシステム等)上で実装する場合において、RBF素子の位置関係を考慮する必要性が必ずしもないからである。また、第2に、上記Hebbの法則では、ニューロンAの発火自体が、シナプスを介した他のニューロンの発火に起因して生じるかもしれないからである。なお、この第2の理由は次の仮定2を導くものである。)
仮定2:一つのRBF素子が発火し、かつ、そのRBF素子に接続されたウェイト係数の一つが他のRBF素子に接続されているときには、当該一つのRBF素子の発火はウェイト係数を介して当該他のRBF素子に送られる。ただし、この場合に他のRBF素子に送られる発火の度合いはウェイト係数の値に依存するものとなる。
上記仮定1及び仮定2に基づいて得られる第2のアルゴリズムは次のとおりである。
(1) 2つのRBF素子(例えばRBFiとRBFj(i≠j))の間にウェイト係数wijが既に存在している場合には、その値を次式(15−1)により減少させる。
wij=wij・exp(−ξi) … (15−1)
(2) 2つのRBF素子(例えばRBFiとRBFj(i≠j))が連続的にp回に亘って発火した場合(すなわち、発火の度合いが所定の閾値以上(RBFi≧θK)である場合)には、ウェイト係数wijは、次式(15−2)に従って設定される。
wij=winit (wijが存在していない場合)
=wij,max (wij>wij,maxの場合) … (15−2)
=wij+δ (それ以外の場合)
(3) ある期間p1内に、RBF素子(RBFi)が発火しなければ、RBFi及びそれに接続された全てのウェイト係数w i(=[wi1,wi2,…])がニューラルネットワークから除去される。(このことは、ニューロンであるRBF素子の消滅を表す。)
なお、上式(15−1)(15−2)において、ξi,winit,wij,max,δはいずれも正の定数である。
ここで、上記(1)(2)の処理は、Hebbの法則をより具体的に言い換えた次の法則(i)(ii)に合致するものである。
(i) もし、一つのシナプスの両側に位置する2つのニューロンが非同期的に発火したならば、そのシナプスの強さは選択的に減少するか又はシナプス自体が除去される。
(ii) もし、一つのシナプスの両側に位置する2つのニューロンが同時的に(すなわち同期的に)発火したならば、そのシナプスの強さは選択的に増加する。
このような言い換えられた法則(i)(ii)に合致するように、上記(1)の処理では、ウェイト係数の更新のために減衰係数ξiが導入されており、これにより、シナプスの減衰又は消滅を模擬することができるようになっている。
なお、上述した法則(i)(ii)は、次の法則(a)(b)のように拡張して解釈することもできる。すなわち、(a)シナプスの減衰の量は短い期間では比較的小さいけれども常に生じる。また、(b)シナプスの減衰は、他のニューロンがある一つのニューロンの発火によって発火されたときにも生じる。
ここで、法則(a)は、ウェイト係数wijの減衰係数であるξiにより表される。一方、法則(b)は、シナプスの他側のポテンシャルが一側のポテンシャルよりも(わずかに)低いという前提により表される。この点については、神経解剖学的なレベルにおいて、スパイク状のパルスの移動率の変化又は長期抑制(LTD)等により表される減衰によって、類似の状況が起こることが知られている。これらは、上述した言い換えられた法則(i)(ii)の修正を導くものであり、次の仮定3が導かれる。
仮定3:RBF素子(RBFi)が入力ベクトルxによって活性化し、かつ、そのRBFhiがウェイト係数wijを介して他のRBF素子(RBFj)に接続されているならば、RBFjの発火の度合いhjは次式(15−3)により求められる。
hj(x)=γwijIi … (15−3)
ここで、γは減衰係数(0≪γ≦1)であり、Iiは次式(15−4)により表されるインジケータ関数である。
Ii=1 (RBFiが発火した場合(hi≧θKとなった場合))… (15−4)
=0 (それ以外の場合)
なお、上式(15−3)(15−4)において、インジケータ関数Iiは、RBFiの発火によりRBFiで生成されたスパイク状のパルス(又は作用ポテンシャル)がシナプスを介して他のRBFjへ送られることを模擬するものである。上式(15−3)(15−4)は、既存のニューラルネットワークと異なり、ニューロンである各RBF素子が通常の入力である入力ベクトルxから離れて、二次的な入力(すなわち他のニューロンからの発火の転移)によっても発火することを示している。
(ウェイト係数の更新のための第3のアルゴリズム)
なお、第2のアルゴリズムは、次の第3のアルゴリズムのように修正することも可能である。なお、この第3のアルゴリズムは、後述する<自己組織化ニューラルネットワーク構造の構築>で用いられるRBF素子(すなわち、図10に示すような、最終的な出力値に関連するクラスラベルηiを保持するクラスラベル保持部21を有するRBF素子14″)を前提とするものである。
第3のアルゴリズムの具体的な内容は次のとおりである。
(1) 2つのRBF素子(例えばRBFiとRBFj(i≠j))の間にウェイト係数wijが既に存在している場合には、その値を次式(15−5)により減少させる。
wij=wij・exp(−ξi) … (15−5)
(2) 2つのRBF素子(例えばRBFiとRBFj(i≠j))が連続的にp回に亘って発火した場合(すなわち、発火の度合いが所定の閾値以上(RBFi,RBFj≧θK)である場合)で、かつ、RBFi,RBFjのクラスラベルηi,ηjが同一であるならば、ウェイト係数wijは、次式(15−6)に従って設定される。
wij=winit (wijが存在していない場合)
=wij,max (wij>wij,maxの場合) … (15−6)
=wij+δ (それ以外の場合)
(3) ある期間p1内に、RBF素子(RBFi)が発火しなければ、RBFi及びそれに接続された全てのウェイト係数w i(=[wi1,wi2,…])がニューラルネットワークから除去される。(このことは、ニューロンであるRBF素子の消滅を表す。)
なお、上式(15−5)(15−6)において、ξi,winit,wij,max,δはいずれも正の定数である。
<RBF素子の生存期間の決定>
また、以上のようにしてニューラルネットワーク部11内に人工ニューラルネットワーク構造を構築する過程においては、各RBF素子14の生存期間変数保持部19を用いて、当該各RBF素子14の発火の度合いに基づいて決定される所定のタイミングで当該各RBF素子14を除去するようにしてもよい。
具体的には、i番目のRBF素子14(RBFi)の生存期間を決定する変数φiは、時間tiとともに単調減少する関数(例えば指数減衰関数)を用いて次式(16)のように定義される(ただし、a>0,ti≧0)。
φi=exp(−a・ti) … (16)
上式(16)のようにして定義される変数φiにおいて、減少の度合いを決定する係数であるaの値は、時間tを基準にした所定の期間(T1≦t≦T2)の間にi番目のRBF素子14(RBFi)の出力が所定の閾値θoutを越えた場合には、次式(17)に従って更新される(ただし、δa>0)。また、この場合には同時に、上式(16)で用いられている時間tiがti=0に初期化される。
a=a−δa (a≧θa)
=θa (そうでない場合) … (17)
そして、このようにして逐次更新される変数φiにおいて、ti=T2−T1のときのφiが、φi>θφ(θφは任意の閾値)である場合には、i番目のRBF素子14(RBFi)をネットワーク制御部11から除去する。
なお、上式(16)(17)において、係数aの更新期間をt+T1からt+T2の間に限定したのは、心理学的な概念である慣れの要素に配慮したためであり、このような一定の遅延期間をおくことによりRBF素子の効率的な学習を行うことが可能になる(文献:『山元大輔, 「脳と記憶の謎」, 講談社現代新書, 1997.』参照)。
<遅延的要素を考慮したニューラルネットワークの出力>
なお、ニューラルネットワーク部11内に構築される人工ニューラルネットワーク構造の出力oj(j=1,2,…,No)は、上式(1)(2)(3)(4)に従って求められるが、これ以外にも、中間層ニューロンであるRBF素子14から出力された発火の強さの変遷を時系列的に出力するようにしてもよい。
具体的には、第1の出力形式として、ある期間Tの間のRBF素子14の発火の統計をとり、その中の大きなもののうち、上からN(<T)番目までのものを次式(18)〜(20)に従ってベクトル形式に列挙して最終的な出力とする方法を用いることができる。
o j=[oj(1),oj(2),…,oj(N)]T … (18)
ここで、oj(l)(l=1,2,…,N)は、
oj(l)=sort(max(θij(t))) … (19)
θij(t)=wijhi(x(t)) … (20)
である。
なお、上式(19)(20)において、iはj番目の出力層ニューロンにウェイト係数wijを介して結合された全てのRBF素子の番号、tはt=0,1,…,T−1(時間)、sort(・)は降順に並べ替えを行う関数である。
また、第2の出力形式として、ある期間Tの間のRBF素子14の発火の度合いを次式(21)(22)に従ってスカラー形式で出力する方法を用いることもできる。
oj=f(θ ij) … (21)
ここで、θ ijは、
θ ij=[θij(0),θij(1),…,θij(T−1)]T … (22)
である。
なお、上式(21)において、一例として、f(・)は時間的な総和を求めるシグモイド関数とし、次式(23)に従って求められてもよい(ただし、bは正の定数である)。
なお、上述した第1及び第2の出力形式に従って、中間層ニューロンであるRBF素子14から出力された発火の強さの変遷を時系列的に出力する場合には、各RBF素子14は、そのセントロイドベクトル
c iとして時系列的な推移を考慮した行列形式のセントロイドデータを用いる。i番目のRBF素子14(RBF
i)のセントロイド行列
C i(N
i×T)は、次式(24)のように表される。
ここで、セントロイド行列C iの最初の2行(すなわちc 1,c 2)が
c 1=[2 0 0 0 0.5 0 0 0 1 0 0 0 1 …]
c 2=[0.5 1 2 0 0 0 0 0 1 0 1 0 0 …]
であるとすると、そのパルス列は、図9に示すようなものとなる。
なお、上述した第1及び第2の出力形式では、ニューラルネットワークの最終的な出力は非同期的に与えられるので、一つ一つのRBF素子14の出力を、大脳生理学においてニューロンからスパイク状に出力されるパルスとみなせば、パルスの大きさ及びパルス間の時間長の変動を利用して、複数のRBF素子14間で情報を記憶させることが可能となり、いわゆるパルスドニューラルネットワーク(pulsed neural network)(文献:『J. E. Dayhoff and G. L. Gerstein, "Favored patterns in nerve spike trains I. Detection," J. Neurophys, 49 (6), 1334-1348, 1983).』参照)、又は、いわゆる時間遅延型ニューラルネットワーク(TDNN:time delay neural network)(文献:『K. J. Lang and G. E. Hinton, "The development of the time-delay neural network," Technical Report CMU-CS-88-152, Carnegie-Melon Univ., Pittsburgh, PA, 1988.』参照)のような記憶方式を実現することができる。
なお、このような遅延的要素を考慮した人工ニューラルネットワーク構造を応用すると、例えば、データベースのインクリメンタルサーチ機能のように、時間の推移とともに最終候補が絞られてゆくような認知システムを構築することが可能になる。具体的には、ある最初の言葉の並び又は曲等のフレーズから、残りの文や曲を自動生成したり推定したりするような思考メカニズムを構築する場合等に応用することができる。
<自己組織化ニューラルネットワーク構造の構築>
なお、以上においては、相互結合型ニューラルネットワークシステム10のニューラルネットワーク部11内において、図4乃至図7に示すような人工ニューラルネットワーク構造内のRBF素子間のウェイト係数を学習によって適宜更新していく過程を中心にして説明したが、ニューラルネットワーク部11内において、ニューロンであるRBF素子が全く存在していない状態から、外部から与えられる複数の入力ベクトルx 1,x 2,…,x nに基づいてRBF素子の追加及びRBF素子間の結合(RBF素子間のウェイト係数の形成及びRBF素子間のウェイト係数の値の更新)を自律的(非管理的)に行って人工ニューラルネットワーク構造(自己組織化ニューラルネットワーク構造)を構築(自己組織化)することも当然可能である。なお、このようにして構築される自己組織化ニューラルネットワーク構造内の各RBF素子は、その全てが単一のモダリティ(例えば聴覚モダリティ又は視覚モダリティ)を持っていてもよく、また、互いに異なる複数のモダリティ(例えば聴覚モダリティ及び視覚モダリティの両方)を持っていてもよい。
以下、このような自己組織化ニューラルネットワーク構造の構築方法について詳細に説明する。なお、このような自己組織化ニューラルネットワーク構造内の各RBF素子(RBFi)としては、図10に示すRBF素子14″のように、最終的な出力値に関連するクラスラベルηiを保持するクラスラベル保持部21を用いるものとする。
(自己組織化ニューラルネットワーク構造の構築フェーズ)
まず、自己組織化ニューラルネットワーク構造の構築フェーズ(学習フェーズ)について説明する。
ステップ1:第1のステップ(cnt=1)として、外部から入力された1番目の入力ベクトルx(1)に基づいて、当該入力ベクトルx(1)をラジアル基底関数のセントロイドベクトルc 1として持つRBF素子を新たなニューロンとして自己組織化ニューラルネットワーク構造内に追加する。
ステップ2:第2のステップとして、cnt=2からcnt={入力ベクトルの総数}まで、以下の2.1〜2.3の処理が繰り返される。
ステップ2.1:
(i) 外部から入力された入力ベクトルx(cnt)に基づいて、自己組織化ニューラルネットワーク構造内の全てのRBF素子(RBFi)の発火の度合いhiを計算する。このとき、hi(x(cnt))≧θKであるならば、そのRBFiは発火したものとなる。
(ii) RBF素子間でのウェイト係数(リンク)に基づく発火の原理(例えば上式(15−3)(15−4))に従って、RBFiにウェイト係数wijを介して接続されたRBFjの発火の度合いhjをチェックする。このとき、hj(x(cnt))≧θKであるならば、そのRBFjは発火したものとなる。
(iii) 上記(i)(ii)において発火したとされる全てのRBF素子をマークする。
ステップ2.2:自己組織化ニューラルネットワーク構造内のRBF素子の中に、外部から入力された入力ベクトルx(cnt)により発火したRBF素子(RBFi)が存在しないなら、入力ベクトルx(cnt)をラジアル基底関数のセントロイドベクトルとして持つRBF素子を新たなニューロンとして自己組織化ニューラルネットワーク構造内に追加する。
ステップ2.3:上述したウェイト係数の更新のための第1乃至第3のアルゴリズムのいずれかに従って、自己組織化ニューラルネットワーク構造内の各RBF素子(RBFi)の発火の度合いhiに基づいて当該各RBF素子(RBFi)間を結び付けるウェイト係数wijの形成及び/又は既存のウェイト係数wijの値の更新(学習)を行う。
なお、上記ステップ2.3においては、上記第1乃至第3のアルゴリズムで述べたように、自己組織化ニューラルネットワーク構造内の各RBF素子(RBFi)の発火の度合いhiに基づいて不要となったRBF素子(RBFi)を除去する処理を行うようにしてもよい。また、上記ステップ2.3においては、上記第3のアルゴリズムで述べたように、自己組織化ニューラルネットワーク構造内の各RBF素子(RBFi)が持つクラスラベルが同一である場合にのみ当該各RBF素子(RBFi)の発火の度合いhiに基づいて当該各RBF素子(RBFi)間を結び付けるウェイト係数wijの形成及び/又は既存のウェイト係数wijの値の更新(学習)を行うようにしてもよい。
(自己組織化ニューラルネットワーク構造の検証フェーズ)
次に、自己組織化ニューラルネットワーク構造の検証フェーズについて説明する。
ステップ1:
(i) 外部から入力された入力ベクトルx(cnt)(cnt=1〜{入力ベクトルの総数})を自己組織化ニューラルネットワーク構造内に入力し、全てのRBF素子(RBFi)の発火の度合いhiを計算する。このとき、hi(x(cnt))≧θKであるならば、そのRBFiは発火したものとなる。
(ii) RBF素子間でのウェイト係数(リンク)に基づく発火の原理(例えば上式(15−3)(15−4))に従って、RBFiにウェイト係数wijを介して接続されたRBFjの発火の度合いhjをチェックする。このとき、hj(x(cnt))≧θKであるならば、そのRBFjは発火したものとなる。
(iii)上記(i)(ii)において発火したとされる全てのRBF素子をマークする。
ステップ2:
(i) 自己組織化ニューラルネットワーク構造内の全てのマークされたRBF素子の中で、最大に発火したRBF素子の発火の度合いhmax(=max(hi(x)))を得る。
(ii) その後、もし自己組織化ニューラルネットワーク構造の構築の目的が何らかの認識の処理であるとするならば、その認識の結果の出力は単純に、対象となるRBF素子14″のRBF本体部16に設けられたクラスラベル保持部21(図10参照)からクラスラベルηmaxを出力することにより行われる。
なお、以上においては、自己組織化ニューラルネットワーク構造内の各RBF素子(RBFi)が、最終的な出力値に関連するクラスラベルηiを保持しているものとして説明したが、各RBF素子がクラスラベルηiを保持するのではなく、クラスラベルを表すクラスラベル用RBF素子を別途用意し、このクラスラベル用RBF素子を対象となるRBF素子に接続するようにしてもよい。この場合には、自己組織化ニューラルネットワーク構造による認識の結果の出力は、対象となるRBF素子に接続されたクラスラベル用RBF素子の発火の度合いをチェックすることにより行われる。
より具体的には、この後者のアルゴリズムは次のとおりである。
(1) 新たなRBF素子が自己組織化ニューラルネットワーク構造内に生成される。(この時点では、この新たなRBF素子のために生成されるウェイト係数は存在していない。)
(2) その時点から数時点後に新たなカテゴリ(クラスラベル)を表すRBF素子が自己組織化ニューラルネットワーク構造内の新たなRBF素子として与えられる。
(3) その後に追加される新たなRBF素子は、上記の新たなカテゴリ(クラスラベル)を表すRBF素子にウェイト係数を介して接続される。
このように本実施の形態によれば、ネットワーク制御部12による制御の下で、ニューラルネットワーク部11内の各RBF素子14のうち互いに関係のあるRBF素子14同士をウェイト係数を介して相互に結合することにより人工ニューラルネットワーク構造を構築し、各RBF素子14は、外部から与えられた入力ベクトルxにより活性化されたときに、ラジアル基底関数に従って入力ベクトルxとセントロイドベクトルc iとの類似度に応じた発火の強さhiを出力する一方で、当該各RBF素子14に結合された他のRBF素子14の発火に起因して連鎖的に活性化されたときに、当該他のRBF素子14から出力された発火の強さhkに基づいて得られた擬似的な発火の強さhiを出力するようにしている。このため、1つのRBF素子14が複数のネットワークに跨って属することが可能となり、また、複数のRBF素子14を任意のネットワーク形態で結合することが可能となるので、単一の入力ベクトルを入力とする従来の固定的なネットワーク形態とは異なり、複数の入力ベクトルを自在に扱うことが可能で、かつ、構成の変更等を柔軟に行うことができる。またこの場合、RBF素子14がモダリティの異なる複数のネットワークに跨って属することが可能となるので、聴覚モダリティ及び視覚モダリティのような互いに異なる複数のモダリティを持つ入力ベクトルを自在に扱うことが可能となり、シングルドメインのパターン認識に限らずマルチドメインのパターン認識にも幅広く適用することが可能となる。
また、本実施の形態によれば、ネットワーク制御部12による制御の下で、ニューラルネットワーク部11内の相互に結合されたRBF素子14間を結び付けるウェイト係数を更新することにより学習を行うので、人工ニューラルネットワーク構造の追加学習を容易に行うことができる。
さらに、本実施の形態によれば、ニューラルネットワーク部11内のRBF素子14の出力から独立した形で、RBF素子14間を結び付けるウェイト係数を更新することができるので、従来の誤差逆伝播法のような学習アルゴリズムとは異なり、ウェイト係数の学習時に各RBF素子14に保存されたデータそのものに全く影響がなく、ニューラルネットワーク部11内のRBF素子14にセントロイドベクトルという形でデータを局在的に保存しながら、RBF素子14同士の結合関係を規定するために分散的に保存されているウェイト係数のみを逐次的に更新することができる。このため、分散性及び局在性という異なる特徴を備えたデータ表現を実現することが可能となり、ミンスキーの提案した古典的なK−lines(knowledge-line)というアイデア(エージェントをシンボルベースのノードとみなし、その間をK−linesでリンクするというアイデア)(文献:『M. Minsky, "The Society of Mind," Simon & Schuster, N.Y., 1985.』参照)と比較しても有利で、汎化能力及び追加学習能力をも持ち合わせたメモリー素子の構築が可能になる。
さらに、本実施の形態において実現される人工ニューラルネットワーク構造は、一般回帰型ニューラルネットワーク(GRNN)及び確率論的ニューラルネットワーク(PNN)と同様の特性を有するものであり、ネットワークの拡大及び縮小が容易で、かつ計算的な不安定要因が小さいという利点を有する。
さらにまた、本実施の形態によれば、ニューラルネットワーク部11内のRBF素子14(RBFi)を、そのセントロイドベクトルciとして時系列的な推移を考慮した行列形式のセントロイドデータを用いる中間層ニューロンとし、当該各中間層ニューロンに結合された出力層ニューロン15(oj)において、各中間層ニューロンから出力された発火の強さの変遷を時系列的に出力することにより、データベースのインクリメンタルサーチ機能のように、時間の推移とともに最終候補が絞られてゆくような認知システムを容易に構築することができる。
なお、上述した実施の形態においては、人工ニューラルネットワーク構造内のニューロンとして、ラジアル基底関数を持つRBF素子を用いる場合を例に挙げて説明しているが、ここでいう人工ニューラルネットワーク構造内のニューロンとしては、核関数に従って入力ベクトルとセントロイドベクトルとの類似度に応じた発火の強さを出力することが可能な任意のものを用いることができる。なお、ここでいう核関数としては、上述したように、ノルムを利用した関数、2つベクトル間の内積を利用した関数、イパネクニコフ平方(Epanechinikov quadratic)や立方(Tri-cube)を利用した関数等を用いることができる。
また、上述した実施の形態においては、各RBF素子14のセントロイドベクトルc iとして、顔等の画像そのものから得られた特徴ベクトルを用いることができる他、より生物学的に妥当なモデルを考慮して、例えばHubelらによる大脳皮質第1次視覚野の研究(文献:『D. H. Hubel and T. N. Wiesel, "Receptive fields, binocular and functional architecture in the cat's visual cortex," Journal of Physiology, vol. 160, pp. 106-154, 1962.』参照)で明らかになった、ある特定の画像要素に反応するニューロンの働きを模倣し、線分やエッジ等の特徴ベクトルを用いることもできる。この後者の場合には、複数のRBF素子14によって全体として顔等の画像を認識するような人工ニューラルネットワーク構造が構築される。
さらに、上述した実施の形態に係る相互結合型ニューラルネットワークシステム10は、RBF素子14をプログラマブルアレイとして実装する等の方法によりハードウェアとして実現することができる他、例えば、図11に示すようなコンピュータシステム40上で稼働するプログラムとしても実現することができる。ここで、コンピュータシステム40は、バス48と、バス48に接続されたプロセッサ41、メモリ42及びハードディスク43と、バス48に接続された周辺機器(キーボードやマウス等の入力装置44、ディスプレイやプリンタ等の出力装置45、FDドライブ46及びCD−ROMドライブ47)とを備えている。そして、上述したようなプログラムは、メモリ42やハードディスク43、フレキシブルディスク49及びCD−ROM50等のようなコンピュータ読み取り可能な記録媒体に格納され、プロセッサ41から逐次読み出されて実行されることにより上述したような手順を実現することができる。
次に、上述した実施の形態の具体的実施例について述べる。
問題の設定
自己組織化ニューラルネットワーク構造が実際にどのように構築されるのかを考察するため、直接的なパターン認識の処理として、自己組織化ニューラルネットワーク構造により排他的論理和(XOR)の問題を解決する場合を取り上げる。
ここで、自己組織化ニューラルネットワーク構造の各RBF素子としては、図10に示すようなRBF素子を用いた。なお、各RBF素子のRBF本体部は、ラジウスσが1.0であるラジアル基底関数を持つものとした。また、発火の閾値θKは0.7とした。さらに、自己組織化ニューラルネットワーク構造に入力される4つの入力ベクトルは、x(1)=[0.1,0.1]T、x(2)=[0.1,1.0]T、x(3)=[1.0,0.1]T、x(4)=[1.0,1.0]Tとした。
そして、上述した<自己組織化ニューラルネットワーク構造の構築(構築フェーズ)>で述べたアルゴリズムに従って、4つの排他的論理和のパターンを認識(分類)するのに用いられる自己組織化ニューラルネットワーク構造を構築した。具体的な手順は次のとおりである。
(1) cnt=1
σ=1.0、θK=0.7に初期化した。それから、新たなRBF素子としてRBF1を追加した。このとき、RBF1のセントロイドベクトルc 1は入力ベクトルであるx(1)=[0.1,0.1]Tと同一とし、クラスラベルはη1=0とした。
(2) cnt=2
入力ベクトルx(2)を自己組織化ニューラルネットワーク構造(この時点では1つのRBF素子(RBF1)のみが存在している)に与えた。
このとき、
h1=exp(−‖x(2)−c 1‖2 2/σ2)=0.4449
であった。
従って、h1(x(2))<θKとなるので、新たなRBF素子(RBF2)を追加した。このとき、RBF2のセントロイドベクトルc 2は入力ベクトルであるx(2)=[0.1,1.0]Tと同一とし、クラスラベルはη2=1とした。
(3) cnt=3
入力ベクトルx(3)を自己組織化ニューラルネットワーク構造(この時点では2つのRBF素子(RBF1,RBF2)が存在している)に与えた。
このとき、
h1=exp(−‖x(3)−c 1‖2 2/σ2)=0.4449(<θK)
h2=exp(−‖x(3)−c 2‖2 2/σ2)=0.1979(<θK)
であった。
従って、入力ベクトルx(3)により発火されるRBF素子は存在しないので、新たなRBF素子(RBF3)を追加した。このとき、RBF3のセントロイドベクトルc 3は入力ベクトルであるx(3)=[1.0,0.1]Tと同一とし、クラスラベルはη3=1とした。
(4) cnt=4
入力ベクトルx(4)を自己組織化ニューラルネットワーク構造(この時点では3つのRBF素子(RBF1,RBF2,RBF3が存在している)に与えた。
このとき、
h1=exp(−‖x(4)−c 1‖2 2/σ2)=0.1979(<θK)
h2=exp(−‖x(4)−c 2‖2 2/σ2)=0.4449(<θK)
h3=exp(−‖x(4)−c 3‖2 2/σ2)=0.4449(<θK)
であった。
従って、入力ベクトルx(4)により発火されるRBF素子は存在しないので、新たなRBF素子(RBF4)を追加した。このとき、RBF4のセントロイドベクトルc 4は入力ベクトルであるx(4)=[1.0,1.0]Tと同一とし、クラスラベルはη4=0とした。
以上により、4つのRBF素子(RBF1,RBF2,RBF3,RBF4)を備えた自己組織化ニューラルネットワーク構造が構築されたが、このようにして構築された自己組織化ニューラルネットワーク構造は、上述した4つの入力ベクトルのパターンを、上述した<自己組織化ニューラルネットワーク構造の構造(検証フェーズ)>で述べたアルゴリズムに従って、正しく認識することができる。
なお、以上のようにして自己組織化ニューラルネットワーク構造を構築することは、GRNNやPNNを構築することと類似している。これは、一つのニューラルネットワーク構造内に4つのニューロン(すなわちRBF素子)が存在しており、かつ、クラスラベルηi(i=1,2,3,4)をターゲット値とみなすことができるからである。(従って、このことは、GRNNやPNNを自己組織化ニューラルネットワーク構造のサブクラスとして捉えることができるということを意味する。)
しかしながら、一方で、自己組織化ニューラルネットワーク構造の構築中に、排他的論理和の関係を表す別のパターンの入力ベクトル(すなわちx(5)=[0.2,0.2]T、x(2)=[0.2,0.8]T、x(3)=[0.8,0.2]T、x(4)=[0.8,0.8]T)が続いて与えられる場合を考えると、GRNNやPNNとの相違が現れる。すなわち、これらの入力ベクトルはPNN/GRNNでは、その構築中に全てのパターンが何らかの形で学習(すなわち新たなニューロンが追加)されてしまうが、自己組織化ニューラルネットワーク構造では、その構築中にはRBF素子の冗長な追加は行われない。すなわち、これらの4つのパターンの入力ベクトルは(hi>θKの条件に従って)それぞれに近いRBF素子を発火させるのみである。しかしながら、依然としてそれらのパターンの入力ベクトルは正しいパターン認識の結果をもたらし、RBF素子がさらに追加されることはない。
このような考察から分かるように、自己組織化ニューラルネットワーク構造においては、入力データが極めて少数のRBF素子に局在的に保存されることとなるので、各RBF素子に関連したパラメータを適切に調整することにより、データプルーニング(すなわちデータクラスタリング)を適切に行うことが可能なパターン分類器を実現することができる。
以下、幾つかのシミュレーション実験例を取り上げながら、自己組織化ニューラルネットワーク構造におけるパラメータの調整の問題を考える。
シミュレーション実験例1
(シングルドメインのパターン認識)
まず、自己組織化ニューラルネットワーク構造がより現実的な場面でどのように構築(自己組織化)されるのかを理解するため、シングルドメインのパターン認識(公開されたデータベースから引き出された幾つかのシングルドメインのデータセットを用いたパターン認識)についてシミュレーション実験を行った。なお、上記「問題の設定」では、自己組織化ニューラルネットワーク構造内のRBF素子間の結合(RBF素子間のウェイト係数の形成及びRBF素子間のウェイト係数の学習)については説明を省略しているが、以下に述べるシミュレーション実験例1では、ウェイト係数を介したRBF素子間での発火が自己組織化ニューラルネットワーク構造の性能にどのような影響を与えるのかを理解するため、RBF素子間のウェイト係数についても当然考慮している。また、以下のシミュレーション実験例1では、RBF素子間のウェイト係数の学習のためのアルゴリズムとして、上述した第2のアルゴリズムを用いた。ただし、ここでは、自己組織化ニューラルネットワーク構造の振る舞いをより明確に追跡するため、上述した第2のアルゴリズムの(3)の処理(すなわちニューロンであるRBF素子の削除)は考慮しなかった。
(パラメータの設定)
シミュレーション実験例1においては、カリフォルニア大学の“UCI Machine Learning Repository”のデータベース(SFS、OptDigit及びPenDigit)から引き出された3つの異なるドメインのデータセットを用いた。これら3つのデータセットは、認識の処理を行うための互いに独立したデータセットであり、その特徴は下記表1に示されているとおりである。なお、SFSのデータセットに関しては、予め符号化処理が施されて認識の処理のためのパターンベクトルが与えられている。
自己組織化ニューラルネットワーク構造内のRBF素子のパラメータは、下記表2にまとめられているとおりに選択した。下記表2に示されているように、パラメータの組み合わせは、できるだけ類似の条件でシミュレーションを行うため、全ての3つのデータセットについてできるだけ等しいものとなるように選択した。自己組織化ニューラルネットワーク構造の構築中に、各RBF素子について発火の評価(RBF素子の発火の度合いh
iが所定の閾値θ
Kを越えているか否か)を行うため、σ
i=σ(∀i)及びθ
K=0.7とした。さらに、シミュレーション実験例1では、普遍性を失わないよう、ウェイト係数を介した各RBF素子の発火が最も近接したRBF素子の間でのみ行われると制限した。
(シミュレーション結果)
図12及び図13はシミュレーション実験例1の実験結果を示す図であり、図12は自己組織化ニューラルネットワーク構造の構築中におけるRBF素子(ニューロン)の数の変化を示す図、図13は自己組織化ニューラルネットワーク構造の構築中におけるウェイト係数(リンク)の数の変化を示している。
図12及び図13に示すように、自己組織化ニューラルネットワーク構造の構築中には、RBF素子の数及びウェイト係数の数がいずれも単調に増加していることが分かる。なお、図12及び図13においては、3つの異なるドメインのデータセットについてその増加量を比較するため、その横軸は入力されたパターンベクトル(入力ベクトル)の数で正規化されたスケールを用いた。図12及び図13において、その横軸におけるそれぞれの数x(i)(i=1,2,…,11)は従って、パターンベクトルの正規化された入力数(すなわちx(i)=i×[学習用データセット中のパターンベクトルの総数]/10)である。
図12及び図13を考察すると、PenDigitのデータセットのデータ構造は、他の2つのデータセットに比べて比較的単純であることが分かる。これは、生成されたRBF素子の数が常に最も少ない一方で、ウェイト係数の数が最も大きいことでも分かる。他方、各パターンベクトルの長さ(すなわち「16」(上記表1参照))は3つのデータセットの中で最も小さく、パターン空間は他のデータセットに比べてより小さな数のデータ数で構築されている。
(自己組織化ニューラルネットワーク構造の性能に対してのラジウスσの選択の影響)
一般的なニューラルネットワーク構造であるGRNNやPNNに関しては、自己組織化ニューラルネットワーク構造におけるラジウスの値が特定の値をとる場合に汎化能力と計算の複雑さとの間の合理的なトレードオフが与えられる、ということが確認されている。そこで、シミュレーション実験例1における自己組織化ニューラルネットワーク構造の構築中においても、パラメータであるラジウスをσi=σ(∀i)と選択した。
しかしながら、自己組織化ニューラルネットワーク構造において、ラジウスσ
iの値をどのように選択するかは、一般的なニューラルネットワーク構造であるGRNNやPNNと同様に依然として汎化能力に大きな影響を与えるものである。この点をさらに追求すると、ラジウスσ
iの値は、学習用データセット中のパターンベクトルの全ての組の間で計算される最小ユークリッド距離と、同様にして計算される最大ユークリッド距離との間で変化する。なお、3つのデータセット(SFS、OptDigit及びPenDigit)の最小ユークリッド距離及び最大ユークリッド距離は、下記表3に示すように計算された。
図14及び図15はそれぞれ、シミュレーション実験例1における自己組織化ニューラルネットワーク構造におけるラジウスσと生成されたRBF素子(ニューロン)の数との関係、及びラジウスσと汎化能力との関係を示している。
図14及び図15に示すように、生成されたRBF素子(ニューロン)の数及び汎化能力はいずれもラジウスσの値に応じて大幅に変化することが分かる。具体的には、ラジウスσが最小ユークリッド距離に近いときには、RBF素子の数はほぼデータセット内のパターンベクトルの数と同一となる。言い換えれば、そのような場合には自己組織化ニューラルネットワーク構造の構築中にほぼ全ての学習用データセットが用い尽くされることとなる。しかしながら、一方で、図14及び図15は、RBF素子の数の減少が常に汎化能力の相対的な劣化を導くものではないことも示している。この傾向はまた、図16に示す関係、すなわち、ラジウスσと、正しく接続されたウェイト係数(リンク)の数(すなわち同一のクラスラベルを持つRBF素子間の接続を確立するウェイト係数の数)との関係によっても確認することができる。
図16を図15と比較すると、それぞれのデータセットについて、正しく接続されたウェイト係数の数がピークから減少し始めたときに、汎化能力が急激に劣化することが分かる。このような考察から、上記表2のそれぞれのデータセットのラジウスσの値を合理的に選択した。正しく接続されたウェイト係数と誤って接続されたウェイト係数との間の比率は十分に高かった。(すなわち、実際の比率は、SFS及びOptDigitのデータセットのそれぞれについて2.1及び7.3であった。これに対し、PenDigitについては、誤ったウェイト係数の数は0であった。)
(自己組織化ニューラルネットワーク構造の汎化能力)
下記表4は、上記表2のパラメータを用いて構築された自己組織化ニューラルネットワーク構造(すなわち、構築のための全てのパターンベクトルの入力が終了した自己組織化ニューラルネットワーク構造)と、良く知られたマッキーン(MacQueen)のk−meansクラスタリングアルゴリズムにより求められたセントロイドを持つPNNとの間で性能を比較したものである。なおここでは、両者の間の比較をできるだけ公平に行うため、それぞれのクラスを担うPNN内のニューロンの数は、自己組織化ニューラルネットワーク構造内のRBF素子(ニューロン)の数に固定した。
上記表4に示すように、3つのデータセットについて、自己組織化ニューラルネットワーク構造の全体の汎化能力は、上述したPNNの手法とほぼ同じか若干良くなった。しかしながら、一般的なニューラルネットワーク構造であるGRNNやPNNとは異なり、RBF素子(ニューロン)の数は、自律型のアルゴリズムにより自動的に決定される。この点で、自己組織化ニューラルネットワーク構造は、一般的なニューラルネットワーク構造であるGRNNやPNNよりも動的である。
(パターンベクトルの入力の順番の変化)
自己組織化ニューラルネットワーク構造において、上述したようなパターン分類器を構成するための典型的な方法である通常の「バランスのとれた」パターンベクトルの入力は、例えば、数字/ZERO/のパターン#1、数字/ONE/のパターン#1、…、数字/NINE/のパターン#1、数字/ZERO/のパターン#2、数字/ONE/のパターン#2、…、数字/NINE/のパターン#2、…、という具合である。しかしながら、これに変えて、パターンベクトルの入力の順番を、(1)ランダムに変えたり、(2)新たなクラスを伴うように変えたりすることも可能である。すなわち、数字/ZERO/のパターン#1、数字/ZERO/のパターン#2、…、数字/ZERO/の最後のパターン、数字/ONE/のパターン#1、数字/ONE/のパターン#2、…、という具合にしてもよい。このような変更は、経験的に、生成されたRBF素子(ニューロン)及びウェイト係数(リンク)の数にも汎化能力にも影響を与えないことが分かっている。このことは、自己組織化ニューラルネットワーク構造がPNNのような新たなクラスを伴う能力だけでなく、条件の変化に対してもロバストであることを示している。
シミュレーション実験例2
(マルチドメインのパターン認識)
上記シミュレーション実験例1では、パターン認識の分野において、自己組織化ニューラルネットワーク構造が、一般的なニューラルネットワーク構造であるPNN/GRNNの場合に比べて同様かあるいはそれよりも若干良い汎化能力を示すことが確認された。このことは、自己組織化ニューラルネットワーク構造の特徴の一つではあるが、全部ではない。すなわち、自己組織化ニューラルネットワーク構造には複数のモダリティを持つマルチドメインの問題に適用することが可能であるという特徴がある。そこでここでは、上述した後者の特徴を理解するため、自己組織化ニューラルネットワーク構造に関して、マルチドメインのパターン認識(すなわちデュアルドメインの同時的なパターン認識)についての別の実用的なシミュレーション実験を行った。
なお、シミュレーション実験例2において構築された自己組織化ニューラルネットワーク構造は、2つの部分的な自己組織化ニューラルネットワーク構造を統合したものである。すなわち、このような自己組織化ニューラルネットワーク構造は、「デュアルドメインの同時的なパターン認識」を実現するため、その内部の特定の領域(すなわち聴覚領域)に入力された特定の音声が聴覚領域だけでなくそれと並行してすなわち同時に視覚領域をも発火させるというような状況を模擬するように設計されている。このような設計は、それぞれのモダリティ(聴覚モダリティ及び視覚モダリティ)用の適切な組み込み型の特徴抽出メカニズムがシステム内に設けられていることを意味している。このことは従って、異なったモダリティの間の「連関(associations)」をモデル化する問題、又はより一般的には「概念形成(concept formation)」の問題に幾分関連している。なお、ここでいう問題は、幾つかの知覚方法が同時的にすなわち統合的に(融合的に)扱われる問題であり、ゲシュタルト(gestalt)と呼ばれる統合的な表現法により実現されるものである。
(パラメータの設定)
シミュレーション実験例2においては、SFSのデータセット(数字音声認識用)及びPenDigitのデータセット(数字文字認識用)の両方を用いた。ここで、各データセットは、対応する特定のドメインデータのための部分的な自己組織化ニューラルネットワーク構造を構築するために用いた。これらを用いて構築される2つの部分的な自己組織化ニューラルネットワーク構造内にある所定数のRBF素子(ニューロン)を接続するクロスドメインなウェイト係数(リンク)(すなわち連関リンク)が、上述したウェイト係数の更新のためのアルゴリズムと同様の手法により形成される。ここで、デュアルドメインのパターン認識の処理を行うためのにウェイト係数を更新するパラメータは、上記表2の右側のカラムにまとめられている。2つの部分的な自己組織化ニューラルネットワーク構造間の連関リンクを形成するため、通常のウェイト係数(すなわち上記表2の左側のカラムにまとめられている部分的な自己組織化ニューラルネットワーク構造内のウェイト係数)と同一の値を選択した。ただし、減衰係数ξiについてはξi=ξ=0.0005(∀i)とした。
さらに、このようなクロスドメインの問題をモデル化するにあたっては、パターンベクトルの入力の順番が連関リンクの形成に影響を与えるということを考慮する必要がある。従って、シミュレーション実験例2においては、パターンベクトルを2つの学習用データセットにまたがって交互に、すなわち、SFSのパターンベクトル#1、PenDigitのパターンベクトル#1、SFSのパターンベクトル#2、PenDigitのパターンベクトル#2、という具合に入力した。
(シミュレーション結果)
下記表5の2番目のカラム及び3番目のカラムは、シミュレーション実験例2におけるデュアルドメインのパターン認識の処理での汎化能力をまとめたものである。下記表5において、「Sub−SOKM(i)→Sub−SOKM(j)」は、i番目の部分的な自己組織化ニューラルネットワーク構造内のRBF素子から連関リンクを介してj番目の部分的な自己組織化ニューラルネットワーク構造内のRBF素子の発火が行われることに起因した、j番目の部分的な自己組織化ニューラルネットワーク構造内のRBF素子の発火により得られる全体の汎化能力を示すものである。ここで、Sub−SOKM(1)はSFSデータセット用の部分的な自己組織化ニューラルネットワーク構造を示し、Sub−SOKM(2)はPenDigitデータセット用の部分的な自己組織化ニューラルネットワーク構造を示す。
シミュレーション実験例3
(自己組織化ニューラルネットワーク構造へのクラスラベルの導入)
上記シミュレーション実験例1及び2では、新たなRBF素子が自己組織化ニューラルネットワーク構造内に追加されるときにクラスラベルηiが与えられ、現在の入力ベクトルであるパターンベクトルと同一の値に設定される。しかしながら、自己組織化ニューラルネットワーク構造においては、入力ベクトルであるパターンベクトルが与えられるのと同時にクラスラベルηiを設定する必要が常にあるわけではなく、クラスラベルηiを非同期的に設定することも可能である。
シミュレーション実験例3では、このような点を考慮し、ウェイト係数の更新のアルゴリズムとして、上述した第3のアルゴリズム(クラスラベルηiを考慮に入れたアルゴリズム)を用いた。すなわち、クラスラベルηiは、RBF素子間を結合するウェイト係数の値を調整するために用いられる。これにより、汎化能力を大幅に向上させることができる。
(ウェイト係数の形成における制約)
自己組織化ニューラルネットワーク構造においては、クラスラベルはその応用例に依存して何時でも与えることができる。ここでは、クラスラベルに関する情報が事前に知られているという、実際上はあまり典型的ではない状況を考え、このような変更が自己組織化ニューラルネットワーク構造の性能にどのような影響を与えるのかを検討する。
(シミュレーション結果)
図17はシミュレーション実験例3のクラスラベルに関しての制約がある状態で構築された自己組織化ニューラルネットワーク構造のウェイト係数の数と、クラスラベルに関しての制約がない状態で構築された自己組織化ニューラルネットワーク構造のウェイト係数の数とを比較するものである。図17に示されているように、ウェイト係数の全ての種類(すなわち、単独のSFSのデータセットでのウェイト係数、単独のPenDigitのデータセットでのウェイト係数、2つのデータセット間での連関リンクのウェイト係数)について、制約があるウェイト係数の数は制約がないウェイト係数の数に比べて小さいことが分かる。このことは、クラスラベルに関しての制約がある場合には、RBF素子の「誤った」接続(すなわち、異なったクラスラベルを持つRBF素子同士の接続)の形成が構築中に避けられることを意味する。
本発明の一実施の形態に係る相互結合型ニューラルネットワークシステムの全体構成を示すブロック図。
図1に示す相互結合型ニューラルネットワークシステムのニューラルネットワーク部内に構築される人工ニューラルネットワーク構造の一例を示す図。
図2に示すニューラルネットワーク部で用いられるRBF素子(ニューロン)の構成を示す図。
図1に示す相互結合型ニューラルネットワークシステムのニューラルネットワーク部内に構築される人工ニューラルネットワーク構造の他の例を示す図。
図1に示す相互結合型ニューラルネットワークシステムのニューラルネットワーク部内に構築される人工ニューラルネットワーク構造のさらに他の例を示す図。
図1に示す相互結合型ニューラルネットワークシステムのニューラルネットワーク部内に構築される人工ニューラルネットワーク構造のさらに他の例を示す図。
図1に示す相互結合型ニューラルネットワークシステムのニューラルネットワーク部内に構築される人工ニューラルネットワーク構造のさらに他の例を示す図。
図2に示す人工ニューラルネットワーク構造の構築方法を説明するための模式図。
図2及び図4乃至図7に示す人工ニューラルネットワーク構造に含まれるRBF素子(ニューロン)で用いられる行列形式のセントロイドデータを説明するための模式図。
図2に示すニューラルネットワーク部で用いられるRBF素子(ニューロン)の変形例の構成を示す図。
本発明の一実施の形態が適用されるコンピュータシステムの一例を示す図。
シミュレーション実験例1の実験結果(自己組織化ニューラルネットワーク構造の構築中におけるRBF素子(ニューロン)の数の変化)を示す図。
シミュレーション実験例1の実験結果(自己組織化ニューラルネットワーク構造の構築中におけるウェイト係数(リンク)の数の変化)を示す図。
シミュレーション実験例1の実験結果(自己組織化ニューラルネットワーク構造におけるラジウスと生成されたRBF素子(ニューロン)の数との関係)を示す図。
シミュレーション実験例1の実験結果(自己組織化ニューラルネットワーク構造におけるラジウスと汎化能力との関係)を示す図。
シミュレーション実験例1の実験結果(自己組織化ニューラルネットワーク構造におけるラジウスと生成されたウェイト係数(リンク)の数との関係)を示す図。
シミュレーション実験例2の実験結果を示す図。
符号の説明
10 相互結合型ニューラルネットワークシステム
11 ニューラルネットワーク部
12 ネットワーク制御部
13 入力層ニューロン
14,14′,14″ RBF素子(中間層ニューロン)
15 出力層ニューロン
16 RBF本体部
17 ポインター部
18 ウェイト係数保持部
19 生存期間変数保持部
20 活性回数保持部
21 クラスラベル保持部