(57)【要約】  ニューラルネットワークは、入力信号を受信するための入力と、入力に接続されており、配列に編成された修正重みを有するシナプスとを含む。トレーニング画像は、入力によって配列として受信されるか、またはネットワークのトレーニングの間にそのようなものとして体系化されるかのいずれかである。ネットワークはまた、１つのシナプスを介して少なくとも１つの入力に接続された出力を各々有し、それぞれのニューロンに接続された各シナプスから選択された修正重みを合計することによってニューロン和配列を生成する、ニューロンを含む。さらに、ネットワークは、所望の画像を配列の形態で受信し、所望の出力値配列からのニューロン和配列の逸脱を決定し、逸脱配列を生成するコントローラを含む。コントローラは逸脱配列を用いて修正重み配列を変更する。変更された修正重みを合算し、ニューロン和配列を決定することは、問題の逸脱を低減し、同時ネットワークトレーニングのためのトレーニングされた修正重み配列を生成する。
2019519045.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータにより実施されるニューラルネットワークであって、
トレーニング画像を受信するように構成された前記ニューラルネットワークへの複数の入力であって、前記トレーニング画像は、トレーニング入力値配列として受信されるか、または前記ニューラルネットワークのトレーニングの間に前記トレーニング入力値配列として体系化されるかのいずれかである、複数の入力と、
複数のシナプスであって、各シナプスは前記複数の入力のうちの１つに接続されており、複数の修正重みを含み、各修正重みは重み値によって規定され、前記複数のシナプスの前記修正重みは修正重み配列に編成される、複数のシナプスと、
複数のニューロンであって、各ニューロンは少なくとも１つの出力を有し、前記複数のシナプスのうちの少なくとも１つを介して前記複数の入力のうちの少なくとも１つと接続されており、各ニューロンは、前記それぞれのニューロンに接続された各シナプスに対応する前記修正重みの前記重み値を合算するように構成されており、これにより、前記複数のニューロンはニューロン和配列を生成する、複数のニューロンと、
コントローラであって、
所望の出力値配列として編成された所望の画像を受信することと、
前記所望の出力値配列からの前記ニューロン和配列の逸脱を決定し、逸脱配列を生成することと、
前記決定された逸脱配列を用いて前記修正重み配列内のそれぞれの修正重み値を変更することであって、これにより、前記変更された修正重み値を合算し、前記ニューロン和配列を決定することが、前記所望の出力値配列からの前記ニューロン和配列の前記逸脱を低減するようにし、トレーニングされた修正重み配列を生成し、これにより、前記ニューラルネットワークの同時トレーニングを容易にする、変更することと、
を行うように構成された、コントローラと、
を備え、
前記トレーニング入力値配列、前記修正重み配列、前記ニューロン和配列、前記所望の出力値配列、前記逸脱配列、および前記トレーニングされた修正重み配列は、それぞれ、トレーニング入力値行列、修正重み行列、ニューロン和行列、所望の出力値行列、逸脱行列、およびトレーニングされた修正重み行列として編成される、
ニューラルネットワーク。
【請求項２】
トレーニングされたニューラルネットワークにおいて、
前記ニューラルネットワークへの前記複数の入力が、入力画像を受信するように構成されており、前記入力画像は、入力値行列として受信されるか、または前記ニューラルネットワークによる前記画像の認識の間に前記入力値行列として体系化されるかのいずれかであり、
各シナプスが、前記トレーニングされた修正重み行列の複数のトレーニングされた修正重みを含み、
各ニューロンが、前記それぞれのニューロンに接続された各シナプスに対応する前記トレーニングされた修正重みの前記重み値を合算するように構成されており、これにより、前記複数のニューロンは、認識された画像行列を生成し、これにより、前記入力画像の認識をもたらす、
請求項１に記載のニューラルネットワーク。
【請求項３】
分配器のセットをさらに備え、分配器の前記セットは、前記トレーニング画像および入力画像の各々を前記それぞれのトレーニング入力値行列および入力値行列として体系化するように構成されており、分配器の前記セットは、前記それぞれのトレーニング画像および入力画像を受信するための前記複数の入力に動作可能に接続されている、請求項２に記載のニューラルネットワーク。
【請求項４】
前記コントローラが、さらに、前記所望の出力値行列からの前記ニューロン和行列の目標逸脱の行列を用いてプログラムされ、前記コントローラが、さらに、前記所望の出力値行列からの前記ニューロン和行列の前記逸脱が目標逸脱の前記行列の許容範囲内に入ると、前記ニューラルネットワークのトレーニングを完了するように構成されている、請求項２に記載のニューラルネットワーク。
【請求項５】
（キャンセル）
【請求項６】
複数のデータプロセッサをさらに備え、前記コントローラが、さらに、前記それぞれの入力値行列、前記トレーニング入力値行列、前記修正重み行列、前記ニューロン和行列、および前記所望の出力値行列のうちの少なくとも１つをそれぞれの部分行列に区分し、複数の前記得られた部分行列を前記複数のデータプロセッサへ、それらを用いた別個の並列数学演算のために伝達し、これにより、同時データ処理、ならびに前記入力値行列の画像認識および前記ニューラルネットワークのトレーニングのうちの一方の速度の増大を容易にするように構成されている、請求項４に記載のニューラルネットワーク。
【請求項７】
前記コントローラが、前記トレーニング入力値行列および前記修正重み行列に代数行列演算を適用することによって前記修正重み行列を変更し、これにより、前記ニューラルネットワークをトレーニングする、請求項４に記載のニューラルネットワーク。
【請求項８】
前記数学行列演算が、前記トレーニング入力値行列と前記修正重み行列との数学的積を決定し、これにより、現在のトレーニングエポックの重み行列を形成することを含む、請求項７に記載のニューラルネットワーク。
【請求項９】
前記コントローラが、
前記ニューロン和行列を前記所望の出力値行列から減算し、ニューロン和の逸脱の行列を生成することと、
ニューロン和の逸脱の前記行列を、前記それぞれのニューロンに接続された入力の数で除算し、ニューロン入力ごとの逸脱の行列を生成することと、
を行うようにさらに構成されている、請求項８に記載のニューラルネットワーク。
【請求項１０】
前記コントローラが、
各修正重みが前記ニューラルネットワークの１つのトレーニングエポックの間に用いられた回数を決定することと、
各修正重みが前記１つのトレーニングエポックの間に用いられた前記決定された回数を用いて前記１つのトレーニングエポックについての平均逸脱行列を形成することと、
前記１つのトレーニングエポックについての前記平均逸脱行列を前記修正重み行列に加算し、これにより、前記トレーニングされた修正重み行列を生成し、前記１つのトレーニングエポックを完了することと、
を行うようにさらに構成されている、請求項９に記載のニューラルネットワーク。
【請求項１１】
コンピュータに実装されたニューラルネットワークを動作させるための方法であって、
前記ニューラルネットワークへの複数の入力を介してトレーニング画像を受信することであって、前記トレーニング画像は、トレーニング入力値行列として受信されるか、または前記ニューラルネットワークのトレーニングの間に前記トレーニング入力値行列として体系化されるかのいずれかである、受信することと、
複数のシナプスの修正重みを修正重み行列に編成することであって、各シナプスは前記複数の入力のうちの１つに接続されており、複数の修正重みを含み、各修正重みは重み値によって規定される、編成することと、
複数のニューロンを介してニューロン和行列を生成することであって、各ニューロンは少なくとも１つの出力を有し、前記複数のシナプスのうちの１つを介して前記複数の入力のうちの少なくとも１つと接続されており、各ニューロンは、前記それぞれのニューロンに接続された各シナプスに対応する前記修正重みの前記重み値を合算するように構成されている、生成することと、
コントローラを介して、所望の出力値行列として編成された所望の画像を受信することと、
前記コントローラを介して、前記所望の出力値行列からの前記ニューロン和行列の逸脱を決定し、逸脱行列を生成することと、
前記コントローラを介して、前記決定された逸脱行列を用いて前記修正重み行列内のそれぞれの修正重み値を変更することであって、これにより、前記変更された修正重み値を合算し、前記ニューロン和行列を決定することが、前記所望の出力値行列からの前記ニューロン和行列の前記逸脱を低減するようにし、トレーニングされた修正重み行列を生成し、これにより、前記ニューラルネットワークの同時トレーニングを容易にする、変更することと、
を含む、方法。
【請求項１２】
トレーニングされたニューラルネットワークにおいて、
前記ニューラルネットワークへの前記複数の入力を介して入力画像を受信することであって、前記入力画像は、入力値行列として受信されるか、または前記ニューラルネットワークによる前記画像の認識の間に前記入力値行列として体系化されるかのいずれかである、受信し、
前記トレーニングされた修正重み行列の複数のトレーニングされた修正重みを各シナプスに帰属させることであって、各々のトレーニングされた修正重みは重み値によって規定される、帰属させ、
前記それぞれのニューロンに接続された各シナプスに対応する前記トレーニングされた修正重みの前記重み値を合算し、これにより、前記複数のニューロンは、認識された画像行列を生成し、これにより、前記入力画像の認識をもたらす、
請求項１１に記載の方法。
【請求項１３】
分配器のセットを介して、前記トレーニング画像および入力画像の各々を前記それぞれのトレーニング入力値行列および入力値行列として体系化することをさらに含み、分配器の前記セットは、前記それぞれのトレーニング画像および入力画像を受信するための前記複数の入力に動作可能に接続されている、請求項１２に記載の方法。
【請求項１４】
前記コントローラが、さらに、前記所望の出力値行列からの前記ニューロン和行列の目標逸脱の行列を用いてプログラムされ、前記方法が、前記コントローラを介して、前記所望の出力値行列からの前記ニューロン和行列の前記逸脱が目標逸脱の前記行列の許容範囲内に入ると、前記ニューラルネットワークのトレーニングを完了することをさらに含む、請求項１２に記載の方法。
【請求項１５】
（キャンセル）
【請求項１６】
前記ニューラルネットワークがさらに複数のデータプロセッサを含み、前記方法が、前記コントローラを介して、前記それぞれの入力値行列、前記トレーニング入力値行列、前記修正重み行列、前記ニューロン和行列、および前記所望の出力値行列のうちの少なくとも１つをそれぞれの部分行列に区分し、複数の前記得られた部分行列を前記複数のデータプロセッサへ、それらを用いた別個の並列数学演算のために伝達し、これにより、同時データ処理、ならびに前記入力値行列の画像認識および前記ニューラルネットワークのトレーニングのうちの一方の速度の増大を容易にすることをさらに含む、請求項１４に記載の方法。
【請求項１７】
前記コントローラを介して、前記トレーニング入力値行列および前記修正重み行列に代数行列演算を適用することによって前記修正重み行列を変更し、これにより、前記ニューラルネットワークをトレーニングすることをさらに含む、請求項１４に記載の方法。
【請求項１８】
前記数学行列演算を適用することが、前記トレーニング入力値行列と前記修正重み行列との数学的積を決定し、これにより、現在のトレーニングエポックの重み行列を形成することを含む、請求項１７に記載の方法。
【請求項１９】
前記コントローラを介して、前記ニューロン和行列を前記所望の出力値行列から減算し、ニューロン和の逸脱の行列を生成することと、
前記コントローラを介して、ニューロン和の逸脱の前記行列を、前記それぞれのニューロンに接続された入力の数で除算し、ニューロン入力ごとの逸脱の行列を生成することと、
をさらに含む、請求項１８に記載の方法。
【請求項２０】
前記コントローラを介して、各修正重みが前記ニューラルネットワークの１つのトレーニングエポックの間に用いられた回数を決定することと、
前記コントローラを介して、各修正重みが前記１つのトレーニングエポックの間に用いられた前記決定された回数を用いて前記１つのトレーニングエポックについての平均逸脱行列を形成することと、
前記コントローラを介して、前記１つのトレーニングエポックについての前記平均逸脱行列を前記修正重み行列に加算し、これにより、前記トレーニングされた修正重み行列を生成し、前記１つのトレーニングエポックを完了することと、
をさらに含む、請求項１９に記載の方法。
【請求項２１】
人工ニューラルネットワークを動作させるための非一時的コンピュータ可読記憶デバイスであって、前記記憶デバイスは、
前記ニューラルネットワークへの複数の入力を介してトレーニング画像を受信することであって、前記トレーニング画像は、トレーニング入力値行列として受信されるか、または前記ニューラルネットワークのトレーニングの間に前記トレーニング入力値行列として体系化されるかのいずれかである、受信することと、
複数のシナプスの修正重みを修正重み行列に編成することであって、各シナプスは前記複数の入力のうちの１つに接続されており、複数の修正重みを含み、各修正重みは重み値によって規定される、編成することと、
複数のニューロンを介してニューロン和行列を生成することであって、各ニューロンは少なくとも１つの出力を有し、前記複数のシナプスのうちの１つを介して前記複数の入力のうちの少なくとも１つと接続されており、各ニューロンは、前記それぞれのニューロンに接続された各シナプスに対応する前記修正重みの前記重み値を合算するように構成されている、生成することと、
所望の出力値行列として編成された所望の画像を受信することと、
前記所望の出力値行列からの前記ニューロン和行列の逸脱を決定し、逸脱行列を生成することと、
前記決定された逸脱行列を用いて前記修正重み行列内のそれぞれの修正重み値を変更することであって、これにより、前記変更された修正重み値を合算し、前記ニューロン和行列を決定することが、前記所望の出力値行列からの前記ニューロン和行列の前記逸脱を低減するようにし、トレーニングされた修正重み行列を生成し、これにより、前記ニューラルネットワークの同時トレーニングを容易にする、変更することと、
を行うために実行可能な命令を符号化されている、記憶デバイス。
【請求項２２】
前記ニューラルネットワークへの前記複数の入力を介して入力画像を受信することであって、前記入力画像は、入力値行列として受信されるか、または前記ニューラルネットワークによる前記画像の認識の間に前記入力値行列として体系化されるかのいずれかである、受信することと、
前記トレーニングされた修正重み行列の複数のトレーニングされた修正重みを各シナプスに帰属させることであって、各々のトレーニングされた修正重みは重み値によって規定される、帰属させることと、
前記それぞれのニューロンに接続された各シナプスに対応する前記トレーニングされた修正重みの前記重み値を合算し、これにより、前記複数のニューロンは、認識された画像行列を生成し、これにより、前記入力画像の認識をもたらすことと、
を行うために実行可能な命令をさらに符号化されている、請求項２１に記載の記憶デバイス。
【請求項２３】
人工ニューラルネットワークを動作させるための装置であって、
前記ニューラルネットワークへの複数の入力を介してトレーニング画像を受信するための手段であって、前記トレーニング画像は、トレーニング入力値行列として受信されるか、または前記ニューラルネットワークのトレーニングの間に前記トレーニング入力値行列として体系化されるかのいずれかである、手段と、
複数のシナプスの修正重みを修正重み行列に編成するための手段であって、各シナプスは前記複数の入力のうちの１つに接続されており、複数の修正重みを含み、各修正重みは重み値によって規定される、手段と、
複数のニューロンを介してニューロン和行列を生成するための手段であって、各ニューロンは少なくとも１つの出力を有し、前記複数のシナプスのうちの１つを介して前記複数の入力のうちの少なくとも１つと接続されており、各ニューロンは、前記それぞれのニューロンに接続された各シナプスに対応する前記修正重みの前記重み値を合算するように構成されている、手段と、
所望の出力値行列として編成された所望の画像を受信するための手段と、
前記所望の出力値行列からの前記ニューロン和行列の逸脱を決定し、逸脱行列を生成するための手段と、
前記決定された逸脱行列を用いて前記修正重み行列内のそれぞれの修正重み値を変更するための手段であって、これにより、前記変更された修正重み値を合算し、前記ニューロン和行列を決定することが、前記所望の出力値行列からの前記ニューロン和行列の前記逸脱を低減するようにし、トレーニングされた修正重み行列を生成し、これにより、前記ニューラルネットワークの同時トレーニングを容易にする、手段と、
を備える、装置。
【請求項２４】
トレーニングされたニューラルネットワークにおいて、
前記ニューラルネットワークへの前記複数の入力を介して入力画像を受信するための手段であって、前記入力画像は、入力値行列として受信されるか、または前記ニューラルネットワークによる前記画像の認識の間に前記入力値行列として体系化されるかのいずれかである、手段と、
前記トレーニングされた修正重み行列の複数のトレーニングされた修正重みを各シナプスに帰属させるための手段であって、各々のトレーニングされた修正重みは重み値によって規定される、手段と、
前記それぞれのニューロンに接続された各シナプスに対応する前記トレーニングされた修正重みの前記重み値を合算する手段であって、これにより、前記複数のニューロンは、認識された画像行列を生成し、これにより、前記入力画像の認識をもたらす、手段と、
を有する請求項２３に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、２０１７年３月３日に出願された米国実用特許出願第１５／４４９６１４号、および２０１６年６月９日に出願された米国実用特許出願第１５／１７８，１３７号の利益を主張する。これらの出願は各々、２０１５年９月２３日に出願された米国実用特許バイパス出願第１４／８６２，３３７号の一部継続であり、この出願は、２０１５年３月６日に出願された国際出願ＰＣＴ／ＵＳ２０１５／１９２３６号の継続であり、この出願は、２０１４年３月６日に出願された米国特許仮出願第６１／９４９，２１０号、および２０１５年１月２２日に出願された米国特許仮出願第６２／１０６，３８９号の利益を主張し、さらに、２０１５年６月９日に出願された米国特許仮出願第６２／１７３，１６３号の利益を主張し、同出願の内容全体は同様に本明細書において参照により組み込まれている。
【０００２】
本開示は、人工ニューラルネットワーク、およびそれをトレーニングする方法に関する。
【背景技術】
【０００３】
機械学習において、用語「ニューラルネットワーク」は、概して、ソフトウェアおよび／またはコンピュータアーキテクチャ、すなわち、それを実行するために必要とされるハードウェアおよびソフトウェアを含む、コンピュータシステムまたはマイクロプロセッサの全体設計または構造を指す。人工ニューラルネットワークは、動物の中枢神経系、特に、脳としても知られる、生物学的ニューラルネットワークから発想を得た統計学習アルゴリズム群であり得る。人工ニューラルネットワークは、主として、多数の入力に依存し得る一般的に未知の機能を推定または近似するために用いられる。このようなニューラルネットワークは、コンピュータ視覚および音声認識を含む、普通のルールベースのプログラミングを用いて解くことが難しい多種多様のタスクのために用いられてきた。
【０００４】
人工ニューラルネットワークは概して、入力から値を計算し得る「ニューロン」のシステムとして提示され、それらの適応性のおかげで、機械学習およびパターン認識の能力を有する。各ニューロンは、しばしば、シナプス重みを有するシナプスを通していくつかの入力と接続する。
【０００５】
ニューラルネットワークは典型的なソフトウェアおよびハードウェアとしてプログラムされず、トレーニングされる。このようなトレーニングは、通例、十分な数の代表例の解析を経て、入力画像の所与のセットが出力画像の所与のセットに対応するようシナプス重みを統計的もしくはアルゴリズム的に選択することによって達成される。古典的なニューラルネットワークに対してよく言われる批判は、それらのトレーニングのために膨大な時間および他のリソースがしばしば必要とされることである。
【０００６】
様々な人工ニューラルネットワークが、以下の米国特許：第４，９７９，１２４号、第５，４７９，５７５号、第５，４９３，６８８号、第５，５６６，２７３号、第５，６８２，５０３号、第５，８７０，７２９号、第７，５７７，６３１号、および第７，８１４，０３８号に記載されている。
【発明の概要】
【課題を解決するための手段】
【０００７】
一実施形態では、ニューラルネットワークは、トレーニング画像を受信するように構成されたニューラルネットワークへの複数の入力を含む。トレーニング画像は、複数の入力によってトレーニング入力値配列として受信されるか、またはニューラルネットワークのトレーニングの間に、すなわち、複数の入力によって受信された後に、トレーニング入力値配列として体系化されるかのいずれかである。ニューラルネットワークはまた、複数のシナプスを含む。各シナプスは複数の入力のうちの１つに接続されており、複数の修正重みを含む。各修正重みは重み値によって規定され、複数のシナプスの修正重みは修正重み配列に編成される。
【０００８】
ニューラルネットワークは、さらに、複数のニューロンを含む。各ニューロンは少なくとも１つの出力を有し、複数のシナプスのうちの少なくとも１つを介して複数の入力のうちの少なくとも１つと接続されている。各ニューロンは、それぞれのニューロンに接続された各シナプスに対応する修正重みの重み値を合算するように構成されており、これにより、複数のニューロンはニューロン和配列を生成する。ニューラルネットワークはまた、所望の出力値配列として編成された所望の画像を受信するように構成されたコントローラを含む。
【０００９】
コントローラはまた、所望の出力値配列からのニューロン和配列の逸脱を決定し、逸脱配列を生成するように構成されている。コントローラは、さらに、決定された逸脱配列を用いて修正重み配列を変更するように構成されている。変更された修正重み値を合算し、ニューロン和配列を決定することは、所望の出力値配列からのニューロン和配列の逸脱を低減する。すなわち、トレーニングの間にニューロンネットワークによって生成される誤差を補償し、トレーニングされた修正重み配列を生成し、これにより、ニューラルネットワークの同時または並列トレーニングを容易にする。
【００１０】
トレーニングされたニューラルネットワークにおいて、ニューラルネットワークへの複数の入力は、入力画像を受信するように構成され得る。このような入力画像は、入力値配列として受信されるか、またはニューラルネットワークによって画像の認識の間に入力値配列として体系化されるかのいずれかであり得る。各シナプスは、トレーニングされた修正重み配列の複数のトレーニングされた修正重みを含み得る。加えて、各ニューロンは、それぞれのニューロンに接続された各シナプスに対応するトレーニングされた修正重みの重み値を合算するように構成されていてもよく、これにより、複数のニューロンは、認識された画像配列を生成し、これにより、このような入力画像の認識をもたらす。
【００１１】
ニューラルネットワークはまた、分配器のセットを含み得る。このような実施形態では、分配器のセットは、トレーニング画像および入力画像の各々をそれぞれのトレーニング入力値配列および入力値配列として体系化するように構成され得る。分配器のこのようなセットは、それぞれのトレーニング画像および入力画像を受信するための複数の入力に動作可能に接続され得る。
【００１２】
コントローラは、さらに、所望の出力値配列からのニューロン和配列の目標逸脱の配列を用いてプログラムされ得る。さらに、コントローラは、所望の出力値配列からのニューロン和配列の逸脱が目標逸脱の配列の許容範囲内に入ると、ニューラルネットワークのトレーニングを完了するように構成され得る。
【００１３】
トレーニング入力値配列、入力値配列、修正重み配列、ニューロン和配列、所望の出力値配列、逸脱配列、トレーニングされた修正重み配列、認識された画像配列、および目標逸脱配列は、それぞれ、トレーニング入力値行列、入力値行列、修正重み行列、ニューロン和行列、所望の出力値行列、逸脱行列、トレーニングされた修正重み行列、認識された画像行列、および目標逸脱行列として編成され得る。
【００１４】
ニューラルネットワークは、さらに、複数のデータプロセッサを含み得る。このような実施形態では、コントローラは、さらに、それぞれの入力値行列、トレーニング入力値行列、修正重み行列、ニューロン和行列、および所望の出力値行列のうちの少なくとも１つをそれぞれの部分行列に区分し、複数の得られた部分行列を複数のデータプロセッサへ、それらを用いた別個の並列数学演算のために伝達するように構成され得る。問題の行列のうちの任意のものをそれぞれの部分行列へのこのように区分することは、同時または並列データ処理、ならびに入力値行列の画像認識またはニューラルネットワークのトレーニングのいずれかの速度の増大を容易にする。このような同時または並列データ処理はまた、ニューラルネットワークのスケーラビリティも可能にする。
【００１５】
コントローラは、トレーニング入力値行列および修正重み行列に代数行列演算を適用することによって修正重み行列を変更し、これにより、ニューラルネットワークをトレーニングし得る。
【００１６】
数学行列演算は、トレーニング入力値行列と修正重み行列との数学的積を決定し、これにより、現在のトレーニングエポックの重み行列を形成することを含み得る。
【００１７】
コントローラはまた、ニューロン和行列を所望の出力値行列から減算し、ニューロン和の逸脱の行列を生成するように構成され得る。加えて、コントローラは、ニューロン和の逸脱の行列を、それぞれのニューロンに接続された入力の数で除算し、ニューロン入力ごとの逸脱の行列を生成するように構成され得る。
【００１８】
コントローラはまた、各修正重みがニューラルネットワークの１つのトレーニングエポックの間に用いられた回数を決定するように構成され得る。コントローラは、さらに、各修正重みが１つのトレーニングエポックの間に用いられた決定された回数を用いて１つのトレーニングエポックについての平均逸脱行列を形成するように構成され得る。さらに、コントローラは、１つのトレーニングエポックについての平均逸脱行列を修正重み行列に加算し、これにより、トレーニングされた修正重み行列を生成し、１つのトレーニングエポックを完了するように構成され得る。
【００１９】
また、このようなニューラルネットワークを動作させる方法、すなわち、トレーニングおよび画像認識のための方法が開示される。
【００２０】
追加的に開示されるのは、人工ニューラルネットワークを動作させるための非一時的コンピュータ可読記憶デバイス、および人工ニューラルネットワークを動作させるための装置である。
【００２１】
別の実施形態では、ニューラルネットワークは複数のネットワーク入力を含み、これにより、各入力は、入力値を有する入力信号を受信するように構成されている。ニューラルネットワークはまた、複数のシナプスを含み、各シナプスは複数の入力のうちの１つに接続されており、複数の修正重みを含み、各修正重みは、それぞれの重み値を保持するメモリ要素によって確立される。ニューラルネットワークは、さらに、分配器のセットを含む。各分配器は、それぞれの入力信号を受信するための複数の入力のうちの１つに動作可能に接続されており、入力値に相関して複数の修正重みから１つ以上の修正重みを選択するように構成されている。ニューラルネットワークはまた、ニューロンのセットを含む。各ニューロンは少なくとも１つの出力を有し、複数のシナプス群のうちの１つを介して複数の入力のうちの少なくとも１つと接続されており、それぞれのニューロンに接続された各シナプスから選択された修正重みの重み値を合算し、これにより、ニューロン和を生成するように構成されている。各ニューロンの出力はそれぞれのニューロン和を提供し、ニューラルネットワークの動作出力信号を確立する。
【００２２】
ニューラルネットワークはまた、値を有する所望の出力信号を受信し、所望の出力信号値からのニューロン和の逸脱を決定し、決定された逸脱を用いて、対応するメモリ要素によって確立されたそれぞれの修正重み値を変更するように構成された重み修正計算器を含み得る。このような場合には、変更された修正重み値を合算し、ニューロン和を決定することは、所望の出力信号値からのニューロン和の逸脱を最小化し、これにより、トレーニングされたニューラルネットワークを生成することを意図されている。
【００２３】
トレーニングされたニューラルネットワークは、値を有する補足入力信号、および対応する補足的な所望の出力信号のみを用いて、補足トレーニングを受けるように構成され得る。
【００２４】
トレーニングの間、またはニューラルネットワークの補足トレーニングの後のどちらかにおいて、複数のシナプスの各々は、それぞれのメモリ要素によって確立された１つ以上の追加の修正重みを受け入れるように構成され得る。
【００２５】
ニューラルネットワークは、ニューラルネットワークのトレーニングの間または後に、それぞれのシナプスから、それぞれのメモリ要素によって確立された１つ以上の修正重みを削除するように構成され得る。一部の修正重みのこのような削除は、ニューラルネットワークが、ニューラルネットワークを動作させるために必要とされる数のメモリ要素のみを保持することを可能にし得る。
【００２６】
ニューラルネットワークは、ニューラルネットワークのトレーニングの前または間に、追加の入力、追加のシナプス、および追加のニューロンのうちの少なくとも１つを受け入れ、これにより、ニューラルネットワークの動作パラメータを拡張するように構成され得る。
【００２７】
ニューラルネットワークは、ニューラルネットワークのトレーニングの前、間、または後に、入力、シナプス、およびニューロンのうちの少なくとも１つを削除するように構成され得る。ネットワークによって使用されていないニューラルネットワーク要素を削除するこのような能力は、構造を単純化し、ネットワークの出力品質の損失を伴うことなくニューラルネットワークの動作パラメータを変更することを意図されている。
【００２８】
各メモリ要素は、それぞれの重み値を規定するように構成された電気特性および／または磁気特性によって特徴付けられる電気デバイスによって確立され得る。このような特性は、抵抗、インピーダンス、静電容量、磁界、誘導、電界強度などであり得る。各デバイスのそれぞれの電気特性および／または磁気特性は、ニューラルネットワークのトレーニングの間に変更されるように構成され得る。加えて、重み修正計算器は、対応する電気デバイスの電気特性および磁気特性のうちのそれぞれの少なくとも１つを変更することによって、それぞれの修正重み値を変更し得る。
【００２９】
電気デバイスは、抵抗器、メミスタ、メモリスタ、トランジスタ、キャパシタ、電界効果トランジスタ、光依存抵抗器（ｌｉｇｈｔ−ｄｅｐｅｎｄｅｎｔ  ｒｅｓｉｓｔｏｒ、ＬＤＲ）などのフォトレジスタ、または磁気依存抵抗器（ｍａｇｎｅｔｉｃ  ｄｅｐｅｎｄｅｎｔ  ｒｅｓｉｓｔｏｒ、ＭＤＲ）のうちの１つとして構成され得る。
【００３０】
各メモリ要素は電気抵抗器のブロックによって確立され、決定された逸脱を用いてブロックから１つ以上の電気抵抗器を選択し、各修正重みを確立するように構成された選択デバイスを含み得る。
【００３１】
電気抵抗器のブロックは、さらに、電気キャパシタを含み得る。換言すれば、各メモリ要素は、電気抵抗器および電気キャパシタの両方を有するブロックによって確立され得る。このとき、選択デバイスは、さらに、決定された逸脱を用いてキャパシタを選択し、各修正重みを確立するように構成され得る。
【００３２】
ニューラルネットワークは、アナログネットワーク、デジタルネットワーク、およびデジタル−アナログネットワークのうちの１つとして構成され得る。このようなネットワークでは、複数の入力、複数のシナプス、メモリ要素、分配器のセット、ニューロンのセット、重み修正計算器、および所望の出力信号のうちの少なくとも１つは、アナログフォーマット、デジタルフォーマット、およびデジタル−アナログフォーマットで動作するように構成され得る。
【００３３】
ニューラルネットワークがアナログネットワークとして構成されている場合には、各ニューロンは、電線、または直列バスもしくは並列バスなどの、直列および並列のうちの一方の通信チャネルによって確立され得る。
【００３４】
重み修正計算器は差動増幅器のセットとして確立され得る。さらに、各差動増幅器は、それぞれの修正信号を生成するように構成され得る。
【００３５】
分配器の各々は、受信された入力信号に応じて複数の修正重みから１つ以上の修正重みを選択するように構成されたデマルチプレクサであり得る。
【００３６】
各分配器は、受信された入力信号を２進符号に変換し、２進符号に相関して複数の修正重みから１つ以上の修正重みを選択するように構成され得る。
【００３７】
ニューラルネットワークは、メモリを有する電子デバイス内にプログラムされてもよく、各メモリ要素は電子デバイスのメモリ内に記憶される。
【００３８】
また、ユーティリティニューラルネットワークを動作させる方法が開示される。本方法は、ユーティリティニューラルネットワークを介して、別個の類似ニューラルネットワークによってそのトレーニングの間に確立された変更された修正重み値を用いてデータを処理することを含む。本方法はまた、別個の類似ニューラルネットワークによって確立された変更された修正重み値を用いてユーティリティニューラルネットワークの動作出力信号を確立することを含む。
【００３９】
ユーティリティニューラルネットワークによる変更された修正重み値の使用のために、別個の類似ニューラルネットワークは、ニューラルネットワークへの入力を介して、トレーニング入力値を有するトレーニング入力信号を受信することと、トレーニング入力信号を、入力に動作可能に接続された分配器へ通信することと、分配器を介して、トレーニング入力値に相関して、複数の修正重みから１つ以上の修正重みを選択することであって、各修正重みは重み値によって規定され、入力に接続されたシナプス上に位置付けられる、選択することと、シナプスを介して入力と接続され、少なくとも１つの出力を有するニューロンを介して、選択された修正重みの重み値を合算し、ニューロン和を生成することと、重み修正計算器を介して、値を有する所望の出力信号を受信することと、重み修正計算器を介して、所望の出力信号値からのニューロン和の逸脱を決定することと、重み修正計算器を介して、決定された逸脱を用いてそれぞれの修正重み値を変更し、変更された修正重み値を確立することであって、変更された修正重み値を合算し、ニューロン和を決定することが、所望の出力信号値からのニューロン和の逸脱を最小化し、これにより、ニューラルネットワークをトレーニングするようにする、確立することと、を通してトレーニングされた。
【００４０】
ユーティリティニューラルネットワークおよびトレーニングされた別個の類似ニューラルネットワークは、多数の入力、修正重み、分配器、ニューロン、およびシナプスを含む整合ニューラルネットワーク構造を含み得る。
【００４１】
ユーティリティニューラルネットワークおよびトレーニングされた別個の類似ニューラルネットワークの各々において、各修正重みは、それぞれの重み値を保持するメモリ要素によって確立され得る。
【００４２】
上述の特徴および利点、ならびに本開示の他の特徴および利点は、添付の図面および添付の請求項と関連して、実施形態および、本開示を実施するための最良の形態の以下の詳細な説明から容易に明らかになるであろう。
【図面の簡単な説明】
【００４３】
【図１】図１は、従来技術の古典的な人工ニューラルネットワークの概略図である。
【図２】図２は、複数のシナプスと、分配器のセットと、各シナプスに関連付けられた複数の修正重みとを有する「プログレッシブニューラルネットワーク」（ｐネット）の概略図である。
【図３Ａ】図３Ａは、複数のシナプスと、各分配器の上流に位置付けられた１つのシナプス重みとを有する、図２に示されるｐネットの一部分の概略図である。
【図３Ｂ】図３Ｂは、複数のシナプスと、それぞれの複数の修正重みの下流に位置付けられたシナプス重みのセットとを有する、図２に示されるｐネットの一部分の概略図である。
【図３Ｃ】図３Ｃは、複数のシナプスと、各分配器の上流に位置付けられた１つのシナプス重みと、それぞれの複数の修正重みの下流に位置付けられたシナプス重みのセットとを有する、図２に示されるｐネットの一部分の概略図である。
【図４Ａ】図４Ａは、所与の入力の全てのシナプスのための単一の分配器と、各分配器の上流に位置付けられた１つのシナプス重みとを有する、図２に示されるｐネットの一部分の概略図である。
【図４Ｂ】図４Ｂは、所与の入力の全てのシナプスのための単一の分配器と、それぞれの複数の修正重みの下流に位置付けられたシナプス重みのセットとを有する、図２に示されるｐネットの一部分の概略図である。
【図４Ｃ】図４Ｃは、所与の入力の全てのシナプスのための単一の分配器を有し、各分配器の上流に位置付けられた１つのシナプス重みと、それぞれの複数の修正重みの下流に位置付けられたシナプス重みのセットとを有する、図２に示されるｐネットの一部分の概略図である。
【図５】図５は、図２に示されるｐネットにおける個々の間隔への入力信号値の範囲の分割の概略図である。
【図６Ａ】図６Ａは、図２に示されるｐネットにおける修正重みの影響係数の値についての分布の一実施形態の概略図である。
【図６Ｂ】図６Ｂは、図２に示されるｐネットにおける修正重みの影響係数の値についての分布の別の実施形態の概略図である。
【図６Ｃ】図６Ｃは、図２に示されるｐネットにおける修正重みの影響係数の値についての分布のさらに別の実施形態の概略図である。
【図７】図７は、図２に示されるｐネットのための入力画像、ならびに画像をデジタル符号の形式で表す１つの対応するテーブル、および同じ画像をそれぞれの間隔のセットとして表す別の対応するテーブルの概略図である。
【図８】図８は、２つの異なる画像の認識のためにトレーニングされた図２に示されるｐネットの一実施形態の概略図であって、ｐネットは、各画像のいくらかの特徴を含むピクチャを認識するように構成されている、概略図である。
【図９】図９は、「中央」ニューロンの周りのシナプス重みの分布の一例を有する図２に示されるｐネットの一実施形態の概略図である。
【図１０】図１０は、修正重みの間のトレーニング逸脱の一様な分布を示す、図２に示されるｐネットの一実施形態の概略図である。
【図１１】図１１は、ｐネットのトレーニングの間における修正重みの変更を利用する、図２に示されるｐネットの一実施形態の概略図である。
【図１２】図１２は、基本アルゴリズムが出力ニューロン和の１次セットを生成し、生成されたセットが、保持された値または増大された値のいずれかを有するいくつかの「勝者」和を生成するために用いられ、残りの和の寄与が無効にされる、図２に示されるｐネットの一実施形態の概略図である。
【図１３】図１３は、図２に示されるｐネットが、複数の画像の要素を有する複雑な画像を認識する一実施形態の概略図である。
【図１４】図１４は、統一モデリング言語（Ｕｎｉｆｉｅｄ  Ｍｏｄｅｌｉｎｇ  Ｌａｎｇｕａｇｅ、ＵＭＬ）を用いた図２に示されるｐネットのためのオブジェクト指向プログラミングのためのモデルの概略図である。
【図１５】図１５は、図２に示されるｐネットの全体的な形成シーケンスの概略図である。
【図１６】図１６は、図２に示されるｐネットの形成のためのデータの代表的な解析および準備の概略図である。
【図１７】図１７は、トレーニングおよびｐネット適用の間における図２に示されるｐネットと入力データとの相互作用を可能にする代表的な入力作成の概略図である。
【図１８】図１８は、図２に示されるｐネットのためのニューロンユニットの代表的な作成の概略図である。
【図１９】図１９は、ニューロンユニットと接続された各シナプスの代表的な作成の概略図である。
【図２０】図２０は、図２に示されるｐネットのトレーニングの概略図である。
【図２１】図２１は、図２に示されるｐネットにおけるニューロンユニットのトレーニングの概略図である。
【図２２】図２２は、図２に示されるｐネットのトレーニングの間におけるニューロン和の拡張の概略図である。
【図２３】図２３は、図２〜図２２に示されるｐネットをトレーニングするために用いられる方法のフロー図である。
【図２４】図２４は、複数の修正重みの各々をメモリ要素によって確立させたｐネットの特定の実施形態の概略図であって、ｐネットはネットワークトレーニングのプロセスにおいて示されている概略図である。
【図２５】図２５は、複数の修正重みの各々をメモリ要素によって確立させたｐネットの特定の実施形態の概略図であって、ｐネットは画像認識のプロセスにおいて示されている概略図である。
【図２６】図２６は、トレーニングの第１段階の間にメモリスタを用いる代表的なｐネットの概略図である。
【図２７】図２７は、トレーニングの第２段階の間にメモリスタを用いる代表的なｐネットの概略図である。
【図２８】図２８は、代表的なｐネット内におけるメモリスタの双対並列分岐の概略図である。
【図２９】図２９は、抵抗器を用いる代表的なｐネットの概略図である。
【図３０】図３０は、ｐネット内の抵抗器として構成されたメモリ要素の一実施形態の概略図である。
【図３１】図３１は、ｐネット内の抵抗器として構成されたメモリ要素の別の実施形態の概略図である。
【図３２】図３２は、ｐネット内の可変インピーダンスとして構成されたメモリ要素の別の実施形態の概略図である。
【図３３】図３３は、図２〜図２２および図２４〜図３２に示されるニューラルネットワークを動作させるために用いられる方法のフロー図である。
【図３４】図３４は、本開示に係る、複数のシナプスと、各シナプスに関連付けられた複数の修正重みとを有する「プログレッシブニューラルネットワーク」（ｐネット）の図である。
【図３５】図３５は、本開示に係る、トレーニングされている最中のｐネットの図である。
【図３６】図３６は、本開示に係る、画像認識の最中のｐネットの図である。
【図３７】図３７は、図３４〜図３６に示されるニューラルネットワークを動作させるための方法のフロー図である。
【発明を実施するための形態】
【００４４】
古典的な人工ニューラルネットワーク１０は、図１に示されるように、通例、入力デバイス１２と、シナプス重み１６を有するシナプス１４と、加算器２０および活性化関数デバイス２２を含む、ニューロン１８と、ニューロン出力２４と、重み修正計算器２６とを含む。各ニューロン１８はシナプス１４を通して２つ以上の入力デバイス１２に接続されている。シナプス重み１６の値は一般的に、電気抵抗、導電率、電圧、電荷、磁気特性、または他のパラメータを用いて表される。
【００４５】
古典的なニューラルネットワーク１０の教師付きトレーニングは概して、トレーニングペア２８のセットの適用に基づく。各トレーニングペア２８は一般的に、入力画像２８−１、および教師信号としても知られる、所望の出力画像２８−２からなる。古典的なニューラルネットワーク１０のトレーニングは通例、以下のように行われる。入力信号（Ｉ１〜Ｉｍ）のセットの形態の入力画像が入力デバイス１２に入り、初期重み（Ｗ１）を有するシナプス重み１６へ転送される。入力信号の値は、重みによって、通例、各信号（Ｉ１〜Ｉｍ）の値にそれぞれの重みを乗算するか、またはそれで除算することによって、変更される。シナプス重み１６から、変更された入力信号が各々、それぞれのニューロン１８へ転送される。各ニューロン１８は、問題のニューロン１８に関連するシナプス１４のグループから信号のセットを受信する。ニューロン１８内に含まれる加算器２０は、重みによって変更され、問題のニューロンによって受信された全ての入力信号を合計する。活性化関数デバイス２２は、それぞれの得られたニューロン和を受信し、数学関数に従って和を変更し、かくして、ニューロン出力信号のセット（ΣＦ１…ΣＦｎ）としてそれぞれの出力画像を形成する。
【００４６】
ニューロン出力信号（ΣＦ１…ΣＦｎ）によって規定された、得られたニューロン出力画像は、重み修正計算器２６によって所定の所望の出力画像（Ｏ１〜Ｏｎ）と比較される。得られたニューロン出力画像ΣＦｎと所望の出力画像Ｏｎとの決定された差に基づいて、事前にプログラムされたアルゴリズムを用いてシナプス重み１６を変更するための修正信号が形成される。全てのシナプス重み１６に対して修正が行われた後に、入力信号のセット（Ｉ１〜Ｉｍ）がニューラルネットワーク１０に再導入され、新たな修正が行われる。得られたニューロン出力画像ΣＦｎと所望の出力画像Ｏｎとの差が何らかの所定の誤差未満であると決定されるまで、上述のサイクルが繰り返される。全ての個々の画像を用いたネットワークトレーニングの１つのサイクルは、通例、「トレーニングエポック」として識別される。概して、トレーニングエポックのたびに、誤差の大きさは低減される。しかし、個々の入力（Ｉ１〜Ｉｍ）の数、ならびに入力および出力の数に依存して、古典的なニューラルネットワーク１０のトレーニングは、場合によっては、何十万という大きさになり得る、膨大な数のトレーニングエポックを必要とし得る。
【００４７】
ホップフィールドネットワーク、制限ボルツマンマシン、放射基底関数ネットワーク、およびリカレントニューラルネットワークを含む、種々の古典的なニューラルネットワークが存在する。分類およびクラスタ化の特定のタスクは、特定の種類のニューラルネットワーク、入力画像のみをネットワーク入力トレーニング情報として用いる自己組織化マップを必要とし、それに対して、特定の入力画像に対応する所望の出力画像は、最大値を有する出力信号を有する単一の勝者ニューロンに基づいてトレーニングプロセスの間に直接形成される。
【００４８】
上述されたように、ニューラルネットワーク１０などの、既存の古典的なニューラルネットワークに対する主な懸念のうちの１つは、これらのトレーニングを成功させるには、膨大な期間を必要とし得ることである。古典的なネットワークに対するいくつかのさらなる懸念は、計算リソースの大量消費であり得る。これは結果的に高性能のコンピュータの必要性を生じさせるであろう。さらなる懸念は、ネットワークの完全な再トレーニングを行わずにはネットワークのサイズを増大させることができないこと、「ネットワークの麻痺」および「極小におけるフリーズ」のような現象に陥りやすい傾向である。このせいで、特定のニューラルネットワークが、所与のシーケンスで所与の画像セットを用いてトレーニングされることが可能であろうかどうかを予測することが困難になる。また、トレーニングの間に画像が導入される特定のシーケンシングに関連する制限も存在し得る。この場合、トレーニング画像の導入の順序を変更すると、ネットワークのフリーズを招くとともに、すでにトレーニングされたネットワークの追加のトレーニングを遂行できなくなり得る。
【００４９】
残りの図面を参照すると、同様の参照符号は同様の構成要素を指し、図２は、プログレッシブニューラルネットワーク、以下、「プログレッシブネットワーク」、または「ｐネット」１００の概略図を示す。ｐネット１００は、ｐネットの複数の入力１０２、または入力１０２のセットを含む。各入力１０２は、入力信号１０４を受信するように構成されている。ここで、図２において、入力信号はＩ１、Ｉ２…Ｉｍと表されている。各入力信号Ｉ１、Ｉ２…Ｉｍは、入力画像１０６の何らかの特性、例えば、大きさ、周波数、位相、信号偏角、または入力画像１０６の異なる部分との関連の値を表す。各入力信号１０４は入力値を有し、全体として、複数の入力信号１０４は概して入力画像１０６を記述する。
【００５０】
各入力値は、−∞〜＋∞にある値の範囲内にあり得、デジタル形式および／またはアナログ形式で設定され得る。入力値の範囲はトレーニング画像のセットに依存し得る。最も単純な場合には、入力値の範囲は、全てのトレーニング画像についての入力信号の最も小さい値と最も大きい値との差であることができるであろう。実用的な理由から、入力値の範囲は、過剰に高いと見なされる入力値を無くすことによって制限されてもよい。例えば、入力値の範囲のこのような制限は、重要度サンプリングなどの、分散低減のための既知の統計的方法を通して達成され得る。入力値の範囲を制限する別の例は、所定の最小レベルよりも低い全ての信号の、特定の最小値への指定、および所定の最大レベルを超える全ての信号の、特定の最大値への指定であり得る。
【００５１】
ｐネット１００はまた、複数のシナプス１１８、またはシナプス１１８のセットを含む。各シナプス１１８は、図２に示されるように、複数の入力１０２のうちの１つに接続されており、複数の修正重み１１２を含み、また、シナプス重み１０８も含み得る。各修正重み１１２はそれぞれの重み値によって規定される。ｐネット１００はまた、分配器１１４のセットを含む。各分配器１１４は、それぞれの入力信号１０４を受信するための複数の入力１０２のうちの１つに動作可能に接続されている。加えて、各分配器１１４は、入力値に相関して複数の修正重み１１２から１つ以上の修正重みを選択するように構成されている。
【００５２】
ｐネット１００は、さらに、ニューロン１１６のセットを含む。各ニューロン１１６は少なくとも１つの出力１１７を有し、１つのシナプス１１８を介して複数の入力１０２のうちの少なくとも１つと接続されている。各ニューロン１１６は、それぞれのニューロン１１６に接続された各シナプス１１８から選択された修正重み１１２の修正重み値を合算または合計し、これにより、Σｎとして別記されるニューロン和１２０を生成して出力するように構成されている。図３Ａ、図３Ｂ、および図３Ｃに示されるように、所与の入力１０２のシナプス１１８ごとに別個の分配器１１４が用いられてもよく、あるいは図４Ａ、図４Ｂ、および図４Ｃに示されるように、このようなシナプスの全てのために単一の分配器が用いられてもよい。ｐネット１００の形成またはセットアップの間に、全ての修正重み１１２は、ｐネットトレーニングのプロセスの間に変化し得る、初期値を割り当てられる。修正重み１１２の初期値は古典的なニューラルネットワーク１０の場合と同様に割り当てることができ、例えば、重みは、ランダムに選択される、所定の数学関数の助けを借りて算出される、所定のテンプレートから選択されるなどし得る。
【００５３】
ｐネット１００はまた、重み修正計算器１２２を含む。重み修正計算器１２２は、信号値を有し、出力画像１２６の一部分を表す、所望の、すなわち、所定の、出力信号１２４を受信するように構成されている。重み修正計算器１２２はまた、所望の出力信号１２４の値から、トレーニング誤差としても知られる、ニューロン和１２０の逸脱１２８を決定し、決定された逸脱１２８を用いてそれぞれの修正重み値を変更するように構成されている。その後、変更された修正重み値を合計し、ニューロン和１２０を決定することは、所望の出力信号１２４の値からの問題のニューロン和の逸脱を最小化し、その結果、ｐネット１００をトレーニングするために有効である。
【００５４】
図１に関して説明された古典的なネットワーク１０との類推のために、逸脱１２８はまた、決定されたニューロン和１２０と所望の出力信号１２４の値とのトレーニング誤差として記述することもできる。図１に関して説明された古典的なニューラルネットワーク１０と比較すると、ｐネット１００では、入力信号１０４の入力値は一般的なネットワークセットアップの最中にのみ変化し、ｐネットのトレーニングの間には変更されない。入力値を変更する代わりに、ｐネット１００のトレーニングは、修正重み１１２の値１１２を変更することによって提供される。加えて、各ニューロン１１６は、ニューロンが修正重み値を合算する合計関数を含むが、ニューロン１１６は、古典的なニューラルネットワーク１０における活性化関数デバイス２２によって提供されるものなどの、活性化関数を必要とせず、実際に、活性化関数が存在しないことによって特徴付けられる。
【００５５】
古典的なニューラルネットワーク１０では、トレーニングの間の重み修正は、シナプス重み１６を変更することによって達成され、その一方で、ｐネット１００では、図２に示されるように、修正重み値１１２を変更することによって、対応する重み修正がもたらされる。それぞれの修正重み１１２は、シナプス１１８の全てまたは一部の上に位置付けられた重み修正ブロック１１０内に含まれ得る。ニューラルネットワークコンピュータエミュレーションでは、各シナプス重みおよび修正重みは、メモリセルなどのデジタルデバイス、および／またはアナログデバイスのいずれかによって表され得る。ニューラルネットワークソフトウェアエミュレーションでは、修正重み１１２の値は、適切なプログラムされたアルゴリズムを介して提供することが可能であり、その一方で、ハードウェアエミュレーションでは、メモリ制御のための既知の方法を用いることができるであろう。
【００５６】
ｐネット１００では、所望の出力信号１２４からのニューロン和１２０の逸脱１２８は、両者の間の数学的に計算された差として表され得る。加えて、それぞれの変更された修正重み１１２の生成は、計算された差の、ニューロン和１２０を生成するために用いられる各修正重みへの配分を含み得る。このような実施形態では、それぞれの変更された修正重み１１２の生成は、ニューロン和１２０が少数のエポック以内に所望の出力信号値に収束されることを可能にすることになり、場合によっては、単一のエポックを必要とするのみであり、ｐネット１００を高速にトレーニングする。特定の例では、ニューロン和１２０を生成するために用いられる修正重み１１２の間における数学的差の配分は、決定された差を、それぞれのニューロン和１２０を生成するために用いられる各修正重みの間で等しく除算することを含み得る。
【００５７】
別個の実施形態では、所望の出力信号値からのニューロン和１２０の逸脱１２８の決定は、所望の出力信号値をニューロン和で除算し、これにより、逸脱係数を生成することを含み得る。このような特定の例では、それぞれの変更された修正重み１１２の変更は、ニューロン和１２０を生成するために用いられる各修正重みに逸脱係数を乗算することを含む。各分配器１１４は、さらに、複数の影響係数１３４を複数の修正重み１１２に割り当てるように構成され得る。本実施形態では、各影響係数１３４は、それぞれのニューロン和１２０を生成するために何らかの所定の割合で複数の修正重み１１２のうちの１つに割り当てられ得る。各々のそれぞれの修正重み１１２との対応のために、各影響係数１３４には、図に示されるように、「Сｉ，ｄ，ｎ」の名称が付与され得る。
【００５８】
特定のシナプス１１８に対応する複数の影響係数１３４の各々はそれぞれの影響分布関数１３６によって規定される。影響分布関数１３６は、全ての影響係数１３４に対して同じであるか、または特定のシナプス１１８に対応する複数の影響係数１３４に対してのみ同じであるかのいずれかであり得る。複数の入力値の各々は、間隔分布関数１４０に従って間隔または小区分「ｄ」に分割された値の範囲１３７内に受信され得、これにより、各入力値はそれぞれの間隔「ｄ」内で受信され、各修正重みはこのような間隔のうちの１つに対応する。各分配器１１４は、それぞれの受信された入力値を用い、それぞれの間隔「ｄ」を選択し、それぞれの複数の影響係数１３４を、選択されたそれぞれの間隔「ｄ」に対応する修正重み１１２、およびＷｉ，ｄ＋１，ｎもしくはＷｉ，ｄ−１，ｎなどの、選択されたそれぞれの間隔に隣接する間隔に対応する少なくとも１つの修正重みに割り当て得る。別の非限定例では、影響係数１３４の所定の割合は統計的分布に従って規定され得る。
【００５９】
ニューロン和１２０を生成することは、最初に、入力値１０２に従ってそれぞれの影響係数１３４を各修正重み１１２に割り当て、次に、問題の影響係数に、それぞれの用いられている修正重み１１２の値を乗算することを含み得る。次に、各ニューロン１１６を介して、修正重み１１２と割り当てられた影響係数１３４との個々の積を、それに接続された全てのシナプス１１８にわたって合計する。
【００６０】
重み修正計算器１２２は、それぞれの影響係数１３４を適用し、それぞれの変更された修正重み１１２を生成するように構成され得る。具体的には、重み修正計算器１２２は、それぞれの影響係数１３４によって確立された割合に従って、ニューロン和１２０と所望の出力信号１２４との計算された数学的差の一部分を、ニューロン和１２０を生成するために用いられる各修正重み１１２に適用し得る。加えて、ニューロン和１２０を生成するために用いられる修正重み１１２の間で分割された数学的差はそれぞれの影響係数１３４でさらに除算され得る。その後、それぞれの影響係数１３４によるニューロン和１２０の除算の結果は、ニューロン和１２０を所望の出力信号値に収束するために、修正重み１１２に加算され得る。
【００６１】
通例、ｐネット１００の形成は、ｐネットのトレーニングが開始する前に行われることになる。しかし、別個の実施形態では、トレーニングの間に、ｐネット１００が、初期修正重みが存在しない入力信号１０４を受信する場合には、適切な修正重み１１２が生成され得る。このような場合には、特定の分配器１１４が、特定の入力信号１０４のための適切な間隔「ｄ」を決定することになり、初期値を有する修正重み１１２のグループが、所与の入力１０２、所与の間隔「ｄ」、および全てのそれぞれのニューロン１１６のために生成されることになる。加えて、対応する影響係数１３４が、各々の新たに生成された修正重み１１２に割り当てられ得る。
【００６２】
各修正重み１１２は、ｐネット１００上における各々のそれぞれの修正重みの位置を識別するように構成されたインデックスのセットによって規定され得る。インデックスのセットは、具体的に、特定の入力１０２に対応する修正重み１１２を識別するように構成された入力インデックス「ｉ」、それぞれの修正重みのための上述の選択された間隔を特定するように構成された間隔インデックス「ｄ」、および特定のニューロン１１６に対応する修正重み１１２を名称「Ｗｉ，ｄ，ｎ」によって特定するように構成されたニューロンインデックス「ｎ」を含み得る。それゆえ、特定の入力１０２に対応する各修正重み１１２には、問題の位置を示すために、添え字内において特定のインデックス「ｉ」が割り当てられる。同様に、特定のニューロン１１６およびそれぞれのシナプス１１８に対応する各修正重み「Ｗ」には、ｐネット１００上における修正重みの問題の位置を示すために、添え字内において特定のインデックス「ｎ」および「ｄ」が割り当てられる。インデックスのセットはまた、それぞれの修正重み１１２がｐネット１００のトレーニングの間に入力信号１０４によってアクセスされた回数を数えるように構成されたアクセスインデックス「ａ」を含み得る。換言すれば、特定の間隔「ｄ」およびそれぞれの修正重み１１２がトレーニングのために複数の修正重みから入力値に相関して選択されるたびに、アクセスインデックス「ａ」は、入力信号をカウントするために、インクリメントされる。アクセスインデックス「ａ」は、名称「Ｗｉ，ｄ，ｎ，ａ」を採用することによって、各修正重みの現在のステータスをさらに特定または規定するために用いられ得る。インデックス「ｉ」、「ｄ」、「ｎ」、および「ａ」の各々は０〜＋∞の範囲内の数値であり得る。
【００６３】
図５に、入力信号１０４の範囲を間隔ｄ０、ｄ１…ｄｍに分割する様々な可能性が示されている。特定の間隔分布は一様または線形であり得る。これは、例えば、全ての間隔「ｄ」を同じサイズによって特定することによって達成され得る。所定の最低レベルよりも低いそれぞれの入力信号値を有する全ての入力信号１０４は、０の値を有すると見なすことができ、その一方で、所定の最高レベルよりも大きいそれぞれの入力信号値を有する全ての入力信号は、同じく図５に示されるように、このような最高レベルに割り当てることができる。特定の間隔分布はまた、対称、非対称、または無制限など、非一様または非線形であり得る。間隔「ｄ」の非線形分布は、入力信号１０４の範囲が非実用的に大きいと見なされ、範囲の最初、中間、または最後などにおける、範囲の特定の部分が、最も重要と見なされる入力信号を含み得るであろうというときに、有用であり得る。特定の間隔分布はまた、ランダム関数によって記述することもできる。間隔分布の他の変形例も可能であるため、上述の例は全て非限定的な性質のものである。
【００６４】
入力信号１０４の選択された範囲内の間隔「ｄ」の数は、ｐネット１００を最適化するために増大させられてもよい。ｐネット１００のこのような最適化は、例えば、入力画像１０６のトレーニングの複雑さの増大とともに望ましくなり得る。例えば、多色画像のためには、単色画像と比べて、より多数の間隔が必要になり得、複雑な装飾品のためには、単純なグラフィックよりも多数の間隔が必要になり得る。複雑な色勾配を有する画像の正確な認識のためには、輪郭によって記述される画像と比べて、増大した数の間隔が必要となり得、より総数の大きいトレーニング画像に対しても同様である。また、ノイズの大きさが高い場合、トレーニング画像における分散が高い場合、および計算リソースの消費が過大である場合には、間隔「ｄ」の数の低減も必要になり得る。
【００６５】
ｐネット１００によって処理されるタスク、または情報の種類、例えば、視覚データまたは文字データ、様々な種類のセンサからのデータに依存して、異なる数の間隔およびそれらの分布の種類が指定され得る。入力信号値間隔「ｄ」ごとに、インデックス「ｄ」を有する所与のシナプスの対応する修正重みが割り当てられ得る。それゆえ、特定の間隔「ｄ」は、所与の入力に関連するインデックス「ｉ」、所与の間隔に関連するインデックス「ｄ」、および０〜ｎのインデックス「ｎ」のための全ての値を有する全ての修正重み１１２を含むことになる。ｐネット１００をトレーニングするプロセスにおいて、分配器１１４は各入力信号値を規定し、かくして、問題の入力信号１０４を、対応する間隔「ｄ」に関連付ける。例えば、０〜１００の入力信号の範囲内に１０個の等しい間隔「ｄ」が存在する場合には、３０〜４０の値を有する入力信号は間隔３に関連付けられることになり、すなわち、「ｄ」＝３になる。
【００６６】
所与の入力１０２と接続された各シナプス１１８の全ての修正重み１１２のために、分配器１１４は、特定の入力信号に関連付けられた間隔「ｄ」に従って影響係数１３４の値を割り当て得る。分配器１１４はまた、正弦波、正規、対数分布曲線などの、（図６に示される）影響係数１３４の値の所定の分布、またはランダム分布関数に従って影響係数１３４の値を割り当て得る。多くの場合、各シナプス１１８に関連する特定の入力信号１０２についての影響係数１３４またはСｉ，ｄ，ｎの和または積分は、１（１）の値を有することになる。
ΣＳｙｎａｐｓｅСｉ，ｄ，ｎ＝１  または  ∫ＳｙｎａｐｓｅСｉ，ｄ，ｎ＝１  ［１］
最も単純な場合には、入力信号値に最も密接に対応する修正重み１１２は影響係数１３４（Сｉ，ｄ，ｎ）に１（１）の値が割り当てられ得、その一方で、他の間隔のための修正重みは０（０）の値を受け得る。
【００６７】
ｐネット１００は、古典的なニューロンネットワーク１０と比べて、ｐネットのトレーニングの間における期間および他のリソースの使用の低減に焦点を合わせている。ｐネット１００の一部として本明細書において開示される要素のうちのいくつかは、古典的なニューラルネットワークに精通した人々に知られた特定の名称または識別名によって指定されるが、特定の名称は、簡潔にするために用いられており、古典的なニューラルネットワークにおけるそれらの対応物とは異なって用いられ得る。例えば、入力信号（Ｉ１〜Ｉｍ）の大きさを制御するシナプス重み１６は、古典的なニューラルネットワーク１０の一般的セットアップのプロセスの間に定められ、古典的なネットワークのトレーニングの間に変更される。他方で、ｐネット１００のトレーニングは、修正重み１１２を変更することによって達成され、その一方で、シナプス重み１０８はトレーニングの間に変化しない。加えて、上述されたように、ニューロン１１６の各々は合計または合算構成要素を含むが、古典的なニューラルネットワーク１０に典型的である活性化関数デバイス２２を含まない。
【００６８】
概して、ｐネット１００は、特定のニューロンおよび全てのそれぞれのシナプス１１８、ならびに問題のニューロンと接続された修正重み１１２を含む、それぞれのニューロン１１６および全ての接続シナプス１１８を含む各ニューロンユニット１１９をトレーニングすることによってトレーニングされる。したがって、ｐネット１００のトレーニングは、それぞれのニューロン１１６に寄与する修正重み１１２を変更することを含む。修正重み１１２に対する変更は、以下において詳細に開示される方法２００に含まれるグループトレーニングアルゴリズムに基づいて行われる。本開示のアルゴリズムでは、ニューロンごとにトレーニング誤差、すなわち、逸脱１２８が決定され、これに基づいて、修正値が決定され、各々のそれぞれのニューロン１１６によって得られる和を決定する際に用いられる重み１１２の各々に割り当てられる。トレーニングの間におけるこのような修正値の導入は、問題のニューロン１１６についての逸脱１２８を０に低減することを意図される。追加の画像を用いたトレーニングの間には、前に利用された画像に関連する新たな誤差が再び現れ得る。このような追加的な誤差を無くすために、１つのトレーニングエポックの完了後に、ｐネット１００全体の全てのトレーニング画像についての誤差が算出されてもよく、このような誤差が所定の値よりも大きい場合には、誤差が目標または所定の値未満になるまで、１つ以上の追加のトレーニングエポックが実施されてもよい。
【００６９】
図２３は、図２〜図２２を参照して上述されたとおりの、ｐネット１００をトレーニングする方法２００を示す。方法２００はフレーム２０２において開始する。フレーム２０２において、本方法は、入力１０２を介して、入力値を有する入力信号１０４を受信することを含む。フレーム２０２に続き、本方法はフレーム２０４へ進む。フレーム２０４において、本方法は、入力信号１０４を、入力１０２に動作可能に接続された分配器１１４へ通信することを含む。フレーム２０２またはフレーム２０４のどちらかにおいて、方法２００は、インデックスのセットによって各修正重み１１２を規定することを含み得る。ｐネット１００の構造に関して上述されたように、インデックスのセットは、入力１０２に対応する修正重み１１２を識別するように構成された入力インデックス「ｉ」を含み得る。インデックスのセットはまた、それぞれの修正重み１１２のための選択された間隔を特定するように構成された間隔インデックス「ｄ」、および特定のニューロン１１６に対応する修正重み１１２を「Ｗｉ，ｄ，ｎ」として特定するように構成されたニューロンインデックス「ｎ」を含み得る。インデックスのセットは、さらに、それぞれの修正重み１１２がｐネット１００のトレーニングの間に入力信号１０４によってアクセスされた回数を数えるように構成されたアクセスインデックス「ａ」を含み得る。したがって、各修正重みの現在のステータスは名称「Ｗｉ，ｄ，ｎ，ａ」を採用し得る。
【００７０】
フレーム２０４の後、本方法はフレーム２０６へ進む。フレーム２０６において、本方法は、分配器１１４を介して、入力値に相関して、問題の入力１０２に接続されたシナプス１１８上に配置された複数の修正重みから１つ以上の修正重み１１２を選択することを含む。上述されたように、各修正重み１１２はそのそれぞれの重み値によって規定される。フレーム２０６において、本方法は、さらに、分配器１１４を介して、複数の影響係数１３４を複数の修正重み１１２に割り当てることを含み得る。フレーム２０６において、本方法はまた、所定の割合で各影響係数１３４を複数の修正重み１１２のうちの１つに割り当て、ニューロン和１２０を生成することを含み得る。また、フレーム２０６において、本方法は、ニューロン１１６を介して、修正重み１１２と割り当てられた影響係数１３４との積を、それに接続された全てのシナプス１１８にわたって合算することを含み得る。加えて、フレーム２０６において、本方法は、重み修正計算器１２２を介して、それぞれの影響係数１３４によって確立された割合に従って、決定された差の一部分を、ニューロン和１２０を生成するために用いられる各修正重み１１２に適用することを含み得る。
【００７１】
ｐネット１００の構造に関して上述されたように、複数の影響係数１３４は影響分布関数１３６によって規定され得る。このような場合には、本方法は、さらに、入力値を、間隔分布関数１４０に従って間隔「ｄ」に分割された値の範囲１３７内に受信することを含み得、これにより、入力値はそれぞれの間隔内で受信され、各修正重み１１２は間隔のうちの１つに対応する。また、本方法は、分配器１１４を介して、受信された入力値を用い、それぞれの間隔「ｄ」を選択し、複数の影響係数１３４を、選択されたそれぞれの間隔「ｄ」に対応する修正重み１１２、および選択されたそれぞれの間隔「ｄ」に隣接する間隔に対応する少なくとも１つの修正重みに割り当てることを含み得る。ｐネット１００の構造に関して上述されたように、選択されたそれぞれの間隔「ｄ」に隣接する間隔に対応する修正重み１１２は、例えば、Ｗｉ，ｄ＋１，ｎまたはＷｉ，ｄ−１，ｎとして識別され得る。
【００７２】
フレーム２０６に続き、本方法はフレーム２０８へ進む。フレーム２０８において、本方法は、シナプス１１８を介して入力１０２と接続された特定のニューロン１１６によって、選択された修正重み１１２の重み値を合算し、ニューロン和１２０を生成することを含む。ｐネット１００の構造に関して上述されたように、各ニューロン１１６は少なくとも１つの出力１１７を含む。フレーム２０８の後、本方法はフレーム２１０へ進む。フレーム２１０において、本方法は、重み修正計算器１２２を介して、信号値を有する所望の出力信号１２４を受信することを含む。フレーム２１０に続き、本方法は、フレーム２１２へ進む。フレーム２１２において、本方法は、重み修正計算器１２２を介して、所望の出力信号１２４の値からのニューロン和１２０の逸脱１２８を決定することを含む。
【００７３】
以上においてｐネット１００の説明で開示されたように、所望の出力信号値からのニューロン和１２０の逸脱１２８の決定は、これらの間の数学的差を決定することを含み得る。加えて、それぞれの修正重み１１２の変更は、数学的差を、ニューロン和１２０を生成するために用いられる各修正重みに配分することを含み得る。代替的に、数学的差の配分は、決定された差を、ニューロン和１２０を生成するために用いられる各修正重み１１２の間で等しく除算することを含み得る。さらに別個の実施形態では、逸脱１２８の決定はまた、所望の出力信号１２４の値をニューロン和１２０で除算し、これにより、逸脱係数を生成することを含み得る。さらに、このような場合には、それぞれの修正重み１１２の変更は、ニューロン和１２０を生成するために用いられる各修正重み１１２に、生成された逸脱係数を乗算することを含み得る。
【００７４】
フレーム２１２の後に、本方法はフレーム２１４へ進む。フレーム２１４において、本方法は、重み修正計算器１２２を介して、決定された逸脱１２８を用いてそれぞれの修正重み値を変更することを含む。変更された修正重み値は、その後、加算または合計され、次に、新たなニューロン和１２０を決定するために用いられ得る。合計された変更された修正重み値は、次に、所望の出力信号１２４の値からのニューロン和１２０の逸脱を最小化し、これにより、ｐネット１００をトレーニングする役割を果たし得る。フレーム２１４に続き、方法２００は、所望の出力信号１２４の値からのニューロン和１２０の逸脱が十分に最小化されるまで、フレーム２０２へ戻り、追加のトレーニングエポックを遂行することを含み得る。換言すれば、ニューロン和１２０を所定の逸脱または誤差値以内まで所望の出力信号１２４に収束するために、追加のトレーニングエポックを遂行することができ、これにより、ｐネット１００が、トレーニングされ、新たな画像を用いた操作の準備ができたと見なされ得るようにする。
【００７５】
概して、入力画像１０６は、ｐネット１００のトレーニングのために準備される必要がある。トレーニングのためのｐネット１００の準備は、概して、入力画像１０６、および、ほとんどの場合、問題の入力画像に対応する所望の出力画像１２６を含む、トレーニング画像のセットの形成から始まる。ｐネット１００のトレーニングのための入力信号Ｉ１、Ｉ２…Ｉｍによって規定された入力画像１０６（図２に示される）は、ｐネットが処理するよう任務を受けたタスク、例えば、人間の画像もしくは他の物体の認識、特定の活動の認識、クラスタ化もしくはデータ分類、統計データの解析、パターン認識、予報、または特定のプロセスの制御に従って選択される。したがって、入力画像１０６は、コンピュータへの導入のために適した任意のフォーマットで、例えば、表、チャート、図およびグラフィックの形式の、フォーマット、ｊｐｅｇ、ｇｉｆ、またはｐｐｔｘ、様々な文書フォーマット、あるいは記号のセットを用いて提示され得る。
【００７６】
ｐネット１００のトレーニングのための準備はまた、選択された入力画像１０６を、ｐネット１００による問題の画像の処理のために都合よいそれらの統一のために変換すること、例えば、全ての画像を、同数の信号、または、ピクチャの場合には、同数のピクセルを有するフォーマットへ変化することを含み得る。カラー画像は、例えば、３つの基本色の組み合わせとして提示することができるであろう。画像変換はまた、特性の変更、例えば、画像を空間内で移動させること、解像度、明るさ、コントラスト、色、視点、遠近感、焦点距離および焦点などの、画像の視覚特性を変更すること、ならびに記号、番号、またはメモを追加することを含むことができるであろう。
【００７７】
間隔の数の選択後には、特定の入力画像が間隔フォーマットの入力画像に変換され得る。すなわち、実信号値が、問題のそれぞれの信号が属する間隔の番号として記録され得る。この手順は所与の画像のための各トレーニングエポックにおいて実行され得る。しかし、画像はまた、間隔番号のセットとして一度形成されてもよい。例えば、図７では、初期画像がピクチャとして提示されており、その一方で、テーブル「デジタルフォーマットによる画像」では、同じ画像はデジタル符号の形式で提示されており、テーブル「間隔フォーマットによる画像」では、このとき、画像は間隔番号のセットとして提示されており、この場合、デジタル符号の１０の値ごとに別個の間隔が割り当てられている。
【００７８】
ｐネット１００の本記載の構造、および説明されたとおりのトレーニングアルゴリズムもしくは方法２００は、ｐネットの連続的または反復トレーニングを可能にし、それゆえ、トレーニングプロセスの開始時にトレーニング入力画像１０６の完全なセットを形成することは要求されない。トレーニング画像の比較的小さい開始セットを形成することが可能であり、このような開始セットを必要に応じて拡張することができるであろう。入力画像１０６は、異なるカテゴリ、例えば、１人の人物のピクチャのセット、猫の写真のセット、または車の写真のセットに分割されてもよく、これにより、各カテゴリは、単一の出力画像、このような人物の名前、または特定のラベルに対応する。所望の出力画像１２６は、各点が−∞〜＋∞の特定の数値に対応する、デジタル値、またはアナログ値のフィールドまたはテーブルを表す。所望の出力画像１２６の各点はｐネット１００のニューロンのうちの１つの出力に対応し得る。所望の出力画像１２６は、画像のデジタル符号もしくはアナログ符号、テーブル、テキスト、式、バーコードなどの記号のセット、または音声を用いて符号化され得る。
【００７９】
最も単純な場合には、各入力画像１０６は、問題の入力画像を符号化した、出力画像に対応し得る。このような出力画像の点のうちの１つには最大可能値、例えば、１００％を割り当てることができ、それに対して、全ての他の点には最小可能値、例えば、０を割り当てることができる。このような場合には、トレーニングの後に、トレーニング画像との類似率の形の様々な画像の確率的認識が可能にされることになる。図８は、２つの画像、正方形および円の認識のためにトレーニングされたｐネット１００が、和が必ずしも１００％と等しくない百分率で表される、各形状のいくらかの特徴を包含するピクチャをどのように認識し得るのかについての一例を示す。トレーニングのために用いられる異なる画像間の類似率を規定することによるパターン認識のこのようなプロセスは、特定の画像を分類するために用いられ得る。
【００８０】
精度を改善し、誤差を排除するために、符号化は、１つの出力ではなく、いくつかのニューラル出力のセットを用いて達成され得る（以下参照）。最も単純な場合には、出力画像はトレーニングに先立って準備され得る。しかし、出力画像をトレーニングの間にｐネット１００によって形成させることも可能である。
【００８１】
ｐネット１００では、入力画像と出力画像とを逆転させる可能性もある。換言すれば、入力画像１０６がデジタル値またはアナログ値のフィールドまたはテーブルの形式のものであってもよく、この場合、各点はｐネットの１つの入力に対応し、その一方で、出力画像が、コンピュータへの導入のために適した任意のフォーマットで、例えば、テーブル、チャート、図およびグラフィックの形式のフォーマット、ｊｐｅｇ、ｇｉｆ、ｐｐｔｘ、様々な文書フォーマット、あるいは記号のセットを用いて提示されてもよい。得られたｐネット１００は、アーカイブシステム、ならびに画像の連想検索、音楽表現、計算式、またはデータセットのためによく適し得る。
【００８２】
入力画像１０６の準備に続き、通例、ｐネット１００が形成される必要があり、および／または既存のｐネットのパラメータが、所与のタスクを処理するために設定されなければならない。ｐネット１００の形成は以下の指定を含み得る。
・  入力および出力の数によって規定されるとおりの、ｐネット１００の寸法、
・  全ての入力のためのシナプス重み１０８、
・  修正重み１１２の数、
・  入力信号１０４の異なる値に対する修正重み影響係数（Сｉ，ｄ，ｎ）の分布、ならびに
・  トレーニングの所望の精度
入力の数は入力画像１０６のサイズに基づいて決定される。例えば、ピクチャのためには多数のピクセルが用いられ得るが、その一方で、選択される出力数は所望の出力画像１２６のサイズに依存し得る。場合によっては、選択される出力数はトレーニング画像のカテゴリの数に依存し得る。
【００８３】
個々のシナプス重み１０８の値は−∞〜＋∞の範囲内にあり得る。０（０）よりも小さいシナプス重み１０８の値は、例えば、多数の異なる人物または物体を包含する写真内における人間の顔のより効果的な認識のために、特定の入力からの、または特定の画像からの信号の影響を高めるために用いられ得る、信号増幅を示し得る。他方で、０（０）よりも大きいシナプス重み１０８の値は、必要とされる算出の数を低減し、ｐネット１００の動作速度を増大させるために用いられ得る、信号減衰を示すために用いられ得る。概して、シナプス重みの値が大きいほど、対応するニューロンへ伝送される信号は大きく減衰させられる。全ての入力に対応する全てのシナプス重み１０８が等しく、全てのニューロンが全ての入力と等しく接続されている場合には、ニューラルネットワークは万能型になり、画像の性質について前もってほとんど知られていないときなどには、共通タスクのために最も有効になる。しかし、このような構造は概して、トレーニングおよび演算の間に必要とされる計算の数を増大させることになる。
【００８４】
図９は、統計的正規分布に従って入力とそれぞれのニューロンとの間の関係が低減される、ｐネット１００の一実施形態を示す。シナプス重み１０８の不均一な分布は、入力信号全体が所与の入力のための目標または「中央」ニューロンへ伝達されるという結果をもたらし得、それゆえ、問題のシナプス重みに０の値を割り当てる。加えて、シナプス重みの不均一な分布は、他のニューロンが、例えば、正規分布、対数正規分布、正弦波分布、または他の分布を用いて、低減された入力信号値を受信するという結果をもたらし得る。低減された入力信号値を受信するニューロン１１６のためのシナプス重み１０８の値は、「中央」ニューロンからのそれらの距離の増大とともに増大し得る。このような場合には、計算の数を低減することができ、ｐネットの動作が高速化する。既知の完全に接続されたニューラルネットワークと不完全に接続されたニューラルネットワークとの組み合わせであるこのようなネットワークは、強い内部パターン、例えば、人間の顔、または映画フィルムの連続フレームを有する画像の解析のためにきわめて有効なものになり得る。
【００８５】
図９は、局所パターンの認識のために有効であるｐネット１００の一実施形態を示す。共通パターンの識別を改善するために、シナプス重み１０８の値が小さいか、または０である、１０〜２０％の強い接続が、格子の形態などの、決定論的アプローチ、またはランダムアプローチで、ｐネット１００全体にわたって分布し得る。特定のタスクを処理するために意図されるｐネット１００の実際の形成は、シナプス、シナプス重み、分配器、修正重み、ニューロン等などの、ｐネットの主要素をソフトウェアオブジェクトとして生成する、例えば、オブジェクト指向プログラミング言語で書かれた、プログラムを用いて遂行される。このようなプログラムは、上述のオブジェクトと、それらのアクションを特定するアルゴリズムとの間の関係を割り当て得る。具体的には、シナプス重みおよび修正重みは、ｐネット１００の形成の開始時に、それらの初期値の設定とともに形成され得る。ｐネット１００は、そのトレーニングの開始前に完全に形成され、後のフレームにおいて、必要に応じて、例えば、ネットワークの情報容量が枯渇した時、または致命的エラーが生じた場合に、変更または拡張されてもよい。ｐネット１００の完成は、トレーニングが継続している間にも可能である。
【００８６】
ｐネット１００があらかじめ形成される場合には、特定のシナプス上の選択される修正重みの数は、入力信号の範囲内の間隔の数と等しくてもよい。加えて、修正重みは、ｐネット１００の形成後に、個々の間隔の出現に応じた信号として生成されてもよい。古典的なニューラルネットワーク１０と同様に、パラメータの選択およびｐネット１００の設定は、一連の目標を定めた実験を用いてもたらされる。このような実験は、（１）全ての入力において同じシナプス重み１０８を有するｐネットの形成、ならびに（２）選択された画像のための入力信号値の評価および間隔の数の初期選択を含み得る。例えば、２値（１色）画像の認識のためには、２つの間隔を有するのみで十分であり得、８ビット画像の定性的認識のためには、最大２５６個の間隔を用いることができ、複雑な統計的依存性の近似は、数十個、またはさらに数百個の間隔を必要とし得、大規模なデータベースのためには、間隔の数は千単位になり得るであろう。
【００８７】
ｐネット１００をトレーニングするプロセスにおいて、入力信号の値は、それらが特定の間隔の間に分布するときに、丸められてもよい。それゆえ、間隔の数によって分割された範囲の幅よりも大きい入力信号の精度は要求されなくてもよい。例えば、入力値の範囲が１００個のユニットのために設定され、間隔の数が１０個である場合には、±５よりも良い精度は要求されないことになる。このような実験はまた、（３）入力信号の値の全範囲にわたる間隔の一様な分布の選択を含み得、修正重み影響係数Сｉ，ｄ，ｎのための最も単純な分布は、特定の入力信号のための間隔に対応する修正重みについては、１と等しく設定されてもよく、その一方で、残りの全ての修正重みのための修正重み影響は０（０）に設定されてもよい。このような実験は、さらに、（４）１つ、より多数、または全ての準備されたトレーニング画像を用いて所定の精度でｐネット１００をトレーニングすることを含み得る。
【００８８】
所定の精度のためのｐネット１００のトレーニング時間は実験によって確立され得る。ｐネット１００の精度およびトレーニング時間が満足できるものである場合には、選択された設定を維持または変更することができるであろう。その一方で、より効果的な変形の探索が継続される。要求精度が達成されない場合には、最適化の目的のために、特定の変更の影響が評価されてもよい。これは、その時に１つ遂行されるか、またはグループで遂行され得る。変更のこのような評価は、間隔の数を変更すること、増大または減少させること、修正重み影響係数（Сｉ，ｄ，ｎ）の分布の種類を変更すること、正規分布、累乗分布、対数分布、または対数正規分布を用いるなど、間隔の非一様な分布を用いた変形を試験すること、ならびにシナプス重み１０８の値を変更すること、例えば、それらの、非一様な分布への移行を含み得る。
【００８９】
正確な結果のために必要とされるトレーニング時間が過大であると考えられる場合には、間隔の数を増大させたトレーニングが、トレーニング時間に対するその効果について評価されてもよい。その結果、トレーニング時間が低減された場合には、要求精度を損なうことなく所望のトレーニング時間が得られるまで間隔の数の増大が繰り返されてもよい。間隔の数を増大させるにつれて、トレーニング時間が、低減されるのでなく、増加する場合には、間隔の数を低減して追加のトレーニングが遂行されてもよい。間隔の数の低減がトレーニング時間の低減をもたらす場合には、所望のトレーニング時間が得られるまで、間隔の数をさらに低減することができるであろう。
【００９０】
ｐネット１００の設定の形成は、所定のトレーニング時間を用いたトレーニング、およびトレーニング精度の実験的決定を経たものであり得る。パラメータは、上述されたものと同様の実験的変更を経て改善することができるであろう。様々なｐネットを用いた実践により、設定選択の手順は単純であり、多大な時間を要しないことが示された。
【００９１】
図２３に示される、方法２００の一部としてのｐネット１００の実際のトレーニングは、入力画像信号Ｉ１、Ｉ２…Ｉｍをネットワーク入力デバイス１０２へ供給することから開始する。入力画像信号はネットワーク入力デバイス１０２からシナプス１１８へ伝送され、シナプス重み１０８を通過し、分配器（または分配器のグループ）１１４に入る。入力信号値に基づいて、分配器１１４は、所与の入力信号１０４が対応する間隔「ｄ」の番号を設定し、それぞれの入力１０２と接続された全てのシナプス１１８の重み修正ブロック１１０の全ての修正重み１１２のための修正重み影響係数Сｉ，ｄ，ｎを割り当てる。例えば、間隔「ｄ」が第１の入力のために３に設定され得る場合には、全ての重みＷ１，３，ｎのために、С１，３，ｎ＝１は１に設定され、その一方で、ｉ≠１およびｄ≠３を有する全ての他の重みのためには、Сｉ，ｄ，ｎは０（０）に設定されてもよい。
【００９２】
以下の関係において「ｎ」として識別されるニューロン１１６ごとに、特定のニューロンに寄与する全てのシナプス１１８について、以下の関係においてＷｉ，ｄ，ｎとして識別される各修正重み１１２に、対応する修正重み影響係数Сｉ，ｄ，ｎを乗算し、得られた全ての値を加算することによって、ニューロン出力和Σ１、Σ２…Σｎが形成される。
Σｎ＝Σｉ，ｄ，ｎＷｉ，ｄ，ｎ×Сｉ，ｄ，ｎ  ［２］
Ｗｉ，ｄ，ｎ×Сｉ，ｄ，ｎの乗算は、様々なデバイスによって、例えば、分配器１１４、記憶された重みを有するデバイスによって遂行されるか、またはニューロン１１６によって直接遂行され得る。和はニューロン出力１１７を介して重み修正計算器１２２へ転送される。所望の出力画像１２６を記述する所望の出力信号Ｏ１、Ｏ２…Ｏｎもまた、計算器１２２へ供給される。
【００９３】
上述されたように、重み修正計算器１２２は、ニューロン出力和Σ１、Σ２…Σｎと所望の出力信号Ｏ１、Ｏ２…Ｏｎとの比較によって修正重みのための変更された値を算出するための計算デバイスである。図１１は、対応する修正重み影響係数Ｃｉ，ｄ，１を乗算される、ニューロン出力和Σ１に寄与する、修正重みＷｉ，ｄ，１のセットを示し、これらの積が、その後、ニューロン出力和Σ１によって加算される。
Σ１＝Ｗ１，０，１×Ｃ１，０，１．＋Ｗ１，１，１×Ｃ１，１，１．＋Ｗ１，２，１×Ｃ１，２，１．＋…  ［３］
トレーニングが開始する際には、すなわち、第１のエポックの間は、修正重みＷｉ，ｄ，１は、トレーニングのために用いられる入力画像１０６に対応せず、それゆえ、ニューロン出力和Σ１は、対応する所望の出力画像１２６と等しくない。初期修正重みＷｉ，ｄ，１に基づいて、重み修正システムは、ニューロン出力和Σ１（Ｗｉ，ｄ，１）に寄与する全ての修正重みを変更するために用いられる、修正値Δ１を算出する。ｐネット１００は、指定のニューロン１１６に寄与する全ての修正重みＷｉ，ｄ，ｎのための集団的修正信号をｐネット１００が形成して利用するための様々な選択肢または変形例を可能にする。
【００９４】
以下に、集団的修正信号の形成および利用のための２つの例示的な非限定的変形例を示す。変形例１−以下のとおりの、所望の出力信号と得られた出力和との差に基づく修正信号の形成および利用：
・  次式による、ニューロン「ｎ」に寄与する全ての修正重みのための等しい修正値Δｎの算出：
Δｎ＝（Ｏｎ−Σｎ）／Ｓ  ［４］、
ここで
Ｏｎ  −  ニューロン出力和Σｎに対応する望ましい出力信号、
Ｓ  −  ニューロン「ｎ」に接続されたシナプスの数。
・  次式による、ニューロン「ｎ」に寄与する全ての修正重みＷｉ，ｄ，ｎの変更：
Ｗｉ，ｄ，ｎ  ｍｏｄｉｆｉｅｄ＝Ｗｉ，ｄ，ｎ＋Δｎ／Ｃｉ，ｄ，ｎ  ［５］
変形例２  −  以下のとおりの、所望の出力信号対得られた出力和の比に基づく修正信号の形成および利用：
・  次式による、ニューロン「ｎ」に寄与する全ての修正重みのための等しい修正値Δｎの算出：
Δｎ＝Ｏｎ／Σｎ  ［６］、
・  次式による、ニューロン「ｎ」に寄与する全ての修正重みＷｉ，ｄ，ｎの変更：
Ｗｉ，ｄ，ｎ，  ｍｏｄｉｆｉｅｄ＝Ｗｉ，ｄ，ｎ，×Δｎ  ［７］、
いずれの利用可能な変形例による修正重みＷｉ，ｄ，ｎの変更も、各ニューロンの出力和Σｎを所望の出力信号の値に収束することによって、各ニューロン１１６についてのトレーニング誤差を低減することが意図される。このような仕方で、所与の画像についてのトレーニング誤差は、それが０と等しくなるか、または０に接近するまで、低減され得る。
【００９５】
図１１に、トレーニングの間における修正重みＷｉ，ｄ，ｎの変更の一例が示される。修正重みＷｉ，ｄ，ｎの値は、トレーニングが開始する前に、重み値が修正重み範囲から０±１０％に設定されたランダム重み分布の形で設定され、トレーニング後に最終重み分布に到達する。集団的信号の説明された算出はｐネット１００内の全てのニューロン１１６について実施される。１つのトレーニング画像のための説明されたトレーニング手順を全ての他のトレーニング画像のために繰り返すことができる。一部の修正重みＷｉ，ｄ，ｎはいくつかの画像に関与し得るため、このような手順は、以前にトレーニングされた画像の一部に対してトレーニング誤差の出現を生じさせ得る。したがって、別の画像を用いたトレーニングは、以前の画像のために形成された修正重みＷｉ，ｄ，ｎの分布を部分的に乱し得る。しかし、各シナプス１１８が修正重みＷｉ，ｄ，ｎのセットを含むという事実のゆえに、新たな画像を用いたトレーニングは、場合によってはトレーニング誤差を増大させつつも、ｐネット１００が以前にトレーニングされた画像を抹消しない。さらに、シナプス１１８が各ニューロン１１６に大きく寄与するほど、および各シナプスにおける修正重みＷｉ，ｄ，ｎの数が多いほど、特定の画像のためのトレーニングが他の画像のためのトレーニングに与える影響は小さい。
【００９６】
各トレーニングエポックは概して、全てのトレーニング画像についての総合トレーニング誤差および／または局所トレーニング誤差の実質的な収束をもって終了する。誤差は、例えば、平均二乗誤差（Ｍｅａｎ  Ｓｑｕａｒｅｄ  Ｅｒｒｏｒ、ＭＳＥ）、平均絶対誤差（Ｍｅａｎ  Ａｂｓｏｌｕｔｅ  Ｅｒｒｏｒ、ＭＡＥ）、または標準誤差平均（Ｓｔａｎｄａｒｄ  Ｅｒｒｏｒ  Ｍｅａｎ、ＳＥＭ）などの、既知の統計的方法を用いて評価され得る。総合誤差、または局所誤差の一部が高すぎる場合には、誤差が所定の誤差値未満に低減されるまで追加のトレーニングエポックが実施されてもよい。トレーニングのために用いられる異なる画像の間の類似率を規定することによる、上述された画像認識プロセス（図８に示される）は、それ自体では、以前に規定されたカテゴリに沿った画像の分類プロセスである。
【００９７】
クラスタ化、すなわち、画像を、以前に特定されなかった自然クラスまたはグループに分割するために、方法２００の基本トレーニングアルゴリズムは、変更された自己組織化マップ（Ｓｅｌｆ−Ｏｒｇａｎｉｚｉｎｇ  Ｍａｐ、ＳＯＭ）のアプローチを用いて変更することができる。所与の入力画像に対応する所望の出力画像１２６は、出力ニューロン和１２０の最大値を有する勝者ニューロンのセットに基づいてｐネット１００をトレーニングするプロセスにおいて直接形成されてもよい。図２２は、方法２００の基本アルゴリズムの使用がどのように出力ニューロン和の１次セットを生成し得るのかを示す。この場合、セットは、いくつかのより大きな和はそれらの値を保持するか、または増大し、その一方で、他の全ての和は０と等しいと見なされるように、さらに変換される。出力ニューロン和のこの変換されたセットが所望の出力画像１２６として受け入れられ得る。
【００９８】
上述されたように形成され、所望の出力画像１２６のセットはクラスタまたはグループを含む。それゆえ、所望の出力画像１２６のセットは、線形分離不可能な画像のクラスタ化を可能にする。これは古典的なネットワーク１０とは異なる。図１３は、説明されているアプローチが複雑な仮想画像「猫車」のクラスタ化をどのように支援し得るのかを示す。この場合、画像の異なる特徴は、異なるクラスタ  −  猫および車に割り当てられる。説明されたように作成された所望の出力画像１２６のセットは、例えば、クラスタ化の結果として形成された基準に基づく、異なる分類の作成、統計的解析、画像選択のために用いられ得る。また、ｐネット１００によって生成された所望の出力画像１２６は、同様に問題のｐネット１００のために説明された方針に従って形成され得る、別の、または追加のｐネットのための入力画像として用いられ得る。かように形成され、所望の出力画像１２６は多層ｐネットの後続の層のために用いられ得る。
【００９９】
古典的なニューラルネットワーク１０のトレーニングは、概して、入力画像および所望の出力画像の予備的に準備されたペアに基づく教師付きトレーニング方法を通して提供される。同じ一般的方法がｐネット１００のトレーニングのためにも用いられるが、ｐネット１００のトレーニング速度の増大は、外部トレーナーによるトレーニングも可能にする。外部トレーナーの役割は、例えば、人によって、またはコンピュータプログラムによって遂行され得る。外部トレーナーの役を務めるとき、人は物理的な作業の遂行に関与するか、またはゲーム環境内で動作し得る。ｐネット１００は、特定の状況およびそれに対する変更に関するデータの形態の入力信号を受信する。トレーナーのアクションを反映する信号は所望の出力画像１２６として導入され、ｐネット１００が基本アルゴリズムに従ってトレーニングされることを可能にし得る。このような仕方で、様々なプロセスのモデル化がｐネット１００によってリアルタイムに生成され得る。
【０１００】
例えば、ｐネット１００は、道路条件およびドライバーのアクションに関する情報を受信することによって自動車を運転するようにトレーニングされ得る。多種多様の危機的状況のモデル化を通して、同じｐネット１００は、多くの異なるドライバーによってトレーニングされ、誰か一人のドライバーによって一般的に可能であるよりも多くの運転技術を蓄積し得る。ｐネット１００は、特定の道路条件を０．１秒で、またはより高速に評価し、種々の状況における交通の安全性を高め得る実質的な「運転経験」を積む能力を有する。ｐネット１００はまた、コンピュータ、例えば、チェスプレイマシンと協動するようにトレーニングされ得る。トレーニングモードから認識モードへ、およびその逆に容易に移行するｐネット１００の能力は、ｐネット１００が外部トレーナーによってトレーニングされる際に、「失敗からの学習」モードの実現を可能にする。このような場合には、部分的にトレーニングされたｐネット１００は、例えば、技術的プロセスを制御するための、独自のアクションを生成し得る。トレーナーはｐネット１００のアクションを制御し、必要なときにはそれらのアクションを修正することができるであろう。かくして、ｐネット１００の追加的トレーニングをもたらすことができるであろう。
【０１０１】
ｐネット１００の情報容量は非常に大きいが、無制限ではない。ｐネット１００の入力、出力、および間隔の数などの、設定された寸法を所与とした上で、ｐネットがトレーニングされる画像の数の増大がすると、一定数の画像の後には、トレーニング誤差の数および大きさも増大し得る。ｐネットは、トレーニングエポックの合間に、ｐネットにわたって、またはその構成要素において、ニューロン１１６の数、および／または信号間隔「ｄ」の数を増大させることを可能にするため、誤差生成のこのような増大が検出されると、ｐネット１００のサイズを増大させることによって、誤差の数および／または大きさを低減することができる。ｐネット１００の拡大は、新たなニューロン１１６を追加すること、新たな入力１０２およびシナプス１１８を追加すること、修正重み影響係数Ｃｉ，ｄ，ｎの分布を変更すること、ならびに既存の間隔「ｄ」を分割することによってもたらされ得る。
【０１０２】
ほとんどの場合、ｐネット１００は、画像、パターン、および画像もしくは画像のセットに固有の相関を認識するその能力を確実にするためにトレーニングされることになる。最も単純な場合における認識プロセスは、方法２００の一部として開示される基本アルゴリズムに従ってトレーニングプロセスの最初のステップを繰り返す。具体的には、
・  トレーニング用画像をフォーマットするために用いられる同じルールに従う画像のフォーマッティングから、直接認識が開始する、
・  画像が、トレーニングされたｐネット１００の入力へ送信され、分配器が、トレーニングの間に設定された入力信号の値に対応する修正重みＷｉ，ｄ，ｎを割り当て、ニューロンが、図８に示されるように、それぞれのニューロン和を生成する、
・  出力画像１２６を表す得られた出力和が、ｐネット１００がトレーニングされた画像のうちの１つに完全に適合する場合には、物体はぴったりと認識されたことになる、
・  出力画像１２６が、ｐネット１００がトレーニングされたいくつかの画像に部分的に適合する場合には、結果は、異なる画像との一致率を百分率として示す。図１３は、猫および自動車の画像の組み合わせに基づいて作成された複雑な画像の認識の間に、出力画像１２６が所与の画像の組み合わせを表現し、組み合わせへの各初期画像の寄与の百分率を指示する様子を具体的に示している。
【０１０３】
例えば、特定の人物のいくつかのピクチャがトレーニングのために用いられた場合には、認識された画像は、第１のピクチャに９０％、第２のピクチャに６０％、および第３のピクチャに３５％対応し得る。認識された画像が、いくらかの確率で、他の人物、またはさらに、動物のピクチャに対応するということがあり得る。これは、ピクチャの間にいくらかの類似性が存在することを意味する。しかし、このような類似性の確率は大抵、より低い。このような確率に基づいて、認識の信頼性が、例えば、ベイズの定理に基づいて、決定され得る。
【０１０４】
ｐネット１００を用いると、アルゴリズム的認識方法およびニューラルネットワーク認識方法の利点を組み合わせる多段階認識を実施することも可能である。このような多段階認識は以下のことを含み得る。
・  本明細書において「基本入力」と指定される、入力の、全てではなく、１％〜１０％のみを用いることを通して事前にトレーニングされたネットワークによる画像の初期認識。入力のこのような部分は、一様に、ランダムに、または任意の他の分布関数によってｐネット１００内に分布し得る。例えば、複数の他の物体を含む写真内の人物の認識、
・  最も情報の多い物体、または物体の部分をさらに詳細な認識のために選択すること。このような選択は、アルゴリズム的方法の場合のように、メモリ内に事前に設定された特定の物体の構造に従って、あるいは画像の色の勾配、明るさ、および／または奥行に従ってもたらされ得る。例えば、肖像の認識では、以下の認識ゾーン、目、口角、鼻の形状を選択することができ、また、入れ墨、自動車プレート番号、または家屋番号などの、何らかの特定の特徴を選択し、同様のアプローチを用いて認識することができる、ならびに
・  必要に応じて、選択された画像の詳細な認識も可能である。
【０１０５】
ｐネット１００のコンピュータエミュレーションの形成およびそのトレーニングは、任意のプログラミング言語を用いることによって上述の説明の基づいてもたらされ得る。例えば、オブジェクト指向プログラミングを用いることができ、この場合、シナプス重み１０８、修正重み１１２、分配器１１４、およびニューロン１１６はプログラミングオブジェクトまたはオブジェクトのクラスを表し、リンクまたはメッセージを介してオブジェクトクラスの間の関係が確立され、オブジェクトの間およびオブジェクトクラスの間の相互作用のアルゴリズムが設定される。
【０１０６】
ｐネット１００のソフトウェアエミュレーションの形成およびトレーニングは以下のことを含み得る。
１．ｐネット１００の形成およびトレーニングの準備、具体的には、
・  所与のタスクに従う、トレーニング入力画像のセットの、デジタル形式への変換、
・  トレーニングのために用いられるべき入力信号のパラメータ、例えば、周波数、大きさ、位相、または座標の選択を含む、得られたデジタル画像の解析、ならびに
・  トレーニング信号の範囲、問題の範囲内の間隔の数、および修正重み影響係数Сｉ，ｄ，ｎの分布の設定。
２．以下のことを含む、ｐネットのソフトウェアエミュレーションの形成。
・  ｐネット１００への入力のセットの形成。例えば、入力の数はトレーニング入力画像内の信号の数と等しくてもよい、
・  ニューロンのセットの形成。ここで、各ニューロンは加算デバイスを表す、
・  シナプス重みを有するシナプスのセットの形成。ここで、各シナプスは１つのｐネット入力および１つのニューロンに接続されている、
・  各シナプスにおける重み修正ブロックの形成。ここで、重み修正ブロックは分配器および修正重みを含み、各修正重みは以下の特性を有する。
〇  修正重み入力インデックス（ｉ）、
〇  修正重みニューロンインデックス（ｎ）、
〇  修正重み間隔インデックス（ｄ）、および
〇  修正重み初期値（Ｗｉ，ｄ，ｎ）。
・  間隔と修正重みとの相関の指定。
３．以下のことを含む、１つの入力画像を用いた各ニューロンのトレーニング。
・  以下のことを含む、修正重み影響係数Сｉ，ｄ，ｎの指定。
○  各入力によって受信されたトレーニング入力画像の入力信号に対応する間隔の決定、および
○  全てのシナプスのための全ての修正重みに対する修正重み影響係数Сｉ，ｄ，ｎの大きさの指定。
・  ニューロンに寄与する全てのシナプス重みの修正重み値Ｗｉ，ｄ，ｎに、対応する修正重み影響係数Сｉ，ｄ，ｎを乗算したものを加算することによる、ニューロン「ｎ」ごとのニューロン出力和（Σｎ）の算出。
Σｎ＝Σｉ，ｄ，ｎＷｉ，ｄ，ｎ×Ｃｉ，ｄ，ｎ
・  ニューロン出力和Σｎの、対応する所望の出力信号Ｏｎからの減算を介した逸脱またはトレーニング誤差（Ｔｎ）の算出。
Ｔｎ＝Ｏｎ−Σｎ、
・  トレーニング誤差を、ニューロン「ｎ」に接続されたシナプスの数「Ｓ」で除算することを介したニューロン「ｎ」に寄与する全ての修正重みのための等しい修正値（Δｎ）の算出。
Δｎ＝Ｔｎ／Ｓ
・  各修正重みに、対応する修正重み影響係数Ｃｉ，ｄ，ｎで除算した修正値Δｎを加算することによる、それぞれのニューロンに寄与する全ての修正重みＷｉ，ｄ，ｎの変更。
Ｗｉ，ｄ，ｎ  ｍｏｄｉｆｉｅｄ＝Ｗｉ，ｎ，ｄ＋Δｎ／Ｃｉ，ｄ，ｎ。
ニューロン「ｎ」に寄与する全ての修正重みについて、等しい修正値（Δｎ）を算出し、修正重みＷｉ，ｄ，ｎを変更する別の方法は、以下のことを含み得る。
・  所望の出力画像の信号Ｏｎをニューロン出力和Σｎで除算すること。
Δｎ＝Ｏｎ／Σｎ
・  修正重みに修正値Δｎを乗算することによる、ニューロンに寄与する修正重みＷｉ，ｎ，ｄの変更。
Ｗｉ，ｄ，ｎ  ｍｏｄｉｆｉｅｄ＝Ｗｉ，ｄ，ｎ×Δｎ
４．以下のことを含む、全てのトレーニング画像を用いたｐネット１００のトレーニング。
・  １つのトレーニングエポック内に含まれる全ての選択されたトレーニング画像にわたって上述されたプロセスの繰り返すこと、および
・  特定のトレーニングエポックの誤差もしくは誤差群を決定し、それらの誤差を所定の許容誤差レベルと比較し、トレーニング誤差が所定の許容誤差レベル未満になるまでトレーニングエポックを繰り返すこと。
【０１０７】
オブジェクト指向プログラミングを用いるｐネット１００のソフトウェアエミュレーションの実際の例が以下において説明され、図１４〜図２１に示される。
ＮｅｕｒｏｎＵｎｉｔオブジェクトクラスの形成は以下のものの形成を含み得る。
・  シナプスクラスのオブジェクトのセット、
・  トレーニングの間に加算が遂行される、変数を提示するニューロン１１６、および
・  所望のニューロン和１２０の値が記憶され、トレーニングプロセスの間に修正値Δｎの算出が遂行される、変数を提示する計算器１２２。
ｐネット１００のトレーニングを行うクラスＮｅｕｒｏｎＵｎｉｔは、以下のことを含み得る。
・  ニューロン和１２０の形成、
・  所望の和の設定、
・  修正値Δｎの算出、および
・  修正重みＷｉ，ｎ，ｄへの算出された修正値Δｎの加算。
オブジェクトクラスＳｙｎａｐｓｅの形成は以下のものを含み得る。
・  修正重みＷｉ，ｎ，ｄのセット、および
・  シナプス１１８に接続された入力を指示するポインタ。
クラスＳｙｎａｐｓｅは以下の機能を遂行し得る。
・  修正重みＷｉ，ｎ，ｄの初期化、
・  重みＷｉ，ｎ，ｄへの係数Сｉ，ｄ，ｎの乗算、および
・  重みＷｉ，ｎ，ｄの修正。
オブジェクトクラスＩｎｐｕｔＳｉｇｎａｌの形成は以下のものを含み得る。
・  所与の入力１０２に接続されたシナプス１１８上のインデックスのセット、
・  入力信号１０４の値を含む変数、
・  可能な最小および最大入力信号の値、
・  間隔「ｄ」の数、および
・  間隔の長さ。
クラスＩｎｐｕｔＳｉｇｎａｌは以下の機能を提供し得る。
・  以下のことを含む、ｐネット１００の構造の形成。
〇  入力１０２とシナプス１１８との間のリンクの追加および削除、ならびに
〇  特定の入力１０２のシナプス１１８のための間隔「ｄ」の数の設定。
・  最小および最大入力信号１０４のパラメータの設定、
・  ｐネット１００の動作への寄与。
〇  入力信号１０４の設定、および
〇  修正重み影響係数Сｉ，ｄ，ｎの設定。
オブジェクトクラスＰＮｅｔの形成は以下のオブジェクトクラスのセットを含む。
・  ＮｅｕｒｏｎＵｎｉｔ、および
・  ＩｎｐｕｔＳｉｇｎａｌ。
クラスＰＮｅｔは以下の機能を提供する。
・  ＩｎｐｕｔＳｉｇｎａｌクラスのオブジェクトの数の設定、
・  ＮｅｕｒｏｎＵｎｉｔクラスのオブジェクトの数の設定、ならびに
・  オブジェクトＮｅｕｒｏｎＵｎｉｔおよびＩｎｐｕｔＳｉｇｎａｌの機能のグループ要求。
トレーニングプロセスの間に、サイクルを形成することができ、
・  サイクルが開始する前に、０と等しいニューロン出力和が形成される、
・  所与のＮｅｕｒｏｎＵｎｉｔに寄与する全てのシナプスが見直される。シナプス１１８ごとに、
○  入力信号１０２に基づいて、分配器が修正重み影響係数Сｉ，ｄ，ｎのセットを形成する、
○  前記シナプス１１８の全ての重みＷｉ，ｎ，ｄが見直され、重みごとに、
■  重みＷｉ，ｎ，ｄの値に、対応する修正重み影響係数Сｉ，ｄ，ｎが乗算される、
■  乗算の結果が形成中のニューロン出力和に加算される、
・  修正値Δｎが算出される、
・  修正値Δｎが修正重み影響係数Сｉ，ｄ，ｎで除算される、すなわち、Δｎ／Сｉ，ｄ，ｎ、および
・  所与のＮｅｕｒｏｎＵｎｉｔに寄与する全てのシナプス１１８が見直される。シナプス１１８ごとに、問題のシナプスの全ての重みＷｉ，ｎ，ｄが見直され、重みごとに、その値が、対応する修正値Δｎに変更される。
【０１０８】
ｐネット１００の追加のトレーニングの上述された可能性は、トレーニングプロセスが高速化され、その精度が改善されることを可能にする、トレーニングと画像の認識との組み合わせを可能にする。互いに若干異なるフィルムの連続フレームを使ってトレーニングするなど、順次変化する画像のセットを使ってｐネット１００をトレーニングする際には、追加のトレーニングは以下のことを含み得る。
・  第１の画像を用いたトレーニング、
・  次の画像の認識、および新たな画像と、ネットワークが最初にトレーニングされた画像との間の類似率の特定。認識誤差がその所定の値未満である場合には、追加のトレーニングは必要ない、ならびに
・  認識誤差が所定の値を超える場合には、追加のトレーニングが行われる。
【０１０９】
上述の基本トレーニングアルゴリズムによるｐネット１００のトレーニングは、画像認識の問題を解決するために有効であるが、重複する画像に起因するデータの損失または破損を排除しない。したがって、記憶目的のためのｐネット１００の使用は、可能ではあっても、完全に信頼できるものにはなり得ない。本実施形態は、情報の損失または破損に対する保護をもたらすｐネット１００のトレーニングを説明する。いずれの修正重みＷｉ，ｎ，ｄも１度だけトレーニングされ得ることを必要とする追加の制限が基本ネットワークトレーニングアルゴリズム内に導入されてもよい。最初のトレーニングサイクルの後に、重みＷｉ，ｎ，ｄの値は、固定状態または一定にとどまる。これは、トレーニングプロセスの間における問題の修正重みＷｉ，ｎ，ｄへのアクセスの数を表す上述のインデックスである、修正重みごとの追加のアクセスインデックス「ａ」を入れることによって達成され得る。
【０１１０】
上述されたように、各修正重みはＷｉ，ｎ，ｄ，ａの名称を呈してもよい。ここで、「ａ」はトレーニングプロセスの間における問題の重みへのアクセスの数である。最も単純な場合には、変更されていない、すなわち、固定されていない重みについては、ａ＝０であり、その一方で、上述の基本アルゴリズムによって変更または修正された重みについては、ａ＝１である。さらに、基本アルゴリズムを適用する間に、固定された値ａ＝１を有する修正重みＷｉ，ｎ，ｄ，ａは、修正がなされる重みから除外され得る。このような場合には、式［５］、［６］、および［７］は以下のように変形され得る。
【０１１１】
【表１】
2019519045.tif 000003
【０１１２】
上述の制限は、以前にトレーニングされた修正重みＷｉ，ｎ，ｄ，ａの修正に部分的に適用され得るが、最も重要な画像を形成する重みに対してのみ適用され得る。例えば、単一の人物の肖像のセットを使ったトレーニング内において、１つの特定の画像がプライマリと宣言され、優先権を付与され得る。このような優先画像を使ったトレーニング後に、トレーニングのプロセスにおいて変更された全ての修正重みＷｉ，ｎ，ｄ，ａは固定されてもよく、すなわち、インデックスａ＝１となり、それゆえ、重みをＷｉ，ｎ，ｄ，１として指定し、同じ人物の他の画像は変更可能な状態にとどまってもよい。このような優先権は、他の画像、例えば、暗号化キーとして用いられ、および／または重要な数値データを包含するものを含み得る。
【０１１３】
修正重みＷｉ，ｎ，ｄ，ａの変化はまた、完全に禁止されるのではなく、インデックス「ａ」の増加に対して制限されてもよい。すなわち、重みＷｉ，ｎ，ｄ，ａの各々のその後の使用は、その変化能力を低減するために用いられてもよい。特定の修正重みＷｉ，ｎ，ｄ，ａが頻繁に用いられるほど、アクセスごとの重みの変化は小さくなり、それゆえ、後続の画像を使ったトレーニングの間には、以前の、記憶された画像は変更が少なくなり、被る破損が低減される。例えば、ａ＝０である場合には、重みＷｉ，ｎ，ｄ，ａの任意の変化が可能であり、ａ＝１であるときには、重みの変化の可能性は重みの値の±５０％に減少させられてもよく、ａ＝２の場合には、変化の可能性は重みの値の±２５％に低減されてもよい。
【０１１４】
インデックス「ａ」によって示されるとおりの、所定のアクセス数に達した後には、例えば、ａ＝５であるときには、重みＷｉ，ｎ，ｄ，ａのさらなる変化は禁止されてもよい。このようなアプローチは、単一のｐネット１００内における高い知能と情報安全性との組み合わせをもたらし得る。ネットワーク誤差算出機構を用いて、所定の精度範囲内の損失を有する情報が保存され得るように許容誤差のレベルを設定することができる。ここで、精度範囲は特定のタスクに応じて付与され得る。換言すれば、視覚画像を用いて動作するｐネット１００に対しては、誤差は、裸眼によって捉えることができないレベルに設定されてもよく、これにより、大幅な記憶容量の増大「の因子」がもたらされるであろう。上述のことは、視覚情報、例えば、映画の非常に有効な記憶の生成を可能にすることができる。
【０１１５】
コンピュータメモリを選択的にクリーニングする能力は、ｐネット１００の継続した高レベルの機能のために有益であり得る。メモリのこのような選択的クリーニングは、記憶された情報の残りの部分の損失または破損を伴うことなく、特定の画像を削除することによって行われ得る。このようなクリーニングは以下のようにもたらされ得る。
・  例えば、画像をネットワークに導入すること、または画像ごとに用いられる修正重みのリストをまとめることによる、画像形成に関与する全ての修正重みＷｉ，ｎ，ｄ，ａの識別、
・  それぞれの修正重みＷｉ，ｎ，ｄ，ａのためのインデックス「ａ」の低減、ならびに
・  修正重みＷｉ，ｎ，ｄ，ａを、０、またはインデックス「ａ」が０に低減されたときに問題の重みについてあり得る値の範囲の中央に近いランダム値のいずれかと置換すること。
【０１１６】
画像のシーケンス内に隠れた強いパターンを識別するために、インデックス「ａ」の低減の適切な順序および継起を実験的に選択することができる。例えば、トレーニングの間に１００個の画像がｐネット１００内に導入されるごとに、インデックス「ａ」は、「ａ」が０の値に達するまで、１のカウントだけ低減されてもよい。このような場合において、「ａ」の値は新たな画像の導入に対応して増加してもよい。「ａ」の増加と低減との間の競合は、ランダムな変化がメモリから徐々に削除され、その一方で、何度も用いられ、確認された修正重みＷｉ，ｎ，ｄ，ａは保存され得る状況をもたらし得る。ｐネット１００が、例えば、同じ問題の環境または同様の環境の、同様の属性を有する多数の画像を使ってトレーニングされると、しばしば用いられる修正重みＷｉ，ｎ，ｄ，ａはそれらの値を絶えず確認し、これらの領域内の情報は非常に安定する。さらに、ランダムノイズが徐々に消えることになる。換言すれば、ｐネット１００は、インデックス「ａ」の漸減とともに、有効なノイズフィルタの役割を果たし得る。
【０１１７】
情報の損失を伴わないｐネット１００のトレーニングの上述の実施形態は、高い容量および信頼性を有するｐネットメモリを作成することを可能にする。このようなメモリは、「キャッシュメモリ」システムよりさえも大きな速度をもたらす大容量の高速コンピュータメモリとして用いられ得るが、「キャッシュメモリ」システムに典型的であるように、コンピュータのコストおよび複雑さを増大させることはない。公開データによれば、概して、ニューラルネットワークを用いて映画を記録している間に、メモリは、記録品質の大きな損失を伴うことなく、数十または数百倍圧縮され得る。換言すれば、ニューラルネットワークは、非常に効果的なアーカイブプログラムとして動作することができる。ニューラルネットワークのこの能力をｐネット１００の高速トレーニング能力と組み合わせることで、高速データ伝送システム、高い記憶容量を有するメモリ、および高速解読プログラムマルチメディアファイル、すなわち、コーデックスの作成が可能になり得る。
【０１１８】
ｐネット１００内において、データは、一種の符号記録である、修正重みＷｉ，ｎ，ｄ，ａのセットとして記憶されるという事実のゆえに、既存の方法を介した、および同一のネットワークを使用しない、復号またはｐネットへの不正アクセスは考えにくい。それゆえ、ｐネット１００は相当な程度のデータ保護をもたらし得る。また、従来のコンピュータメモリと異なり、ｐネット１００の個々の記憶要素への損傷は、他の要素が失われた機能を相当に補償するため、あまり悪影響を与えない。画像認識プロセスにおいて、１つ以上の要素の損傷の結果、用いられている画像の固有パターンは実用上ゆがめられない。上述のことは、コンピュータの信頼性を劇的に改善し、通常の条件下では欠陥と見なされるであろう、特定のメモリブロックを用いることを可能にし得る。加えて、この種のメモリは、ｐネット１００内の重要なバイトのためのパーマネントアドレスが存在しないため、ハッカーの攻撃に対する脆弱性がより低く、メモリは種々のコンピュータウィルスによるこのようなシステムの攻撃を受けにくくなる。
【０１１９】
トレーニングにおいて用いられる異なる画像の間の類似率の決定を用いる画像認識の上述されたプロセスは、上述されたとおりの、以前に規定されたカテゴリに従う画像分類のプロセスとしても利用され得る。事前に規定されていない自然クラスまたはグループへの画像の分割である、クラスタ化のために、基本トレーニングプロセスを変更することができる。本実施形態は以下のことを含み得る。
・  準備された出力画像を含まない、トレーニング用入力画像のセットの準備、
・  基本アルゴリズムに従って行われるとおりの、ニューロン出力和の形成を用いたネットワークの形成およびトレーニング、
・  得られた出力画像内における、最大出力和を有する出力、すなわち、勝者出力、またはコホーネンネットワークと同様に編成され得る、勝者出力のグループの選択、
・  勝者出力または勝者出力のグループが最大値を受ける、所望の出力画像の作成。同時に、
○  選択される勝者出力の数は、例えば、１〜１０の範囲内で、事前に決められてもよく、または勝者出力は、ルール「最大ニューロン和のＮ％以上」に従って選択されてもよく、「Ｎ」は、例えば、９０〜１００％以内であり得、
○  他の全ての出力は０と等しく設定されてもよい。
・  作成された所望の出力画像を用いることによる基本アルゴリズムに従うトレーニング、図１３、ならびに
・  異なる勝者または勝者グループの画像ごとの形成を用いて他の画像について全ての手順を繰り返す。
【０１２０】
上述の仕方で形成された所望の出力画像のセットは、複数の入力画像が自然に分離し得るクラスタまたはグループを記述するために用いられ得る。所望の出力画像のこのようなセットは、確立された基準に従った、統計的解析における画像の選択などのための、異なる分類を作り出すために用いられ得る。上述のことはまた、入力画像と出力画像との上述の逆転のために用いられてもよい。換言すれば、所望の出力画像が、別の、すなわち、追加のネットワークのための入力画像として用いられてもよく、追加のネットワークの出力が、コンピュータ入力のために適した任意の形式で提示される画像であってもよい。
【０１２１】
ｐネット１００では、上述のアルゴリズムを用いたトレーニングの単一のサイクルの後に、所望の出力画像は、若干の出力和のばらつきを伴って生成され得る。これは、トレーニングプロセスの速度を低下させる場合があり、また、その精度も低下させる場合がある。ｐネット１００のトレーニングを改善するために、点の大きさのばらつきが、可能な出力値の全範囲、例えば、図２１に示されるように、−５０〜＋５０を包括するであろうように、点の初期ばらつきが人為的に増大または拡張されてもよい。点の初期ばらつきのこのような拡張は線形または非線形のいずれかであり得る。
【０１２２】
特定の出力の最大値が外れ値または誤り、例えば、ノイズの発現である状況が生じ得る。これは、多数の小さな信号によって包囲された最大値の出現によって発現され得る。勝者出力が選択される際に、小さな信号値は、他の大きな信号によって包囲された最も大きな信号勝者としての選択を通して無視することができる。この目的のために、重要度サンプリングなどの、分散低減の既知の統計的技法が用いられ得る。このようなアプローチは、基本的な有用なパターンを維持しつつ、ノイズを除去することを可能にし得る。勝者グループの作成は、図１３に示されるように、線形分離不可能な画像、すなわち、１つを超えるクラスタに関連する画像のクラスタ化を可能にする。上述のことは、精度の著しい改善をもたらし、クラスタ化の誤差の数を減少させ得る。
【０１２３】
ｐネット１００のトレーニングのプロセスにおいて、修正を受ける典型的な誤差は以下のものである。
【０１２４】
【表２】
2019519045.tif 000004
【０１２５】
外部トレーナーを用いたトレーニングにおける上述のアルゴリズムの助けを借りた誤差修正も可能である。
【０１２６】
ｐネット１００のハードウェア部分は、デジタル、アナログ、または複合デジタル−アナログマイクロチップの形で提供され得る。代表的なｐネット１００のマイクロチップが情報の記憶および処理の両方のために利用され得る。ｐネット１００のマイクロチップは、様々な可変抵抗器、電界効果トランジスタ、メモリスタ、キャパシタ、スイッチング素子、電圧発生器、非線形光電池などに基づき得る。可変抵抗器は、シナプス重み１０８および／または修正重み１１２として用いられ得る。複数のこのような抵抗器が並列、直列、または直並列に接続され得る。それぞれの抵抗器の並列接続の場合には、信号を電流値によって符号化することができ、その結果、電流の自動アナログ合計が容易になり得る。正または負の信号を得るために、興奮性および抑制性の、抵抗器の２つのセットが各シナプス上に提供され得る。このようなハードウェア構造では、抑制性信号は興奮性信号から減算され得る。
【０１２７】
各修正重み１１２は、メモリスタ様のデバイス（メモリスタ）として実装され得る。当業者によって理解されるように、メモリスタは、回路内の電流によって、または電位もしくは電荷によって制御される抵抗を有する可変抵抗器である。適切なメモリスタ機能性は、実際のメモリスタデバイス、そのソフトウェアまたは物理エミュレーションを介して達成され得る。低電圧電位におけるｐネット１００の動作時には、メモリスタは単純な抵抗器として動作し得る。トレーニングモードの間に、メモリスタの抵抗は、例えば、強い電圧パルスによって、変更され得る。メモリスタの値の変化がいかようであるか（抵抗の増大か、それとも減少か）は電圧の極性に依存し得、その一方で、値の変化の大きさは電圧パルスの大きさに依存し得る。
【０１２８】
図２４は、後述されることになる特定の要素を有すること以外、上述されたｐネット１００とあらゆる点で同様である、ｐネット１００Ａと標識されたｐネット１００の一実施形態を示す。ｐネット１００Ａでは、各修正重み１１２は、特定の修正重みのそれぞれの重み値を保持するメモリ要素１５０によって確立される。ｐネット１００Ａでは、重み修正計算器１２２は、対応するメモリ要素１５０によって確立された修正重み１１２のそれぞれの修正重み値を変更するように構成され得る。ｐネット１００Ａの他の実施形態と一貫して、修正重み１１２は、決定された逸脱１２８を用いて、対応するメモリ要素１５０内で確立される。図２５に示されるｐネット１００Ａの動作の間に、全てのニューロン１１６の各々のそれぞれの出力１１７はそれぞれのニューロン和１２０を提供し、ｐネット１００Ａの動作出力信号１５２を確立する。動作出力信号１５２は信号値を有し、動作出力画像１５４の一部分または全体のいずれかを表す。
【０１２９】
ｐネット１００Ａのトレーニングの間に、重み修正計算器１２２は、出力画像１２６の一部分または全体を表す所望の出力信号１２４を受信し、所望の出力信号１２４の値からのニューロン和１２０の逸脱１２８を決定し、決定された逸脱を用いて、対応するメモリ要素によって確立されたそれぞれの修正重み値を変更し得る。さらに、対応するメモリ要素１５０によって確立された修正重み１１２の変更された修正重み値を合算し、ニューロン和を決定することは、所望の出力信号値１２４からのニューロン和１２０の逸脱を最小化することになる。所望の出力信号値１２４からのニューロン和１２０の逸脱を最小化することを用いて、ｐネット１００Ａをトレーニングする。
【０１３０】
図２４において想像線で示されるように、開示されている任意の実施形態のトレーニングされたｐネット１００Ａは、値を有する補足入力信号１５６のみを、対応する補足的な所望の出力信号１５８とともに用いて補足トレーニングを受けるように構成され得る。換言すれば、以前にトレーニングされたｐネット１００Ａは、ｐネット１００Ａを最初にトレーニングするために利用された元の入力信号１０４および所望の出力信号１２４の一部または全てを保持されずに、補足トレーニングを受けることができる。ｐネット１００Ａ内の複数のシナプス１１８の各々は、それぞれのメモリ要素１５０によって確立された１つ以上の追加の修正重み１１２を受け入れるように構成され得る。このような追加の修正重み１１２は、ｐネット１００Ａのトレーニングの間、または補足トレーニングの前のいずれかにおいてシナプスに加算され得る。このような追加の修正重み１１２は、ｐネット１００Ａをトレーニングし、動作させるために利用可能なメモリ要素１５０の数を拡張するために用いられ得る。
【０１３１】
ｐネット１００Ａはまた、ｐネット１００Ａのトレーニングの間または後のいずれかにおいて、それぞれのシナプス１１８から、それぞれのメモリ要素１５０によって確立された１つ以上の修正重み１１２を削除するように構成され得る。一部の修正重み１１２の削除は、ニューラルネットワークが、ニューラルネットワークを動作させるために必要とされる数のメモリ要素のみを保持することを可能にし得る。修正重み１１２を削除するこのような能力は、ｐネットをよりコンパクトにし、それゆえ、トレーニングおよびその後の動作のためにより有効にすることが意図される。ｐネット１００Ａはまた、ｐネットのトレーニングの前または間のいずれかにおいて、追加の入力１０２、追加のニューロン１１６を、それぞれの追加のニューロン出力１１７、および追加のシナプス１１８とともに受け入れ、これにより、ｐネットの動作パラメータを拡張するように構成され得る。ｐネット１００Ａへのこのような追加は、容量、出力精度、およびｐネットによって処理され得るタスクの数などの、能力を高め得る。
【０１３２】
ｐネット１００Ａは、さらに、ｐネットの初期トレーニングまたは補足トレーニングのいずれかの前、間、または後に、任意の数の使用されていない入力１０２、ニューロン１１６を、それぞれの追加のニューロン出力１１７、およびシナプス１１８とともに削除するように構成され得る。使用されていないｐネット１００Ａの要素を削除するこのような能力は、ｐネットの出力品質の損失を伴うことなく、構造を単純化し、ｐネットの動作パラメータを変更する、すなわち、ｐネットを圧縮することが意図される。
【０１３３】
図２６に示されるように、各メモリ要素１５０は、抵抗、インピーダンス、静電容量、磁界、誘導、または電界強度などの、それぞれの修正重み１１２の重み値を規定するように構成された電気特性および／または磁気特性によって特徴付けられる電気構成要素またはデバイス１６０によって確立され得る。このような電気デバイス１６０は、例えば、メモリスタ（図２６〜図２８に示される）、抵抗器（図２９〜図３２に示される）、トランジスタ、キャパシタ（図２９〜図３２に示される）、電界効果トランジスタ、フォトレジスタもしくは光依存抵抗器（ＬＤＲ）、磁気依存抵抗器（ＭＤＲ）、またはメミスタとして構成され得る。当業者によって理解されるように、メミスタは、論理演算を遂行し、情報を記憶することができるメモリを有する抵抗器であり、概して、メモリスタの３端子実装形態である。
【０１３４】
メモリ要素１５０のこのような実施形態では、各電気デバイス１６０のそれぞれの電気特性および／または磁気特性は、ｐネット１００Ａのトレーニングの間に変更されるように構成され得る。加えて、メモリ要素１５０の電気デバイス１６０の実施形態を用いるｐネット１００Ａでは、重み修正計算器１２２は、ｐネット１００Ａによって利用される対応するデバイスのそれぞれの電気特性および／または磁気特性を変更することによって、それぞれの修正重み１１２の値を変更し得る。各電気デバイス１６０はまた、上述されたように、ｐネット１００Ａのトレーニングの間に変更され、トレーニング後にｐネットの動作の間に用いられるそれぞれの修正重み１１２の値に対応する電気特性および／または磁気特性を維持または保持するように構成され得る。
【０１３５】
適切なメモリスタの特定の実施形態は、デバイスの既知の物理的表現、ならびにデバイスのソフトウェアもしくは電気回路の機能的表現もしくは同等物の両方であり得る。図２６〜図２８は、このような物理メモリスタを利用する代表的なｐネット１００Ａの諸実施形態を示す。図２６に示されるように、各入力１０２は、アナログ入力信号１０４を受信するように構成されており、画像センサ、光感応要素またはマイクロフォンのアレイ、デジタル−アナログコンバータ等などの、外部ソースからの入力信号は、電圧Ｖ１、Ｖ２…Ｖｍとして表されている。全ての入力信号１０４が組み合わさって、対応する入力画像１０６を全体的に記述する。
【０１３６】
各メモリ要素１５０はまた、電気抵抗器１６４を有するブロック１６２によって確立され得る。電気抵抗器１６４を有するこのようなブロック１６２は選択デバイス１６６を含み得る。選択デバイス１６６は、上述されたように、所望の出力信号１２４の値からのニューロン和１２０の決定された逸脱１２８を用いてブロック１６２から１つ以上の電気抵抗器１６４を選択し、各修正重み１１２を確立するように構成されている。さらに、電気抵抗器１６４を有するブロック１６２によって確立される各メモリ要素１５０はまた、電気キャパシタ１６８も含み得る。換言すれば、各メモリ要素１５０は、電気抵抗器１６４および電気キャパシタ１６８を有するブロック１６２によって確立され得る。このような場合には、選択デバイス１６６は、さらに、決定された逸脱１２８を用いてキャパシタ１６８および電気抵抗器１６４を選択し、各修正重み１１２を確立するように構成され得る。
【０１３７】
図２４および２５に示されるｐネット１００Ａの実施形態の各々は、アナログ、デジタル、およびデジタル−アナログニューラルネットワークのいずれかとして構成され得る。ｐネット１００Ａのこのような実施形態では、複数の入力１０２、複数のシナプス１１８、メモリ要素１５０、分配器１１４のセット、ニューロン１１６のセット、重み修正計算器１２２、および所望の出力信号１２４のうちの任意のものは、アナログフォーマット、デジタルフォーマット、およびデジタル−アナログフォーマットで動作するように構成され得る。図２６は、所望の出力信号１２４の値からのニューロン和１２０の逸脱１２８の決定をもって終結するトレーニングの第１段階におけるｐネット１００Ａを示し、その一方で、図２７は、トレーニングの第２段階におけるｐネット１００Ａが、電気デバイス１６０によって確立された修正重み１１２のための修正信号１７０の形成をもって終結する様子を示す。図２６に示されるように、各シナプス１１８は複数の入力１０２のうちの１つに接続されており、修正重み１１２として機能する、メモリスタとして示される、複数の電気デバイス１６０を含む。各修正重み１１２は電気抵抗の値によって規定される。
【０１３８】
図２６に示されるｐネット１００Ａはまた、分配器１１４のセットを含む。各分配器１１４は、メモリスタとして構成された、電気デバイス１６０のセットを介してそれぞれの入力信号１０４を受信し、適切な修正重み１１２を確立するための複数の入力１０２のうちの１つに動作可能に接続されている。加えて、各分配器１１４は、入力電圧に相関して、利用可能な複数の修正重みからメモリスタによって具体化された１つ以上の修正重み１１２を選択するように構成されている。図２８は、双対並列分岐状に配置されたメモリスタとして構成された電気デバイス１６０を用いるｐネット１００Ａを示す。上述されたｐネット１００Ａの構築のための他の解決策に関して、図２９〜図３１は、ｐネット１００Ａにおける適切な抵抗を規定するための共通抵抗器として構成された電気デバイス１６０を示し、その一方で、図３２は、ｐネット１００Ａにおけるインピーダンスを規定するように構成された電気デバイス１６０を示す。
【０１３９】
アナログまたはアナログ−デジタルネットワークとして構成されたｐネット１００Ａでは、各入力１０２は、アナログまたはデジタル入力信号１０４を受信するように構成されている。ここで、図２４および図２５において、入力信号はＩ１、Ｉ２…Ｉｍとして表されている。各入力信号Ｉ１、Ｉ２…Ｉｍは、入力画像１０６の何らかのアナログ特性、例えば、大きさ、周波数、位相、信号偏角などの値を表す。アナログｐネット１００Ａでは、各入力信号１０４は入力アナログ値を有し、全体として、複数の入力信号１０４は概してアナログ入力画像１０６を記述する。アナログネットワークとして構成されたｐネット１００Ａでは、各ニューロン１１６は、直列または並列のいずれかの通信チャネル１７２、例えば、電線、または直列もしくは並列バスによって確立され得る。通信チャネル１７２の代表的なバスの実施形態は、当業者によって理解されるように、並列接続およびビット直列接続の両方を用い得る。例えば、対応するアナログ信号が電流を介して提供される場合には、通信チャネル１７２は直列電流バスであってもよく、その一方で、対応するアナログ信号がそれぞれの修正重み１１２上の電位を介して提供される場合には、代表的な通信チャネルは並列バスであってもよい。
【０１４０】
図２６〜図３２には、修正重み１１２のアナログ実施形態が示されている。各アナログ修正重み１１２はメモリ要素１５０によって規定される。メモリ要素１５０は、特定の修正重みのそれぞれの重み値を保持し、メモリ要素１５０を通って流れる、（入力から出力への）順方向信号
【数１】
2019519045.tif 000005
もしくは（出力から入力への）逆方向信号
【数２】
2019519045.tif 000006
、または追加の制御信号に作用し、これらを変更する。さらに、各アナログ修正重み１１２は、ｐネット１００Ａの実際の動作の間、例えば、画像認識の間に、そのそれぞれの重み値を保持し得る。加えて、各アナログ修正重み１１２の値は、ｐネット１００Ａのトレーニングの間に、順方向信号
【数３】
2019519045.tif 000007
もしくは逆方向信号
【数４】
2019519045.tif 000008
、または追加の制御信号を介して変更され得る。その結果、ｐネット１００Ａのアナログ実施形態は、様々なコンピュータ適用のサポートを可能にするマイクロチップの生成を可能にし得る。さらに、ｐネット１００Ａ全体が、マイクロチップ、ビデオカード等などの、メモリを有する電子デバイス内にプログラムされてもよい。したがって、各メモリ要素１５０の適切な実施形態は、このとき、同じく問題の電子デバイスのメモリ内に記憶されることになる。
【０１４１】
上述のことと一貫して、アナログｐネット１００Ａ内の各電気デバイス１６０は、ｐネットのトレーニングの後にそれぞれの修正重み１１２の変更された値に対応する電気特性および／または磁気特性を再記憶するように構成され得る。重み修正計算器１２２は、所望の出力信号１２４の値からのニューロン和１２０の決定された逸脱１２８を表す１つ以上の修正信号を生成するように構成され得る。さらに、生成された修正信号の各々は、少なくとも１つの電気デバイス１６０の電気特性および／または磁気特性を変更するために用いられ得る。すなわち、変更されるデバイスごとに別個の修正信号が用いられる。重み修正計算器１２２はまた、各電気デバイス１６０の電気特性および／または磁気特性を変更するために用いられる単一の修正信号を生成するように構成され得る。すなわち、変更される全ての電気デバイスのために１つの修正信号が用いられ得る。
【０１４２】
重み修正計算器１２２の特定の実施形態は、プログラムされたソフトウェアとしてｐネット１００Ａ内に組み込まれるか、あるいは外部デバイスまたはアクセス可能なコンピュータプログラムを介して確立され得る。例えば、重み修正計算器１２２は差動増幅器１７４のセットとして確立され得る。本開示全体と一貫して、各々のこのような差動増幅器１７４は、所望の出力信号１２４の値からのニューロン和１２０の決定された逸脱１２８を表すそれぞれの修正信号を生成するように構成され得る。各電気デバイス１６０は、ｐネット１００Ａのトレーニングが完了された後にそれぞれの修正重み１１２の変更された値に対応する電気特性および／または磁気特性を維持するように構成され得る。ｐネット１００Ａはまた、ｐネットの動作の間に、すなわち、トレーニングが完了された後に、維持された電気特性および／または磁気特性を用いるように構成され得る。ｐネット１００Ａのこのような構造は、修正重み１１２の並列またはバッチトレーニングを容易にし、これにより、上述された古典的なニューラルネットワークと比べて、ｐネットをトレーニングするために必要とされる時間量の大幅な低減を可能にする。
【０１４３】
ｐネット１００Ａ内の各分配器１１４は、単一の入力信号１０４を取り込み、単一の入力に接続された、複数のデータ出力線のうちの１つ以上を選択する、アナログデバイス、デジタルデバイス、またはアナログ−デジタルデバイスのいずれか、すなわち、デマルチプレクサ１７６として構成され得る。このようなデマルチプレクサ１７６は、受信された入力信号１０４に応じて複数の修正重みから１つ以上の修正重み１１２を選択するように構成され得る。各分配器１１４は、受信された入力信号１０４を２進符号に変換し、２進符号に相関して複数の修正重みから１つ以上の修正重み１１２を選択するように構成され得る。
【０１４４】
図３３は、ユーティリティニューラルネットワーク１００Ｂ（図２５に示される）を動作させる方法３００を示す。方法３００は、図２〜図２２および図２４〜３２に関する上述の開示に従って動作する。方法３００はフレーム３０２において開始する。フレーム３０２において、本方法は、ユーティリティニューラルネットワーク１００Ｂを準備することを含む。フレーム３０２に続き、本方法はフレーム３０４へ進む。フレーム３０４において、本方法は、ユーティリティニューラルネットワーク１００Ｂを介して、ｐネット１００Ａなどの、別個の類似ニューラルネットワークによってそのトレーニングの間に確立された修正重み１１２の変更された値を用いてデータを処理することを含む。類似ｐネット１００Ａのトレーニングは、図２４を参照して上述されたように、補足トレーニングを含み得る。
【０１４５】
ユーティリティニューラルネットワーク１００Ｂおよびトレーニングされた別個のｐネット１００Ａは、例えば、図２５に表されるように、整合ニューラルネットワーク構造を有することによって、類似のものにすることができ、これにより、ユーティリティニューラルネットワーク１００Ｂは、重み修正計算器１２２、およびユーティリティニューラルネットワークをトレーニングする対応する能力を排除し得る。したがって、整合ニューラルネットワーク構造は、同一の数の入力１０２、修正重み１１２、分配器１１４、ニューロン１１６、ニューロン出力１１７、およびシナプス１１８を含み得る。換言すれば、ｐネット１００Ａおよびユーティリティニューラルネットワーク１００Ｂは、ネットワークの動作パラメータを確立する全ての特徴に関して実質的に同一であり得る。最も大きな機能的相違は、ｐネット１００Ａが、変更された修正重み１１２を確立することによって、トレーニングされることが可能である点である。類似ｐネット１００Ａおよびユーティリティニューラルネットワーク１００Ｂの各々は、異なる構成、例えば、ハードウェアおよび／またはソフトウェアの様々な形態、ならびにアナログおよび／またはデジタルフォーマットで実装することができ、これにより、ユーティリティニューラルネットワークおよび類似ｐネットが異種の担体によって表されることが可能になる。このような場合には、変更された修正重み１１２を有するデータを変換または解釈するための翻訳機構（図示せず）が利用されてもよい。
【０１４６】
ユーティリティニューラルネットワーク１００Ｂおよびトレーニングされた別個のｐネット１００Ａの各々において、各修正重み１１２はメモリ要素１５０によって確立され得る。具体的には、ｐネット１００Ａにおいて、メモリ要素１５０は、ｐネットのトレーニングの後に修正重み１１２に対応するそれぞれの変更された重み値を保持し得る。ユーティリティニューラルネットワーク１００Ｂに提供される各入力画像１０６は、図２に関する説明と同じく、Ｉ１、Ｉ２…Ｉｍによって表される複合された入力信号１０４によって表され得る。図２に関して追加的に説明されたように、各入力信号Ｉ１、Ｉ２…Ｉｍは、対応する入力画像１０６の何らかの特性の値を表す。
【０１４７】
フレーム３０４から、本方法はフレーム３０６へ進む。フレーム３０６において、本方法は、図２５に関して説明されたように、変更された修正重み１１２を用いて動作出力信号１５２を確立することを含む。したがって、ユーティリティニューラルネットワーク１００Ｂを介した入力画像１０６などの入力データの処理は、このようなデータの認識をもって、ユーティリティニューラルネットワークの動作出力信号１５２として締めくくられ得る。ユーティリティニューラルネットワーク１００Ｂの動作出力信号１５２は、次に、本方法を完了するためのフレーム３０８の一部として、ユーティリティネットワーク自体、またはユーティリティネットワークのオペレータのいずれかによって、解釈または復号され得る。ｐネット１００Ａにおける変更された修正重み１１２の確立は、図２３に関して説明されたように、ｐネット１００をトレーニングする方法２００に従って達成され得る。
【０１４８】
図３４および図３５は、後述されることになる特定の要素を有すること以外、上述されたｐネット１００とあらゆる点で同様である、ｐネット１００Ｂと標識されたｐネット１００の一実施形態を示す。さらに、図３４および図３５に示されるｐネット１００Ｂは、配列構造を用いて動作する、すなわち、選択された画像を用いて、他の画像のその後の認識のためにトレーニングされるように構成されている。用語「画像」は、本明細書において使用されるとき、処理のために受信されるか、またはニューラルネットワークによって生成される任意の種類の情報またはデータを示すことが意図される。図３６において、トレーニングされたｐネット１００Ｂは符号１００Ｃを介して指定される。ｐネット１００Ｂがトレーニングされているときには、入力画像１０６はトレーニング画像として定義され、その一方で、トレーニングされたｐネット１００Ｃにおいては、入力画像１０６は、認識を受けることが意図される。トレーニング画像１０６は、複数の入力１０２によってトレーニング入力値配列１０７として受信されるか、またはｐネット１００Ｂのトレーニングの間に、すなわち、複数の入力によって受信された後に、トレーニング入力値配列１０７として体系化されるかのいずれかである。
【０１４９】
他の実施形態と同様に、図３４〜図３６に示されるｐネット１００Ｂおよびｐネット１００Ｃの各々はまた、シナプス１１８を含み、各シナプス１１８は複数の入力１０２のうちの１つに接続されており、複数の修正重み１１２を含み、また、シナプス重み１０８を含み得る。全てのシナプス１１８の修正重み１１２は、修正重み配列１１９Ａとして、すなわち、修正重み配列１１９Ａの形式で編成される。したがって、図３４〜図３６において、修正重み配列１１９Ａは破線の枠１１９Ａ内の全ての修正重み１１２を含む。ｐネット１００Ｂはまた、分配器１１４のセットを含み得る。このような実施形態では、各分配器１１４は、それぞれの入力信号１０４を受信するための複数の入力１０２のうちの１つに動作可能に接続されている。修正重み配列１１９Ａを含むｐネット１００Ｂの実施形態はまた、ニューロンユニットの構成要素のうちのいくつかを保持しつつも、異なるニューロンユニット１１９が存在しないことによって特徴付けられ得る。
【０１５０】
上述されたｐネット１００およびｐネット１００Ａと類似して、ｐネット１００Ｂは、さらに、ニューロン１１６のセットを含み、以下において詳細に説明されるアクションを実行するための手段となる。各ニューロン１１６はまた、少なくとも１つの出力１１７を有し、１つのシナプス１１８を介して複数の入力１０２のうちの少なくとも１つと接続されている。各ニューロン１１６は、同様に、それぞれのニューロン１１６に接続された各シナプス１１８から選択された修正重み１１２の値を合計し、これにより、Σｎとして別記されるニューロン和配列１２０Ａを生成して出力するように構成されている。本実施形態では、図３４〜図３６に示されるように、所与の入力１０２のシナプス１１８ごとに別個の分配器１１４が同様に用いられてもよい。代替的に、全てのこのようなシナプスのために単一の分配器が用いられてもよい（図示されていない）。ｐネット１００Ｂの形成またはセットアップの間に、全ての修正重み１１２は、図３５に示されるように、ｐネットトレーニングのプロセスの間に変化し得る、初期値を割り当てられる。修正重み１１２の初期値は、ランダムに選択される、所定の数学関数の助けを借りて算出される、所定のテンプレートから選択されるなどし得る。修正重み１１２の初期値は修正重み１１２ごとに同一であるか、または異なり得、また、０であってもよい。
【０１５１】
図３４および図３５に示されるように、ｐネット１００Ｂはまた、ｐネット１００Ｂのトレーニングを統制するように構成されたコントローラ１２２Ａを含み、それゆえ、以下において詳細に説明されるアクションを実行するための手段となる。コントローラ１２２Ａは、他の実施形態に関して上述された重み修正計算器１２２を含み得る。以下において詳細に説明されるタスクを適切に遂行するために、コントローラ１２２Ａはメモリを含む。メモリの少なくとも一部は有形且つ非一時的なものである。コントローラ１２２Ａのメモリは、コンピュータ可読データまたは処理命令を提供することに関与する記録可能媒体であり得る。このような媒体は、限定するものではないが、不揮発性媒体および揮発性媒体を含む、多くの形態を取り得る。コントローラ１２２Ａのための不揮発性媒体としては、例えば、光もしくは磁気ディスクおよびその他の永続メモリを挙げることができる。揮発性媒体としては、例えば、主メモリを構成し得る、ダイナミックランダムアクセスメモリ（ｄｙｎａｍｉｃ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ、ＤＲＡＭ）を挙げることができる。このような命令は、コンピュータのプロセッサに結合されたシステムバスを含む電線を含む、同軸ケーブル、銅線および光ファイバを含む、１つ以上の伝送媒体によって伝送され得る。
【０１５２】
コントローラ１２２Ａのメモリはまた、適切な媒体、例えば、磁気または光媒体を含み得る。コントローラ１２２Ａは、高速クロック、必須のアナログ−デジタル（Ａ／Ｄ）および／またはデジタル−アナログ（Ｄ／Ａ）回路機構、必要な入力／出力回路機構およびデバイス（Ｉ／Ｏ）、ならびに適切な信号調節および／またはバッファ回路機構などの、他の必要とされるコンピュータハードウェアを用いて構成されるか、またはこれを備え得る。コントローラ１２２Ａによって必要とされる、またはコントローラ１２２Ａによってアクセス可能なアルゴリズムはメモリ内に記憶され、以下において詳細に説明される必要な機能性を提供するために自動的に実行されてもよい。
【０１５３】
コントローラ１２２Ａは、修正重み１１２を修正重み配列１１９Ａに編成するようにプログラムされ得る。コントローラ１２２Ａはまた、所望の出力値配列１２６Ａとして編成された所望の画像または出力信号１２４を受信するように構成されている。コントローラ１２２Ａは、さらに、所望の出力値配列からのニューロン和配列１２０Ａの逸脱１２８を決定し、逸脱配列１３２を生成するように構成されている。コントローラ１２２Ａは、さらに、決定された逸脱配列１３２を用いて修正重み配列１１９Ａを変更するように構成されている。このような場合には、変更された修正重み値を合算し、ニューロン和配列１２０Ａを決定することは、所望の出力値配列１２６Ａからのニューロン和配列１２０Ａの逸脱１２８を低減し、すなわち、最小化し、トレーニングされた修正重み配列１３４Ａ（図３６に示される）を生成する。図３４および図３５に示される修正重み配列１１９Ａと類似して、トレーニングされた修正重み配列１３４Ａは破線の枠１３４Ａ内の全ての修正重み１１２を含む。また、図３６に示されるように、および図３４および図３５における修正重み配列１１９Ａと類似して、トレーニングされた修正重み配列１３４Ａは破線の枠１１９Ａ内の全てのトレーニングされた修正重み１１２Ａを含み、これらと関連付けられた分配器１１４を含み得る。したがって、ニューロン和配列１２０Ａの最小化された逸脱１２８は、ｐネット１００Ｂによって生成された誤差を補償する。さらに、生成されたトレーニングされた修正重み配列１３４Ａはｐネット１００Ｂの同時または並列トレーニングを容易にする。
【０１５４】
図３５に示される、トレーニングされたｐネット１００Ｃにおいて、ｐネットへの複数の入力１０２は、入力画像１０６を受信するように構成され得る。このような入力画像１０６は、入力値配列１０７Ａとして受信されるか、またはｐネット１００Ｂによって画像の認識の間に入力値配列１０７Ａとして体系化されるかのいずれかであり得る。各シナプス１１８は、複数のトレーニングされた修正重み１１２Ａを含み得る。加えて、各ニューロン１１６は、それぞれのニューロンに接続された各シナプス１１８に対応するトレーニングされた修正重み１１２Ａの重み値を合算するように構成されていてもよく、これにより、複数のニューロンは、認識された画像配列１３６を生成し、これにより、入力画像１０６の認識をもたらす。分配器１１４のセットを含むｐネット１００Ｂおよびトレーニングされたｐネット１００Ｃの実施形態では、分配器は、トレーニング画像および入力画像１０６をそれぞれのトレーニング入力値配列１０７および入力値配列１０７Ａとして体系化するように構成され得る。したがって、分配器１１４のこのようなセットは、それぞれのトレーニング画像および入力画像１０６の各々を受信するための複数の入力１０２に動作可能に接続されている。上述の動作は、以下において詳細に説明されるように、トレーニングされた修正重み配列１３４Ａの代わりに、構造化行列、具体的には、トレーニングされた修正重み行列を用いて遂行され得る。
【０１５５】
コントローラ１２２Ａは、さらに、所望の出力値配列１２６Ａからのニューロン和配列１２０Ａの目標逸脱の配列または目標逸脱配列１３８を用いてプログラムされ得る。さらに、コントローラ１２２Ａは、所望の出力値配列１２６Ａからのニューロン和配列１２０Ａの逸脱１２８が目標逸脱配列１３８の許容範囲１３９内に入ると、ｐネット１００Ｂのトレーニングを完了するように構成され得る。許容範囲１３９は、目標逸脱配列１３８内の最大値もしくは最小値、または目標逸脱配列１３８の平均値と照合されてもよい。代替的に、コントローラ１２２Ａは、逸脱１２８の低減あるいはトレーニング入力値配列１０７および所望の出力値配列１２６Ａの収束の速度が所定の速度値１４０へ落ちると、ｐネット１００Ｂのトレーニングを完了するように構成され得る。許容範囲１３９および／または所定の速度値１４０はコントローラ１２２Ａ内にプログラムされてもよい。
【０１５６】
トレーニング入力値配列１０７、入力値配列１０７Ａ、修正重み配列１１９Ａ、ニューロン和配列１２０Ａ、所望の出力値配列１２６Ａ、逸脱配列１３２、トレーニングされた修正重み配列１３４Ａ、認識された画像配列１３６、および目標逸脱配列１３８、すなわち、これらの内部のパラメータ値は、それぞれ、トレーニング入力値行列１４１、入力値行列１４１Ａ、修正重み行列１４２、ニューロン和行列１４３、所望の出力値行列１４４、逸脱行列１４５、トレーニングされた修正重み行列１４６、認識された画像行列１４７、および目標逸脱行列１４８として編成され得る。この場合、各々のそれぞれの配列１０７、１０７Ａ、１１９、１２０、１２６、１３２、１３４、１３６、および１３８において、それぞれのパラメータの値は、例えば、プロセッサがアクセス可能なデータテーブルの形式で編成されてもよく、それぞれの行列１４１、１４１Ａ、１４２、１４３、１４４、１４５、１４６、１４７、および１４８内の値は、特に、代数行列演算を各々のそれぞれの行列に個々に適用すること、およびこれらの組み合わせに適用することを可能にするように編成される。行列１４１、１４１Ａ、１４２、１４３、１４４、１４５、１４６、１４７、および１４８は図に具体的に示されていないが、そのように編成されるときには、それぞれの配列１０７、１０７Ａ、１１９、１２０、１２６、１３２、１３４、１３６、および１３８に取って代わると理解されるべきである。
【０１５７】
以下の例では、例示目的のために、任意数の列および行を有する特定の行列が示される。例えば、トレーニング画像は入力トレーニング行列｜Ｉ｜の形で受信され、および／または編成され得る。
【０１５８】
【表３】
2019519045.tif 000009
【０１５９】
その後、上記のトレーニング入力画像行列は、コントローラ１２２Ａを介して、行列｜Ｃ｜と表される、トレーニング入力値行列１４１へ変換され得る。各行列｜Ｃ｜は、入力「Ｉ」の数に対する、ただし、特定の数の間隔「ｉ」を考慮した、対応する数の列、および画像の数に対する対応する数の行を有することになる。
【０１６０】
【表４】
2019519045.tif 000010
【０１６１】
行列｜Ｃ｜内において、トレーニングの間に用いられることになる特定の修正重み１１２を用いて識別される間隔「ｉ」。間隔「ｉ」に対応する列内において、信号の値は、特定の信号が特定の間隔において用いられることになることを示すために、１（１）と置換されてもよく、その一方で、問題の信号のための他の間隔においては、特定の間隔が考慮されないことになることを示すために、信号の値は０（０）と置換されてもよい。
【０１６２】
例示的な修正重み行列１４６は、以下に示される行列｜Ｗ｜として形成され得る。
【０１６３】
【表５】
2019519045.tif 000011
【０１６４】
ニューロン和行列１４３は、以下に示される行列｜Σ｜として表され得る。
【数５】
2019519045.tif 000012
【０１６５】
所望の出力値行列１４４は、以下に示されるように、行列｜Ｏ｜として形成され得る。
【０１６６】
【表６】
2019519045.tif 000013
【０１６７】
ニューロン和行列１４３の逸脱１２８は、所望の出力値行列１４４から決定することができ、以下の行列｜Ｅ｜として表される逸脱行列１４８を生成する。
【数６】
2019519045.tif 000014
ここで、
【数７】
2019519045.tif 000015
などである。
【０１６８】
以下において行列｜Ｗ｜として表される修正重み行列１４２は、決定された逸脱行列１４５を用いて変更され得る。これは、変更された修正重み１１２の値を合算し、ニューロン和行列１４３を決定し、所望の出力値行列１４４からのニューロン和行列１４３の逸脱を最小化し、行列｜Ｗｔｒａｉｎｅｄ｜として表されるトレーニングされた修正重み行列１４６を生成することを可能にする。行列｜Ｗｔｒａｉｎｅｄ｜は、式｜Ｗｔｒａｉｎｅｄ｜＝｜Ｗ｜＋｜∇Ｗ｜に従って導かれる（ここで、因子｜∇Ｗ｜は以下において詳細に説明されることになる）。
【０１６９】
【表７】
2019519045.tif 000016
【０１７０】
上述されたように、トレーニングされた修正重み配列１３４Ａおよびトレーニングされた修正重み行列１４６の形成はｐネット１００Ｂの同時トレーニングを容易にする。
【０１７１】
トレーニングされたｐネット１００Ｃを用いる画像認識の実施形態（図３６に示される）において、入力画像１０６のバッチの同時認識は、上述された行列演算を用いてもたらされ得る。具体的には、トレーニングされたｐネット１００Ｃ、２次元ｎ  ｘ  ｋ行列｜Ｗ｜として表され得る、修正重み配列。ここで、「ｎ」はニューロン１１６の数であり、「ｋ」は特定のニューロン内の修正重み１１２の数である。行列｜Ｗ｜は以下のように一般的に表され得る。
【０１７２】
【表８】
2019519045.tif 000017
【０１７３】
入力画像１０６のバッチの同時認識のために、認識されるべき入力画像はｖ  ｘ  ｋ行列｜Ｉｒ｜として提示され得る。ここで、「ｖ」は認識可能な画像の数であり、「ｋ」は特定のニューロン１１６内の修正重み１１２の数である。認識のための入力画像１０６の行列｜Ｉｒ｜は以下のように一般的に表され得る。
【０１７４】
【表９】
2019519045.tif 000018
【０１７５】
上記の行列｜Ｉｒ｜において、行列の各行は、認識を受ける単一の画像である。
【０１７６】
入力画像１０６のバッチの同時認識は、行列｜Ｗ｜に転置行列｜Ｉ｜Ｔを乗算し、記号「｜Ｙ｜」によって表され、以下のように表される、認識された画像行列１４７を生成することによってもたらされ得る。
｜Ｙ｜＝｜Ｗ｜×｜Ｉｒ｜Ｔ
行列｜Ｙ｜は寸法ｎ  ｘ  ｖを有する。行列｜Ｙ｜の各列は、トレーニングされたｐネット１００Ｃによって得られた単一の出力または認識された画像である。行列｜Ｙ｜は以下のように一般的に示され得る。
【０１７７】
【表１０】
2019519045.tif 000019
【０１７８】
ｐネット１００Ｂおよび１００Ｃの各々は、さらに、コントローラ１２２Ａのサブユニットであり得る、データプロセッサ１５０を含み得る。このような実施形態では、コントローラ１２２Ａは、さらに、それぞれのトレーニング入力値行列１４１、入力値行列１４１Ａ、修正重み行列１４２、ニューロン和行列１４３、および所望の出力値行列１４４のうちの少なくとも１つをそれぞれの部分行列に区分する、または切り分けるように構成され得る。コントローラ１２２Ａはまた、複数の得られた部分行列または部分行列群をデータプロセッサ１５０へ、これを用いた別個の数学演算のために伝達するように構成され得る。問題の行列１４１、１４２、１４３、および１４４のうちの任意のものの、それぞれの部分行列へのこのような区分は、同時または並列データ処理、ならびに入力値行列１４１Ａの画像認識またはｐネット１００Ｂのトレーニングのいずれかの速度の増大を容易にする。このような同時または並列データ処理はまた、ｐネット１００Ｂまたは１００Ｃのスケーラビリティを可能にする。すなわち、特定のプロセッサ上で代数操作を受けるそれぞれの行列のサイズを制限し、および／または図示のプロセッサ１５０などの、複数のプロセッサの間で行列を分割することによって、ｐネットのサイズを変更する能力をもたらす。図３４〜図３６に示されるように、ｐネット１００Ｂおよび１００Ｃのこのような実施形態では、コントローラ１２２Ａと通信する複数のデータプロセッサ１５０が、コントローラ１２２Ａの一部としてであるのか、それとも末端に配置されているのかにかかわらず、利用され、別個に、および並列に動作するように構成されていてもよい。
【０１７９】
コントローラ１２２Ａは、トレーニング入力値行列１４１Ａおよび修正重み行列に代数行列演算を適用することによって修正重み行列１４２を変更し、これにより、ｐネット１００Ｂをトレーニングし得る。このような数学行列演算は、入力値行列１４１Ａと修正重み行列１４６との数学的積を決定し、これにより、現在のトレーニングエポックの重み行列１５１を形成することを含み得る。コントローラ１２２Ａはまた、ニューロン和行列１４３を所望の出力値行列１４４から減算し、上述された行列｜Ｅ｜として示されるニューロン和の逸脱の行列１５３を生成するように構成され得る。加えて、コントローラ１２２Ａは、ニューロン和の逸脱の行列１５３を、それぞれのニューロン１１６に接続された、以下において文字「ｍ」を用いて識別される、シナプス１１８の数で除算し、次式のように、以下において記号「｜ΔＷ｜」によって表される、ニューロン入力ごとの逸脱の行列１５５を生成するように構成され得る。
｜ΔＷ｜＝｜Ｅ｜／ｍ
【０１８０】
コントローラ１２２Ａは、さらに、下式において記号「｜Ｓ｜」によって表されるｐネット１００Ｂの１つのトレーニングエポックの間に各修正重み１１２が用いられた回数を決定するように構成され得る。以下に示されるように、行列｜Ｓ｜は、トレーニング入力値行列１４１Ａに単位ベクトルを乗算することを通して得られる。
【数８】
2019519045.tif 000020
コントローラ１２２Ａは、さらに、各修正重みが１つのトレーニングエポックの間に用いられた決定された回数を用いて、１つのトレーニングエポックについての、以下において記号「｜∇Ｗ｜」によって表される、平均逸脱行列１５７を形成するように構成され得る。
｜∇Ｗ｜＝｜ΔＷ｜／｜Ｓ｜
さらに、コントローラ１２２Ａは、１つのトレーニングエポックについての平均逸脱行列１５７を修正重み行列１４２に加算し、これにより、以下において｜Ｗｔｒａｉｎｅｄ｜として表される、トレーニングされた修正重み行列１４６を生成し、以下に示されるように１つのトレーニングエポックを完了するように構成され得る。
｜Ｗｔｒａｉｎｅｄ｜＝｜Ｗ｜＋｜∇Ｗ｜
【０１８１】
【表１１】
2019519045.tif 000021
【０１８２】
図３７は、図３４〜図３６を参照して上述されたとおりの、ｐネット１００Ｂを動作させるための方法４００を示す。方法４００は、プロセッサ１５０などの、１つ以上のデータプロセッサを用いて教師付きトレーニングを実施する際に利用される、コンピュータ、またはコンピュータのシステムなどの、装置の動作を改善するように構成されている。方法４００は、ｐネット１００Ｂを動作させるための、本方法を遂行するために実行可能な命令を符号化された非一時的コンピュータ可読記憶デバイス内にプログラムされてもよい。
【０１８３】
方法４００はフレーム４０２において開始する。フレーム４０２において、本方法は、複数の入力１０２を介して、トレーニング画像１０６を受信することを含む。図３４および図３５に示されるｐネット１００Ｂの構造に関して上述されたように、トレーニング画像１０６は、問題のトレーニング局面の開始前にトレーニング入力値配列１０７として受信されるか、または実際のトレーニング局面の間にトレーニング入力値配列として体系化されるかのいずれかであり得る。フレーム４０２に続き、本方法はフレーム４０４へ進む。フレーム４０４において、本方法は、複数のシナプス１１８の修正重み１１２を修正重み配列１１９Ａに編成することを含む。ｐネット１００Ｂの構造に関して上述されたように、各シナプス１１８は複数の入力１０２のうちの１つに接続されており、複数の修正重み１１２を含む。
【０１８４】
フレーム４０４の後に、本方法はフレーム４０６へ進む。フレーム４０６において、本方法は、複数のニューロン１１６を介してニューロン和配列１２０Ａを生成することを含む。ｐネット１００Ｂの構造に関して上述されたように、各ニューロン１１６は少なくとも１つの出力１１７を有し、複数のシナプス１１８のうちの１つを介して複数の入力１０２のうちの少なくとも１つと接続されている。さらに、各ニューロン１１６は、それぞれのニューロンに接続された各シナプス１１８に対応する修正重み１１２の重み値を合算するように構成されている。フレーム４０６に続き、フレーム４０８において、本方法は、コントローラ１２２Ａを介して、所望の出力値配列１２６Ａとして編成された所望の画像１２４を受信することを含む。フレーム４０８の後に、本方法はフレーム４１０へ進む。フレーム４１０において、本方法は、コントローラ１２２Ａを介して、所望の出力値配列１２６Ａからのニューロン和配列１２０Ａの逸脱１２８を決定し、これにより、逸脱配列１３２を生成することを含む。
【０１８５】
フレーム４１０に続き、本方法はフレーム４１２へ進む。フレーム４１２において、本方法は、コントローラ１２２Ａを介して、決定された逸脱配列１３２を用いて修正重み配列１１９Ａを変更することを含む。変更された修正重み配列１１９Ａの変更された修正重み値は、その後、加算または合計され、次に、新たなニューロン和配列１２０Ａを決定するために用いられ得る。変更された修正重み配列１１９Ａの合計された変更された修正重み値は、次に、所望の出力値配列１２６Ａからのニューロン和配列１２０Ａの逸脱を低減または最小化し、トレーニングされた修正重み配列１３４Ａを生成する役目を果たし得る。逸脱配列１３２は、ｐネット１００Ｃの構造に関して上述されたように、所望の出力値配列１２６Ａからのニューロン和配列１２０Ａの逸脱１２８が目標逸脱の配列１３８の許容範囲１３９内に入ると、十分に最小化されたと決定されてもよい。トレーニングされた修正重み配列１３４Ａは、逸脱配列１３２を用いて決定されたトレーニングされた修正重み１１２Ａを含み、これにより、ｐネット１００Ｂを訓練する。
【０１８６】
ｐネット１００Ｂの構造に関して上述されたように、トレーニング入力値配列１０７、修正重み配列１１９Ａ、ニューロン和配列１２０Ａ、所望の出力値配列１２６Ａ、逸脱配列１３２、トレーニングされた修正重み配列１３４Ａ、および目標逸脱配列１３８の各々は、それぞれ、トレーニング入力値行列１４１、修正重み行列１４２、ニューロン和行列１４３、所望の出力値行列１４４、逸脱行列１４５、トレーニングされた修正重み行列１４６、および目標逸脱行列１４８として編成され得る。フレーム４１２において、本方法は、コントローラ１２２Ａを介して、それぞれのトレーニング入力値行列１４１、入力値行列１４１Ａ、修正重み行列１４２、ニューロン和行列１４３、および所望の出力値行列１４４のうちの少なくとも１つをそれぞれの部分行列に区分することをさらに含み得る。このように得られた部分行列は、データプロセッサ１５０へ、これを用いた別個の数学演算のために伝達され、これにより、同時データ処理、およびｐネット１００Ｂのトレーニングの速度の増大を容易にし得る。
【０１８７】
フレーム４１２において、本方法はまた、コントローラ１２２Ａを介して、トレーニング入力値行列１４１および修正重み行列に代数行列演算を適用することによって修正重み行列１４２を変更し、これにより、ｐネット１００Ｂをトレーニングすることを含み得る。このような数学行列演算は、トレーニング入力値行列１４１と修正重み行列１４２との数学的積を決定し、これにより、現在のトレーニングエポックの重み行列１５１を形成することを含み得る。フレーム４１２において、本方法は、さらに、コントローラ１２２Ａを介して、ニューロン和行列１４３を所望の出力値行列１４４から減算し、ニューロン和の逸脱の行列１５３を生成することを含み得る。また、フレーム４１２において、本方法は、コントローラ１２２Ａを介して、ニューロン和の逸脱の行列１５３を、それぞれのニューロン１１６に接続された入力の数で除算し、ニューロン入力ごとの逸脱の行列１５５を生成することを含み得る。
【０１８８】
さらに、フレーム４１２において、本方法は、コントローラ１２２Ａを介して、ｐネット１００Ｂの１つのトレーニングエポックの間に各修正重み１１２が用いられた回数を決定することを含み得る。また、本方法は、さらに、コントローラ１２２Ａを介して、特定のトレーニングエポックの間に各修正重み１１２が用いられた決定された回数を用いて１つのトレーニングエポックについての平均逸脱行列１５７を形成することを含み得る。例えば、このような演算は、要素ごとに、ニューロン入力ごとの逸脱の行列を、特定のトレーニングエポックの間に各修正重みが用いられた決定された回数で除算し、１つのトレーニングエポックの間に用いられた各修正重み１１２についての平均逸脱を得、これにより、１つのトレーニングエポックについての平均逸脱行列１５７を形成することを含み得る。
【０１８９】
加えて、フレーム４１２では、例えば、算術平均、幾何平均、調和平均、二乗平均平方根などを用いて１つのトレーニングエポックについての平均逸脱行列１５７を形成するための、他の行列に基づく演算が利用されてもよい。また、フレーム４１２において、本方法は、コントローラ１２２Ａを介して、１つのトレーニングエポックについての平均逸脱行列１５７を修正重み行列１４２に加算し、これにより、トレーニングされた修正重み行列１４６を生成し、特定のトレーニングエポックを完了することを含み得る。したがって、行列演算が全ての修正重み１１２に並列に適用されることを可能にすることによって、方法４００は、トレーニングされたｐネット１００Ｃを生成する際における、ｐネット１００Ｂの、同時の、およびその結果、速度の向上した、トレーニングを容易にする。
【０１９０】
フレーム４１２に続き、方法４００は、逸脱配列１３２が十分に最小化されるまで、フレーム４０２へ戻り、追加のトレーニングエポックを遂行することを含み得る。換言すれば、ニューロン和配列１２０Ａを所定の逸脱または誤差値以内まで所望の出力値配列１２６Ａに収束するために、追加のトレーニングエポックを遂行することができ、これにより、ｐネット１００Ｂが、トレーニングされ、新たな入力画像１０６を用いた操作の準備ができたと見なされ得るようにする。したがって、フレーム４１２の後に、本方法は、トレーニングされたｐネット１００Ｃ（図３６に示される）を用いた画像認識のために、フレーム４１４へ進み得る。
【０１９１】
トレーニングされたｐネット１００Ｃを用いる画像認識の実施形態では、フレーム４１４において、方法４００は、複数の入力１０２を介して入力画像１０６を受信することを含む。ｐネット１００Ｃの構造に関して上述されたように、入力画像１０６は、入力値配列１０７Ａとして受信されるか、またはｐネット１００Ｃによって画像の認識の間に入力値配列として体系化されるかのいずれかであり得る。フレーム４１４に続き、フレーム４１６において、本方法は、トレーニングされた修正重み配列１３４Ａの複数のトレーニングされた修正重み１１２Ａを各シナプス１１８に帰属させることを含む。フレーム４１６の後に、本方法はフレーム４１８へ進む。
【０１９２】
フレーム４１８において、本方法は、それぞれのニューロン１１６に接続された各シナプス１１８に対応するトレーニングされた修正重み１１２Ａの重み値を合算することを含む。ｐネット１００Ｂの構造に関して上述されたように、トレーニングされた修正重み１１２Ａの重み値のこのような合計は、複数のニューロン１１６が、認識された画像配列１３６を生成することを可能にし、これにより、入力画像１０６の認識をもたらす。ｐネット１００Ｃの構造に関して上述されたように、トレーニングのために用いられる行列１４１、１４２、１４３、１４４、１４５、１４６、および１４８に加えて、入力値配列１０７Ａおよび認識された画像配列１３６は、それぞれ、入力値行列１４１Ａおよび認識された画像行列１４７として編成され得る。
【０１９３】
フレーム４１８において、本方法はまた、コントローラ１２２Ａを介して、入力値行列１４１Ａなどの、用いられる行列のうちの任意のものをそれぞれの部分行列に区分することを含み得る。このように得られた部分行列は、データプロセッサ１５０へ、これを用いた別個の数学演算のために伝達され、これにより、同時データ処理、およびｐネット１００Ｃの画像認識の速度の増大を容易にし得る。行列演算がフレーム２０２〜２１２における方法４００のトレーニング部分に与える効果と類似して、代数行列演算が、トレーニングされたｐネット１００Ｃの行列または部分行列に並列に適用されると、フレーム２１４〜２１８における画像認識部分は速度の向上の恩恵を受ける。したがって、行列演算が全てのトレーニングされた修正重み１１２Ａに並列に適用されることを可能にすることによって、方法４００は、ｐネット１００Ｃを用いた、同時の、およびその結果、速度の向上した、画像認識を容易にする。フレーム４１８に続き、本方法は、達成された画像認識が十分な正確さを欠いていると見なされる場合には、図３４〜図３６に関して説明されたように、追加のトレーニングのためにフレーム４０２へ戻ることができ、さもなければ、本方法はフレーム４２０において終結することができる。
【０１９４】
詳細な説明および図面もしくは図は本開示を支持し、説明するが、本開示の範囲は請求項によってのみ規定される。クレームされている開示を実施するための最良の形態および他の実施形態のうちのいくつかが詳細に説明されたが、添付の請求項において規定される本開示を実践するための様々な代替的な設計および実施形態が存在する。さらに、図面において示される実施形態、または本記載において述べられた様々な実施形態の特徴は、必ずしも互いに独立した実施形態として理解されるべきではない。むしろ、一実施形態の例のうちの１つにおいて説明される特徴の各々は、他の実施形態からの１つまたは複数の他の所望の特徴と組み合わせることができ、言葉で、または図面を参照して説明されない他の実施形態を生み出すことが可能である。したがって、このような他の実施形態は添付の請求項の範囲の枠組み内に含まれる。
【図１】
2019519045.tif 000022
【図２】
2019519045.tif 000023
【図３Ａ】
2019519045.tif 000024
【図３Ｂ】
2019519045.tif 000025
【図３Ｃ】
2019519045.tif 000026
【図４Ａ】
2019519045.tif 000027
【図４Ｂ】
2019519045.tif 000028
【図４Ｃ】
2019519045.tif 000029
【図５】
2019519045.tif 000030
【図６Ａ】
2019519045.tif 000031
【図６Ｂ】
2019519045.tif 000032
【図６Ｃ】
2019519045.tif 000033
【図７】
2019519045.tif 000034
【図８】
2019519045.tif 000035
【図９】
2019519045.tif 000036
【図１０】
2019519045.tif 000037
【図１１】
2019519045.tif 000038
【図１２】
2019519045.tif 000039
【図１３】
2019519045.tif 000040
【図１４】
2019519045.tif 000041
【図１５】
2019519045.tif 000042
【図１６】
2019519045.tif 000043
【図１７】
2019519045.tif 000044
【図１８】
2019519045.tif 000045
【図１９】
2019519045.tif 000046
【図２０】
2019519045.tif 000047
【図２１】
2019519045.tif 000048
【図２２】
2019519045.tif 000049
【図２３】
2019519045.tif 000050
【図２４】
2019519045.tif 000051
【図２５】
2019519045.tif 000052
【図２６】
2019519045.tif 000053
【図２７】
2019519045.tif 000054
【図２８】
2019519045.tif 000055
【図２９】
2019519045.tif 000056
【図３０】
2019519045.tif 000057
【図３１】
2019519045.tif 000058
【図３２】
2019519045.tif 000059
【図３３】
2019519045.tif 000060
【図３４】
2019519045.tif 000061
【図３５】
2019519045.tif 000062
【図３６】
2019519045.tif 000063
【図３７】
2019519045.tif 000064
【国際調査報告】
2019519045.tif 000065