(57)【特許請求の範囲】
【請求項１】
ニューラルネットワークであって、
入力値を有する入力信号を受信するようにそれぞれ構成される、前記ニューラルネットワークの複数の入力と、
複数のシナプスであって、各シナプスは、前記複数の入力のうちの１つに接続され、複数の補正重みを含み、各補正重みは重み値によって定義される、複数のシナプスと、
１組の分配器であって、各分配器は、前記複数の入力のうちの１つに動作可能に接続されて、各入力信号を受信し、前記入力値に相関して、前記複数の補正重みから１つ又は複数の補正重みを選択するように構成される、１組の分配器と、
１組のニューロンであって、各ニューロンは、少なくとも１つの出力を有し、前記複数のシナプスのうちの１つを介して前記複数の入力のうちの少なくとも１つに接続され、各ニューロンは、各ニューロンに接続された各シナプスから選択される前記補正重みの前記重み値を合算し、それにより、ニューロン和を生成するように構成される、１組のニューロンと、
重み補正計算器であって、値を有する所望の出力信号を受信し、前記所望の出力信号値からの前記ニューロン和の逸脱を特定し、変更された補正重み値を合算して、ニューロン和を特定することにより、前記所望の出力信号値からの前記ニューロン和の前記逸脱が最小化され、それにより、前記ニューラルネットワークがトレーニングされるように、前記特定された逸脱を使用して各補正重み値を変更するように構成される、重み補正計算器と
を備える、ニューラルネットワーク。
【請求項２】
前記所望の出力信号からの前記ニューロン和の前記逸脱の前記特定は、前記所望の出力信号値を前記ニューロン和で除算し、それにより、逸脱係数を生成することを含み、
各補正重み値の前記変更は、前記逸脱係数により、前記ニューロン和の生成に使用される各補正重みを乗算することを含む、請求項１に記載のニューラルネットワーク。
【請求項３】
前記所望の出力信号からの前記ニューロン和の前記逸脱は、前記所望の出力信号と前記ニューロン和との数学的差分であり、
各変更補正重みの前記生成は、前記ニューロン和の生成に使用される各補正重みへの前記数学的差分の配分を含む、請求項１に記載のニューラルネットワーク。
【請求項４】
前記数学的差分の前記配分は、前記ニューロン和の生成に使用される各補正重み間で、前記特定された差分を等分割することを含む、請求項３に記載のニューラルネットワーク。
【請求項５】
各分配器は、各影響係数が所定の割合で前記複数の補正重みのうちの１つに割り当てられて、各ニューロン和を生成するように、複数の影響係数を前記複数の補正重みのそれぞれに割り当てるように更に構成され、
各ニューロンは、各ニューロンに接続された全ての前記シナプスについて、前記補正重みと前記割り当てられた影響係数との積を合算するように構成され、
前記重み補正計算器は、各影響係数によって確立される前記積に従って、前記特定された差分の部分を、前記ニューロン和の生成に使用される各補正重みに適用するように構成される、請求項３に記載のニューラルネットワーク。
【請求項６】
複数の影響係数のそれぞれは、影響分布関数によって定義され、
前記複数の入力値は、各入力値が各間隔内で受信され、各補正重みが前記間隔のうちの１つに対応するように、間隔分布関数に従って前記間隔に分割される値範囲の中で受信され、
各分配器は、前記受信される各入力値を使用して、各間隔を選択し、前記複数の影響係数のそれぞれを、前記選択された各間隔に対応する前記補正重み及び前記選択された各間隔に隣接する間隔に対応する少なくとも１つの補正重みに割り当てる、請求項５に記載のニューラルネットワーク。
【請求項７】
各補正重みは、
前記入力に対応する前記補正重みを識別するように構成される入力インデックスと、
各補正重みに選択される前記間隔を指定するように構成される間隔インデックスと、
前記ニューロンに対応する前記補正重みを指定するように構成されるニューロンインデックスと
を含む１組のインデックスによって更に定義される、請求項６に記載のニューラルネットワーク。
【請求項８】
各補正重みは、各補正重みが前記ニューラルネットワークのトレーニング中に前記入力信号によってアクセスされる回数を数えるように構成されるアクセスインデックスによって更に定義される、請求項７に記載のニューラルネットワーク。
【請求項９】
ニューラルネットワークをトレーニングする方法であって、
前記ニューラルネットワークへの入力を介して、入力値を有する入力信号を受信することと、
前記入力に動作可能に接続された分配器に前記入力信号を通信することと、
前記分配器を介して、前記入力信号に相関して、複数の補正重みから１つ又は複数の補正重みを選択することであって、各補正重みは、重み値によって定義され、前記入力に接続されるシナプスに位置決めされる、選択することと、
前記シナプスを介して前記入力に接続され、少なくとも１つの出力を有するニューロンを介して、前記選択された補正重みの前記重み値を合算することであって、それにより、ニューロン和を生成する、合算することと、
重み補正計算器を介して、値を有する所望の出力信号を受信することと、
前記重み補正計算器を介して、前記所望の出力信号値からの前記ニューロン和の逸脱を特定することと、
前記重み補正計算器を介して、変更された補正重み値を合算して、前記ニューロン和を特定することにより、前記所望の出力信号からの前記ニューロン和の前記逸脱が最小化され、それにより、前記ニューラルネットワークをトレーニングするように、前記特定される逸脱を使用して各補正重み値を変更することと
を含む、方法。
【請求項１０】
前記所望の出力信号値からの前記ニューロン和の前記逸脱を特定することは、前記所望の出力信号値を前記ニューロン和で除算し、それにより、逸脱係数を生成することを含み、
前記各補正重みを変更することは、前記ニューロン和の生成に使用される各補正重みを前記逸脱係数で乗算することを含む、請求項９に記載の方法。
【請求項１１】
前記所望の出力信号値からの前記ニューロン和の前記逸脱を特定することは、前記所望の出力信号値と前記ニューロン和との数学的差分を特定することを含み、前記補正重みのそれぞれを変更することは、前記数学的差分を、前記ニューロン和の生成に使用される各補正重みに配分することを含む、請求項９に記載の方法。
【請求項１２】
前記数学的差分の前記配分は、前記ニューロン和の生成に使用される各補正重み間で、特定された差分を等分割することを含む、請求項１１に記載の方法。
【請求項１３】
前記分配器を介して、複数の影響係数を前記複数の補正重みに割り当て、所定の割合で各影響係数を前記複数の補正重みのうちの１つに割り当て、前記ニューロン和を生成することを含む、割り当てることと、
前記ニューロンを介して、前記ニューロンに接続される全ての前記シナプスについて、前記補正重みと前記割り当てられる影響係数との積を合算することと、
前記重み補正計算器を介して、各影響係数のそれぞれによって確立される前記積に従って、前記特定された差分の部分を、前記ニューロン和の生成に使用される各補正重みに適用することと
を更に含む、請求項９に記載の方法。
【請求項１４】
前記複数の影響係数は、影響分布関数によって定義され、前記方法は、
前記入力値が各間隔内で受信され、各補正重みが前記間隔のうちの１つに対応するように、間隔分布関数に従って前記間隔に分割される値範囲の中で前記入力値を受信することと、
前記分配器を介して、前記受信した入力値を使用することであって、それにより、前記間隔のそれぞれを選択し、前記複数の影響関数を、前記選択される各間隔に対応する前記補正重み及び前記選択される各間隔に隣接する間隔に対応する少なくとも１つの補正重みに割り当てる、使用することと
を更に含む、請求項１３に記載の方法。
【請求項１５】
１組のインデックスによって各補正重みを更に定義することを更に含み、前記１組のインデックスは、
前記入力に対応する前記補正重みを識別するように構成される入力インデックスと、
各補正重みに選択される前記間隔を指定するように構成される間隔インデックスと、
前記ニューロンに対応する前記補正重みを指定するように構成されるニューロンインデックスと
を含む、請求項１４に記載の方法。
【請求項１６】
アクセスインデックスによって各補正重みを更に定義することを更に含み、前記アクセスインデックスは、各補正重みが、前記ニューラルネットワークのトレーニング中、前記入力信号によってアクセスされる回数を数えるように構成される、請求項１５に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本願は、２０１４年３月６日に出願された米国仮特許出願第６１／９４９，２１０号明細書及び２０１５年１月２２日に出願された米国仮特許出願第６２／１０６，３８９号明細書の利益を主張するものであり、これらの内容全体は、参照により本明細書に援用される。
【０００２】
本開示は、人工ニューラルネットワーク及び人工ニューラルネットワークをトレーニングする方法に関する。
【背景技術】
【０００３】
機械学習では、人工ニューラルネットワークは、生物学的神経系、すなわち、動物の中枢神経系、特に脳によって触発された統計学的学習アルゴリズムの一群である。人工ニューラルネットワークは主に、多数の入力に依存することができる一般的に未知の機能を推定又は近似するために使用される。そのようなニューラルネットワークは、コンピュータビジョン及び音声認識を含め、普通のルールベースのプログラミングを使用して分解することが難しい多種多様なタスクに使用されてきた。
【０００４】
人工ニューラルネットワークは一般に、入力から値を計算することができる「ニューロン」の系として提示され、その適応性の結果、機械学習及びパターン認識が可能である。各ニューロンは往々にして、シナプス重みを有するシナプスを通して幾つかの入力と接続する。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ニューラルネットワークは、典型的なソフトウェアとしてプログラムされず、トレーニングされる。そのようなトレーニングは通常、所与の入力画像セットが所与の出力画像セットに対応するように、十分な数の代表例の解析を介して、シナプス重みの統計学的又はアルゴリズム的選択により達成される。従来のニューラルネットワークの一般的な批判は、往々にしてトレーニングにかなりの時間及び他のリソースが必要とされることである。
【０００６】
様々な人工ニューラルネットワークが、以下の米国特許に記載されている：米国特許第４，９７９，１２４号明細書、同第５，４７９，５７５号明細書、同第５，４９３，６８８号明細書、同第５，５６６，２７３号明細書、同第５，６８２，５０３号明細書、同第５，８７０，７２９号明細書、同第７，５７７，６３１号明細書、及び同第７，８１４，０３８号明細書。
【課題を解決するための手段】
【０００７】
ニューラルネットワークは、入力値を有する入力信号を受信するようにそれぞれ構成されるような複数のネットワーク入力を有する。ニューラルネットワークは、複数のシナプスも含み、各シナプスは、複数の入力のうちの１つに接続され、複数の補正重みを含み、各補正重みは重み値によって定義される。ニューラルネットワークは、１組の分配器を更に含む。各分配器は、複数の入力のうちの１つに動作可能に接続されて、各入力信号を受信し、入力値に相関して、複数の補正重みから１つ又は複数の補正重みを選択するように構成される。ニューラルネットワークは、１組のニューロンも含む。各ニューロンは、少なくとも１つの出力を有し、複数のシナプスのうちの１つを介して複数の入力のうちの少なくとも１つに接続され、各ニューロンに接続された各シナプスから選択される補正重みの重み値を合算し、それにより、ニューロン和を生成するように構成される。さらに、ニューラルネットワークは、重み補正計算器を含み、重み補正計算器は、値を有する所望の出力信号を受信し、所望の出力信号値からのニューロン和の逸脱を特定し、特定された逸脱を使用して各補正重み値を変更するように構成される。変更された補正重み値を合算して、ニューロン和を特定することにより、所望の出力信号値からのニューロン和の逸脱が最小化され、ニューラルネットワークのトレーニングを提供する。
【０００８】
所望の出力信号からのニューロン和の逸脱の特定は、所望の出力信号値をニューロン和で除算し、それにより、逸脱係数を生成することを含み得る。さらに、各補正重み値の変更は、逸脱係数により、ニューロン和の生成に使用される各補正重みを乗算することを含み得る。
【０００９】
所望の出力信号からのニューロン和の逸脱は、所望の出力信号とニューロン和との数学的差分であり得る。そのような場合、各変更補正重みの生成は、ニューロン和の生成に使用される各補正重みへの数学的差分の配分を含み得る。各補正重みへのそのような数学的差分の配分は、各ニューロン和を所望の信号値に収束させることを意図する。
【００１０】
数学的差分の配分は、ニューロン和の生成に使用される各補正重み間で、特定された差分を等分割することを含むこともできる。
【００１１】
分配器は、各影響係数が所定の割合で複数の補正重みのうちの１つに割り当てられて、ニューロン和を生成するように、複数の影響係数を複数の補正重みに割り当てるように更に構成し得る。
【００１２】
複数の影響係数のそれぞれは、影響分布関数によって定義し得る。複数の入力値は、各入力値が各間隔内で受信され、各補正重みが間隔のうちの１つに対応するように、間隔分布関数に従って間隔に分割される値範囲の中で受信し得る。また、各分配器は、入力信号の受信される各入力値を使用して、各間隔を選択し得る。さらに、各分配器は、複数の影響係数のそれぞれを、選択された各間隔に対応する補正重み及び選択された各間隔に隣接する間隔に対応する少なくとも１つの補正重みに割り当て得る。
【００１３】
各ニューロンは、そのニューロンに接続された全てのシナプスでの補正重みと割り当てられた影響係数との積を合算するように構成し得る。
【００１４】
影響係数の所定の割合は、ガウス関数の使用等の統計学的分布に従って定義し得る。
【００１５】
重み補正計算器は、各影響係数によって確立される割合に従って、特定された差分の部分を、ニューロン和の生成に使用される各補正重みに適用するように構成し得る。
【００１６】
各補正重みは、１組のインデックスによって更に定義し得る。そのようなインデックスは、入力に対応する補正重みを識別するように構成される入力インデックスと、各補正重みに選択される間隔を指定するように構成される間隔インデックスと、ニューロンに対応する補正重みを指定するように構成されるニューロンインデックスとを含み得る。
【００１７】
各補正重みは、ニューラルネットワークのトレーニング中、各補正重みが入力信号によってアクセスされる回数を数えるように構成されるアクセスインデックスによって更に定義し得る。
【００１８】
そのようなニューラルネットワークをトレーニングする方法も開示される。
【００１９】
本開示の上記特徴及び利点並びに他の特徴及び利点は、添付図面及び添付の特許請求の範囲と併せて解釈される場合、以下の実施形態の詳細な説明及び記載される開示を実施する最良の形態から容易に理解される。
【図面の簡単な説明】
【００２０】
【図１】従来技術による従来の人工ニューラルネットワークの図である。
【図２】複数のシナプスと、１組の分配器と、各シナプスに関連付けられた複数の補正重みとを有する「プログレッシブニューラルネットワーク」（ｐネット）の図である。
【図３Ａ】複数のシナプスと、各分配器の上流に位置決めされる１つのシナプス重みとを有する、図２に示されるｐネットの一部の図である。
【図３Ｂ】複数のシナプスと、複数の補正重みのそれぞれの下流に位置決めされる１組のシナプス重みとを有する、図２に示されるｐネットの一部の図である。
【図３Ｃ】複数のシナプスと、各分配器の上流に位置決めされた１つのシナプス重みと、複数の補正重みのそれぞれの下流に位置決めされる１組のシナプス重みとを有する、図２に示されるｐネットの一部の図である。
【図４Ａ】所与の入力の全てのシナプスに１つの分配器と、各分配器の上流に位置決めされる１つのシナプス重みとを有する、図２に示されるｐネットの一部の図である。
【図４Ｂ】所与の入力の全てのシナプスに１つの分配器と、複数の補正重みのそれぞれの下流に位置決めされる１組のシナプス重みとを有する、図２に示されるｐネットの一部の図である。
【図４Ｃ】所与の入力の全てのシナプスに１つの分配器と、各分配器の上流に位置決めされる１つのシナプス重みと、複数の補正重みのそれぞれの下流に位置決めされた１組のシナプス重みとを有する、図２に示されるｐネットの一部の図である。
【図５】図２に示されるｐネット内の個々の間隔への入力信号値範囲を分割する図である。
【図６Ａ】図２に示されるｐネット内の補正重みの影響係数の値の分布の一実施形態の図である。
【図６Ｂ】図２に示されるｐネット内の補正重みの影響係数の値の分布の別の実施形態の図である。
【図６Ｃ】図２に示されるｐネット内の補正重みの影響係数の値の分布の更に別の実施形態の図である。
【図７】図２に示されるｐネットの入力画像並びにデジタル符号の形態で画像を表す１つの対応するテーブル及び１組の各間隔と同じ画像を表す別の対応するテーブルの図である。
【図８】ｐネットが各画像の幾つかの特徴を含むピクチャを認識するように構成される、２つの別個の画像の認識に向けてトレーニングされた図２に示されるｐネットの実施形態の図である。
【図９】「中央」ニューロンの周囲のシナプス重みの分布例を有する、図２に示されるｐネットの実施形態の図である。
【図１０】補正重み間のトレーニング逸脱の均一分布を示す、図２に示されるｐネットの実施形態の図である。
【図１１】ｐネットトレーニング中に補正重みの変更を利用する、図２に示されるｐネットの実施形態の図である。
【図１２】基本アルゴリズムが、出力ニューロン和のプライマリセットを生成し、生成されるセットは、維持又は増大された値を有する幾つかの「ウィナー」和の生成に使用され、残りの和の寄与は無視される、図２に示されるｐネットの実施形態の図である。
【図１３】複数の画像の要素を有する複雑な画像を認識する、図２に示されるｐネットの実施形態の図である。
【図１４】統一モデリング言語（ＵＭＬ）を使用する、図２に示されるｐネットのオブジェクト指向プログラミングのモデルの図である。
【図１５】図２に示されるｐネットの一般形成シーケンスの図である。
【図１６】代表的な解析及び図２に示されるｐネットの形成に向けてのデータの準備の図である。
【図１７】トレーニング及びｐネット適用中の入力データとの図２に示されるｐネットの対話を可能にする代表的な入力作成の図である。
【図１８】図２に示されるｐネットのニューロンユニットの代表的な作成の図である。
【図１９】ニューロンユニットに接続された各シナプスの代表的な作成の図である。
【図２０】図２に示されるｐネットのトレーニングの図である。
【図２１】図２に示されるｐネットでのニューロンユニットトレーニングの図である。
【図２２】図２に示されるｐネットのトレーニング中のニューロン和の拡張の図である。
【図２３】図２〜図２２に示されるニューラルネットワークのトレーニングに使用される方法の流れ図である。
【発明を実施するための形態】
【００２１】
従来の人工ニューラルネットワーク１０は、図１に示されるように、通常、入力デバイス１２と、シナプス重み１６を有するシナプス１４と、加算器２０及びアクティブ化機能デバイス２２を含むニューロン１８と、ニューロン出力２４と、重み補正計算器２６とを含む。各ニューロン１８は、シナプス１４を通して２つ以上の入力デバイス１２に接続される。シナプス重み１６の値は一般に、電気抵抗、導電率、電圧、電荷、磁気特性、又は他のパラメータを使用して表される。
【００２２】
従来のニューラルネットワーク１０の教師付きトレーニングは一般に、１組のトレーニングペア２８の適用に基づく。各トレーニングペア２８は一般に、入力画像２８−１及び所望の出力画像２８−２、別名、監視信号からなる。従来のニューラルネットワーク１０のトレーニングは通常、以下のように提供される。１組の入力信号（Ｉ１〜Ｉｍ）の形態の入力画像が、入力デバイス１２に入力され、初期重み（Ｗ１）を有するシナプス重み１６に転送される。入力信号の値は、重みにより、通常、各信号（Ｉ１〜Ｉｍ）値を各重みで乗算又は除算することにより、変更される。シナプス重み１６から、変更された入力信号は各ニューロン１８に転送される。各ニューロン１８は、１組の信号を、対象となるニューロン１８に関連する１群のシナプス１４から受信する。ニューロン１８に含まれる加算器２０は、重みにより変更され、対象となるニューロンにより受信された全ての入力信号を合算する。アクティブ化機能デバイス２２は、その結果生成される各ニューロン和を受信し、数学的関数に従って和を変更し、したがって、ニューロン出力信号の集合（ΣＦ１、・・・、ΣＦｎ）として各出力画像を形成する。
【００２３】
ニューロン出力信号によって定義される、取得ニューロン出力画像（ΣＦ１、・・・、ΣＦｎ）は、重み補正計算器２６によって所定の所望の出力画像（Ｏ１〜Ｏｎ）と比較される。取得ニューロン出力画像ΣＦｎと所望の出力画像Ｏｎとの、特定される差分に基づいて、シナプス重み１６を変更する補正信号が、予めプログラムされるアルゴリズムを使用して形成される。補正が全てのシナプス重み１６に対して行われた後、１組の入力信号（Ｉ１〜Ｉｍ）はニューラルネットワーク１０に再び導入され、新しい補正が行われる。上記サイクルは、取得ニューロン出力画像ΣＦｎと所望の出力画像Ｏｎとの差が何らかの所定の誤差未満であると判断されるまで、繰り返される。個々の画像全てを用いてのネットワークトレーニングの１サイクルは通常、「トレーニングエポック」として識別される。一般に、トレーニングエポック毎に、誤差の大きさが低減する。しかし、個々の入力（Ｉ１〜Ｉｍ）の数並びに入力及び出力の数に応じて、従来のニューラルネットワーク１０のトレーニングでは、かなりの数のトレーニングエポックが必要であり得、場合によっては、これは何十万もの数であり得る。
【００２４】
ホップフィールドネットワーク、制限付きボルツマンマシン、放射基底関数ネットワーク、及びリカレントニューラルネットワークを含め、様々な従来のニューラルネットワークが存在する。分類及びクラスタ化の特定のタスクでは、特定のタイプのニューラルネットワークである、ネットワーク入力トレーニング情報として入力画像のみを使用する自己組織化写像が必要であり、一方、特定の入力画像に対応する所望の出力画像は、最大値を有する出力信号を有する１つの勝者ニューロンに基づいて、トレーニングプロセス中、直接形成される。
【００２５】
上述したように、ニューラルネットワーク１０等の存在する従来のニューラルネットワークに伴う主な問題の１つは、そのトレーニングの成功に、かなりの時間が必要であり得ることである。従来のネットワークに伴う幾つかの更なる問題は、計算リソースの大量消費であり得、これは、強力なコンピュータの必要性を生じさせる。更なる問題は、ネットワークを完全に再トレーニングせずにはネットワークのサイズを増大することができないこと、「ネットワークの麻痺」及び「極小でのフリーズ」のような現象への傾向であり、これは、特定のニューラルネットワークが所与のシーケンスで所与の画像セットを用いてトレーニング可能であるか否かを予測することを不可能にする。また、トレーニング中に導入される画像の特定のシーケンシングに関連する制限もあり得、トレーニング画像の導入順を変更すると、ネットワークフリーズが生じると共に、既にトレーニングされたネットワークの更なるトレーニングを実行することができなくなり得る。
【００２６】
同様の参照番号が同様の構成要素を指す残りの図面を参照すると、図２は、プログレッシブニューラルネットワーク、以下「プログレッシブネットワーク」又は「ｐネット」１００の概略図を示す。ｐネット１００は、ｐネットの複数又は１組の入力１０２を含む。各入力１０２は、入力信号１０４を受信するように構成され、入力信号は、図２ではＩ１、Ｉ２、・・・、Ｉｍとして表される。各入力信号Ｉ１、Ｉ２、・・・、Ｉｍは、入力画像１０６の幾つかの特性の値、例えば、大きさ、周波数、位相、信号分極角度、又は入力画像１０６の異なる部分との関連を表す。各入力信号１０４は入力値を有し、一般に、複数の入力信号１０４は一緒に、入力画像１０６を記述する。
【００２７】
各入力値は、−∞と＋∞との間にある値範囲内であり得、デジタル形態及び／又はアナログ形態で設定することができる。入力値の範囲は、１組のトレーニング画像に依存し得る。最も単純な場合、範囲入力値は、全てのトレーニング画像の入力信号の最小値と最大値との差であることができる。実際上の理由で、入力値の範囲は、あまりに高すぎると見なされる入力値をなくすことによって制限し得る。例えば、入力値の範囲のそのような制限は、重要度サンプリング等の分散を低減する既知の統計学的方法を介して達成し得る。入力値の範囲制限の別の例は、所定の最小レベルよりも低い全ての信号を特定の最小値に指定し、所定の最大レベルを超える全ての信号を特定の最大値に指定することであり得る。
【００２８】
ｐネット１００は、複数又は１組のシナプス１１８も含む。各シナプス１１８は、図２に示されるように、複数の入力１０２のうちの１つに接続され、複数の補正重み１１２を含み、シナプス重み１０８を含むこともできる。各補正重み１１２は、各重み値１１２によって定義される。ｐネット１００は、１組の分配器１１４も含む。各分配器１１４は、各入力信号１０４を受信する複数の入力１０２のうちの１つに動作可能に接続される。さらに、各分配器１１４は、入力値に相関して、複数の補正重み１１２から１つ又は複数の補正重みを選択するように構成される。
【００２９】
ｐネット１００は、１組のニューロン１１６を更に含む。各ニューロン１１６は、少なくとも１つの出力１１７を有し、１つのシナプス１１８を介して複数の入力１０２のうちの少なくとも１つと接続される。各ニューロン１１６は、各ニューロン１１６に接続された各シナプス１１８から選択される補正重み１１２の補正重み値を合算又は加算し、それにより、Σｎとして別記されるニューロン和１２０を生成し出力するように構成される。図３Ａ、図３Ｂ、及び図３Ｃに示されるように、別個の分配器１１４を所与の入力１０２の各シナプス１１８に使用してもよく、又は図４Ａ、図４Ｂ、及び図４Ｃに示されるように、１つの分配器を全てのそのようなシナプスに使用してもよい。ｐネット１００の形成又はセットアップ中、全ての補正重み１１２には初期値が割り当てられ、この値は、ｐネットトレーニングのプロセス中に可変である。補正重み１１２の初期値は、従来のニューラルネットワーク１０と同様に割り当て得、例えば、重みは、ランダムに選択されてもよく、所定の数学的関数を用いて計算されてもよく、所定のテンプレートから選択されてもよい等である。
【００３０】
ｐネット１００は、重み補正計算器１２２も含む。重み補正計算器１２２は、信号値を有し、出力画像１２６の部分を表す所望の、すなわち所定の出力信号１２４を受信するように構成される。重み補正計算器１２２は、所望の出力信号１２４の値からのニューロン和１２０の逸脱１２８、別名、トレーニング誤差を特定し、特定された逸脱１２８を使用して各補正重み値を変更するようにも構成される。その後、変更された補正重み値を合算して、ニューロン和１２０を特定することは、所望の出力信号１２４の値からの対象となるニューロン和の逸脱を最小化し、その結果、ｐネット１００のトレーニングに効率的である。
【００３１】
図１に関して考察した従来のネットワーク１０と同様に、逸脱１２８は、所望のニューロン和１２０と所望の出力信号１２４の値との間のトレーニング誤差と記述することもできる。図１に関して考察した従来のニューラルネットワーク１０と比較して、ｐネット１００では、入力信号１０４の入力値は、ネットワーク全体のセットアッププロセスにおいてのみ変更され、ｐネットのトレーニング中は変更されない。入力値を変更する代わりに、ｐネット１００のトレーニングは、補正重み１１２の値１１２を変更することによって提供される。さらに、各ニューロン１１６は加算関数を含み、加算関数において、ニューロンは補正重み値を合算し、ニューロン１１６は、従来のニューラルネットワーク１０内のアクティブ化機能デバイス２２によって提供される等のアクティブ化機能を必要とせず、実際に、アクティブ化機能がないことを特徴とする。
【００３２】
従来のニューラルネットワーク１０では、トレーニング中の重み補正は、シナプス重み１６を変更することによって達成されるが、ｐネット１００では、対応する重み補正は、図２に示されるように、補正重み値１１２を変更することによって提供される。各補正重み１１２は、シナプス１１８の全て又は幾つかに位置決めされる重み補正ブロック１１０に含まれ得る。ニューラルネットワークコンピュータエミュレーションでは、各シナプス及び補正重みは、メモリセル等のデジタルデバイス及び／又はアナログデバイスによって表され得る。ニューラルネットワークソフトウェアエミュレーションでは、補正重み１１２の値は、適切なプログラムされたアルゴリズムを介して提供し得、一方、ハードウェアエミュレーションでは、メモリ制御の既知の方法を使用することができる。
【００３３】
ｐネット１００では、所望の出力信号１２４からのニューロン和１２０の逸脱１２８は、所望の出力信号１２４とニューロン和１２０との数学的に計算される差分として表し得る。さらに、各変更補正重み１１２の生成は、計算された差分の、ニューロン和１２０の生成に使用される各補正重みへの配分を含み得る。そのような実施形態では、各変更補正重み１１２の生成により、ニューロン和１２０は、少数のエポック内で、場合によっては１つのみのエポックしか必要とせずに、所望の出力信号値に収束することができ、ｐネット１００を高速でトレーニングする。特定の場合、ニューロン和１２０の生成に使用される補正重み１１２間への数学的差分の配分は、各ニューロン和１２０の生成に使用される各補正重み間で、特定された差分を等分割することを含み得る。
【００３４】
別個の実施形態では、所望の出力信号値からのニューロン和１２０の逸脱１２８の特定は、所望の出力信号値をニューロン和で除算し、それにより、逸脱係数を生成することを含み得る。そのような特定の場合、各変更補正重み１１２の変更は、ニューロン和１２０の生成に使用される各補正重みを逸脱係数で乗算することを含む。各分配器１１４は、複数の影響係数１３４を複数の補正重み１１２に割り当てるように更に構成し得る。本実施形態では、各影響係数１３４を何らかの所定の割合で複数の補正重み１１２のうちの１つに割り当て、各ニューロン和１２０を生成し得る。各補正重み１１２に対応して、各影響係数１３４には、図に示されるように、「Ｃｉ，ｄ，ｎ」命名が割り当てられ得る。
【００３５】
特定のシナプス１１８に対応する複数の影響係数１３４のそれぞれは、各影響分布関数１３６によって定義される。影響分布関数１３６は、全ての影響係数１３４で同じであってもよく、又は特定のシナプス１１８対応する複数の影響係数１３４のみで同じであってもよい。複数の入力値のそれぞれは、各入力値が各間隔「ｄ」内で受信され、各補正重みがそのような間隔のうちの１つに対応するように、間隔分布関数１４０に従って間隔又は下位区分「ｄ」に分割された値範囲１３８の中で受信し得る。各分配器１１４は、受信した各入力値を使用して、各間隔「ｄ」を選択し、複数の影響係数１３４のそれぞれを、選択された各間隔「ｄ」に対応する補正重み１１２及びＷｉ，ｄ＋１，ｎ又はＷｉ，ｄ−１，ｎ等の選択された各間隔に隣接する間隔に対応する少なくとも１つの補正重みに割り当て得る。別の非限定的な例では、統計学的分布に従って、影響係数１３４の所定の割合を定義し得る。
【００３６】
ニューロン和１２０の生成は、まず、入力値１０２に従って各影響係数１３４を各補正重み１１２に割り当て、次に、対象となる影響係数を、利用される各補正重み１１２の値で乗算することを含み得る。次に、各ニューロン１１６を介して、そのニューロンに接続された全てのシナプス１１８での補正重み１１２と割り当てられた影響係数１３４との個々の積を合算すること。
【００３７】
重み補正計算器１２２は、各影響係数１３４を適用して、各変更補正重み１１２を生成するように構成し得る。特に、重み補正計算器１２２は、各影響係数１３４によって確立される割合に従って、ニューロン和１２０と所望の出力信号１２４との数学的差分の部分を、ニューロン和１２０の生成に使用される各補正重み１１２に適用し得る。さらに、ニューロン和１２０の生成に使用される補正重み１１２の間で分割される数学的差分は、各影響係数１３４によって更に分割することができる。続けて、各影響係数１３４によりニューロン和１２０を除算した結果は、補正重み１１２に加算されて、所望の出力信号値にニューロン和１２０を収束させることができる。
【００３８】
通常、ｐネット１００の形成は、ｐネットのトレーニングが開始される前に行われる。しかし、別個の実施形態では、トレーニング中、初期補正重みがない入力信号１０４をｐネット１００が受信する場合、適切な補正重み１１２を生成し得る。そのような場合、特定の分配器１１４が、特定の入力信号１０４に適切な間隔「ｄ」を決定し、初期値を有する１群の補正重み１１２が、所与の入力１０２、所与の間隔「ｄ」、及び全ての各ニューロン１１６に対して生成される。さらに、新たに生成された各補正重み１１２に、対応する影響係数１３４を割り当てることができる。
【００３９】
各補正重み１１２は、ｐネット１００上の各補正重みの位置を識別するように構成される１組のインデックスによって定義し得る。１組のインデックスは特に、特定の入力１０２に対応する補正重み１１２を識別するように構成される入力インデックス「ｉ」と、各補正重みに選択された上記間隔を指定するように構成される間隔インデックス「ｄ」と、命名「Ｗｉ，ｄ，ｎ」を有する特定のニューロン１１６に対応する補正重み１１２を指定するように構成されるニューロンインデックス「ｎ」とを含み得る。したがって、特定の入力１０２に対応する各補正重み１１２には、下付き文字中に特定のインデックス「ｉ」が割り当てられて、対象となる位置を示す。同様に、特定のニューロン１１６及び各シナプス１１８に対応する各補正重み「Ｗ」には、下付き文字中に特定のインデックス「ｎ」及び「ｄ」が割り当てられて、ｐネット１００での補正重みの対象となる位置を示す。１組のインデックスは、各補正重み１１２が、ｐネット１００のトレーニング中、入力信号１０４によってアクセスされる回数を数えるように構成されるアクセスインデックス「ａ」を含むこともできる。換言すれば、特定の間隔「ｄ」及び各補正重み１１２が、入力信号に相関して複数の補正重みからトレーニングに選択される都度、アクセスインデックス「ａ」はインクリメントされて、入力信号をカウントする。アクセスインデックス「ａ」は、命名「Ｗｉ，ｄ，ｎ，ａ」を利用することにより、各補正重みの現在の状態を更に特定又は定義するために使用し得る。各インデックス「ｉ」、「ｄ」、「ｎ」、及び「ａ」は、０〜＋∞の範囲内の数値であることができる。
【００４０】
入力信号１０４の範囲を間隔ｄ０、ｄ１、・・・、ｄｍに分割する様々な可能性を図５に示す。特定の間隔分布は、均一又は線形であることができ、これは例えば、同じサイズを有する全ての間隔「ｄ」を指定することによって達成することができる。所定の最低レベルよりも低い各入力信号値を有する全ての入力信号１０４は、ゼロ値を有するものと見なすことができ、一方、所定の最高レベルよりも大きな各入力信号値を有する全ての入力信号には、そのような最高レベルを割り当てることができ、これも図５に示される。特定の間隔分布は、対称、非対称、又は無制限等の非均一又は非線形であることもできる。間隔「ｄ」の非線形分布は、入力信号１０４の範囲が非実用的に大きいと見なされ、範囲の冒頭、中央、又は末尾等の範囲のうちの特定の部分が、最も重要であると見なされる入力信号を含むことができる場合、有用であり得る。特定の間隔分布は、ランダム関数によって記述することができる。先の全ての例は、間隔分布の他の変形も可能であるため、非限定的な性質のものである。
【００４１】
入力信号１０４の選択された範囲内の間隔「ｄ」の数は、ｐネット１００を最適化するように増大し得る。ｐネット１００のそのような最適化は、例えば、入力画像１０６をトレーニングする複雑性の増大に伴い、望ましいことがある。例えば、単色画像と比較して、マルチカラー画像にはより多数の間隔が必要であり得、単純なグラフィックスよりも複雑なオーナメントの場合、より多数の間隔が必要であり得る。間隔の数の増大は、輪郭によって記述される画像と比較して複雑な色の勾配を有する画像の精密な認識及びより多数の全体トレーニング画像数の場合に必要であり得る。間隔「ｄ」の数の低減も、ノイズが大きい場合、トレーニング画像の分散が高い場合、及び計算リソースの消費が過度の場合、必要であり得る。
【００４２】
ｐネット１００が扱うタスク又は情報のタイプ、例えば、視覚又はテキストデータ、様々な性質のセンサからのデータに応じて、異なる数の間隔及びその分布タイプを割り当て得る。入力信号値間隔「ｄ」毎に、インデックス「ｄ」を有する所与のシナプスの対応する補正重みを割り当て得る。したがって、特定の間隔「ｄ」は、所与の入力に関連するインデックス「ｉ」と、所与の間隔に関連するインデックス「ｄ」と、０〜ｎの全ての値のインデックス「ｎ」とを有する全ての補正重み１１２を含む。ｐネット１００のトレーニングプロセスにおいて、分配器１１４は、各入力信号値を定義し、したがって、対象となる入力信号１０４を対応する間隔「ｄ」に関連付ける。例えば、０〜１００の入力信号範囲内に１０の等しい間隔「ｄ」がある場合、３０〜４０の値を有する入力信号は、間隔３に関連することになり、すなわち、「ｄ」＝３である。
【００４３】
所与の入力１０２と接続された各シナプス１１８の全ての補正重み１１２に対して、分配器１１４は、特定の入力信号に関連する間隔「ｄ」に従って影響係数１３４の値を割り当てることができる。分配器１１４は、正弦曲線、正規曲線、対数分布曲線、又はランダム分布関数等の影響係数１３４の値の所定の分布（図６に示される）に従って、影響係数１３４の値を割り当てることもできる。多くの場合、各シナプス１１８に関連する特定の入力信号１０２の影響係数１３４又はＣｉ，ｄ，ｎの和又は積分は、１の値を有する。
Σｓｙｎａｐｓｅ  Ｃｉ，ｄ，ｎ＝１  又は  ∫ｓｙｎａｐｓｅ  Ｃｉ，ｄ，ｎ＝１  ［１］
最も単純な場合、入力信号値に最も密接に対応する補正重み１１２には、影響係数１３４（Ｃｉ，ｄ，ｎ）に対して１の値を割り当て得、一方、他の間隔の補正重みは０の値を受け取り得る。
【００４４】
ｐネット１００は、従来のニューロンネットワーク１０と比較して、ｐネットのトレーニング中の時間量の低減及び他のリソースの使用に焦点を合わせている。ｐネット１００の一部として本明細書に開示される要素の幾つかは、従来のニューラルネットワークに精通した者に既知の特定の名称又は識別子で示されるが、特定の名称は、簡潔にするために使用されており、従来のニューラルネットワークで対応するものとは異なって利用し得る。例えば、入力信号（Ｉ１〜Ｉｍ）の大きさを制御するシナプス重み１６は、従来のニューラルネットワーク１０の全般セットアッププロセス中に設定され、従来のネットワークのトレーニング中、変更される。一方、ｐネット１００のトレーニングは、補正重み１１２を変更することによって達成され、トレーニング中、シナプス重み１０８は変更されない。さらに、上述したように、各ニューロン１１６は、合算又は加算構成要素を含むが、従来のニューラルネットワーク１０には典型的なアクティブ化機能デバイス２２を含まない。
【００４５】
一般に、ｐネット１００は、特定のニューロン並びに対象となるニューロンと接続される各シナプス１１８及び補正重み１１２を含め、各ニューロン１１６及び全ての接続シナプス１１８を含む各ニューロンユニット１１９をトレーニングすることにより、トレーニングされる。したがって、ｐネット１００のトレーニングは、各ニューロン１１６に寄与する補正重み１１２を変更することを含む。補正重み１１２への変更は、以下の詳細に開示される方法２００に含まれるグループトレーニングアルゴリズムに基づいて行われる。開示されるアルゴリズムでは、トレーニング誤差、すなわち逸脱１２８は、どの補正値が決定され、各ニューロン１１６によって得られる和の特定に使用される各重み１１２に割り当てられるかに基づいて、各ニューロンで特定される。トレーニング中のそのような補正値の導入は、対象となるニューロン１１６の逸脱１２８をゼロに低減する。追加の画像を用いてのトレーニング中、先に利用された画像に関連する新しい誤差が再び出現し得る。そのような更なる誤差をなくすために、１つのトレーニングエポックの完了後、ｐネット１００全体の全てのトレーニング画像の誤差を計算し得、そのような誤差が所定の値よりも大きい場合、誤差が目標値又は所定の値未満になるまで、１つ又は複数の追加のトレーニングエポックを行い得る。
【００４６】
図２３は、図２〜図２２に関して上述したように、ｐネット１００をトレーニングする方法２００を示す。方法２００は、枠２０２において開始され、枠２０２において、方法は、入力１０２を介して、入力値を有する入力信号１０４を受信することを含む。枠２０２に続き、方法は枠２０４に進む。枠２０４において、方法は、入力１０２に動作可能に接続された分配器１１４に入力信号１０４を通信することを含む。枠２０２又は枠２０４において、方法２００は、１組のインデックスによって各補正重み１１２を定義することを含み得る。ｐネット１００の構造に関して上述したように、１組のインデックスは、入力１０２に対応する補正重み１１２を識別するように構成される入力インデックス「ｉ」を含み得る。１組のインデックスは、各補正重み１１２に選択される間隔を指定するように構成される間隔インデックス「ｄ」と、「Ｗｉ，ｄ，ｎ」として特定のニューロン１１６に対応する補正重み１１２を指定するように構成されるニューロンインデックス「ｎ」とを含むこともできる。１組のインデックスは、ｐネット１００のトレーニング中、各補正重み１１２が入力信号１０４によってアクセスされる回数を数えるように構成されるアクセスインデックス「ａ」を更に含み得る。したがって、各補正重みの現在の状態は、命名「Ｗｉ，ｄ，ｎ，ａ」を利用し得る。
【００４７】
枠２０４後、方法は枠２０６に進み、枠２０６において、方法は、分配器１１４を介して、入力値に相関して、対象となる入力１０２に接続されたシナプス１１８に配置される複数の補正重みから１つ又は複数の補正重み１１２を選択することを含む。上述したように、各補正重み１１２は、各重み値によって定義される。枠２０６において、方法は、分配器１１４を介して、複数の影響係数１３４を複数の補正重み１１２に割り当てることを更に含み得る。枠２０６において、方法は、所定の割合で複数の補正重み１１２のうちの１つに各影響係数１３４を割り当て、ニューロン和１２０を生成することを含むこともできる。また、枠２０６において、方法は、ニューロン１１６を介して、ニューロン１１６に接続された全てのシナプス１１８での補正重み１１２と割り当てられた影響係数１３４との積を合算することを含むこともできる。さらに、枠２０６において、方法は、重み補正計算器１２２を介して、各影響係数１３４によって確立される割合に従って、特定された差分の部分をニューロン和１２０の生成に使用される各補正重み１１２に適用することを含み得る。
【００４８】
ｐネット１００の構造に関して上述したように、複数の影響係数１３４は、影響分布関数１３６によって定義し得る。そのような場合、方法は、入力値が各間隔内で受信され、各補正重み１１２が間隔の１つに対応するように、間隔分布関数１４０に従って、間隔「ｄ」に分割された値範囲１３８の中で入力値を受信することを更に含み得る。また、方法は、分配器１１４を介して、受信した入力値を使用して、各間隔「ｄ」を選択し、複数の影響係数１３４を、選択された各間隔「ｄ」に対応する補正重み１１２及び選択された各間隔「ｄ」に隣接する間隔に対応する少なくとも１つの補正重みに割り当てることを含むこともできる。ｐネット１００の構造に関して上述したように、選択された各間隔「ｄ」に隣接する間隔に対応する補正重み１１２は、例えば、Ｗｉ，ｄ＋１，ｎ又はＷｉ，ｄ−１，ｎとして識別し得る。
【００４９】
枠２０６に続き、方法は枠２０８に続く。枠２０８において、方法は、シナプス１１８を介して入力１０２と接続された特定のニューロン１１６により選択された補正重み１１２の重み値を合算して、ニューロン和１２０を生成することを含む。ｐネット１００の構造に関して上述したように、各ニューロン１１６は、少なくとも１つの出力１１７を含む。枠２０８後、方法は枠２１０に進み、枠２１０において、方法は、重み補正計算器１２２を介して、信号値を有する所望の出力信号１２４を受信することを含む。枠２１０に続き、方法は枠２１２に進み、枠２１２において、方法は、重み補正計算器１２２を介して、所望の出力信号１２４の値からのニューロン和１２０の逸脱１２８を特定することを含む。
【００５０】
ｐネット１００の説明において上述したように、所望の出力信号値からのニューロン和１２０の逸脱１２８の特定は、所望の出力信号値とニューロン和との数学的差分を特定することを含み得る。さらに、各補正重み１１２の変更は、ニューロン和１２０の生成に使用される各補正重みへの数学的差分の配分を含み得る。代替的には、数学的差分の配分は、ニューロン和１２０の生成に使用される各補正重み１１２間で、特定された差分を等分割することを含み得る。更に別の実施形態では、逸脱１２８の特定は、所望の出力信号１２４の値をニューロン和１２０で除算し、それにより、逸脱係数を生成することを含むこともできる。さらに、そのような場合、各補正重み１１２の変更は、ニューロン和１２０の生成に使用される各補正重み１１２を、生成された逸脱係数で乗算することを含み得る。
【００５１】
枠２１２後、方法は枠２１４に進む。枠２１４において、方法は、重み補正計算器１２２を介して、特定された逸脱１２８を使用して各補正重み値を変更することを含む。変更された補正重み値は続けて、加算又は合算され、次に、新しいニューロン和１２０の特定に使用することができる。合算された変更補正重み値は、次に、所望の出力信号１２４の値からのニューロン和１２０の逸脱を最小化し、それにより、ｐネット１００をトレーニングするように機能することができる。枠２１４に続き、方法２００は、所望の出力信号１２４の値からのニューロン和１２０の逸脱が十分に最小化されるまで、枠２０２に戻り、追加のトレーニングエポックを実行することを含むことができる。換言すれば、追加のトレーニングエポックを実行して、ｐネット１００がトレーニングされ、新しい画像を用いて動作する準備ができたと見なすことができるように、所定の逸脱又は誤差値内で、所望の出力信号１２４にニューロン和１２０を収束させることができる。
【００５２】
一般に、入力画像１０６は、ｐネット１００のトレーニングに向けて準備する必要がある。トレーニングに向けてのｐネット１００の準備は一般に、入力画像１０６及び大半の場合は対象となる入力画像に対応する所望の出力画像１２６を含め、１組のトレーニング画像の形成で開始される。ｐネット１００のトレーニングに向けて入力信号Ｉ１、Ｉ２、・・・、Ｉｍによって定義される入力画像１０６（図２に示される）は、ｐネットが扱うように割り当てられるタスク、例えば、人の画像若しくは他の物体の認識、特定の活動の認識、クラスタ化若しくはデータ分類、統計学的データの解析、パターン認識、予測、又は特定のプロセスの制御に従って選択される。したがって、入力画像１０６は、例えば、テーブル、チャート、ダイアグラム及びグラフィックス、様々なドキュメントフォーマット、又はシンボルセットの形態でｊｐｅｇ、ｇｉｆ、又はｐｐｔｘフォーマットを使用して、コンピュータへの導入に適する任意のフォーマットで提示することができる。
【００５３】
ｐネット１００のトレーニングに向けての準備は、ｐネット１００による対象となる画像の処理に好都合である単一化に向けた、選択された入力画像１０６の変換、例えば、全ての画像の、同数の信号又はピクチャの場合では同数のピクセルを有するフォーマットへの変換を含むこともできる。カラー画像は、例えば、３つの基本色の組合せとして提示することができる。画像変換は、特性の変更、例えば、空間中での画像のシフト、解像度、輝度、コントラスト、色、視点、遠近感、焦点距離及び焦点等の画像の視覚的特性の変更、並びにシンボル、番号、又は備考の追加を含むこともできる。
【００５４】
間隔数の選択後、特定の入力画像は、間隔フォーマットの入力画像に変換し得、すなわち、実際の信号値は、対象となる各信号が属する間隔の番号として記録し得る。この手順は、所与の画像に対して各トレーニングエポックで実行することができる。しかし、画像は、１組の間隔番号として一度に形成することもできる。例えば、図７では、初期画像はピクチャとして提示され、一方、テーブル「デジタルフォーマットの画像」では、同じ画像はデジタル符号の形態で提示され、テーブル「間隔フォーマットの画像」では、画像は１組の間隔番号として提示され、ここでは、１０個の値のデジタル符号に別個の間隔が割り当てられる。
【００５５】
ｐネット１００の説明された構造及び説明されたトレーニングアルゴリズム又は方法２００では、ｐネットの連続又は反復的トレーニングが可能であり、したがって、トレーニングプロセスの開始時に完全なトレーニング入力画像１０６のセットを形成する必要がない。トレーニング画像の比較的小さな開始セットを形成することが可能であり、そのような開始セットは、必要に応じて拡大することができる。入力画像１０６は、各カテゴリが１つの出力画像、そのような人の名前又は特定のラベルに対応するように、別個のカテゴリ、例えば、１人の人物の１組のピクチャ、猫の１組の写真、又は車の１組の写真に分割し得る。所望の出力画像１２６は、デジタルのフィールド又はテーブルを表し、各点は、−∞〜＋∞の特定の数値又はアナログ値に対応する。所望の出力画像１２６の各点は、ｐネット１００のニューロンのうちの１つの出力に対応し得る。所望の出力画像１２６は、バーコード等の画像のデジタル又はアナログ符号、テーブル、テキスト、式、シンボルセット、又はサウンドを用いて符号化することができる。
【００５６】
最も単純な場合、各入力画像１０６は、対象となる入力画像を符号化した出力画像に対応し得る。そのような出力画像の点の１つには、可能な限り最大の値、例えば１００％を割り当て得、一方、他の全ての点には、可能な限り最小の値、例えば０を割り当て得る。そのような場合、トレーニングに続き、トレーニング画像との類似性の割合の形態での様々な画像の確率的認識が可能になる。図８は、正方形及び円という２つの画像の認識に向けてトレーニングされたｐネット１００がいかに、和が必ずしも１００％に等しいわけではない状態で、割合で表された各図の幾つかの特徴を含むピクチャを認識し得るかの例を示す。トレーニングに使用される異なる画像の類似の割合を定義することによるそのようなパターン認識プロセスは、特定の画像の分類に使用することができる。
【００５７】
精度を改善し、誤差を除外するために、符号化は、１つの出力ではなく１組の幾つかのニューラル出力を使用して達成することができる（以下参照）。最も単純な場合、出力画像は、トレーニング前に準備し得る。しかし、トレーニング中に、ｐネット１００に出力画像を形成させることも可能である。
【００５８】
ｐネット１００では、入力画像及び出力画像が反転することもできる。換言すれば、入力画像１０６は、各点がｐネットの１つの入力に対応する、デジタル又はアナログ値のフィールド又はテーブルの形態であることができ、一方、出力画像は、例えば、ｊｐｅｇ、ｇｉｆ、ｐｐｔｘフォーマットを使用して、テーブル、チャート、ダイアグラム及びグラフィクス、様々なドキュメントフォーマット、又はシンボルセットの形態で、コンピュータへの導入に適する任意のフォーマットで提示することができる。結果として生成されるｐネット１００は、アーカイブシステム、画像の連想探索、音楽的表現、方程式、又はデータセットにかなり適することができる。
【００５９】
入力画像１０６の準備に続き、通常、ｐネット１００を形成する必要があり、且つ／又は所与のタスクの処理に向けて、既存のｐネットのパラメータを設定しなければならない。ｐネット１００の形成は、以下の指定を含み得る。
・入力の数及び出力の数によって定義されるｐネット１００の寸法、
・全ての入力のシナプス重み１０８、
・補正重み１１２の数、
・異なる値の入力信号１０４の補正重み影響係数（Ｃｉ，ｄ，ｎ）の分布、
・トレーニングの所望の精度。
入力の数は、入力画像１０６のサイズに基づいて特定される。例えば、ピクチャの場合、ピクセル数を使用することができ、一方、選択される出力数は、所望の出力画像１２６のサイズに依存することができる。幾つかの場合、選択される出力数は、トレーニング画像のカテゴリ数に依存し得る。
【００６０】
個々のシナプス重み１０８の値は、−∞〜＋∞の範囲内であることができる。０未満のシナプス重み１０８の値は、信号増幅を示すことができ、信号増幅は、例えば、多数の異なる個人又は物体を含む写真において人の顔をより効率的に認識するために、特定の入力又は特定の画像からの信号の影響を強化するために使用することができる。他方、０よりも大きいシナプス重み１０８の値は、信号減衰を示すことができ、信号減衰は、必要な計算の数を低減し、ｐネット１００の動作速度を増大させるために使用することができる。一般に、シナプス重みの値が大きいほど、対応するニューロンに送信される信号は減衰される。全ての入力に対応する全てのシナプス重み１０８が等しく、全てのニューロンは、全てのニューロンと等しく接続される場合、ニューラルネットワークは、普遍的になり、事前に画像の性質について殆ど分かっていない場合等の一般的なタスクに最も効率的になる。しかし、そのような構造は一般に、トレーニング及び動作中に必要な計算の数を増大させる。
【００６１】
図９は、入力と各ニューロンとの関係が、統計学的正規分布に従って低減するｐネット１００の実施形態を示す。シナプス重み１０８の不均一分布は、入力信号全体が、所与の入力のターゲット又は「中央」ニューロンに通信されることに繋がり得、したがって、ゼロ値を対象となるシナプス重みに割り当てる。さらに、シナプス重みの不均一分布は、例えば、正規分布、対数正規分布、正弦分布、又は他の分布を使用して、他のニューロンが低減された入力信号値を受信することに繋がり得る。低減された入力信号値を受け取るニューロン１１６のシナプス重み１０８の値は、「中央」ニューロンからの距離の増大に伴って増大し得る。そのような場合、計算の数を低減することができ、ｐネットの動作を加速化することができる。そのようなネットワークは、既知の完全に接続されたニューラルネットワークと完全には接続されていないニューラルネットワークとの組合せであり、強い内部パターンを有する画像の解析、例えば、人の顔又は映画フィルムの連続フレームの解析に極めて有効であり得る。
【００６２】
図９は、局所パターンの認識に有効なｐネット１００の実施形態を示す。共通パターンの識別を改善するために、シナプス重み１０８の値が小さいか、又はゼロである、強い接続の１０％〜２０％は、格子の形態又はランダム手法等で決定論的に、ｐネット１００全体を通して分布することができる。特定のタスクを扱うことが意図されるｐネット１００の実際の形成は、例えば、シナプス、シナプス重み、分配器、補正重み、ニューロン等のｐネットの主要素をソフトウェアオブジェクトとして生成する、オブジェクト指向プログラミング言語で書かれたプログラムを使用して実行される。そのようなプログラムは、顕著な物体と物体の動作を指定するアルゴリズムとの関係を割り当てることができる。特に、シナプス重み及び補正重みは、それらの初期値の設定と共に、ｐネット１００の形成開始時に形成することができる。ｐネット１００は、トレーニングの開始前に完全に形成することができ、必要に応じて、例えば、ネットワークの情報容量が枯渇するか、又は致命的なエラーの場合、後のフレームにおいて変更するか、又は追加することができる。ｐネット１００の完了は、トレーニングの継続中であっても可能である。
【００６３】
ｐネット１００が事前に形成される場合、特定のシナプスで選択される補正重みの数は、入力信号の範囲内の間隔数と同じであり得る。さらに、補正重みは、ｐネット１００の形成後、個々の間隔の状況に応答して、信号として生成し得る。従来のニューラルネットワーク１０と同様に、ｐネット１００のパラメータの選択及び設定は、一連の的を絞った実験を用いて提供される。そのような実験は、（１）全ての入力で同じシナプス重み１０８を有するｐネットの形成並びに（２）選択された画像への入力信号値の割り当て及び間隔数の初期選択を含むことができる。例えば、二値（単色）画像を認識する場合、２つのみの間隔で十分であり得、８ビット画像の定性的認識の場合、最高で２５６の間隔を使用することができ、複雑な統計的依存性の近似では、数十又は数百の間隔が必要であり得、大きなデータベースの場合、間隔数は千単位であり得る。
【００６４】
ｐネット１００のトレーニングプロセスでは、入力信号の値は、特定の間隔間に分布する場合、まるめ得る。したがって、範囲の幅を間隔数で除算したものよりも大きい入力信号精度は、必要とされないことがある。例えば、入力値範囲が１００単位に設定され、間隔数が１０である場合、±５よりも良好な精度は求められない。そのような実験は、（３）入力信号の値の範囲全体を通して間隔の均一分布を選択することを含むこともでき、補正重み影響係数Ｃｉ，ｄ，ｎの最も単純な分布では、特定の入力信号の間隔に対応する補正重みの場合、１に等しく設定することができ、一方、残りの全ての補正重みの補正重み影響は０に設定することができる。そのような実験は、（４）所定の精度で、１つ、２つ以上、又は全ての準備されたトレーニング画像を用いてｐネット１００をトレーニングすることを更に含むこともできる。
【００６５】
所定の精度に向けてのｐネット１００のトレーニング時間は、実験によって確立することができる。ｐネット１００の精度及びトレーニング時間が満足のいくものである場合、選択された設定は、より有効な変形への探索が続けられる間、維持するか、又は変更することができる。必要とされる精度が達成されない場合、最適化を目的として、特定の変更の影響を評価し得、これは、一度に１つずつ又はグループで実行することができる。変更のそのような評価は、間隔の数の増大又は低減である変更、補正重み影響係数（Ｃｉ，ｄ，ｎ）の分布のタイプの変更、正規、べき乗、対数、又は対数正規分布等を使用しての間隔の非均一分布を有する変形のテスト、及びシナプス重み１０８の値の変更、例えば、シナプス重み１０８の非均一分布への移行を含み得る。
【００６６】
正確な結果に必要とされるトレーニング時間が過度であると見なされる場合、トレーニング時間への効果について、間隔数を増大させたトレーニングを評価することができる。その結果、トレーニング時間が短縮される場合、所要精度を失わずに所望のトレーニング時間が得られるまで、間隔数の増大を繰り返すことができる。トレーニング時間が、低減されるのではなく、間隔数の増大に伴って増える場合、間隔数を減らして、追加のトレーニングを実行することができる。間隔数の低減が、トレーニング時間の短縮に繋がる場合、所望のトレーニング時間が得られるまで、間隔数を更に低減することができる。
【００６７】
ｐネット１００の設定の形成は、所定のトレーニング時間と、トレーニング精度の実験的特定とを用いてのトレーニングを介して行うことができる。パラメータは、上述したものと同様に、実験的変更を介して改善することができる。様々なｐネットを用いる実務で、設定選択の手順が一般に単純であり、時間があまりかからないことが分かった。
【００６８】
図２３に示される、方法２００の一環としてのｐネット１００の実際のトレーニングは、入力画像信号Ｉ１、Ｉ２、・・・、Ｉｍをネットワーク入力デバイス１０２に供給することで開始され、ネットワーク入力デバイス１０２から、入力画像信号はシナプス１１８に送られ、シナプス重み１０８を通り、分配器（又は分配器群）１１４に入る。初期信号値に基づいて、分配器１１４は、所与の入力信号１０４が対応する間隔番号「ｄ」を設定し、補正重み影響係数Ｃｉ，ｄ，ｎを各入力１０２と接続された全てのシナプス１１８の重み補正ブロック１１０の全ての補正重み１１２に割り当てる。例えば、間隔「ｄ」が、第１の入力で３に設定され得る場合、全ての重みＷ１，３，ｎに対して、Ｃ１，３，ｎ＝１は１に設定され、一方、ｉ≠１及びｄ≠３を有する全ての他の重みでは、Ｃｉ，ｄ，ｎは０に設定することができる。
【００６９】
以下の式中、「ｎ」として識別されるニューロン１１６毎に、ニューロン出力和Σ１、Σ２、・・・、Σｎが、以下の式中、Ｗｉ，ｄ，ｎとして識別される各補正重み１１２を、特定のニューロンに寄与する全てのシナプス１１８の対応する補正重み影響係数Ｃｉ，ｄ，ｎで乗算し、得られた全ての値を合算することによって形成される。
Σｎ＝Σｉ，ｄ，ｎＷｉ，ｄ，ｎ×Ｃｉ，ｄ，ｎ  ［２］
Ｗｉ，ｄ，ｎ×Ｃｉ，ｄ，ｎの乗算は、様々なデバイスにより、例えば、分配器１１４、重みが記憶されたデバイス、又はニューロン１１６によって直接、実行することができる。和は、ニューロン出力１１７を介して重み補正計算器１２２に転送される。所望の出力画像１２６を記述する所望の出力信号Ｏ１、Ｏ２、・・・、Ｏｎも計算器１２２に供給される。
【００７０】
上述したように、重み補正計算器１２２は、ニューロン出力和Σ１、Σ２、・・・、Σｎを所望の出力信号Ｏ１、Ｏ２、・・・、Ｏｎと比較することにより、補正重みの変更された値を計算する計算デバイスである。図１１は、ニューロン出力和Σ１に寄与する１組の補正重みＷｉ，ｄ，１を示し、補正重みは対応する補正重み影響係数Ｃｉ，ｄ，１で乗算され、これらの積は続けて、ニューロン出力和Σ１によって合算される。
Σ１＝Ｗ１，０，１×Ｃ１，０，１・＋Ｗ１，１，１×Ｃ１，１，１・＋Ｗ１，２，１×Ｃ１，２，１・＋．．．［３］
トレーニングが開始されるとき、すなわち、最初のエポック中、補正重みＷｉ，ｄ，１は、トレーニングに使用される入力画像１０６に対応せず、したがって、ニューロン出力和Σ１は、対応する所望の出力画像１２６に等しくない。初期補正重みＷｉ，ｄ，１に基づいて、重み補正システムは補正値Δ１を計算し、この補正値は、ニューロン出力和Σ１（Ｗｉ，ｄ，１）に寄与する全ての補正重みの変更に使用される。ｐネット１００では、指定されたニューロン１１６に寄与する全ての補正重みＷｉ，ｄ，ｎの集合的補正信号の形成及び利用について、様々な選択肢又は変形が可能である。
【００７１】
以下は、集合的補正信号を形成し利用する２つの例示的で非限定的な変形である。変形１−以下のような、所望の出力信号と得られた出力和との差に基づく補正信号の形成及び利用：
・式
Δｎ＝（Ｏｎ−Σｎ／Ｓ  ［４］
に従ったニューロン「ｎ」に寄与する全ての補正重みで等しい補正値Δｎの計算：
式中、
Ｏｎ−ニューロン出力和Σｎに対応する所望の出力信号、
Ｓ−ニューロン「ｎ」に接続されるシナプスの数。
・式
Ｗｉ，ｄ，ｎ  ｍｏｄｉｆｉｅｄ＝Ｗｉ，ｄ，ｎ＋Δｎ／Ｃｉ，ｄ，ｎ  ［５］
に従ったニューロン「ｎ」に寄与する全ての補正重みＷｉ，ｄ，ｎの変更。
変形２−以下のような、所望の出力信号と得られた出力和との比率に基づく補正信号の形成及び利用：
・式
Δｎ＝Ｏｎ／Σｎ  ［６］
に従ったニューロン「ｎ」に寄与する全ての補正重みで等しい補正値Δｎの計算。
・式
Ｗｉ，ｄ，ｎ，ｍｏｄｉｆｉｅｄ＝Ｗｉ，ｄ，ｎ，×Δｎ  ［７］
に従ったニューロン「ｎ」に寄与する全ての補正重みＷｉ，ｄ，ｎの変更。
任意の利用可能な変形による補正重みＷｉ，ｄ，ｎの変更は、所望の出力信号の値に出力和Σｎを収束させることにより、各ニューロン１１６のトレーニング誤差を低減することが意図される。そのようにして、所与の画像のトレーニング誤差は、そのような誤差がゼロになるか、又はゼロに近づくまで、低減することができる。
【００７２】
トレーニング中の補正重みＷｉ，ｄ，ｎの変更の例を図１１に示す。補正重みＷｉ，ｄ，ｎの値は、重み値が補正重み範囲から０±１０％に設定されるランダム重み分布の形態で、トレーニング開始前に設定され、トレーニング後、最終的な重み分布に達する。集合的信号の記載される計算は、ｐネット１００内の全てのニューロン１１６に対して行われる。１つのトレーニング画像について説明されるトレーニング手順は、他の全てのトレーニング画像に対して繰り返すことができる。そのような手順は、幾つかの補正重みＷｉ，ｄ，ｎが幾つかの画像に参加し得るため、前にトレーニングされた画像のうちの幾つかでのトレーニング誤差の外観を生じさせ得る。したがって、別の画像を用いてのトレーニングは、前の画像で形成された補正重みＷｉ，ｄ，ｎの分布を部分的に乱し得る。しかし、各シナプス１１８が１組の補正重みＷｉ，ｄ，ｎを含むことに起因して、場合によってはトレーニング誤差を増大させながらの新しい画像を用いてのトレーニングは、ｐネット１００が前にトレーニングされた画像を削除しない。さらに、各ニューロン１１６に寄与するシナプス１１８が多く、各シナプスでの補正重みＷｉ，ｄ，ｎの数が多いほど、特定の画像でのトレーニングが、他の画像でのトレーニングに影響する程度は低くなる。
【００７３】
各トレーニングエポックは一般に、全てのトレーニング画像で総合トレーニング誤差及び／又は局所トレーニング誤差の実質的な収束で終了する。誤差は、例えば、平均二乗誤差（ＭＳＥ）、平均絶対誤差（ＭＡＥ）、又は標準誤差平均（ＳＥＭ）等の既知の統計学的方法を使用して評価することができる。総合誤差又は局所誤差のうちの幾つかが高すぎる場合、誤差が所定の誤差値未満に低減するまで、追加のトレーニングエポックを行うことができる。トレーニングに使用される様々な画像間の類似性の割合を定義して画像を認識する上述したプロセス（図８に示される）はそれ自体、前に定義されたカテゴリに沿った画像の分類プロセスである。
【００７４】
クラスタ化のため、すなわち、前に指定されなかった自然クラス又は群に画像を分割するために、方法２００の基本トレーニングアルゴリズムは、変更された自己組織化写像（ＳＯＭ）手法を用いて変更することができる。所与の入力画像に対応する所望の出力画像１２６は、出力ニューロン和１２０の最大値を有する１組の勝者ニューロンに基づいて、ｐネット１００をトレーニングするプロセスにおいて直接形成することができる。図２２は、方法２００の基本アルゴリズムの使用がいかに、出力ニューロン和のプライマリセットを生成することができるかを示し、セットは更に、幾つかのより大きな和が値を維持するか、又は増大させ、一方、全ての他の和はゼロに等しいと見なされるように変換される。出力ニューロン和のこの変換されたセットは、所望の出力画像１２６として受け入れることができる。
【００７５】
上述したように形成された１組の所望の出力画像１２６は、クラスタ又は群を含む。したがって、１組の所望の出力画像１２６は、線形に分離不可能な画像のクラスタ化を可能にし、これは従来のネットワーク１０とは異なる。図１３は、記載の手法が、複雑な仮説画像「猫−車」のクラスタ化をいかに支援することができるかを示し、この仮説画像では、画像の異なる特徴が異なるクラスタ−猫及び車に割り当てられる。説明されたように作成された１組の所望の出力画像１２６は、例えば、クラスタ化の結果として形成される基準に基づいて異なる分類、統計学的解析、画像選択を生み出すのに使用することができる。また、ｐネット１００によって生成される所望の出力画像１２６は、別又は追加のｐネットの入力画像として使用することができ、別又は追加のｐネットも、対象となるｐネット１００について説明した文章に沿って形成することができる。そうして形成された所望の出力画像１２６は、マルチレイヤｐネットの後続レイヤに使用し得る。
【００７６】
従来のニューラルネットワーク１０のトレーニングは一般に、入力画像及び所望の出力画像の予備準備されるペアに基づく教師付きトレーニング方法を介して提供される。同じ一般的な方法は、ｐネット１００のトレーニングにも使用されるが、ｐネット１００のトレーニング速度の増大により、外部トレーナーを用いたトレーニングも可能である。外部トレーナーの役割は、例えば、個人又はコンピュータプログラムによって実行することができる。外部トレーナーとして動作して、個人は、物理的なタスクの実行に関わり得るか、又はゲーム環境で動作し得る。ｐネット１００は、特定の状況及び特定の状況への変更に関するデータの形態で、入力信号を受信する。トレーナーの動作を反映した信号は、所望の出力画像１２６として導入することができ、ｐネット１００を基本アルゴリズムに従ってトレーニングできるようにする。そのようにして、ｐネット１００は、様々なプロセスのモデリングをリアルタイムで生成することができる。
【００７７】
例えば、道路状況及び運転者の動作に関する情報を受信することにより、車両を運転するようにｐネット１００をトレーニングすることができる。多種多様な危機的状況のモデリングを通して、同ｐネット１００は、多くの異なる運転者によってトレーニングされ、任意の１人の運転者によって一般に可能な運転技能よりも多くの運転技能を蓄積することができる。ｐネット１００は、特定の道路状況を０．１秒で、又はそれよりも高速で評価し、様々な状況での交通安全を強化することができる実質的な「運転経験」を蓄積することが可能である。ｐネット１００は、コンピュータ、例えば、チェスプレイマシンと連携するようにトレーニングすることもできる。トレーニングモードから認識モード又はこの逆に容易にシフトするｐネット１００の能力により、ｐネット１００が外部トレーナーによってトレーニングされる場合、「失敗から学習」モードを実現することができる。そのような場合、部分的にトレーニングされたｐネット１００は、例えば、技術的プロセスを制御するそれ自体の動作を生成することができる。トレーナーは、ｐネット１００の動作を制御し、必要な場合にはｐネット１００の動作を補正することができる。したがって、ｐネット１００の追加のトレーニングを提供することができる。
【００７８】
ｐネット１００の情報容量は非常に大きいが、無限ではない。ｐネット１００の入力数、出力数、及び間隔等の設定された寸法を用いて、ｐネットをトレーニングする画像数を増大させた場合、特定の画像数後、トレーニング誤差の数及び大きさも増大し得る。誤差生成のそのような増大が検出される場合、誤差の数及び／又は大きさは、ｐネット１００のサイズを増大させることによって低減することができ、その理由は、ｐネットでは、トレーニングエポック間でｐネット又はｐネットの構成要素にわたり、ニューロン１１６の数及び／又は信号間隔「ｄ」の数を増大することが可能なためである。ｐネット１００の拡大は、新しいニューロン１１６を追加し、新しい入力１０２及びシナプス１１８を追加し、補正重み影響係数Ｃｉ，ｄ，ｎの分布を変更し、既存の間隔「ｄ」を分割することによって提供することができる。
【００７９】
大半の場合、ｐネット１００はトレーニングされて、画像、パターン、画像又は１組の画像に固有の相関を認識する能力を保証する。最も単純な場合での認識プロセスは、方法２００の一環として開示される基本アルゴリズムにより、トレーニングプロセスの最初の数ステップを繰り返す。特に、
・直接認識は、トレーニングに向けての画像のフォーマットに使用される同じ規則に従って画像をフォーマットすることで開始される。
・図８に示されるように、画像は、トレーニングされたｐネット１００の入力に送信され、分配器は、トレーニング中に設定された入力信号の値に対応する補正重みＷｉ，ｄ，ｎを割り当て、ニューロンは、各ニューロン和を生成する。
・出力画像１２６を表す、結果として生成される出力和が、ｐネット１００をトレーニングしている画像の１つに完全に一致する場合、物体の厳密な認識がある。
・ｐネット１００をトレーニングしている幾つかの画像に、出力画像１２６が部分的に一致する場合、その結果は、割合として、様々な画像との一致率を示す。図１３は、猫又は車両の画像の組合せに基づいて行われる複雑な画像の認識中、出力画像１２６が所与の画像の組合せを表し、組合せへの各初期画像の寄与の割合を示すことを実証する。
【００８０】
例えば、特定の人の幾つかのピクチャがトレーニングに使用される場合、認識された画像は、９０％は第１のピクチャに対応し、６０％は第２のピクチャに対応し、３５％は第３のピクチャに対応し得る。認識された画像が他の人々又は動物のピクチャに特定の確率で対応することがあり得、これは、ピクチャ間に幾らかの類似点があることを意味する。しかし、そのような類似点の確率は低くなりがちである。そのような確率に基づいて、例えば、ベイズの理論に基づいて認識の信頼性を特定することができる。
【００８１】
ｐネット１００を用いて、アルゴリズム的方法とニューラルネットワーク認識方法の利点を組み合わせた多段階認識を実施することが可能である。そのような多段階認識は、以下を含むことができる。
・本明細書では「基本入力」として示される、入力の全てではなく１％〜１０％のみの使用を介して予めトレーニングされたネットワークによる画像の初期認識。入力のそのような部分は、ｐネット１００内で均一に、ランダムに、又は任意の他の分布関数によって分布することができる。例えば、複数の他の物体を含む写真中の人物の認識。
・更に詳細に認識するために最も多くの情報を含む物体又は物体の部分の選択。そのような選択は、アルゴリズム的方法と同様に、メモリに予め設定される特定の物体の構造に従って又は色の勾配、輝度、及び／又は画像の深度に従って提供することができる。例えば、ポートレートの認識では、以下の認識ゾーンを選択することができる：目、口角、鼻の形状、及びタトゥー等の特定の特徴、又は同様の手法を使用して、車両プレート番号若しくは家の番地を選択し、認識することもできる。
・必要であれば、選択された画像の詳細な認識も可能である。
【００８２】
ｐネット１００のコンピュータエミュレーションの形成及びそのトレーニングは、任意のプログラミング言語を使用することにより、上記説明の基づいて提供することができる。例えば、オブジェクト指向プログラミングを使用することができ、その場合、シナプス重み１０８、補正重み１１２、分配器１１４、及びニューロン１１６は、プログラミングオブジェクト又はオブジェクトのクラスを表し、リンク又はメッセージを介してオブジェクトクラス間の関係が確立され、対話のアルゴリズムが、オブジェクト間及びオブジェクトクラス間に設定される。
【００８３】
ｐネット１００ソフトウェアエミュレーションの形成及びトレーニングは、以下を含むことができる。
・所与のタスクに従った、組になったトレーニング入力画像のデジタル形式への変換、
・トレーニングに使用される入力信号のパラメータ、例えば、周波数、大きさ、位相、又は座標の選択を含め、結果として生成されるデジタル画像の分析、及び
・トレーニング信号の範囲、対象となる範囲内の間隔数、及び補正重み影響係数Ｃｉ，ｄ，ｎの分布の設定。
２．以下を含むｐネットソフトウェアエミュレーションの形成。
・ｐネット１００への１組の入力の形成。例えば、入力数は、トレーニング入力画像内の信号数と同じであり得る。
・各ニューロンが加算デバイスを表す、１組のニューロンの形成。
・各シナプスが１つのｐネット入力及び１つのニューロンに接続される、シナプス重みを有する１組のシナプスの形成。
・重み補正ブロックが分配器及び補正重みを含み、各補正重みが以下の特性を有する、各シナプス内の重み補正ブロックの形成：
・補正重み入力インデックス（ｉ）、
・補正重みニューロンインデックス（ｎ）、
・補正重み間隔インデックス（ｄ）、及び
・補正重み初期値（Ｗｉ，ｄ，ｎ）。
・間隔と補正重みとの相関の指定。
３．以下を含む、１つの入力画像を用いての各ニューロンのトレーニング。
・以下を含む、補正重み影響係数Ｃｉ，ｄ，ｎの指定：
・各入力によって受信されるトレーニング入力画像の入力信号に対応する間隔の特定、及び
・全てのシナプスの全ての補正重みへの補正重み影響係数Ｃｉ，ｄ，ｎの大きさの指定。
・対応する補正重み影響係数Ｃｉ，ｄ，ｎで乗算された、ニューロンに寄与する全てのシナプス重みの補正重み値Ｗｉ，ｄ，ｎを合算することにより、各ニューロン「ｎ」のニューロン出力和（Σｎ）を計算すること。
Σｎ＝Σｉ，ｄ，ｎＷｉ，ｄ，ｎ×Ｃｉ，ｄ，ｎ
・対応する所望の出力信号Ｏｎからニューロン出力和Σｎを減算することを介して、逸脱又はトレーニング誤差（Ｔｎ）を計算すること。
Ｔｎ＝Ｏｎ−Σｎ
・トレーニング誤差を、ニューロン「ｎ」に接続されたシナプス数「Ｓ」で除算することを介して、ニューロン「ｎ」に寄与する全ての補正重みに等しい補正値（Δｎ）を計算すること。
Δｎ＝Ｔｎ／Ｓ
・対応する補正重み影響係数Ｃｉ，ｄ，ｎで除算した各補正重みに補正値Δｎを加算することにより、各ニューロンに寄与する全ての補正重みＷｉ，ｄ，ｎを変更すること。
Ｗｉ，ｄ，ｎ  ｍｏｄｉｆｉｅｄ＝Ｗｉ，ｄ，ｎ＋Δｎ／Ｃｉ，ｄ，ｎ
等しい補正値（Δｎ）を計算し、ニューロン「ｎ」に寄与する全ての補正重みの補正重みＷｉ，ｄ，ｎを変更する別の方法は、以下を含むことができる。
・所望の出力画像の信号Ｏｎをニューロン出力和Σｎで除算すること。
Δｎ＝Ｏｎ／Σｎ
・補正重みを補正値Δｎで乗算することにより、ニューロンに寄与する補正重みＷｉ，ｄ，ｎを変更すること。
Ｗｉ，ｄ，ｎ  ｍｏｄｉｆｉｅｄ＝Ｗｉ，ｄ，ｎ×Δｎ
４．以下を含む、全てのトレーニング画像を使用してｐネット１００をトレーニングすること：
・１つのトレーニングエポックに含まれる選択された全てのトレーニング画像に対して、上述したプロセスを繰り返すこと、及び
・特定のトレーニングエポックの１つ又は複数の誤差を特定し、誤差を所定の許容可能な誤差レベルと比較し、トレーニング誤差が所定の許容可能な誤差レベル未満になるまで、トレーニングエポックを繰り返すこと。
【００８４】
オブジェクト指向プログラミングを使用したｐネット１００のソフトウェアエミュレーションの実際の例を以下に説明し、図１４〜図２１に示す。
ＮｅｕｒｏｎＵｎｉｔオブジェクトクラスの形成は、以下の形成を含むことができる：
・Ｓｙｎａｐｓｅクラスの１組のオブジェクト、
・加算がトレーニング中に実行される、変数を提示するニューロン１１６、及び
・所望のニューロン和１２０の値が記憶され、補正値Δｎの計算が、トレーニングプロセス中に実行される、変数を提示する計算器１２２。
クラスＮｅｕｒｏｎＵｎｉｔは、ｐネット１００のトレーニングを提供し、以下を含むことができる：
・ニューロン和１２０の形成、
・所望の和の設定、
・補正値Δｎの計算、及び
・計算された補正値Δｎの補正重みＷｉ，ｎ，ｄへの加算。
オブジェクトクラスＳｙｎａｐｓｅの形成は、以下を含むことができる：
・１組の補正重みＷｉ，ｎ，ｄ、及び
・シナプス１１８に接続された入力を示すポインタ。
クラスＳｙｎａｐｙｓｅは以下の関数を実行することができる：
・補正重みＷｉ，ｎ，ｄの初期化、
・係数Ｃｉ，ｄ，ｎで重みＷｉ，ｎ，ｄを乗算すること、及び
・重みＷｉ，ｎ，ｄの補正。
オブジェクトクラスＩｎｐｕｔＳｉｇｎａｌの形成は、以下を含むことができる：
・所与の入力１０２に接続されたシナプス１１８での１組のインデックス、
・入力信号１０４の値を含む変数、
・可能な最小入力信号及び最大入力信号の値、
・間隔数「ｄ」、及び
・間隔長。
クラスＩｎｐｕｔＳｉｇｎａｌは、以下の関数を提供することができる。
・以下を含む、ｐネット１００の構造の形成：
・入力１０２とシナプス１１８との間のリンクの追加及び除去、並びに
・特定の入力１０２のシナプス１１８の間隔数「ｄ」の設定。
・最小入力信号及び最大入力信号１０４のパラメータの設定。
・ｐネット１００の動作への寄与。
・入力信号１０４の設定、及び
・補正重み影響係数Ｃｉ，ｄ，ｎの設定。
オブジェクトクラスＰＮｅｔの形成は、１組のオブジェクトクラスを含む。
・ＮｅｕｒｏｎＵｎｉｔ、及び
・ＩｎｐｕｔＳｉｇｎａｌ。
クラスＰＮｅｔは、以下の機能を提供する：
・ＩｎｐｕｔＳｉｇｎａｌクラスのオブジェクト数を設定すること、
・ＮｅｕｒｏｎＵｎｉｔクラスのオブジェクト数を設定すること、及び
・オブジェクトＮｅｕｒｏｎＵｎｉｔ及びＩｎｐｕｔＳｉｇｎａｌの関数のグループ要求。
トレーニングプロセス中、サイクルを形成することができ、
・サイクル開始前に、ゼロに等しいニューロン出力和が形成され、
・所与のＮｅｕｒｏｎＵｎｉｔに寄与する全てのシナプスがレビューされる。シナプス１１８毎に、
・入力信号１０２に基づいて、分配器は、１組の補正重み影響係数Ｃｉ，ｄ，ｎを形成し、
・上記シナプス１１８の全ての重みＷｉ，ｎ，ｄがレビューされ、重み毎に、
・重みＷｉ，ｎ，ｄの値が対応する補正重み影響係数Ｃｉ，ｄ，ｎで乗算され、
・乗算の結果が、ニューロン出力和の形成に追加される。
・補正値Δｎが計算される。
・補正値Δｎが、補正重み影響係数Ｃｉ，ｄ，ｎで除算される。すなわち、Δｎ／Ｃｉ，ｄ，ｎ。
・所与のＮｅｕｒｏｎＵｎｉｔに寄与する全てのシナプス１１８がレビューされる。シナプス１１８毎に、対象となるシナプスの全ての重みＷｉ，ｎ，ｄがレビューされ、重み毎に、その値は対応する補正値Δｎに変更される。
【００８５】
上述した、ｐネット１００を更にトレーニング可能なことにより、画像認識とのトレーニングの組み合わせが可能であり、それにより、トレーニングプロセスが加速化され、精度が改善される。互いにわずかに異なるフィルムの連続フレームでのトレーニング等の１組の順次変化する画像でｐネット１００をトレーニングする場合、追加のトレーニングは、以下を含むことができる。
・最初の画像を用いてトレーニングすること。
・次の画像を認識し、新しい画像と、ネットワークが最初にトレーニングされた画像との類似性の割合を識別すること。認識誤差が所定の値未満である場合、追加のトレーニングは必要ない。
・認識誤差が所定の値を超える場合、追加のトレーニングが提供される。
【００８６】
上記基本トレーニングアルゴリズムによるｐネット１００のトレーニングは、画像認識の問題を解決するのに有効であるが、重複画像に起因するデータの損失又は破損を除外しない。したがって、メモリ目的でのｐネット１００の使用は、可能ではあるが、完全に信頼できるものではないことがある。本実施形態は、情報の損失又は破損からの保護を提供するｐネット１００のトレーニングについて説明する。あらゆる補正重みＷｉ，ｎ，ｄが１回しかトレーニングできないことを求める追加の制限を基本ネットワークトレーニングアルゴリズムに導入することができる。最初のトレーニングサイクル後、重みＷｉ，ｎ，ｄの値は固定又は一定のままである。これは、トレーニングプロセス中、対象となる補正重みＷｉ，ｎ，ｄへのアクセス回数を表す上述したインデックスである追加のアクセスインデックス「ａ」を各補正重みに入れることにより、達成することができる。
【００８７】
上述したように、各補正重みは、Ｗｉ，ｎ，ｄ，ａの命名をとることができ、ここで、「ａ」は、トレーニングプロセス中の対象となる重みへのアクセス回数である。最も単純な場合、変更されない、すなわち、固定されない重みの場合、ａ＝０であり、一方、上述した基本アルゴリズムによって変更又は固定された重みの場合、ａ＝１である。さらに、基本アルゴリズムを適用しながら、固定値ａ＝１を有する補正重みＷｉ，ｎ，ｄ，ａは、補正が行われている重みから除外することができる。そのような場合、式［５］、［６］、及び［７］は、以下のように変換することができる。
【００８８】
【表１】
0006382354.tif 000002
【００８９】
上記制限は、前にトレーニングされた補正重みＷｉ，ｎ，ｄ，ａの補正に部分的に適用することができるが、最も重要な画像を形成する重みに対してのみ適用可能である。例えば、１人の人物の１組のポートレートでのトレーニング内で、１つの特定の画像は、プライマリとして宣言され、優先度を与えることができる。そのような優先画像でのトレーニング後、トレーニングプロセスで変更される、すなわち、インデックスａ＝１であり、したがって、Ｗｉ，ｎ，ｄ，１として重みを示す場合、全ての補正重みＷｉ，ｎ，ｄ，ａは固定することができ、同じ人物の他の画像は変更可能なままであり得る。そのような優先は、例えば、暗号鍵として使用され、且つ／又は重要な数値データを含む他の画像を含み得る。
【００９０】
補正重みＷｉ，ｎ，ｄ，ａへの変更は、完全には阻止されず、インデックス「ａ」の増大に制限することもできる。すなわち、重みＷｉ，ｎ，ｄ，ａの各後続使用は、重みの変更能力の低減に使用することができる。特定の補正重みＷｉ，ｎ，ｄ，ａが頻繁に使用されるほど、各アクセスでその重みが変更される頻度は低くなり、したがって、後続画像でのトレーニング中、前の記憶された画像が変更される頻度は低く、受ける破損が低減する。例えば、ａ＝０である場合、重みＷｉ，ｎ，ｄ，ａでの任意の変更が可能であり、ａ＝１である場合、重みが変更する可能性は、重みの値の±５０％に低減することができ、ａ＝２の場合、変更の可能性は重みの値の±２５％に低減することができる。
【００９１】
インデックス「ａ」によって示されるように、所定のアクセス回数に達した後、例えば、ａ＝５である場合、重みＷｉ，ｎ，ｄ，ａの更なる変更を阻止し得る。そのような手法は、１つのｐネット１００内で高いインテリジェンスと情報安全との組合せを提供することができる。ネットワーク誤差計算メカニズムを使用して、許容される誤差レベルは、所定の精度範囲内の損失を有する情報を保存し得るように設定することができ、精度範囲は、特定のタスクに従って割り当てることができる。換言すれば、視覚的画像を用いて動作するｐネット１００の場合、誤差は、裸眼で捕捉することができないレベルに設定することができ、それにより、記憶容量の増大の大きな「因子」が提供される。上記は、視覚的情報、例えば、映画のかなり効率的な記憶の生成を可能にすることができる。
【００９２】
コンピュータメモリを選択的にクリーニングする能力は、ｐネット１００の連続した高レベル機能に有価値であることができる。メモリのそのような選択的クリーニングは、記憶されている残りの情報を損失又は破損させずに特定の画像を除去することにより、行い得る。そのようなクリーニングは、以下のように提供することができる：
・例えば、画像をネットワークに導入するか、又は各画像に使用される補正重みのリストを編纂することによる、画像形成に参加する全ての補正重みＷｉ，ｎ，ｄ，ａの識別、
・各補正重みＷｉ，ｎ，ｄ，ａのインデックス「ａ」の低減、及び
・ゼロ又はインデックス「ａ」がゼロに低減される場合、対象となる重みの可能な値の範囲の中央に近いランダム値での補正重みＷｉ，ｎ，ｄ，ａの置換。
【００９３】
インデックス「ａ」を低減する適切な順序及び連続は、画像シーケンス内に隠れている強いパターンを識別するように実験的に選択することができる。例えば、トレーニング中、ｐネット１００に導入される１００の画像毎に、「ａ」がゼロ値に達するまで、１のカウントでインデックス「ａ」を低減することができる。そのような場合、「ａ」の値は、新しい画像の導入に対応して増大することができる。「ａ」の増大と低減との競合は、ランダム変更がメモリから徐々になくなり、その間、多数回、使用され確認された補正重みＷｉ，ｎ，ｄ，ａを保存することができる状況に繋がり得る。ｐネット１００が、例えば、同じ被写体又は同様の環境という同様の特性を有する多数の画像でトレーニングされる場合、往々にして使用される補正重みＷｉ，ｎ，ｄ，ａは、値を常時確認し、これらのエリア内の情報は非常に安定する。さらに、ランダムノイズが徐々に消失する。換言すれば、インデックス「ａ」が徐々に低減するｐネット１００は、効率的なノイズフィルタとして機能することができる。
【００９４】
情報を損失させずにｐネット１００をトレーニングする、説明される実施形態では、高い容量及び信頼性を有するｐネットメモリを生成することができる。そのようなメモリは、「キャッシュメモリ」システムよりも高速を提供する大容量の高速コンピュータメモリとして使用することができるが、「キャッシュメモリ」システムで典型的なコンピュータコスト及び複雑性を増大させない。公開されているデータによれば、一般に、ニューラルネットワークを用いて映画を記録する間、メモリは、記録品質を大きく失わずに数十回又は数百回圧縮することができる。換言すれば、ニューラルネットワークは、非常に効率的なアーカイブプログラムとして動作することが可能である。ニューラルネットワークのこの能力をｐネット１００の高速トレーニング能力と組み合わせることにより、高速データ伝送システム、高い記憶容量を有するメモリ、及び高速解読プログラムマルチメディアファイル、すなわち、コーデックスを生成することが可能になる。
【００９５】
ｐネット１００では、データが、符号記録の一種である１組の補正重みＷｉ，ｎ，ｄ，ａとして記憶されることに起因して、同一のネットワーク及び鍵を使用せずに、既存の方法を介してｐネットが復号化されるか、又はｐネットが不正アクセスされる可能性は低い。したがって、ｐネット１００は、相当な程度のデータ保護を提供することができる。また、従来のコンピュータメモリとは異なり、ｐネット１００の個々の記憶要素へのダメージが呈する影響は、他の要素が失われた機能を大きく補うため、ごくわずかである。画像認識プロセスでは、使用されている画像の固有のパターンは実際に、１つ又は複数の要素が破損した結果として、歪まない。上記は、コンピュータの信頼性を劇的に改善することができ、通常の状況下では、かなり不完全な特定のメモリブロックを使用できるようにする。加えて、このタイプのメモリは、ｐネット１００内の重要なバイトの永久アドレスがないことに起因して、ハッカーの攻撃への脆弱性がより低く、様々なコンピュータウィルスによるそのようなシステムの攻撃に耐えられるようにする。
【００９６】
トレーニングに使用される様々な画像の類似の割合の特定を用いる、上述した画像認識プロセスは、上述したように、前に定義されるカテゴリに従った画像分類プロセスとして利用することもできる。画像を予め定義されていない自然クラス又は群に分割することであるクラスタ化では、基本トレーニングプロセスを変更することができる。本実施形態は、以下を含むことができる。
・準備された出力画像を含めずに、１組の入力画像をトレーニングに向けて準備すること。
・基本アルゴリズムに従って行われるように、ニューロン出力和の形成を用いてネットワークを形成し、トレーニングすること。
・コホーネンネットワークと同様に編成することができる、最大出力和、すなわち、勝者出力又は勝者出力群を有する出力の、結果として生成される出力画像を選択すること。
・勝者出力又は勝者出力群が最大値を受け取る所望の出力画像の作成。同時に、
・選択される勝者出力の数は、例えば、１〜１０の範囲内で予め決定することができるか、又は勝者出力は、「最大ニューロン和のＮ％以上」という規則に従って選択することができ、ここで、「Ｎ」は、例えば、９０％〜１００％内であり得る。
・他の全ての出力はゼロに等しく設定することができる。
・作成された所望の出力画像、図１３を使用して、基本アルゴリズムに従ってトレーニングすること。
・異なる勝者又は勝者群の各画像を形成して、他の画像に対して全ての手順を繰り返すこと。
【００９７】
上記のようにして形成される１組の所望の出力画像は、複数の入力画像を自然に分けることができるクラスタ又はグループを記述するのに使用することができる。そのような１組の所望の出力画像は、確立された基準に従った、統計学的解析での画像の選択等の様々な分類を生成するのに使用することができる。上記は、入力画像及び出力画像の上記反転に使用することもできる。換言すれば、所望の出力画像は、別の、すなわち追加のネットワークへの入力画像として使用することができ、追加のネットワークの出力は、コンピュータ入力に適する任意の形態で提示される画像であることができる。
【００９８】
ｐネット１００では、上述したアルゴリズムを用いた１サイクルのトレーニング後、トレーニングプロセスを遅くさせるとともに、精度を低減させるおそれがある出力和ばらつきが小さい、所望の出力画像を生成することができる。ｐネット１００のトレーニングを改善するために、点の大きさのばらつきが、図２１に示されるように、可能な出力値の全範囲、例えば、−５０〜＋５０を網羅するように、点の初期ばらつきを人工的に増大又は拡張させることができる。点の初期ばらつきのそのような拡張は、線形であってもよく、又は非線形であってもよい。
【００９９】
特定の出力の最大値が外れ値又は誤り、例えば、ノイズの発現である状況が生じ得る。そのような状況は、多数の小さな信号によって囲まれる最大値の外観によって発現し得る。勝者出力が選択される場合、小さな信号値は、勝者として他の大きな信号によって囲まれる最大の信号を選択することを通して、無視することができる。このために、重要度サンプリング等の分散を低減する既知の統計学的技法を使用し得る。そのような手法では、基本の有価値パターンを維持しながら、ノイズを除去することができる。勝者群の生成により、図１３に示されるように、線形不可分性画像、すなわち、２つ以上のクラスタに関連する画像のクラスタ化が可能になる。上記は、精度の大きな改善を提供し、クラスタ化誤差の数を低減することができる。
【０１００】
ｐネット１００のトレーニングプロセスでは、補正を受ける典型的な誤差は、以下の通りである。
【０１０１】
【表２】
0006382354.tif 000003
【０１０２】
誤差補正は、外部トレーナーを用いたトレーニングにおいて上述したアルゴリズムを用いても可能である。
【０１０３】
詳細な説明及び図又は図面は、本開示を支持し説明するものであるが、本開示の範囲は、特許請求の範囲のみによって規定される。請求項による本開示を実行する最良の形態及び他の実施形態の幾つかを詳細に説明したが、添付の特許請求の範囲において規定される本開示を実施するために、様々な代替の設計及び実施形態が存在する。さらに、図面に示される実施形態又は本説明において述べられる様々な実施形態の特徴は必ずしも、互いから独立した実施形態として理解される必要はない。むしろ、実施形態の例の１つに記載される各特徴が、他の実施形態からの１つ又は複数の他の所望の特徴と組み合わせることが可能であり、その結果として、言葉で説明されないか、又は図面を参照して説明されない他の実施形態を生成することが可能である。したがって、そのような他の実施形態は、添付の特許請求の範囲の枠組み内にある。
【図１】
0006382354.tif 000004
【図２】
0006382354.tif 000005
【図３Ａ】
0006382354.tif 000006
【図３Ｂ】
0006382354.tif 000007
【図３Ｃ】
0006382354.tif 000008
【図４Ａ】
0006382354.tif 000009
【図４Ｂ】
0006382354.tif 000010
【図４Ｃ】
0006382354.tif 000011
【図５】
0006382354.tif 000012
【図６Ａ】
0006382354.tif 000013
【図６Ｂ】
0006382354.tif 000014
【図６Ｃ】
0006382354.tif 000015
【図７】
0006382354.tif 000016
【図８】
0006382354.tif 000017
【図９】
0006382354.tif 000018
【図１０】
0006382354.tif 000019
【図１１】
0006382354.tif 000020
【図１２】
0006382354.tif 000021
【図１３】
0006382354.tif 000022
【図１４】
0006382354.tif 000023
【図１５】
0006382354.tif 000024
【図１６】
0006382354.tif 000025
【図１７】
0006382354.tif 000026
【図１８】
0006382354.tif 000027
【図１９】
0006382354.tif 000028
【図２０】
0006382354.tif 000029
【図２１】
0006382354.tif 000030
【図２２】
0006382354.tif 000031
【図２３】
0006382354.tif 000032