(57)【要約】  パラレルＡＩ処理向けに特別に設計された人工ニューラルネットワークを実装するための効率的且つ直感的な方法のためのシステム及び／又は装置を本明細書で提供する。様々な実装形態において、開示するシステム、装置、及び方法が、（ａ）より複雑な問題集合を処理するのに必要なニューラル処理時間を大幅に短縮し、（ｂ）自己学習に必要な神経可塑性を実装し、（ｃ）直感の要素を吹き込むのに必要なexplicitメモリに加えてimplicitメモリの概念及び応用を導入するパラレルニューラル処理に関して、従来のシステム、装置、及び方法を補完し又は置換する。これらの特性を用いて、開示する発明の実装形態は人間の意識又は認識をエミュレートできるようにする。
2020533668.tif 000002
【特許請求の範囲】
【請求項１】
入力信号を処理するように構成された第１の下位分類器であって、
前記入力信号に重みを適用して加重入力信号を生成するように構成された加重入力モジュールと、
前記加重入力モジュールに結合された比較モジュールであって、
比較モジュールの入力ラインにおける前記加重入力信号を受信し、
比較モジュールの出力ラインにおける第１の出力信号を生成する
ように構成され、
前記加重入力信号が下のウィンドウ範囲値と上のウィンドウ範囲値との間の値を有するかどうかを判定すること、
前記加重入力信号が前記下のウィンドウ範囲値と前記上のウィンドウ範囲値との間の値を有すると判定することに応答して、前記比較モジュールの出力ラインにおいて第１の値を有するように前記第１の出力信号を設定すること、及び
前記加重入力信号が前記下のウィンドウ範囲値と前記上のウィンドウ範囲値との間ではない値を有すると判定することに応答して、前記比較モジュールの出力ラインにおいて前記第１の値と異なる第２の値を有するように前記第１の出力信号を設定すること
を行うように更に構成されている、比較モジュールと
を含む、第１の下位分類器。
【請求項２】
前記比較モジュールが、前記加重入力信号を受信し前記第１の出力信号を設定するように構成された少なくとも１つの演算増幅器を含む、請求項１に記載の第１の下位分類器。
【請求項３】
前記加重入力信号を生成するために前記入力信号に適用される前記重みが第２の下位分類器からの第２の出力信号に基づく、請求項１又は２に記載の第１の下位分類器。
【請求項４】
前記第１の下位分類器からの前記第１の出力信号が第２の下位分類器に伝送される、請求項１〜３の何れか一項に記載の第１の下位分類器。
【請求項５】
前記加重入力モジュールがコントロールグループ信号を受信し、前記コントロールグループ信号に基づいて前記加重入力信号を生成するために前記入力信号に前記重みを適用するように構成されている、請求項４に記載の第１の下位分類器。
【請求項６】
前記加重入力モジュールが、
前記コントロールグループ信号を受信し、前記コントロールグループ信号に基づいて前記加重入力信号を調節するように、又は比較モジュールの刺激感度に影響を及ぼすように構成された可変抵抗器又は可変電流若しくは電圧調整器を含む、
請求項５に記載の第１の下位分類器。
【請求項７】
前記比較モジュールからの前記第１の出力信号を受信し記憶し、前記第１の出力信号を第２の下位分類器に与えるように構成されたメモリモジュール
を更に含む、請求項１〜６の何れか一項に記載の第１の下位分類器。
【請求項８】
１つ又は複数のクロックサイクル中に１つ又は複数の入力信号を処理するように構成された分類器システムであって、
複数の下位分類器であって、前記複数の下位分類器のそれぞれは、
加重入力信号を生成するためにそれぞれのクロックサイクルについてそれぞれの入力信号に重みを適用するように構成された加重入力モジュール、及び
前記加重入力モジュールに結合された比較モジュールであって、
比較モジュールの入力ラインにおける前記加重入力信号を受信し、
比較モジュールの出力ラインにおける出力信号を生成する
ように構成され、
前記加重入力信号が下のウィンドウ範囲値と上のウィンドウ範囲値との間の値を有するかどうかを判定し、
前記加重入力信号が前記下のウィンドウ範囲値と前記上のウィンドウ範囲値との間の値を有すると判定することに応答して、前記比較モジュールの出力ラインにおいて所定の出力閾値を上回る値を有するように第１の出力信号を設定し、
前記加重入力信号が前記下のウィンドウ範囲値と前記上のウィンドウ範囲値との間ではない値を有すると判定することに応答して、前記比較モジュールの出力ラインにおいて前記所定の出力閾値を下回る値を有するように前記第１の出力信号を設定する
ように更に構成されている、比較モジュール
を含む、複数の下位分類器と、
前記複数の下位分類器に結合されたマスタ分類器であって、
前記１つ又は複数のクロックサイクル中に前記複数の下位分類器のそれぞれから前記個々の出力信号のそれぞれを受信し、
前記所定の出力閾値を上回る値を有するそれぞれの出力信号を生成する前記複数の下位分類器の部分集合に基づいて分類器応答を決定する
ように構成されている、マスタ分類器と
を含む、分類器システム。
【請求項９】
前記下位分類器のそれぞれが、他の任意の下位分類器の他の任意の個々のウィンドウ範囲と重複しない、前記下のウィンドウ範囲値と前記上のウィンドウ範囲値との間のそれぞれのウィンドウ範囲を有する、請求項８に記載の分類器システム。
【請求項１０】
前記複数の下位分類器に結合されたマルチプレクサ
を更に含み、前記マルチプレクサは単一のクロックサイクル中に前記複数の下位分類器に前記入力信号の１つを与えるように構成されている、
請求項８又は９に記載の分類器システム。
【請求項１１】
第１の下位分類器を使用して入力信号を処理するための方法であって、前記第１の下位分類器が加重入力モジュール及び前記加重入力モジュールに結合された比較モジュールを含み、前記方法が、
前記加重入力モジュールにおいて前記入力信号に重みを適用して加重入力信号を生成すること、
比較モジュールの入力ラインにおける前記加重入力信号を前記比較モジュールにおいて受信すること、並びに
比較モジュールの出力ラインにおける第１の出力信号を前記比較モジュールにおいて生成することであって、
前記加重入力信号が下のウィンドウ範囲値と上のウィンドウ範囲値との間の値を有するかどうかを前記比較モジュールにおいて判定すること、
前記加重入力信号が前記下のウィンドウ範囲値と前記上のウィンドウ範囲値との間の値を有すると判定することに応答して、前記比較モジュールの出力ラインにおいて第１の値を有するように前記第１の出力信号を前記比較モジュールにおいて設定すること、及び
前記加重入力信号が前記下のウィンドウ範囲値と前記上のウィンドウ範囲値との間ではない値を有すると判定することに応答して、前記比較モジュールの出力ラインにおいて前記第１の値と異なる第２の値を有するように前記第１の出力信号を前記比較モジュールにおいて設定すること
を含む、生成すること
を含む、方法。
【請求項１２】
前記比較モジュールが少なくとも１つの演算増幅器モジュールを含み、前記方法が、
前記少なくとも１つの演算増幅器モジュールにおいて前記加重入力信号を受信し、前記少なくとも１つの演算増幅器モジュールにおいて前記第１の出力信号を設定すること
を更に含む、請求項１１に記載の方法。
【請求項１３】
第２の下位分類器からの第２の出力信号を前記加重入力モジュールにおいて受信すること
を更に含む、請求項１１又は１２に記載の方法。
【請求項１４】
前記第１の下位分類器から第２の下位分類器に前記第１の出力信号を伝送すること
を更に含む、請求項１１〜１３の何れか一項に記載の方法。
【請求項１５】
前記加重入力モジュールにおいてコントロールグループ信号を受信すること、及び
前記加重入力モジュールにおいて、前記コントロールグループ信号に基づいて前記加重入力信号を生成するために前記入力信号に前記重みを適用すること
を更に含む、請求項１４に記載の方法。
【請求項１６】
前記加重入力モジュールが可変抵抗器モジュールを含み、前記方法が、
前記可変抵抗器モジュールにおいて前記コントロールグループ信号を受信し、前記コントロールグループ信号に基づいて前記加重入力信号を調節すること
を更に含む、請求項１５に記載の方法。
【請求項１７】
前記第１の下位分類器が前記比較モジュールに結合されたメモリモジュールを含み、前記方法が、
前記メモリモジュールにおいて前記比較モジュールからの前記第１の出力信号を受信し記憶し、前記第１の出力信号を第２の下位分類器に与えること
を更に含む、請求項１１〜１６の何れか一項に記載の方法。
【請求項１８】
分類器システムを使用して１つ又は複数のクロックサイクル中に１つ又は複数の入力信号を処理するための方法であって、前記分類器システムが複数の下位分類器及び前記複数の下位分類器に結合されたマスタ分類器を含み、前記複数の下位分類器が加重入力モジュール及び比較モジュールをそれぞれ含み、前記方法が、
各下位分類器において、
加重入力信号を生成するためにそれぞれのクロックサイクルについてそれぞれの入力信号に前記加重入力モジュールにおいて重みを適用すること、
比較モジュールの入力ラインにおける前記加重入力信号を前記比較モジュールにおいて受信すること、及び
比較モジュールの出力ラインにおける出力信号を前記比較モジュールにおいて生成することであって、
前記加重入力信号が下のウィンドウ範囲値と上のウィンドウ範囲値との間の値を有するかどうかを前記比較モジュールにおいて判定すること、
前記加重入力信号が前記下のウィンドウ範囲値と前記上のウィンドウ範囲値との間の値を有すると判定することに応答して、前記比較モジュールの出力ラインにおいて所定の出力閾値を上回る値を有するように出力信号を前記比較モジュールにおいて設定すること、及び
前記加重入力信号が前記下のウィンドウ範囲値と前記上のウィンドウ範囲値との間ではない値を有すると判定することに応答して、前記比較モジュールの出力ラインにおいて前記所定の出力閾値を下回る値を有するように前記出力信号を前記比較モジュールにおいて設定すること
を含む、生成すること、並びに
前記マスタ分類器において、
前記１つ又は複数のクロックサイクル中に前記複数の下位分類器のそれぞれから前記出力信号のそれぞれを受信すること、及び
前記所定の出力閾値を上回る値を有するそれぞれの出力信号を生成する前記複数の下位分類器の部分集合に基づいて分類器応答を決定すること
を含む、方法。
【請求項１９】
前記下位分類器のそれぞれが、他の任意の下位分類器の他の任意のそれぞれのウィンドウ範囲と重複しない、前記下のウィンドウ範囲値と前記上のウィンドウ範囲値との間のそれぞれのウィンドウ範囲を有する、請求項１８に記載の方法。
【請求項２０】
前記分類器システムが前記複数の下位分類器に結合されたマルチプレクサモジュールを含み、
前記マルチプレクサモジュールにおいて単一のクロックサイクル中に前記複数の下位分類器に前記入力信号の１つを与えること
を更に含む、請求項１８又は１９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
技術分野
[0002]  開示する実装形態は一般に人工知能に関し、より詳細には人工知能向けのパラレルニューラルプロセッサを実装するための方法、システム、及び装置に関する。
【背景技術】
【０００２】
背景
[0003]  人工知能（ＡＩ）応用は、ソフトウェア駆動型システム向けに及びソフトウェア駆動型システムとして従来から設計されてきた。かかるシステムでは、（ＡＩの「脳」内の「ニューロン」として働く）処理要素がハードウェアメモリ内の固定状態を占有するようにプログラムされる。それらのニューロンは、人工ニューラルネットワークを形成するように結合変数の代表値によって相互接続される。それらのニューロンの状態は、重み、バイアス、及び入力データを処理してバイナリ出力値（即ち０か１）を生成する活性化関数を使用して反復的に評価される。その結果生じるニューロンの状態はニューロンの出力状態としてメモリ内に記憶され、その後、人工ニューラルネットワーク内の接続されたニューロンのための入力として使用される。高いレベルにおいて、幾つかのニューロンの入力及び出力の状態が反復的に評価される。一部のシステムはニューロンの幾つかのブロックを同時に評価するためにマルチスレッディング及びマルチコアプロセッサを使用するが、システムは全体として性質上「シリアル」のままである。大規模なニューラルネットワークは、小規模なネットワークよりも複雑且つ多岐にわたる問題を解決する能力がある。しかし、大規模なニューラルネットワークは、より多くのコア数及び／又はより多くのスレッド数を有するマイクロプロセッサを必要とする。従ってＡＩ応用は、そうした従来のプロセッサの速度によって制限される。
【０００３】
[0004]  従来のハードウェアの制限を補償するために、ＡＩシステムは様々なショートカット及び境界条件を用いて巧みに設計されており、特定の問題集合に合わせて調整されている。境界条件は予め定められるので、それらのシステムは極めて特定的な応用に限定される。例えば、人間の顔を認識するように訓練されるＡＩシステムは麒麟の顔を認識するには効果的ではない可能性がある。
【０００４】
[0005]  従来のシステムは大きいオーバヘッドを生じさせ、コスト効率の良いやり方で複雑な問題集合に迅速に応答できず、人工意識を実現できるようになるには程遠い。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
概要
[0006]  従って、パラレルＡＩ処理向けに特別に設計された人工ニューラルネットワークを実装するためのより効率的且つ直感的な方法を有するシステム及び／又は装置が求められている。一部の実装形態では、開示するシステム、装置、及び方法が、（ａ）より複雑な問題集合を処理するのに必要なニューラル処理時間を大幅に短縮し、（ｂ）自己学習に必要な神経可塑性を実装し、（ｃ）直感の要素を吹き込むのに必要なexplicitメモリに加えてimplicitメモリの概念及び応用を導入するパラレルニューラル処理に関して、従来のシステム、装置、及び方法を補完し又は置換する。これらの特性を用いて、開示する発明の一部の実装形態は人間の意識又は認識をエミュレートできるようにする。
【課題を解決するための手段】
【０００６】
[0007]  （Ａ１）一態様では、一部の実装形態が入力信号を処理するように構成された第１の下位分類器を含む。第１の下位分類器は、入力信号に重みを適用して加重入力信号を生成するように構成された加重入力モジュールを含む。第１の下位分類器は、加重入力モジュールに結合された比較モジュールも含む。比較モジュールは、比較モジュールの入力ラインにおける加重入力信号を受信し、比較モジュールの出力ラインにおける第１の出力信号を生成するように構成されている。比較モジュールは、加重入力信号が下のウィンドウ範囲値と上のウィンドウ範囲値との間の値を有するかどうかを判定するように更に構成されている。加重入力信号が下のウィンドウ範囲値と上のウィンドウ範囲値との間の値を有すると判定することに応答して、比較モジュールは、比較モジュールの出力ラインにおいて第１の値を有するように第１の出力信号を設定するように構成されている。加重入力信号が下のウィンドウ範囲値と上のウィンドウ範囲値との間ではない値を有すると判定することに応答して、比較モジュールは、比較モジュールの出力ラインにおいて第１の値と異なる第２の値を有するように第１の出力信号を設定するように構成されている。
【０００７】
[0008]  （Ａ２）Ａ１の第１の下位分類器の一部の実装形態では、比較モジュールが、加重入力信号を受信し第１の出力信号を設定するように構成された少なくとも１つの演算増幅器を含む。
【０００８】
[0009]  （Ａ３）Ａ１の第１の下位分類器の一部の実装形態では、加重入力信号を生成するために入力信号に適用される重みが第２の下位分類器からの第２の出力信号に基づく。
【０００９】
[0010]  （Ａ４）Ａ１の第１の下位分類器の一部の実装形態では、第１の下位分類器からの第１の出力信号が第２の下位分類器に伝送される。
【００１０】
[0011]  （Ａ５）Ａ４の第１の下位分類器の一部の実装形態では、加重入力モジュールがコントロールグループ信号を受信し、コントロールグループ信号に基づいて加重入力信号を生成するために入力信号に重みを適用するように構成されている。
【００１１】
[0012]  （Ａ６）Ａ５の第１の下位分類器の一部の実装形態では、加重入力モジュールがコントロールグループ信号を受信し、コントロールグループ信号に基づいて加重入力信号を調節するように構成された可変抵抗器を含む。
【００１２】
[0013]  （Ａ７）Ａ１の第１の下位分類器の一部の実装形態では、第１の下位分類器が、比較モジュールからの第１の出力信号を受信し記憶し、第１の出力信号を第２の下位分類器に与えるように構成されたメモリモジュールを更に含む。
【００１３】
[0014]  （Ａ８）別の態様では、一部の実装形態が、１つ又は複数のクロックサイクル中に１つ又は複数の入力信号を処理するように構成された分類器システムを含む。分類器システムは複数の下位分類器を含む。複数の下位分類器のそれぞれは、加重入力信号を生成するためにそれぞれのクロックサイクルについてそれぞれの入力信号に重みを適用するように構成された加重入力モジュールを含む。複数の下位分類器のそれぞれは、加重入力モジュールに結合された比較モジュールも含む。比較モジュールは、比較モジュールの入力ラインにおける加重入力信号を受信し、比較モジュールの出力ラインにおける出力信号を生成するように構成されている。比較モジュールは、加重入力信号が下のウィンドウ範囲値と上のウィンドウ範囲値との間の値を有するかどうかを判定するように更に構成されている。加重入力信号が下のウィンドウ範囲値と上のウィンドウ範囲値との間の値を有すると判定することに応答して、比較モジュールは、比較モジュールの出力ラインにおいて所定の出力閾値を上回る値を有するように第１の出力信号を設定するように更に構成されている。加重入力信号が下のウィンドウ範囲値と上のウィンドウ範囲値との間ではない値を有すると判定することに応答して、比較モジュールは、比較モジュールの出力ラインにおいて所定の出力閾値を下回る値を有するように第１の出力信号を設定するように更に構成されている。分類器システムは、複数の下位分類器に結合されたマスタ分類器も含む。マスタ分類器は、１つ又は複数のクロックサイクル中に複数の下位分類器のそれぞれから個々の出力信号のそれぞれを受信し、所定の出力閾値を上回る値を有するそれぞれの出力信号を生成する複数の下位分類器の部分集合に基づいて分類器応答を決定するように構成されている。
【００１４】
[0015]  （Ａ９）（Ａ８）の分類器システムの一部の実装形態では、下位分類器のそれぞれが、他の任意の下位分類器の他の任意の個々のウィンドウ範囲と重複しない、下のウィンドウ範囲値と上のウィンドウ範囲値との間のそれぞれのウィンドウ範囲を有する。
【００１５】
[0016]  （Ａ１０）（Ａ８）の分類器システムの一部の実装形態では、分類器システムが複数の下位分類器に結合されたマルチプレクサを更に含み、マルチプレクサは単一のクロックサイクル中に複数の下位分類器に入力信号の１つを与えるように構成されている。
【００１６】
[0017]  （Ａ１１）別の態様では、一部の実装形態が、第１の下位分類器を使用して入力信号を処理するための方法を含む。第１の下位分類器は、加重入力モジュール及び加重入力モジュールに結合された比較モジュールを含む。この方法は、加重入力モジュールにおいて入力信号に重みを適用して加重入力信号を生成することを含む。この方法は、比較モジュールの入力ラインにおける加重入力信号を比較モジュールにおいて受信することを更に含む。この方法は、比較モジュールの出力ラインにおける第１の出力信号を電気的プロセスによって比較モジュールにおいて生成することを更に含む。電気的プロセスは、加重入力信号が下のウィンドウ範囲値と上のウィンドウ範囲値との間の値を有するかどうかを比較モジュールにおいて判定することを含む一連のステップとしてナショナライズ（nationalize）することができる。加重入力信号が下のウィンドウ範囲値と上のウィンドウ範囲値との間の値を有すると判定することに応答して、一連のステップは、比較モジュールの出力ラインにおいて第１の値を有するように第１の出力信号を比較モジュールにおいて設定することを更に含む。加重入力信号が下のウィンドウ範囲値と上のウィンドウ範囲値との間ではない値を有すると判定することに応答して、一連のステップは、比較モジュールの出力ラインにおいて第１の値と異なる第２の値を有するように第１の出力信号を比較モジュールにおいて設定することを更に含む。
【００１７】
[0018]  （Ａ１２）（Ａ１１）の方法の一部の実装形態では、比較モジュールが少なくとも１つの演算増幅器モジュールを含み、この方法が、少なくとも１つの演算増幅器モジュールにおいて加重入力信号を受信し、少なくとも１つの演算増幅器モジュールにおいて第１の出力信号を設定することを更に含む。
【００１８】
[0019]  （Ａ１３）（Ａ１１）の方法の一部の実装形態では、この方法が、第２の下位分類器からの第２の出力信号を加重入力モジュールにおいて受信することを更に含む。
【００１９】
[0020]  （Ａ１４）（Ａ１１）の方法の一部の実装形態では、この方法が、第１の下位分類器から第２の下位分類器に第１の出力信号を伝送することを更に含む。
【００２０】
[0021]  （Ａ１５）（Ａ１４）の方法の一部の実装形態では、この方法が、加重入力モジュールにおいてコントロールグループ信号を受信すること、及び加重入力モジュールにおいて、コントロールグループ信号に基づいて加重入力信号を生成するために入力信号に重みを適用することを更に含む。
【００２１】
[0022]  （Ａ１６）（Ａ１５）の方法の一部の実装形態では、加重入力モジュールが電流フロー又は電圧コントローラ（可変抵抗器モジュール、抵抗ラダー、抵抗回路網、又は電流フローを制御するための回路）を含み、この方法が、可変抵抗器モジュールにおいてコントロールグループ信号を受信し、コントロールグループ信号に基づいて加重入力信号を調節することを更に含む。
【００２２】
[0023]  （Ａ１７）（Ａ１３）の方法の一部の実装形態では、第１の下位分類器が比較モジュールに結合されたメモリモジュールを含み、この方法が、メモリモジュールにおいて比較モジュールからの第１の出力信号を受信し記憶し、第１の出力信号を第２の下位分類器に与えることを更に含む。
【００２３】
[0024]  （Ａ１８）更に別の態様では、一部の実装形態は、分類器システムを使用して１つ又は複数のクロックサイクル中に１つ又は複数の入力信号を処理するための方法を含む。分類器システムは、複数の下位分類器及び複数の下位分類器に結合されたマスタ分類器を含み、複数の下位分類器は加重入力モジュール及び比較モジュールをそれぞれ含む。この方法は、各下位分類器において、加重入力信号を生成するためにそれぞれのクロックサイクルについてそれぞれの入力信号に加重入力モジュールにおいて重みを適用すること、比較モジュールの入力ラインにおける加重入力信号を比較モジュールにおいて受信すること、及び比較モジュールの出力ラインにおける出力信号を電気的プロセスによって比較モジュールにおいて生成することを含む。このプロセスは、加重入力信号が下のウィンドウ範囲値と上のウィンドウ範囲値との間の値を有するかどうかを比較モジュールにおいて判定することを含む一連のステップとしてナショナライズすることができる。加重入力信号が下のウィンドウ範囲値と上のウィンドウ範囲値との間の値を有すると判定することに応答して、一連のステップは、比較モジュールの出力ラインにおいて所定の出力閾値を上回る値を有するように出力信号を比較モジュールにおいて設定することを更に含む。加重入力信号が下のウィンドウ範囲値と上のウィンドウ範囲値との間ではない値を有すると判定することに応答して、一連のステップは、比較モジュールの出力ラインにおいて所定の出力閾値を下回る値を有するように出力信号を比較モジュールにおいて設定することを更に含む。この方法はマスタ分類器において、１つ又は複数のクロックサイクル中に複数の下位分類器のそれぞれから出力信号のそれぞれを受信すること、及び所定の出力閾値を上回る値を有するそれぞれの出力信号を生成する複数の下位分類器の部分集合に基づいて分類器応答を決定することを更に含む。
【００２４】
[0025]  （Ａ１９）（Ａ１８）の方法の一部の実装形態では、下位分類器のそれぞれが、他の任意の下位分類器の他の任意の個々のウィンドウ範囲と重複しない、下のウィンドウ範囲値と上のウィンドウ範囲値との間のそれぞれのウィンドウ範囲を有する。
【００２５】
[0026]  （Ａ２０）（Ａ１８）の方法の一部の実装形態では、分類器システムが複数の下位分類器に結合されたマルチプレクサモジュールを含み、この方法は、マルチプレクサモジュールにおいて単一のクロックサイクル中に複数の下位分類器に入力信号の１つを与えることを更に含む。
【００２６】
図面の簡単な説明
[0027]  記載する様々な実装形態をより良く理解するために下記の図面に関連して以下の実装形態の説明を参照すべきであり、下記の図面では図面の全体を通して同様の参照番号が対応する部分を指す。
【図面の簡単な説明】
【００２７】
【図１Ａ】[0028]一部の実装形態による、パラレルニューラル処理（ＰＮＰ）ＡＩプロセッサを有するシステムアーキテクチャの一例を示すブロック図である。
【図１Ｂ】[0028]一部の実装形態による、パラレルニューラル処理（ＰＮＰ）ＡＩプロセッサを有するシステムアーキテクチャの一例を示すブロック図である。
【図２Ａ】[0029]一部の実装形態による、ＰＮＰ  ＡＩプロセッサのコンポーネントであるアナログウィンドウコンパレータを示す。
【図２Ｂ】[0029]一部の実装形態による、非反転ウィンドウコンパレータを示す。
【図３】[0030]一部の実装形態による、ニューラルネットワーク内の一連のウィンドウコンパレータ回路を示す。
【図４】[0031]一部の実装形態による、データフロー制御段階を有する相互接続されたニューラルネットワーク内の一連のウィンドウコンパレータを示す。
【図５】[0032]一部の実装形態による、ニューラルネットワークの神経可塑性及び挙動を制御するためのコントロールグループ（ＣＧ：control group）が追加された図４の一連のウィンドウコンパレータを示す。
【図６】[0033]一部の実装形態による、ＣＧ及びニューラルネットワークによってアドレス指定可能なimplicitメモリブロックが追加された図５の一連のウィンドウコンパレータを示す。
【図７】[0034]一部の実装形態による、図１Ａ又は図１Ｂのパラレルニューラルプロセッサを有する代表的なシステム７００を示すブロック図である。
【図８Ａ】[0035]一部の実装形態による、加重入力モジュール及び加重入力モジュールに結合された比較モジュールを含む下位分類器を使用して入力信号を処理する方法の流れ図の表現を示す。
【図８Ｂ】[0035]一部の実装形態による、加重入力モジュール及び加重入力モジュールに結合された比較モジュールを含む下位分類器を使用して入力信号を処理する方法の流れ図の表現を示す。
【図８Ｃ】[0035]一部の実装形態による、加重入力モジュール及び加重入力モジュールに結合された比較モジュールを含む下位分類器を使用して入力信号を処理する方法の流れ図の表現を示す。
【図８Ｄ】[0035]一部の実装形態による、加重入力モジュール及び加重入力モジュールに結合された比較モジュールを含む下位分類器を使用して入力信号を処理する方法の流れ図の表現を示す。
【図９Ａ】[0036]一部の実装形態による、分類器を使用して１つ又は複数のクロックサイクル中に１つ又は複数の入力信号を処理する方法の流れ図の表現を示し、分類器は複数の下位分類器及び複数の下位分類器に結合されたマスタ分類器を含み、複数の下位分類器は加重入力モジュール及び比較モジュールをそれぞれ含む。
【図９Ｂ】[0036]一部の実装形態による、分類器を使用して１つ又は複数のクロックサイクル中に１つ又は複数の入力信号を処理する方法の流れ図の表現を示し、分類器は複数の下位分類器及び複数の下位分類器に結合されたマスタ分類器を含み、複数の下位分類器は加重入力モジュール及び比較モジュールをそれぞれ含む。
【図９Ｃ】[0036]一部の実装形態による、分類器を使用して１つ又は複数のクロックサイクル中に１つ又は複数の入力信号を処理する方法の流れ図の表現を示し、分類器は複数の下位分類器及び複数の下位分類器に結合されたマスタ分類器を含み、複数の下位分類器は加重入力モジュール及び比較モジュールをそれぞれ含む。
【図９Ｄ】[0036]一部の実装形態による、分類器を使用して１つ又は複数のクロックサイクル中に１つ又は複数の入力信号を処理する方法の流れ図の表現を示し、分類器は複数の下位分類器及び複数の下位分類器に結合されたマスタ分類器を含み、複数の下位分類器は加重入力モジュール及び比較モジュールをそれぞれ含む。
【図９Ｅ】[0036]一部の実装形態による、分類器を使用して１つ又は複数のクロックサイクル中に１つ又は複数の入力信号を処理する方法の流れ図の表現を示し、分類器は複数の下位分類器及び複数の下位分類器に結合されたマスタ分類器を含み、複数の下位分類器は加重入力モジュール及び比較モジュールをそれぞれ含む。
【発明を実施するための形態】
【００２８】
実装形態の説明
[0037]  次に、添付図面にその例を示す実装形態を詳細に参照する。以下の詳細な説明では、説明する様々な実装形態の完全な理解を与えるために数多くの具体的詳細を記載する。但し、記載する様々な実装形態はそれらの具体的詳細なしに実践できることが当業者には明らかである。他の例では、実装形態の側面を無駄に不明瞭にしないために、よく知られている方法、手続き、コンポーネント、回路、及びネットワークについて詳しく説明していない。
【００２９】
[0038]  様々な要素を説明するために第１の、第２の等の用語を本明細書で場合によっては使用するが、これらの要素はこれらの用語によって限定されるべきではないことも理解されよう。これらの用語は、或る要素を別の要素と区別するために使用するに過ぎない。記載する様々な実装形態の範囲から逸脱することなしに、例えば第１の電子装置を第２の電子装置と呼ぶことができ、同様に第２の電子装置を第１の電子装置と呼ぶことができる。第１の電子装置及び第２の電子装置はどちらも電子装置だが、それらは必ずしも同じ電子装置ではない。
【００３０】
[0039]  本明細書で記載する様々な実装形態の説明の中で使用する用語は、特定の実装形態を説明するためのものに過ぎず、限定的であることは意図しない。記載する様々な実装形態の説明及び添付の特許請求の範囲の中で使用するとき、単数形「a」、「an」、及び「the」は、文脈に別段の指示がない限り複数形も含むことを意図する。本明細書で使用するとき「及び／又は」という用語は、列挙する関連アイテムの１つ又は複数の任意の及びあり得る全ての組合せを指し、包含することも理解されよう。「含む(includes)」、「含んでいる(including)」、「備える(comprises)」、及び／又は「備えている(comprising)」という用語は、本明細書で使用するとき、述べられた特徴、完全体、ステップ、操作、要素、及び／又はコンポーネントの存在を明示するが、１つ又は複数の他の特徴、完全体、ステップ、操作、要素、コンポーネント、及び／又はそれらのグループの存在若しくは追加を排除しないことが更に理解されよう。
【００３１】
[0040]  本明細書で使用するとき、「場合(if)」という用語は、文脈に応じて「とき(when)」、又は「すると(upon)」、又は「判定することに応答して(in response to determining)」、又は「検出することに応答して(in response to detecting)」、又は「〜という判定に従って(in accordance with a determination that)」を意味すると任意選択的に解釈される。同様に、「〜と判定される場合(if it is determined)」、又は「［述べられた条件又は事象］が検出される場合(if [a stated condition or event] is detected)」という表現は、文脈に応じて「判定すると(upon determining)」、又は「判定することに応答して(in response to determining)」、又は「［述べられた条件又は事象］を検出すると(upon detecting [the stated condition or event])」、又は「［述べられた条件又は事象］を検出することに応答して(in response to detecting [the stated condition or event])」、又は「［述べられた条件又は事象］が検出されたと判定することに従って(in accordance with a determination that [a stated condition or event] is detected)」を意味すると任意選択的に解釈される。
【００３２】
[0041]  図１Ａ及び図１Ｂは、一部の実装形態による、パラレルニューラル処理（ＰＮＰ）ＡＩプロセッサを有するシステムアーキテクチャの一例を示すブロック図である。図１Ａは、一部の実装形態による、ＰＮＰ  ＡＩプロセッサ１０２を評価システム１１６と統合するシステムアーキテクチャ１００の一例を示すブロック図であり、評価システム１１６は生データを処理し、ＡＩタスク（例えば画像認識、自然言語処理）をＰＮＰ  ＡＩプロセッサ１０２に伝送し、ＰＮＰ  ＡＩプロセッサ１０２の出力を評価する。評価システム１１６はＡＩタスクをＰＮＰ  ＡＩプロセッサ１０２に伝送し、システムが有意味の応答１１４と共に外部刺激１１２に素早く反応することを可能にする。この構成では、ＰＮＰ  ＡＩプロセッサ１０２がコプロセッサとして働き、評価システム１１６から受信される重大なタスクを実行する。一部の実装形態では、評価システム１１６が従来のマイクロプロセッサ、ソフトウェア、埋め込み又はモバイルアプリケーションを含む。図１Ｂは、ＰＮＰ  ＡＩプロセッサ１０２が入力刺激１１２に応答して独立に（図１Ａの評価システム１１６の支援なしに）動作し、入力刺激１１２を処理し、応答１１４を生成する、システムアーキテクチャ１２０の一例を示すブロック図である。この構成では、破線が示すようにＰＮＰ  ＡＩプロセッサ１０２が既存のマイクロプロセッサ、ソフトウェア、埋め込み又はモバイルアプリケーションを含む従来のシステムと共に動作することもできる。
【００３３】
[0042]  図１Ａに示すようにＰＮＰ  ＡＩプロセッサ１０２がコプロセッサとして働く場合、一部の実装形態によれば、評価システム１１６（本明細書ではプロセッササブシステムと呼ぶこともある）が外部入力装置からの生データ入力（本明細書では刺激と呼ぶこともある）を前処理し、その生データ入力をＰＮＰ  ＡＩプロセッサ１０２に送信する役割を担う。例えばプロセッササブシステムは、入力データをＰＮＰ  ＡＩプロセッサへの代表的な電圧レベル入力へと変換する。様々な実装形態において、かかる刺激はユーザ（例えばキーボード又はマウス）によって入力されるデータ、外部装置（例えばカメラ）から入力される画像又は映像入力、音声入力、センサ及び／又はモータからの感覚データを含む。この一覧は例示的であり網羅的であることは意図しない。例示として、システムアーキテクチャ１００によって制御される可動ロボットアームが外部の物理的制約（例えば壁に妨げられること）によって動きが取れなくなる場合、ロボットアーム内の１つ又は複数のセンサが（図６に関して以下で詳細に説明する）コントロールグループ（ＣＧ）モジュール１０８に影響を及ぼすシステムへのフィードバックを生成することができる。
【００３４】
[0043]  一部の実装形態によれば、図１Ａに示す評価システム１１６はＰＮＰ  ＡＩプロセッサと組み合わせて対話型インテリジェンスシステムを実装する。一部の実装形態では、評価システムが刺激に応答してＰＮＰ  ＡＩプロセッサ１０２（本明細書では分類器又は分類器システムと呼ぶこともある）から受信されるアクションの選択肢を一部の実装形態に従って１組の記憶済みの経験に照らして評価する。一部の実装形態では、評価システム１１６が１組の記憶済みの経験に基づいてアクションの選択肢の成功確率を分類し、ランキングが最も高いアクション（即ち成功確率が最も高いアクション）を返す。その後、一部の実装形態では、評価システム１１６が最も高いランキングの（刺激性、implicit、反射）アクションに対応するアクション応答を生成する（例えばロボットアームを動かすモータを始動する）。一部の実装形態では、評価システム１１６がメモリ１１０のＥＭＥＭ内に記憶されている経験データをメモリ１１０のＩＭＥＭ内に記憶されているデータと比較し、２つのデータ間に一致がある場合はアクションを生成する（評価、explicit、認知）。かかる一部の実装形態では、explicit応答とimplicit応答とが一致しない場合、評価システムが（図５に関して以下で説明する）ＣＧモジュール１０８内の１つ又は複数の因子又は変数を調節する（神経可塑性）。以下でより詳細に説明するように、ＣＧモジュール１０８の因子又は変数は、処理クロックサイクル中に利用されるニューロンの数並びにニューロンの学習率に影響を及ぼす。更に一部の実装形態では、刺激が成功裏のアクションを引き起こす場合、その後の処理ステップ内で更に使用するために成功裏のアクションを示す情報が（例えばメモリブロック１１０及び／又はＣＧモジュール１０８へのフィードバック信号によって）ＰＮＰ  ＡＩプロセッサにフィードバックされる。一部の実装形態では、刺激に対応して行われるアクションが更なる刺激を引き起こす。
【００３５】
[0044]  次にＰＮＰ  ＡＩプロセッサ１０２に注目する。図１Ａ及び図１Ｂに示すように、一部の実装形態ではＰＮＰ  ＡＩプロセッサ１０２が、ニューラルネットワークの１つ又は複数の層（例えばデータ入力又は刺激から情報を抽出するニューラルネットワークの情報層又は一次層１０４、及び／又は一次層１０４の情報出力から概念を抽出するニューラルネットワークの概念層又は二次層１０６）、コントロールグループ（ＣＧ）モジュール１０８、及び１つ又は複数のメモリブロック１１０（例えばimplicitメモリブロックＩＭＥＭ、explicitメモリブロックＥＭＥＭ）で構成されている。一部の実装形態では、ＣＧモジュール１０８及び／又はメモリブロック１１０が任意選択的なコンポーネントである。
【００３６】
[0045]  各層１０４、１０６は、複数の相互接続されたニューロン（本明細書では下位分類器とも呼ぶ）を含み得る。一部の実装形態では、構成可能なトポロジに基づいてニューロンが接続される。（図２〜図６に関して以下で詳細に説明する）ニューロンは、ニューラルネットワークの処理要素又はエンジンである。人工ニューラルネットワーク内でソフトウェアのニューロンが動作するやり方と同様に、パラレルニューラルプロセッサ１０２内のハードウェアのニューロンもデータを処理し分類する。しかしソフトウェアのニューロンと異なり、ハードウェアのニューロンは時として一度に何百万、何十億、更には何兆もの組で並列に動作する。一部の実装形態では、層内のニューロンのネットワークが段階単位で組織化され、段階内のニューロンの各組は所与のクロックサイクル中に並列に動作する。例えばニューロンの第１段階が入力に作用し、その後ニューロンの１つ又は複数の段階（隠れ層と呼ぶこともある）がニューロンの第１段階の出力を連続して処理し、最後にニューロンの出力段階にフィードする。一部の実装形態によれば、各段階は同じ入力に対して作用する段階内の全てのニューロンを完了するのに１クロックサイクルかかる。従って、これらの実装形態は完全にソフトウェアによって実装されるシステムと比較してより速い処理速度を実現する。一部の実装形態によれば、入力段階ではニューラルプロセッサにとって外部の又は内部のハードウェア（例えばマルチプレクサ）がニューラルネットワークの全体にわたって生データを供給し又は分散する。一部の実装形態では、評価システム１１６が生データ（例えば生データ１１２）を前処理し、処理済みの入力（例えば所定の電圧レベル）をＰＮＰ  ＡＩプリプロセッサに与える。一部の実装形態によれば、特定のデータセットに基づいてニューロンのネットワークが訓練されると、ニューロンの様々なグループが様々なデータセットについて活性化する。例えば、テニスボールの画像を表す入力データを受信することに応答して（第１の勝利ニューロンを有する）１組のニューロンが活性化する一方、花の画像を表す入力データを受信することに応答して（第２の勝利ニューロンを有する）別の１組のニューロンが活性化する。
【００３７】
[0046]  コントロールグループ（ＣＧ）モジュール１０８については、一部の実装形態に従って以下の図５及び図６に関して詳細に説明する。メモリブロック１１０については以下の図６に関して説明する。一部の実装形態に従い、ＰＮＰ  ＡＩプロセッサ１０２のモジュール間の様々な内部接続、及びＰＮＰ  ＡＩプロセッサ１０２からの外部接続を図１Ａの中の黒い実線によって示している。
【００３８】
[0047]  一部の実装形態では、入力刺激１１２は、評価システム１１６が生入力データを前処理する必要なしに、パラレルニューラルプロセッサ１０２内の１つ又は複数のニューラルネットワークに直接接続される。一部の実装形態では、ＰＮＰ  ＡＩプロセッサ１０２の出力が、介在する評価システム１１６なしに応答モジュール１１４に直接接続される。一部の実装形態では、刺激受信モジュール１１２及び／又は応答モジュール１１４がＰＮＰ  ＡＩプロセッサ内に統合され、即ちＰＮＰ  ＡＩプロセッサ１０２は外部のソフトウェア／ハードウェアなしに刺激（例えば何らかの種類の干渉）を受信し、及び／又は応答（例えばロボットアームを動かすこと）を生成することができる。
【００３９】
[0048]  ここで及び以下に記載する回路は、何百万、何十億、更には何兆ものニューロンを使用するニューラルネットワークのパラレルハードウェア実装を可能にする。そのように著しくパラレルなハードウェア実装は複雑な問題集合に対処するＡＩ実装を可能にする。
【００４０】
[0049]  一部の実装形態では、段階内で互いにフィードする多次元のニューロン層を作り出すために、ニューラルネットワークの様々なセクションが階層式に組織化される。例えば階層状のニューラルネットワークは、神経回路網が人間の目の中で組織化される方法と似ている。別の例としてニューラルネットワークが２つの層によって組織化され、ニューロンデータの第１の層（例えばニューロンの層１０４、図１Ａ及び図１Ｂ）は入力から情報を抽出し、ニューロンデータの第２の層（例えばニューロンの層１０６、図１Ａ及び図１Ｂ）は第１の層の出力に基づく概念を認識する。かかる一部の実装形態では、低レベルの情報（例えばパターンを含む生データ）から高レベルの概念を抽出し保持する能力により、ニューラルネットワークは新たな刺激（即ち訓練中に過去に認められなかったデータ）に対する応答を処理し生成する。例えば「聴覚は耳であるのに対して視覚は目である（感覚）」を接続されたより高い層内で抽出し、新たな無関連の且つまだ経験されていない味覚等の刺激中に適用できること等、上記の回路を使用するニューラルネットワークは関連する高レベルの概念を認識することができる。
【００４１】
[0050]  図２Ａは、一部の実装形態による、図１Ａ〜図１ＢのＰＮＰ  ＡＩプロセッサ１０２の下位分類器のコンポーネントであるアナログウィンドウコンパレータ（ＷＣ）２１６を示す。一部の実装形態では、マイクロプロセッサ、ランダムアクセスメモリ、オペレーティングシステム／埋め込みシステム、及びソフトウェアを使用することによって人工ニューロンをエミュレートする従来のニューラルネットワークと異なり、本明細書で開示するシステムがハードウェアの実装である。一部の実装形態によれば、図２Ａに示すようなＷＣ回路（本明細書ではコンパレータと呼ぶこともある）２１６がニューロンの基礎を形成する。一部の実装形態では、多岐にわたる基本電子コンポーネント（例えば接合トランジスタ、ＦＥＴ）を使用してＷＣ回路が構築される。一部の実装形態では、集積回路（例えば演算増幅器）を使用してＷＣ回路が構築される。図２Ａに示すように、一部の実装形態によればＷＣ回路は、その入力（ＩＷＣ２０６）に印加される電圧が低基準電圧（ＲＬ２０８）と高基準電圧（ＲＨ２１０）との間に含まれる場合は高ビット（１）を出力し（ＯＷＣ２１４）、入力（ＩＷＣ２０６）が高基準電圧及び低基準電圧の基準電圧の範囲外である場合は低ビット（０）を出力する（／ＯＷＣ２１２）。一部の実装形態では、単一のＷＣ回路が個々の「ハードウェアニューロン」を形成し、ハードウェアニューロンは入力電圧が或る範囲内に含まれる場合に「発火」（又は活性化）し、ソフトウェアアプリケーションによって実現される仮想ニューロンの応答と同様の全か無かの応答をもたらす。
【００４２】
[0051]  図２Ｂは、一部の実装形態による非反転ＷＣ２１８を示す。一部の実装形態では、ＷＣ２１８が図２ＡのＷＣ回路２１６とほぼ同じ機能を実行する。一部の実装形態では、ＷＣ２１８が２つの接続された演算増幅器（図２ＡのＯｐ−Ａｍｐ２０２及びＯｐ−Ａｍｐ２０４）を使用して形成される。
【００４３】
[0052]  一部の実装形態では、ＷＣ回路が入力条件に対して反転的又は非反転的であるように構成されている。簡単にするために、図２Ａ〜図２ＢではＷＣの非反転出力（ＯＷＣ２１４）だけを示す。本明細書で論じる例は限定ではなく例示として解釈すべきである。
【００４４】
[0053]  図３は、一部の実装形態による、ニューラルネットワーク（例えば図１Ａ〜図１Ｂの一次層１０４又は二次層１０６）内の一連のＷＣ回路（ＷＣ１，ＷＣ２，ＷＣ３，．．．，ＷＣＮ）を示す。一部の実装形態では、ソフトウェアニューロンがソフトウェアに基づく従来のニューラルネットワークを形成するやり方と同様に、一連のＷＣが相互接続されてニューラルネットワークを形成する。一部の実装形態によれば、ニューラルネットワークトポロジに基づいてＷＣが相互接続される。ニューラルネットワークトポロジは、ネットワークを形成するためにニューロンが接続される方法を表す。ニューラルネットワークトポロジは、ニューロンの接続によるニューロン間の関係と見なすこともできる。ＷＣは同じ入力刺激ＩＷＣ（３１８）にそれぞれ作用して対応する出力を生成することができる。
【００４５】
[0054]  一部の実装形態では、各ＷＣがウィンドウ電圧範囲（ＷＶＲ：Window Voltage Range）を有し、ＷＣは入力がＷＶＲの範囲内にある場合は第１の値を生成し、入力がＷＶＲの範囲外にある場合は第２の値を生成する。一部の実装形態では、ＷＶＲが低基準電圧と高基準電圧との差である。一部の実装形態では、各ＷＣが固有のＷＶＲを有する。例えば図３では、対応するＷＶＲが全て固有であるようにコンパレータＷＣ１の基準電圧（ＲＬ１３０２及びＲＨ１３０４）、コンパレータＷＣ２の基準電圧（ＲＬ２３０６及びＲＨ２３０８）、コンパレータＷＣ３の基準電圧（ＲＬ３３１０及びＲＨ３３１２）、及びコンパレータＷＣＮの基準電圧（ＲＬＮ３１４及びＲＨＮ３１６）がそれぞれ設定される。一部の実装形態ではＷＶＲが重複しない。一部の実装形態では、複数のＷＣが所与の刺激に応答するようにＷＶＲが重複する。例えば複数のＷＣの出力（例えばＯＷＣ１３２２、ＯＷＣ２３２４、ＯＷＣ３３２６、及びＯＷＣＮ３２８）が所与の入力刺激ＩＷＣ（３１８）に関して高値（１）に等しくあり得る。各ＷＣの基準電圧入力ＲＬ及びＲＨはＲＨ＞ＲＬとなるように電圧でロードされ、それにより各ＷＣのＷＶＲを作り出す。一部の実装形態によれば、各ＷＣが始動時に対応するＷＶＲで初期設定される。一部の実装形態では、各ＷＣがランダムＷＶＲで初期設定される。他の一部の実装形態では、ＷＶＲが全ニューラルネットワークにわたって一様勾配を形成するように各ＷＣがＷＶＲで初期設定される。
【００４６】
[0055]  図４は、一部の実装形態による、データフロー制御段階を有する相互接続されたニューラルネットワーク（例えば図１Ａ〜図１Ｂの一次層１０４又は二次層１０６）内の一連のＷＣを示す。第１段階（Ｓ１）は、データ入力段階又はシステムに刺激（例えば入力ＩＷＣ４０２）が入力される場所である。一部の実装形態では、入力データ電圧ＩＷＣに加えて電圧を導入することによってＷＣへの入力重みを制御するために重み電圧（ＷＶ：Weight Voltage）回路を使用する。様々な実装形態において、異なるＷＣの重み電圧（例えばＷＶ４０４、ＷＶ４０６、及びＷＶ４０８）を同じ電圧値又は異なる電圧値に設定することができる。一部の実装形態では、入力刺激を重み電圧と組み合わせるために、及び最終的な加重入力をそれぞれのＷＣに供給するために回路（本明細書では加重入力モジュールと呼ぶこともある）を使用する。例えば図４では、回路４４０がＷＣ４０４からの重み電圧を入力刺激ＩＷＣ４０２と組み合わせてコンパレータＷＣ１４５０に加重入力を供給し、回路４４２がＷＣ４０６からの重み電圧を入力刺激ＩＷＣ４０２と組み合わせてコンパレータＷＣ２４５２に加重入力を供給し、回路４４４がＷＣ４０８からの重み電圧を入力刺激ＩＷＣ４０２と組み合わせてコンパレータＷＣＮ４５４に加重入力を供給する。一部の実装形態では、下位分類器がコンパレータモジュールに結合された加重入力モジュールを含む。例えば図４では、コンパレータＷＣ１４５０が加重入力モジュール４４０に結合されており、コンパレータＷＣ２４５２が加重入力モジュール４４２に結合されており、コンパレータＷＣＮ４５４が加重入力モジュール４４４に結合されている。
【００４７】
[0056]  一部の実装形態によれば、一部のトポロジでは、ラッチ又は一時的なメモリセル（本明細書ではメモリモジュールと呼ぶこともある、例えばラッチ４１０、４１２、及び４１４）の第２段階（Ｓ２）回路がＷＣの出力（ＯＷＣ）を記憶する。様々なシーケンスを使用してデータを記憶するための様々なラッチング技法がある。例えば単純化されたシーケンスでは、ラッチが指定の期間にわたって一度に１つの刺激に対する応答を記憶する。より複雑なシーケンスでは、入力データがデータチャンクに分割され、ラッチが一度に１つのデータチャンクに対応する応答データを記憶する。
【００４８】
[0057]  一部の実装形態によれば、一部の実装形態では、ニューラルネットワークのトポロジ又は相互接続方法に基づいてそれぞれのＷＣの出力（ＯＷＣ）データが他のＷＣに入力される。一部の実装形態では、図４に示すように、段階３（Ｓ３）内のＷＣの入力段階のＷＶを調節するために、第２段階（Ｓ２）メモリラッチの後に配置されるニューラルネットワーク内の別の１組の回路（例えば回路４１６、４１８、及び４２０）が近傍のニューロン（ＷＣ）内に電圧をフィードバックする。一部の実装形態では、トポロジバスＯＮＮ（例えばトポロジバス４２２、４２４、又は４２６）によって示すように、ニューラルネットワーク内の１つ又は複数のニューロンからの追加の接続（例えば接続４２８、４３０、及び４３２）がＷＶ回路に適用される。一部の実装形態では、ラッチの第２段階（Ｓ２）回路なしに、現在のフィードバックがニューロンのネットワークを飽和させないように、及びニューロンがニューロンの出力に基づいてのみオンになるように、ニューロンを活性化するためのクロックサイクル又はパルス幅を設定することができる。
【００４９】
[0058]  図４ではトポロジバス（例えばバス４２２、４２４、及び４２６）を同じ名前ＯＮＮによって識別するが、様々な実装形態においてトポロジバスは異なるように構成され、例えばニューラルネットワークの様々な部分又は領域が局所トポロジに基づいて異なるように組織化され又は相互接続され得る。人間の脳が高度に特化した領域に分けられる方法と同様に、一部の実装形態では、人工頭脳を形成するためにそれ自体が相互接続される特定の機能（言語、視覚、聴覚等）について個々のトポロジを特化した状態で、（何百万更には何十億ものＷＣを有する）単一のシリコンウエハをニューラルネットワークの領域へと更に細分することができる。
【００５０】
[0059]  回路及びハードウェア接続の種類により、全てのＷＣを並列計算式に同時に処理し、完全にソフトウェアに基づくネットワークと比較して広範な応用も提供しながら著しい性能向上をもたらすことができる。例えば半導体ウエハ上に百万のＷＣがエッチされた状態で、百万以上のＷＣの全ての組を単一のクロックサイクル内で評価することができる。クロック周波数が２ＧＨｚだと仮定し、例えば百万以上のニューロン（ＷＣ）のニューラルネットワークの二十億以上の反復を１秒で評価することができる。
【００５１】
[0060]  ニューラルネットワークを構築するために図２〜図４に関して上記で説明したＷＣのネットワークがどのように使用されるのかを更に示すために、一部の実装形態による、一種の教師なし学習ネットワークである自己組織化マップ（ＳＯＭ）の構築例を検討されたい。ＳＯＭ内の自己組織化プロセスは初期設定、競争、協力、及び適応で構成されている。最初に全てのニューロンの重みベクトルを小さい乱数値で初期設定する。ＷＣハードウェアニューロンの場合、重み電圧（ＷＶ）を乱数値に初期設定する。ニューロンは、入力パターン（例えば画像内の全てのピクセル）ごとに判別関数のその個々の値を計算する。従来の仮想ニューロン内で概して使用される判別関数は、入力ベクトルとニューロンごとの相互接続重みベクトルとの間の平方ユークリッド距離である。ＷＣに基づくハードウェアニューロンでは、判別関数は入力電圧と重み電圧との間の平方ユークリッド距離であり得る。判別関数の最小値を有する特定のニューロンをデターミナントニューロン（determinant neuron）と見なす。ＷＣに基づくハードウェアニューラルネットワークでは、電圧閾値の初期構成及び関連する重みにもよるが、１つ又は複数のＷＣニューロンが入力パターンに応じたデターミナントニューロンであり得る。簡単にするために、例えば単一のデターミナントニューロンを検討されたい。デターミナントニューロンは、（例えば近傍内の重みを調節するために）協力する活性化済みのニューロンの近傍の空間位置をトポロジに基づいて決定する。１つのニューロンが活性化すると、その最も近い近傍が、より遠くに位置する近傍よりも強く影響を受けた応答を有する傾向がある。ＷＣに基づくハードウェアニューラルネットワークでは、デターミナントニューロンからの電圧出力がその近傍に接続されるので、出力が近傍の重み電圧に影響を及ぼす。影響を受けるニューロンは、関連する接続の重みを調節することにより、入力パターンに関して判別関数のその個々の値を更新する。ＷＣに基づくニューラルネットワークでは、重みが継続的に適応される。こうして、同様の入力パターンのその後の適用に対するデターミナントニューロンの応答が向上する。
【００５２】
[0061]  ＷＣに基づくニューラルネットワークの自己組織化プロセスを視覚化するやり方として、連続的な二次元入力空間内の１組のデータ入力が、１組のＷＣに基づくニューロン上にどのようにマップされるのかを検討されたい。ＷＣに基づくニューロンはトポロジに従って組織化され又は接続される（例えば全てのニューロンが他の全てのニューロンに接続される）。ＷＣに基づくニューロンはランダム割当（例えば電圧値）において開始することができ、重みがランダム初期値に又は勾配に従って初期設定される。ニューロンのそれぞれが、（例えばプリプロセッサによって）対応する電圧値に変換される第１の入力を読み取る。ニューロンの１つである「デターミナントニューロン」が高値出力で応答する。様々な構成において、複数のニューロンが入力に応答することができる。デターミナントニューロンはデータ入力に近づくと言われ、それはデターミナントニューロン及びその近傍に入力電圧に対して応答させるために、デターミナントニューロンの重みの初期値が入力電圧に応じて調節されるからである。近傍のニューロンも、より少ない量だがデータ入力に近づく。１つ又は複数のデターミナントニューロン及び／又は関連する近傍を選択するために全てのニューロンが各ステップにおいて同じ入力を得るので、このプロセスは並列である（即ちＷＣに基づくニューロンがそろって動作する）。このステップの終わりに重み（全てのＷＣに基づくニューロンの電圧値）が調節される。次に第２のデータ入力が訓練のために選択される。この第２のラウンドでは、第１の「デターミナントニューロン」と異なるニューロンがデターミナントである。新たなデターミナントニューロンの隣のニューロンが、より少ない量だけ第２のデータ入力に近づくことによって応答する。ここでもこのステップの終わりに重みが調節される。全てのニューロンの重みが安定状態に達する（例えばニューラルネットワーク内のニューロンの重み電圧において大きな変動がなくなる）まで、及び少なくとも全ての入力データが処理されるまでこのプロセスは続く。例えばこのプロセスは、所与のデータセットを使用して数回繰り返される。最終的に、ＷＣに基づくニューロンの全出力グリッドが入力空間を表す。
【００５３】
[0062]  図５は、ＣＧモジュール（不図示）からのＣＧ信号５０２が追加された（図４にあるのと同様の）一連のＷＣを示す。一部の実装形態によれば、ＣＧモジュールはニューラルネットワークの神経可塑性及び挙動を制御する。神経可塑性により、ニューラルネットワークは自己学習を行う。従来のネットワークはデータセットへの繰り返しの暴露によって訓練され、或る期間にわたって収束し、データセットを突き合わせて有意味の出力を生成するために接続の重みが調節される。訓練期間は学習率に依存する。一例として自己組織化マップ（ＳＯＭ）では、訓練期間が学習範囲又は訓練の影響を受けるニューロンの数にも依存する。学習範囲は、特定の入力について活性化するニューロンであるBest Matching Unit（ＢＭＵ）（本明細書では「デターミナントニューロン」と呼ぶこともある）からの距離を示す。これらのパラメータは、ニューラルネットワークが刺激に所望のやり方で応答するように完全に訓練されるまで徐々に低減される。しかし、初期訓練中に考慮されない任意の新たなデータセットは訓練されたニューラルネットワークの範囲から外れる。このことは神経可塑性を実現するニューラルネットワークの能力を限定し、ニューラルネットワークは新たなデータセットを扱うように再訓練する又は新たなデータに対応するように再設計する必要がある。
【００５４】
[0063]  従来のニューラルネットワークでのこうした限定に対処するために、図５に示すような一部の実装形態では、ＣＧ信号（例えば信号５０２）が入力刺激に対する応答を強化し又は抑制し、ニューロンの学習率及び／又は数を修正する。一部の実装形態では、ニューラルネットワークの挙動に影響を与えるようにＣＧ信号がニューラルネットワークに継続的に及び／又は断続的に適用される。かかる挙動の変化は、ニューラルネットワークが刺激に応じてどの程度注意深いか、緩やかか、及び／又は反応的かを含む。一部の実装形態では、ＣＧ信号がニューラルネットワークの焦点を特定の刺激に限定し、及び／又はニューラルネットワークの全体的な学習能力を限定する。ニューラルネットワークが刺激を処理しつつも、ＣＧ信号はこうして適応学習を実装する。一部の実装形態では複数のＣＧ変数を同時に使用し、複雑な挙動パターンをカバーする。一部の実装形態では、ＣＧ信号がＷＣニューロン群の局所的な挙動／可塑性及び／又は全体的な挙動／可塑性に影響を及ぼし得る。一部の実装形態では、ＣＧ信号が比較モジュールの感度に影響を及ぼし得る。一部の実装形態では、ＣＧ信号が加重モジュールの前に入力信号に影響を及ぼし得る。図５では、例えばＣＧ信号５０２がニューロン又はコンパレータＷＣ１、ＷＣ２、及びＷＣＮへの入力に影響を及ぼす。一部の実装形態では、ニューラルネットワークの挙動に影響を及ぼすために、ＷＣニューロンの異なる領域又は近傍に異なるＣＧ信号が適用される。
【００５５】
[0064]  一部の実装形態によれば、ＷＶ回路（例えばＷＶ５０４、ＷＶ５０６、ＷＶ５０８）がＣＧ信号（例えば信号５０２）を受信し、そのＣＧ信号に基づいてそれぞれのＷＣへの加重入力を調節する。様々な実装形態において、ＷＶ回路は、ＷＣによって入力刺激と比較される加重出力をＣＧ信号に応じて制御する電圧制御抵抗器（ＶＣＲ）及び／又は可変抵抗器（例えばポテンショメータ又はデジタルポテンショメータ、電界効果トランジスタ、抵抗ラダー、抵抗ブリッジ、抵抗回路網、接合トランジスタ、又は他の電流若しくは電圧制御回路）を使用して構築される。
【００５６】
[0065]  図６は、一部の実装形態による、図５のＣＧ信号を有する一連のＷＣ及び追加のメモリ６０４（本明細書ではImplicitメモリ（ＩＭＥＭ）と呼ぶこともある）を示す。ＩＭＥＭ６０４は、下位領域へのメモリポインタの高速のリダイレクトを可能にすることができ、及び／又は刺激に応答するのに必要なデータを含むメモリ領域のメモリアドレスを提供する。ＩＭＥＭ６０４により、（図１Ａ〜図１Ｂの）評価システム１１６は、特定のデータを評価し応答１１４を提供するために、大きいメモリ空間を読み取って所与の入力刺激に固有のデータを検索するのを回避する。
【００５７】
[0066]  一部の実装形態によれば、Implicitメモリは、例えば入力刺激が過去の経験に似ているだけでも（正確に一致しなくても）応答をトリガすることにより、刺激に対して直感的な応答を有するようにニューラルネットワークを向上させることができる。一部の実装形態によれば、ＩＭＥＭと比較し、explicitメモリブロック（例えばＥＭＥＭブロック６０６、６０８、及び６１０）は入力刺激に応答して取得される厳密なデータ（例えば過去の入力に対する過去の応答）を記憶するように構成され得る。例えばＰＮＰ  ＡＩプロセッサ１０２は、現在の入力を過去の入力（例えば人が部屋を訪れること又は映像若しくは画像を見ることと等価）と突き合わせることができ、過去に生成した仮想画像をＥＭＥＭから取得し、それを現在の入力と比較してマッチング応答を生成することができる。より詳細なデータはＥＭＥＭによってアクセス可能である一方、ＩＭＥＭはデータから抽出される情報及び概念の全般的なパターンを記憶し表す。
【００５８】
[0067]  一部の実装形態では、１組の１つ又は複数のメモリブロックとしてメモリ６０４を視覚化することができ、各メモリブロックは取得されるデータを表す。一部の実装形態によれば、メモリブロックはＩＭＥＭブロック並びにＥＭＥＭブロックの両方として言及され得る。一部の実装形態では、ＩＭＥＭは１つ又は複数のＷＣ出力（例えばニューラルネットワークのニューロンの所与のブロックからの出力）及び／又はＣＧ状態の組み合わせを使用してアドレス指定することができる。例えば図６では、ＩＭＥＭ６０４は（対応するＥＭＥＭブロック６０６、６０８、及び６１０にそれぞれ接続する信号６１８、６２０、及び６２２によって示す）制御信号６０２及び／又はＷＣ出力６１２、６１４、及び６１６によって直接アドレス指定することができる。かかる一部の実装形態では、ＣＧ信号が刺激に応答するためにアクセスされるメモリブロックのサイズ又はメモリブロックの数に影響を及ぼす。ＩＭＥＭブロックとは対照的に、ＥＭＥＭブロックはＷＣ出力によってアドレス指定される。一部の実装形態によれば、例えば接続ライン（例えばライン６１２、６１４、及び６１６）を使用して図６のＥＭＥＭブロックをアドレス指定する。
【００５９】
[0068]  図６に示すように、一部の実装形態によれば、様々なメモリブロック（例えばブロック６２４、６２６、及び６２８）からのデータが、入力刺激に応答するために（図１Ａ〜図１Ｂに示す）評価システム１１６によって使用される（例えば応答プロセスへの出力６２４、６２６、及び６２８）。
【００６０】
[0069]  より迅速なアクセスを得るためにキャッシュメモリアーキテクチャが過去に使用された及び／又は頻繁に使用される関数又はデータを記憶することによってメモリアクセスを改善するやり方と同様に、ＩＭＥＭアーキテクチャは刺激の親密度に基づいてメモリアクセスを改善する。例えばニューラルネットワークの出力をパターンマッチングして記憶場所を指定することに依拠する必要なしに、１つ又は複数のコントロールグループ信号を使用してメモリ内の１つ又は複数のオブジェクトに直接アクセスできるように、繰り返し観測される刺激はシステムにフィードバックを与えることができる。しかしキャッシュと異なり、ＩＭＥＭは追加の記憶域を必要とすることなしに又は反復型の検索の繰り返しを実行して正しい記憶場所をパーズし見つけることなしに、（例えばＣＧ及びＷＣ出力を使用する直接アクセスによって）メモリアクセスを改善する。
【００６１】
[0070]  図６は、それぞれのＥＭＥＭブロックが単一の下位分類器にのみ接続されているかのようにＥＭＥＭブロックを示す（例えばライン６１２は第１の下位分類器をＥＭＥＭブロック１に接続している）が、下位分類器は複数のＥＭＥＭブロックにアクセスすることができる。接続ライン（例えばライン６１２、６１４、及び６１６）は、コンパレータの出力によるＥＭＥＭブロックのアドレス指定能力を示すことを意図する。
【００６２】
[0071]  ブロック６３０によって示すように、一部の実装形態ではマスタ分類器が複数の下位分類器、ＩＭＥＭブロック、及び／又はＣＧ信号を含む。一部の実装形態では、マスタ分類器６３０が複数の下位分類器、ＩＭＥＭブロック、及び／又はＣＧ信号に結合された独立したモジュール（図６には不図示）である。かかる一部の実装形態では、マスタ分類器６３０が１つ又は複数のクロックサイクル中に（例えばメモリ６０４により）複数の下位分類器のそれぞれから個々の出力信号のそれぞれを受信し、所定の出力閾値を上回る値を有するそれぞれの出力信号を生成する複数の下位分類器の部分集合に基づいて分類器応答を決定する。
【００６３】
[0072]  図７は、一部の実装形態による、パラレルニューラルプロセッサ（例えばＰＮＰ  ＡＩプロセッサ１０２）を有する代表的なシステム７００を示すブロック図である。一部の実装形態では、システム７００（例えば図１Ａのシステムアーキテクチャ１００を有する任意の装置）が１つ又は複数の処理装置（例えばＣＰＵ、ＡＳＩＣ、ＦＰＧＡ、マイクロプロセッサ等）７０２、１つ又は複数の通信インタフェース７１４、メモリ７１８、外部センサ７０４、音声／映像入力７０６、及びそれらのコンポーネント（チップセットと呼ぶこともある）を相互接続するための１つ又は複数の通信バス７２０を含む。
【００６４】
[0073]  一部の実装形態では、システム７００がユーザインタフェース７０８を含む。一部の実装形態では、ユーザインタフェース７０８は、１つ若しくは複数のスピーカ及び／又は１つ若しくは複数の表示装置を含む、メディアコンテンツの提示を可能にする１つ又は複数の出力装置７１０を含む。一部の実装形態では、ユーザインタフェース７０８は、キーボード、マウス、音声コマンド入力ユニット又はマイクロホン、タッチスクリーンディスプレイ、タッチセンス入力パッド、ジェスチャ捕捉カメラ、又は他の入力ボタン若しくはコントロール等、ユーザ入力を助けるユーザインタフェースコンポーネントを含む１つ又は複数の入力装置７１２も含む。更に、一部のシステムはマイクロホンと音声認識、又はカメラとジェスチャ認識を使用してキーボードを補足し又は置換する。
【００６５】
[0074]  一部の実装形態では、システム７００が１つ又は複数の画像／映像捕捉又は音声／映像入力装置７０６（例えばカメラ、ビデオカメラ、スキャナ、光センサユニット）を含む。任意選択的に、システム７００はシステム装置７００の位置を突き止めるための位置検出装置（不図示）を含む。
【００６６】
[0075]  一部の実装形態では、システム７００が１つ又は複数の組込センサ７１８を含む。一部の実装形態では、組込センサ７１８が、例えば１つ又は複数の熱放射センサ、周囲温度センサ、湿度センサ、ＩＲセンサ、（例えばＲＦＩＤセンサを使用する）占有センサ、周囲光センサ、運動検出器、加速度計、及び／又はジャイロスコープを含む。
【００６７】
[0076]  一部の実装形態では、システム７００が１つ又は複数の外部センサ７０４を含む。一部の実装形態では、外部センサ７０４が、例えば１つ又は複数の熱放射センサ、周囲温度センサ、湿度センサ、ＩＲセンサ、（例えばＲＦＩＤセンサを使用する）占有センサ、周囲光センサ、運動検出器、加速度計、及び／又はジャイロスコープを含む。
【００６８】
[0077]  一部の実装形態によれば、システム７００は図１〜図６に関して上記で説明したＡＩタスクを実行する／オフロードするための１つ又は複数のパラレルニューラルプロセッサ７１６（例えば図１Ａ又は図１ＢのＰＮＰ  ＡＩプロセッサ１０２）を含む。
【００６９】
[0078]  通信インタフェース７２０は、例えば様々な特注の又は標準の無線プロトコル（例えばIEEE 802.15.4、Wi-Fi、ZigBee、6LoWPAN、Thread、Z-Wave、Bluetooth Smart、ISA100.11a、Wireless HART、MiWi等）の何れか及び／又は様々な特注の又は標準の有線プロトコル（Ethernet、Home Plug等）の何れか、又は本明細書の出願日にまだ開発されていない通信プロトコルを含む他の任意の適切な通信プロトコルを使用してデータ通信することができるハードウェアを含む。
【００７０】
[0079]  メモリ７２１は、ＤＲＡＭ、ＳＲＡＭ、ＤＤＲ  ＲＡＭ等の高速ランダムアクセスメモリ、又は他のランダムアクセスソリッドステートメモリ装置を含み、任意選択的に１つ又は複数の磁気ディスク記憶装置、１つ又は複数の光ディスク記憶装置、１つ又は複数のフラッシュメモリ装置、又は１つ又は複数の他の不揮発性ソリッドステート記憶装置等の不揮発性メモリを含む。メモリ７２１或いはメモリ７２１内の不揮発性メモリは非一時的コンピュータ可読記憶媒体を含む。一部の実装形態では、メモリ７２１又はメモリ７２１の非一時的コンピュータ可読記憶媒体が以下のプログラム、モジュール、及びデータ構造、又はその部分集合若しくは上位集合を記憶する：
・様々な基本システムサービスを処理するための及びハードウェアに依存するタスクを実行するための手続きを含む動作ロジック７２２、
・１つ又は複数の通信インタフェース７２０（有線又は無線）を介して１つ又は複数のネットワークに接続される、他のネットワーク装置（例えばインターネット接続を提供するルータ、ネットワーク化された記憶装置、ネットワークルーティング装置、サーバシステム等のネットワークインタフェース）に接続するための及びそれらと通信するための装置通信モジュール７２４、
・１つ又は複数の入力装置７１２からの１つ又は複数のユーザ入力又は対話を検出し、検出した入力又は対話を解釈するための入力処理モジュール７２６、
・１つ又は複数の装置（不図示）に関する設定、捕捉データ、及び／又は他のデータを構成し及び／又は閲覧することができるユーザインタフェースを提供し表示するためのユーザインタフェースモジュール７２８、
・装置を制御するために、及び装置が捕捉するデータ（例えばシステム７００及び／又は他のクライアント／電子装置に関する装置の状態及び設定、捕捉データ、又は他の情報）を確認するためにシステム７００が実行するための１つ又は複数のアプリケーションモジュール７３０、
・これだけに限定されないが、
〇１つ又は複数の入力装置７１２、外部センサ７０４、組込センサ７１８、及び／又は音声／映像入力７０６から、ＰＮＰ  ＡＩプロセッサ７１６によって処理されるデータを受信するためのデータ受信モジュール７３２０、
〇データ受信モジュール７３２０によって捕捉され又は受信されたデータを処理するための、及び処理済みデータをＰＮＰ  ＡＩプロセッサ７１６に向けて準備するための（例えば生データ入力から１組のベクトルを作成し、ベクトルをテーブルへと組織化し、及び／又は生データを電圧値に変換するための）及び送信する（例えば電流を加えることによってデータをロードする）ためのデータ前処理モジュール７３２２、
を含む、ＰＮＰ  ＡＩプロセッサ７１６のためのデータを前処理するための機能を提供するＰＮＰ前処理モジュール７３２、
・（例えば電圧値／閾値を設定する、ニューラルネットワークを初期設定する、並びに学習率及び進捗をモニタする）１つ又は複数のＰＮＰ  ＡＩプロセッサ７１６を訓練するために、ＰＮＰ前処理モジュール７３２及び／又は（以下に記載する）ＰＮＰフィードバック及び応答モジュール７３４と連携するＰＮＰ訓練モジュール７３４、並びに
・これだけに限定されないが、
〇ＰＮＰ  ＡＩプロセッサ７１６からデータを受信するための（例えばウィンドウコンパレータ回路の出力から電圧値を受信するための）データ受信モジュール７３６０、
〇ＰＮＰ  ＡＩプロセッサ７１６から受信されるデータを後処理するための（例えば電圧値又はニューラルネットワークの出力をシステムによる更なる処理に有用な別の形式に変換するための）データ後処理モジュール７３６２、
〇（例えば制御値を再調節するために）その出力に基づいて又はシステム内の他の装置からの入力（環境の変化を含む）に基づいてＰＮＰ  ＡＩプロセッサ７１６へのフィードバックを生成するためのフィードバックモジュール７３６４、及び
〇ＰＮＰ  ＡＩプロセッサの出力に基づいてシステム応答（例えばロボットアームを動かすこと、カメラの位置を変えること、又は警告を知らせること）を生成するための応答モジュール７３６６
を含む、ＰＮＰフィードバック及び応答モジュール７３４。
【００７１】
[0080]  上記で識別した要素のそれぞれは前に述べたメモリ装置の１つ又は複数の中に記憶することができ、上記の機能を実行するための１組の命令に対応する。様々な実装形態において、上記で識別したモジュール又はプログラム（即ち命令セット）は別個のソフトウェアプログラム、手続き、又はモジュールとして実装する必要はなく、従ってこれらのモジュールの様々な部分集合を組み合わせ又は他のやり方で再構成することができる。一部の実装形態では、メモリ６０６が、上記で識別したモジュール及びデータ構造の部分集合を任意選択的に記憶する。更にメモリ６０６は、上記で説明していない追加のモジュール及びデータ構造を任意選択的に記憶する。
【００７２】
[0081]  図８Ａ〜図８Ｄは、一部の実装形態による、加重入力モジュール及び加重入力モジュールに結合された比較モジュールを含む下位分類器を使用して入力信号を処理する（８０２）方法８００の流れ図の表現を示す。下位分類器については図４に関して上記で説明した。一部の実装形態では、比較モジュールが少なくとも１つの演算増幅器モジュール（例えば図２Ａ及び図２Ｂに関して上記で説明したアナログＷＣ）を含む（８０４）。第１の下位分類器が、加重入力モジュールにおいて入力信号に重みを適用して加重入力信号が生成された（８０６）。例えば図４では、加重入力モジュール４４０が入力信号４０２に重み４０４を適用してコンパレータＷＣ１４５０への加重入力信号を生成する。一部の実装形態では、加重入力モジュールが第２の下位分類器から第２の出力信号を受信する（８０８）。例えば図４では、加重入力モジュール４４２が他の下位分類器から（例えばメモリラッチ４１０からの下位分類器出力から）出力信号４１８を受信する。
【００７３】
[0082]  この方法８００は、比較モジュールの入力ラインにおける加重入力信号を比較モジュールにおいて受信すること（８１０）を更に含む。例えば図４では、加重入力モジュール４４０をコンパレータＷＣ１４５０と接続するように示すライン上で、コンパレータ４５０がモジュール４４０から加重入力信号を受信する。一部の実装形態では、比較モジュールが少なくとも１つの演算増幅器モジュールを含み（８０４に関して上記で説明した）、加重入力信号を受信することが、少なくとも１つの演算増幅器モジュールにおいて加重入力信号を受信すること（８１２）を含む。
【００７４】
[0083]  一部の実装形態によれば、図８Ｂに示すように方法８００は、比較モジュールの出力ラインにおける第１の出力信号を比較モジュールにおいて生成すること（８１４）を更に含む。例えば図４では、コンパレータＷＣ１４５０をメモリラッチ４１０と接続するライン上の出力信号Ｏ１ＷＣをコンパレータＷＣ１４５０が生成する。第１の出力信号を生成すること（８１４）は、加重入力信号が下のウィンドウ範囲値と上のウィンドウ範囲値との間の値を有するかどうかを比較モジュールにおいて判定すること（８１６）を含む。比較の操作については、一部の実装形態に従って図２Ａ、図２Ｂ、図３、及び図４に関して上記で説明した。例えば図２Ａでは、Ｏｐ−Ａｍｐ２０２及びＯｐ−Ａｍｐ２０４は、入力電圧ＩＷＣ２０６が低電圧閾値ＲＬ２０８と高電圧閾値ＲＨ２１０との間にあるかどうかを判定する。第１の出力信号を生成すること（８１４）は、加重入力信号が下のウィンドウ範囲値と上のウィンドウ範囲値との間の値を有すると判定することに応答して、比較モジュールの出力ラインにおいて第１の値を有するように第１の出力信号を比較モジュールにおいて設定すること（８１８）を更に含む。例えば図２Ａでは、入力電圧ＩＷＣ２０６が低電圧閾値ＲＬ２０８と高電圧閾値ＲＨ２１０との間にある場合、Ｏｐ−Ａｍｐ２０４が出力ＯＷＣを設定する。別の例として図４では、入力電圧ＩＷＣ４０２が低電圧閾値ＲＬ１と高電圧閾値ＲＨ１との間にある場合、コンパレータＷＣ１（４５０）がコンパレータをメモリラッチ４１０と接続するラインにおいて出力Ｏ１ＷＣを（高電圧値に）設定する。第１の出力信号を生成すること（８１４）は、加重入力信号が下のウィンドウ範囲値と上のウィンドウ範囲値との間ではない値を有すると判定することに応答して、比較モジュールの出力ラインにおいて第１の値と異なる第２の値を有するように第１の出力信号を比較モジュールにおいて設定すること（８２０）を更に含む。例えば図２Ａでは、入力電圧ＩＷＣ２０６が低電圧閾値ＲＬ２０８と高電圧閾値ＲＨ２１０との間にない場合、Ｏｐ−Ａｍｐ２０２が出力／ＯＷＣを設定する。別の例として図４では、入力電圧ＩＷＣ４０２が低電圧閾値ＲＬ１と高電圧閾値ＲＨ１との間にある場合、コンパレータＷＣ１（４５０）がコンパレータをメモリラッチ４１０と接続するラインにおいて出力Ｏ１ＷＣを（低電圧値に）設定する。一部の実装形態では、比較モジュールが（例えば図２Ａで説明した）少なくとも１つの演算増幅器を含み、第１の出力信号を生成すること（８１４）が、少なくとも１つの演算増幅器モジュールにおいて第１の出力信号を設定すること（８２２）を更に含む。
【００７５】
[0084]  一部の実装形態では、方法８００が、図８Ｃに示すように第１の下位分類器から第２の下位分類器に第１の出力信号を伝送すること（８２４）を更に含む。例えば図４では、メモリラッチ４１０内にラッチされるコンパレータＷＣ１４５０からの出力信号が、コンパレータＷＣ２４５２及び加重入力モジュール４４２を含む第２の下位分類器に伝送される（破線として示す、入力４１８）。
【００７６】
[0085]  一部の実装形態では、方法８００が、加重入力モジュールにおいてコントロールグループ信号を受信すること（８２６）を更に含む。かかる一部の実装形態では、加重入力モジュールが可変抵抗器モジュールを含み、この方法が可変抵抗器モジュールにおいてコントロールグループ信号を受信し（８２８）、コントロールグループ信号に基づいて加重入力信号を調節することを含む。一部の実装形態では、方法８００が加重入力モジュールにおいてコントロールグループ信号に基づいて加重入力信号を生成するために入力信号に重みを適用すること（８３０）を含む。コントロールグループ信号を受信し処理することについては図５に関して上記で説明した。例えば図５では、対応する加重入力モジュールによって消費される前に、コントロールグループ信号５０２が適用され、回路５０４、５０６、５０８内の重み値を調節する。
【００７７】
[0086]  一部の実装形態では、図８Ｄに示すように、第１の下位分類器が比較モジュールに結合されたメモリモジュールを含む（８３２）。一部の実装形態では、メモリラッチ、コンパレータ、及び加重入力モジュールが下位分類器を含む。かかる一部の実装形態では、第１の下位分類器が比較モジュールからの第１の出力信号をメモリモジュールにおいて受信し記憶し（８３４）、第１の出力信号を第２の下位分類器に与える。例えば図４では、一部の実装形態に従ってメモリラッチ４１０がコンパレータＷＣ１（４５０）に結合され、メモリラッチ４１２がコンパレータＷＣ２（４５２）に結合され、メモリラッチ４１４がコンパレータＷＣＮ（４５４）に結合されている。
【００７８】
[0087]  図９Ａ〜図９Ｅは、分類器システムを使用して１つ又は複数のクロックサイクル中に１つ又は複数の入力信号を処理する方法９００の流れ図の表現を示す。一部の実装形態によれば、分類器システムは複数の下位分類器及び複数の下位分類器に結合されたマスタ分類器を含み（９０２）、複数の下位分類器は加重入力モジュール及び比較モジュールをそれぞれ含む。複数の下位分類器に結合されたマスタ分類器の例については図６に関して上記で論じた。方法９００の一部の実装形態では、図９Ｂの９２０に示すように、下位分類器のそれぞれが、他の任意の下位分類器の他の任意の個々のウィンドウ範囲と重複しない、下のウィンドウ範囲値と上のウィンドウ範囲値との間のそれぞれのウィンドウ範囲を有する。例えば図３では、対応するＷＶＲが全て固有であるようにコンパレータＷＣ１の基準電圧（ＲＬ１３０２及びＲＨ１３０４）、コンパレータＷＣ２の基準電圧（ＲＬ２３０６及びＲＨ２３０８）、コンパレータＷＣ３の基準電圧（ＲＬ３３１０及びＲＨ３３１２）、及びコンパレータＷＣＮの基準電圧（ＲＬＮ３１４及びＲＨＮ３１６）がそれぞれ設定される。一部の実装形態ではＷＶＲが重複しない。方法９００の一部の実装形態では、図９Ｃの９２２に示すように、分類器システムが複数の下位分類器に結合されたマルチプレクサモジュールを含む。かかる一部の実装形態では、方法９００が、単一のクロックサイクル中に複数の下位分類器に入力信号の１つをマルチプレクサモジュールにおいて与えること（９２４）を含む。マルチプレクサ及び／又は前処理モジュールの例は図１Ａに関して上記で説明した。
【００７９】
[0088]  一部の実装形態では、方法９００が、各下位分類器において、加重入力信号を生成するためにそれぞれのクロックサイクルについてそれぞれの入力信号に加重入力モジュールにおいて重みを適用すること（９０８）を含む（９０６）。かかる一部の実装形態では、方法（９００）が、各下位分類器において、比較モジュールの入力ラインにおける加重入力信号を比較モジュールにおいて受信すること（９１０）を更に含む。かかる一部の実装形態では、方法（９００）が、比較モジュールの出力ラインにおける出力信号を比較モジュールにおいて生成すること（９１２）を更に含む。加重入力モジュールの一例については、一部の実装形態に従って図４に関して上記で説明した。
【００８０】
[0089]  一部の実装形態では、図９Ｄに示すように、出力信号を比較モジュールにおいて生成すること（９１２）は、加重入力信号が下のウィンドウ範囲値と上のウィンドウ範囲値との間の値を有するかどうかを比較モジュールにおいて判定すること（９２６）、加重入力信号が下のウィンドウ範囲値と上のウィンドウ範囲値との間の値を有すると判定することに応答して、比較モジュールの出力ラインにおいて所定の出力閾値を上回る値を有するように出力信号を比較モジュールにおいて設定すること（９２８）、及び加重入力信号が下のウィンドウ範囲値と上のウィンドウ範囲値との間ではない値を有すると判定することに応答して、比較モジュールの出力ラインにおいて所定の出力閾値を下回る値を有するように出力信号を比較モジュールにおいて設定すること（９３０）を含む。比較モジュールの動作については上記の図８Ｂに関して上記で説明しており、一部の実装形態によれば図９Ｄに示す操作に当てはまる。
【００８１】
[0090]  再び図９Ａを参照し、一部の実装形態では、方法９００がマスタ分類器において、１つ又は複数のクロックサイクル中に複数の下位分類器のそれぞれから出力信号のそれぞれを受信すること（９１６）を含む（９１４）。かかる一部の実装形態では、方法９００が、所定の出力閾値を上回る値を有するそれぞれの出力信号を生成する複数の下位分類器の部分集合に基づいて分類器応答をマスタ分類器において決定すること（９１８）を更に含む。
【００８２】
[0091]  方法９００の一部の実装形態では、分類器がマスタ分類器及び／又は複数の下位分類器に結合されたメモリブロックを含む（９３２）。かかる一部の実装形態では、この方法が、複数の下位分類器のそれぞれの加重入力モジュールにおいて（９３４）、コントロールグループ信号を受信すること（９３６）、及びコントロールグループ信号に基づいて加重入力信号を生成するために入力信号に重みを適用すること（９３８）を更に含む。この方法は、分類器の１つ又は複数の応答をメモリブロックにおいて記憶すること（９４０）を更に含み、メモリブロックは複数の下位分類器の１つ又は複数の下位分類器の出力信号及びコントロールグループ信号を使用してアドレス指定可能な１つ又は複数のメモリ下位ブロックを含む。この方法は、１つ又は複数のメモリ下位ブロックに基づいてマスタ分類器において分類器応答を決定すること（９４２）を更に含む。マスタ分類器の詳細については、一部の実装形態に従って図６に関して上記で論じた。更に図６に関する解説の中で示したように、一部の実装形態によれば、分類器応答を決定するためにＥＭＥＭブロックの出力（例えば出力６２４、６２６、及び６２８）を使用する。
【００８３】
[0092]  図８Ａ〜図８Ｄ及び図９Ａ〜図９Ｅの中の操作を記載した特定の順序は例に過ぎず、記載した順序は操作を実行可能な唯一の順序であることを示すことは意図しないことを理解すべきである。本明細書に記載の操作を並べ替える様々なやり方を当業者なら理解されよう。加えて、方法８００に関して記載した他のプロセスの詳細が、図９Ａ〜図９Ｅに関して上記で説明した方法９００にも類似のやり方で適用できることに留意すべきである。
【００８４】
[0093]  様々な図面の一部は幾つかの論理段階を特定の順序で示すが、順序に依存しない段階は順序を変更することができ、他の段階は組み合わせ又は引き離すことができる。幾つかの順序変更又は他のグループ化を具体的に言及したが、他のものも当業者にとって明白であり、そのため本明細書で示した順序付け及びグループ化は代替形態の網羅的な一覧ではない。更に、それらの段階はハードウェア、ファームウェア、ソフトウェア、又はその任意の組み合わせによって実装できることを理解すべきである。
【００８５】
[0094]  上記の説明は特定の実装形態に関して説明目的で記載した。但し上記の例示的な解説は、網羅的であることも、特許請求の範囲を開示した正確な形態に限定することも意図しない。上記の教示に照らして多くの修正及び改変が可能である。実装形態は、特許請求の範囲の根底を成す原理及びその実用的応用を最も良く説明し、それにより考えられる特定の用途に適した様々な修正と共に当業者が実装形態を最も上手く利用できるようにするように選んだ。
【図１Ａ】
2020533668.tif 000003
【図１Ｂ】
2020533668.tif 000004
【図２Ａ】
2020533668.tif 000005
【図２Ｂ】
2020533668.tif 000006
【図３】
2020533668.tif 000007
【図４】
2020533668.tif 000008
【図５】
2020533668.tif 000009
【図６】
2020533668.tif 000010
【図７】
2020533668.tif 000011
【図８Ａ】
2020533668.tif 000012
【図８Ｂ】
2020533668.tif 000013
【図８Ｃ】
2020533668.tif 000014
【図８Ｄ】
2020533668.tif 000015
【図９Ａ】
2020533668.tif 000016
【図９Ｂ】
2020533668.tif 000017
【図９Ｃ】
2020533668.tif 000018
【図９Ｄ】
2020533668.tif 000019
【図９Ｅ】
2020533668.tif 000020
【国際調査報告】
2020533668.tif 000021
2020533668.tif 000022