(57)【要約】  より効率的かつリソース集約度がより低いＣＮＮを実装するシステムおよび方法が本明細書に開示される。特に、サンプリングされたアナログ技術（ＳＡＴ）法を使用したアナログ領域におけるＣＮＮの応用が開示される。ＳＡＴを用いたＣＮＮ設計を使用すると、デジタル論理およびメモリを用いたＣＮＮ設計と比較して、消費電力が大幅に削減され、操作が高速になる。ＳＡＴを用いたＣＮＮ設計の消費電力がより低いことにより、非常に低い電力で特徴を検出するセンサデバイスを独立した操作のために使用することができる。
2019504400.tif 000002
【特許請求の範囲】
【請求項１】
サンプリングされたアナログ技術を使用した畳み込みニューラルネットワークであって、
第１および第２のアナログ入力データ点を含む入力源と、
前記第１のアナログ入力データ点を分析し、かつ第１のアナログ畳み込み出力を出力するための第１のセットのキャパシタと、
前記第２のアナログ入力データ点を分析し、かつ第２のアナログ畳み込み出力を出力するための第２のセットのキャパシタと、を備え、
前記第１および第２のアナログ畳み込み出力が、複数の特徴を各々含む、畳み込みニューラルネットワーク。
【請求項２】
可変容量構造のアレイを更に備え、前記第１および第２の出力が、前記可変容量構造のアレイを通って多重化されて多重化畳み込み出力を生成する、請求項１に記載の畳み込みニューラルネットワーク。
【請求項３】
前記第１および第２のセットのキャパシタが、固定キャパシタを含み、前記固定キャパシタが、アナログメモリセルである、請求項１に記載の畳み込みニューラルネットワーク。
【請求項４】
前記第１および第２のセットのキャパシタが、固定重みを有する可変容量セルである、請求項１に記載の畳み込みニューラルネットワーク。
【請求項５】
前記固定重みが、メモリキャパシタサイズを使用して実装され、前記メモリキャパシタサイズが、前記固定重みの重みに等しい、請求項４に記載の畳み込みニューラルネットワーク。
【請求項６】
前記第１のセットのキャパシタおよび前記第２のセットのキャパシタが、前記入力源によって駆動される、請求項１に記載の畳み込みニューラルネットワーク。
【請求項７】
電荷を有する第１の固定電圧源と、
第１のキャパシタデジタル−アナログ変換器（ｃａｐＤＡＣ）と、を更に備え、
前記第１の固定電圧源からの電荷が、前記第１のｃａｐＤＡＣによってサンプリングされて第１のバイアス値を生成し、
前記第１のバイアス値が、前記第１の出力に加えられる、請求項１に記載の畳み込みニューラルネットワーク。
【請求項８】
前記第１および第２のアナログ畳み込み出力に結合されたサブサンプラを更に備え、前記サブサンプラが、前記第１および第２のアナログ畳み込み出力を平均化して平均畳み込み出力を生成し、前記サブサンプラが、非線形伝達関数で前記平均畳み込み出力を処理する、請求項１に記載の畳み込みニューラルネットワーク。
【請求項９】
前記非線形伝達関数が、アナログ整流関数である、請求項８に記載の畳み込みニューラルネットワーク。
【請求項１０】
前記第１のアナログ畳み込み出力に結合されたサブサンプラを更に備え、
前記第１のアナログ畳み込み出力が、値のサブウィンドウを含み、
前記サブサンプラが、前記第１のアナログ畳み込み出力の値の前記サブウィンドウの最大値を判定するための、複数のアナログ電圧比較器を含む、請求項１に記載の畳み込みニューラルネットワーク。
【請求項１１】
サンプリングされたアナログ技術を使用してニューラルネットワークを実装するための方法であって、
第１および第２のアナログ入力データ点を含むアナログ入力データを受信することと、
第１のアナログ入力データ点を第１のセットのキャパシタで分析して、第１のアナログ畳み込み出力を生成することと、
第２のアナログ入力データ点を第２のセットのキャパシタで分析して、第２のアナログ畳み込み出力を生成することと、を含み、
前記第１および第２のアナログ畳み込み出力を生成することが、複数の特徴に対してアナログ畳み込み演算を実行することを含む、方法。
【請求項１２】
前記第１および第２のアナログ畳み込み出力を可変容量構造のアレイを通して多重化して、アナログ多重化畳み込み出力を生成することを更に含む、請求項１１に記載の方法。
【請求項１３】
前記第１および第２のセットのキャパシタが、可変容量セルであり、前記第１のセットのキャパシタが、第１の固定重みを有し、前記第２のセットのキャパシタが、第２の固定重みを有し、
前記第１のアナログ畳み込み出力を生成することが、前記第１の入力データ点に前記第１の固定重みを乗算することを含み、
前記第２のアナログ畳み込み出力を生成することが、前記第２の入力データ点に前記第２の固定重みを乗算することを含む、請求項１１に記載の方法。
【請求項１４】
第１のキャパシタデジタル−アナログ変換器を使用して、第１の固定電圧源からのスケールされた電荷をサンプリングすることによって、第１のバイアス値を生成することと、
前記第１のバイアス値を前記第１の出力に加えることと、を更に含む、請求項１１に記載の方法。
【請求項１５】
前記第１のアナログ畳み込み出力を、サブサンプラにおいて前記第２のアナログ畳み込み出力とともに平均化することを更に含む、請求項１１に記載の方法。
【請求項１６】
前記第１のアナログ畳み込み出力が、値のサブウィンドウを含み、前記値のサブウィンドウの最大値を判定することを更に含む、請求項１１に記載の方法。
【請求項１７】
サンプリングされたアナログ技術を使用した畳み込みニューラルネットワークであって、
アナログ入力データを含む入力と、
複数のセットのキャパシタであって、各セットのキャパシタが、前記アナログ入力データのそれぞれのサブウィンドウを分析し、かつ前記それぞれのサブウィンドウについてアナログ畳み込み出力を出力するように構成され、前記アナログ畳み込み出力が、複数の特徴を含む、複数のセットのキャパシタと、
前記アナログ畳み込み出力に結合されたアナログサブサンプラであって、前記アナログサブサンプラが、前記アナログ畳み込み出力の複数の特徴のうちの少なくとも１つのサイズを縮小するように構成されている、アナログサブサンプラと、を備える、畳み込みニューラルネットワーク。
【請求項１８】
前記複数のセットのキャパシタが、固定キャパシタを含み、前記固定キャパシタが、アナログメモリセルである、請求項１７に記載の畳み込みニューラルネットワーク。
【請求項１９】
前記複数のセットのキャパシタが、固定重みを有する可変容量セルを含む、請求項１７に記載の畳み込みニューラルネットワーク。
【請求項２０】
電荷を有する固定電圧源と、
キャパシタデジタル−アナログ変換器（ｃａｐＤＡＣ）と、を更に備え、
前記固定電圧源からの電荷が、前記ｃａｐＤＡＣによってサンプリングされてバイアス値を生成し、
前記バイアス値が、前記複数のセットのキャパシタのうちの１つからの出力に加えられる、請求項１７に記載の畳み込みニューラルネットワーク。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、Ｅｒｉｃ  Ｎｅｓｔｌｅｒらを発明者として挙げる「Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ」と題した、２０１５年１２月１５日に出願された米国特許出願第６２／２６７，８４７号、及び２０１６年１２月１４日に出願された第１５／３７９，１１４号の米国特許法第１２０条下の優先権の利益を主張するものである。先行出願の本開示は、本出願の本開示の一部として考慮され、参照により本出願の本開示に組み込まれる。
【０００２】
本発明は、ニューラルネットワークの分野に関し、特に、畳み込みニューラルネットワークに関する。
【背景技術】
【０００３】
ニューラルネットワークは、多数の入力に依存し得る近似関数を推定するために使用される数学的モデルである。畳み込みニューラルネットワークは、人工ニューロン（数学的関数）が入力フィールドの重畳領域に応答するようにタイル表示された、特徴検出に使用されるフィードフォワードニューラルネットワークの一種である。ニューラルネットワークは、計算的であり、かつリソース集約的である。
【発明の概要】
【０００４】
サンプリングされたアナログ技術を使用したニューラルネットワークが開示される。畳み込みニューラルネットワーク（ＣＮＮ）は、特徴検出に使用されるアルゴリズムおよび回路である。いくつかの実装では、特徴の検出または分析は、画像データ、音声データ、またはそのいくつかの特徴を検出するために洗練された分析を必要とする任意の他の複雑なデータ用であり得る。様々な実装によると、ＣＮＮは、入力データが高度に相関される局所変数を有するアレイの形態であり、シフト不変性を有する場合に有用であり得る。ＣＮＮアルゴリズムは、典型的には、デジタル論理およびメモリで実装される。しかしながら、ＣＮＮアルゴリズムをデジタル論理およびメモリで実装すると、リソースが浪費される。
【０００５】
より効率的かつリソース集約度がより低いＣＮＮを実装するシステムおよび方法が本明細書に開示される。特に、サンプリングされたアナログ技術（ＳＡＴ）法を使用したアナログ領域におけるＣＮＮの応用が開示されている。ＳＡＴを用いたＣＮＮ設計を使用すると、デジタル論理およびメモリを用いたＣＮＮ設計と比較して、消費電力が大幅に削減され、動作が高速になる。一例では、ＳＡＴを用いたＣＮＮ設計を使用すると、通常のデジタルＣＮＮ設計で使用する電力の１０倍未満の電力しか使用されない。一例では、ＳＡＴを用いたＣＮＮ設計を使用すると、１０倍以上の高速動作がもたらされる。ＳＡＴを使用したＣＮＮの動作がより高速である理由の１つは、アナログバージョンが、電荷共有の同時性に起因して、デジタルバージョンで多くのクロックサイクルを要する操作を単一のクロックサイクルで実行することができることである。ＳＡＴを用いたＣＮＮ設計の消費電力がより低いことにより、ＩＯＴ（モノのインターネット）デバイスなどを用いた独立した操作のために、非常に低い電力でも特徴を検出するセンサデバイスが可能になる。
【０００６】
一実装によれば、サンプリングされたアナログ技術を使用した畳み込みニューラルネットワークは、第１および第２のアナログ入力データ点を含む入力源と、第１のアナログ入力データ点を分析し、かつ第１のアナログ畳み込み出力を出力するための第１のセットのキャパシタと、第２のアナログ入力データ点を分析し、かつ第２のアナログ畳み込み出力を出力するための第２のセットのキャパシタと、を備える。第１および第２のアナログ畳み込み出力は、複数の特徴を各々含む。
【０００７】
いくつかの実装では、畳み込みニューラルネットワークは、可変容量構造のアレイを更に含み、第１および第２の畳み込み出力は、可変容量構造のアレイを通って多重化されて多重化された畳み込み出力を生成する。
【０００８】
いくつかの実装では、第１および第２のセットのキャパシタは固定キャパシタを含み、固定キャパシタは、アナログメモリセルである。いくつかの実装では、第１および第２のセットのキャパシタは、固定重みを有する可変容量性セルである。いくつかの例では、固定重みは、メモリキャパシタサイズを使用して実装され、メモリキャパシタサイズは、固定重みの重みに等しい。
【０００９】
いくつかの実装では、第１のセットのキャパシタおよび第２のセットのキャパシタは、入力源によって駆動される。
【００１０】
様々な実装では、畳み込みニューラルネットワークは、電荷を有する第１の固定電圧源と、第１のキャパシタデジタル−アナログ変換器（ｃａｐＤＡＣ）と、を更に含む。第１の固定電圧源からの電荷は、第１のｃａｐＤＡＣによってサンプリングされて第１のバイアス値を生成し、第１のバイアス値は第１の出力に加えられる。
【００１１】
いくつかの実装では、畳み込みニューラルネットワークは、第１および第２のアナログ畳み込み出力に結合されたサブサンプラを更に含み、サブサンプラは、第１および第２のアナログ畳み込み出力を平均化して平均畳み込み出力を生成し、サブサンプラは、非線形伝達関数で平均畳み込み出力を処理する。いくつかの例では、非線形伝達関数は、アナログ整流関数である。
【００１２】
いくつかの実装では、畳み込みニューラルネットワークは、第１のアナログ畳み込み出力に結合されたサブサンプラを更に含み、第１のアナログ畳み込み出力は、値のサブウィンドウを含み、サブサンプラは、第１のアナログ畳み込み出力の値のサブウィンドウの最大値を判定するための複数のアナログ電圧比較器を含む。
【００１３】
いくつかの例によれば、入力源は、複数のアナログ入力データ点を含み、複数のセットのキャパシタが使用され、各セットのキャパシタは、アナログ入力データ点のサブウィンドウを分析する。
【００１４】
一実装によれば、サンプリングされたアナログ技術を使用してニューラルネットワークを実装するための方法は、第１および第２のアナログ入力データ点を含むアナログ入力データを受信することと、第１のアナログ入力データ点を第１のセットのキャパシタで分析して第１のアナログ畳み込み出力を生成することと、第２のアナログ入力データ点を第２のセットのキャパシタで分析して第２のアナログ畳み込み出力を生成することと、を含み、第１および第２のアナログ畳み込み出力の生成は、複数の特徴についてアナログ畳み込み演算を実行することを含む。一例によれば、分析することは、畳み込み演算を実行することを含む。
【００１５】
いくつかの実装では、方法は、第１および第２のアナログ畳み込み出力を可変容量構造のアレイを通して多重化してアナログ多重化畳み込み出力を生成することを更に含む。
【００１６】
いくつかの実装では、第１および第２のセットのキャパシタは、可変容量セルであり、第１のセットのキャパシタは、第１の固定重みを有し、第２のセットのキャパシタは、第２の固定重みを有し、第１のアナログ畳み込み出力を生成することは、第１の入力データ点に第１の固定重みを乗算することを含み、第２のアナログ畳み込み出力を生成することは、第２の入力データ点に第２の固定重みを乗算することを含む。
【００１７】
いくつかの実装では、方法は、第１のキャパシタデジタル−アナログ変換器を使用して、第１の固定電圧源からのスケールされた電荷をサンプリングし、かつ第１のバイアス値を第１の出力に加えることによって、第１のバイアス値を生成することを含む。
【００１８】
いくつかの実装において、方法は、第１のアナログ畳み込み出力を、サブサンプラにおいて第２のアナログ畳み込み出力と平均化することを含む。いくつかの実装では、第１のアナログ畳み込み出力は、値のサブウィンドウを含み、方法は、値のサブウィンドウの最大値を判定することを含む。
【００１９】
一実装によれば、サンプリングされたアナログ技術を使用した畳み込みニューラルネットワークは、アナログ入力データを含む入力と、複数のセットのキャパシタと、アナログ入力データのそれぞれのサブウィンドウを分析し、かつそれぞれのサブウィンドウについてアナログ畳み込み出力を出力するように構成された各セットのキャパシタと、を備え、アナログ畳み込み出力は、複数の特徴と、アナログ畳み込み出力に結合されたアナログサブサンプラと、を含む。アナログサブサンプラは、アナログ畳み込み出力の複数の特徴のうちの少なくとも１つのサイズを縮小するように構成される。
【００２０】
いくつかの実装では、複数のセットのキャパシタは、それぞれの複数のアナログ畳み込み出力を出力し、複数のアナログサブサンプラは、複数のアナログ畳み込み出力に結合される。複数のアナログ畳み込み出力は、複数の特徴を各々含み、複数のアナログ畳み込み出力の各々は、それぞれのセットのキャパシタからの出力の畳み込みに基づいている。複数のアナログサブサンプラの各々は、それぞれのアナログ畳み込み出力の複数の特徴のうちの少なくとも１つのサイズを縮小するように構成される。
【００２１】
いくつかの実装では、セットのキャパシタは固定キャパシタを含み、固定キャパシタは、アナログメモリセルである。いくつかの実装では、セットのキャパシタは、固定重みを有する可変容量セルを含む。
【００２２】
一実装では、畳み込みニューラルネットワークは、電荷を有する固定電圧源と、キャパシタデジタル−アナログ変換器（ｃａｐＤＡＣ）と、を含む。固定電圧源からの電荷は、ｃａｐＤＡＣによってサンプリングされてバイアス値を生成し、バイアス値は、複数のセットのキャパシタのうちの１つからの出力に加えられる。
【図面の簡単な説明】
【００２３】
本開示ならびにその特徴および利点のより完全な理解を提供するために、同様の参照番号が同様の部分を表す添付の図面と併せて以下の説明を参照する。
【図１】畳み込みニューラルネットワークを示す図である。
【図２】本開示のいくつかの実施形態による、畳み込み多重化回路の実装を示す図である。
【図３】本開示のいくつかの実施形態による、別の畳み込み多重化回路の実装を示す図である。
【図４】本開示のいくつかの実施形態による、畳み込み回路を示す図である。
【図５】本開示のいくつかの実施形態による、非重畳サブサンプリングを示す図である。
【図６】本開示のいくつかの実施形態による、サブサンプリングのための回路を示す図である。
【図７】本開示のいくつかの実施形態による、非対称変換を示す図である。
【図８】本開示のいくつかの実施形態による、別の非対称変換を示す図である。
【図９】本開示のいくつかの実施形態による、対称非線形変換を示す図である。
【図１０】本開示のいくつかの実施形態による、非対称変換を示す図である。
【図１１】本開示のいくつかの実施形態による、サンプリングされたアナログ技術を使用してニューラルネットワークを実装するための方法を示すフロー図である。
【発明を実施するための形態】
【００２４】
サンプリングされたアナログ技術（ＳＡＴ）を使用した畳み込みニューラルネットワーク（ＣＮＮ）の計算のための電力およびレイテンシを低減するためのシステムおよび方法が提供される。様々な用途のために、ＣＮＮが使用される。例えば、ＣＮＮは、特徴認識に使用される。ＣＮＮは、複雑なデータのパターンまたは特徴を検出する非常に強力な方法である。
【００２５】
サンプリングされたアナログ技術信号処理は、電子スイッチおよびキャパシタ要素のみを使用して、キャパシタ間の電荷共有によってアナログ領域内で実行される。サンプリングされたアナログフィルタは、入ってくるアナログ信号を、まず信号をデジタル化することなく、フィルタする。サンプリングされたアナログ技術は、アナログ信号処理と組み合わせた別個の時間フィルタアーキテクチャを使用し、それによって、任意のデータ経路の定量化ノイズ問題およびアナログ−デジタルおよびデジタル−アナログ変換ステップを排除する。
【００２６】
畳み込みニューラルネットワーク
ＣＮＮ構造の多くの異なる形態が存在する。図１は、７つの層を有するディープニューラルネットワーク構造のブロック図を示す。これらの層は、サブサンプリング層と交互の畳み込み層を含む。各層は、計算集約的である。
【００２７】
図１に示すＣＮＮの各層は、入力画像画素データ１０２のＮ×Ｎサブウィンドウの畳み込みを含む。図１の第１の層１０４において、サブウィンドウは、ストライドあたり５×５画素である。したがって、各サブウィンドウは、画像データがスキャンされて畳み込まれるにつれて、最後のサブウィンドウから１画素だけシフトされる１２０。サブウィンドウは、Ｎおよびストライド値の選択によって、重畳していても重畳していなくてもよい。
【００２８】
第２の層１０６の第２の操作１２２は、サブサンプリング操作である。それは、各サブウィンドウの出力データを生成するために、非線形関数またはスカッシング関数が続く、２×２サブウィンドウ重み付け平均である。サブサンプリングの結果は、サブサンプリングが２×２ウィンドウを使用する場合、処理された画素データの１４×１４アレイである。結果として得られたサブサンプリングされたデータ１０６は、次いで、畳み込み演算１２４によって処理されて、畳み込み層である第３の層１０８が得られる。第３の層１０８からのデータはサブサンプリングされ１２６、サブサンプリング層である第４の層１１０が得られる。図１に示すように、畳み込み層とサブサンプリング層との間に交互に入れ替わる多くの層対が存在し得る。図１では、第４の層１１０上の完全な接続操作１２８は、畳み込み層である第５の層１１２をもたらす。一例では、第４の層１１０が第５の層１１２に完全に接続され、その結果、第４の層１１０の全ての出力が第５の層１１２の全ての入力に接続される。第４の層１１０の各出力は、個々の重みおよび非線形関数を介して、第５の層の入力に接続され得る。個々の重みは学習された重みであることに留意されたい。同様に、第５の層１１２に対する完全な接続操作は、第６の層１１４をもたらす。出力である第７の層１１６を生成するために、第６の層１１４に対してガウス接続操作が実行される。
【００２９】
他の実装では、第２の操作は、非線形関数およびそれに続くサブウィンドウ重み付け平均で始まる。他の実装では、非線形関数は畳み込み層の一部であり、その結果、畳み込み層の出力は非線形である。畳み込みおよびサブサンプリング層については、以下により詳細に説明する。
【００３０】
畳み込み層
一実装によれば、各畳み込みステップは、画像データのサブウィンドウを取り、訓練可能かつ独立した重みによって畳み込みへの各入力に重み付けする。一例では、各和に２５個のプログラム可能な重みが使用されている。同じ重みは、各特徴ごとに画像データの全てのサブウィンドウスキャンに使用される。更に、畳み込み和に訓練可能なバイアス重みが加えられる。
【００３１】
特徴は、入力データの個々の測定可能な特性である。例えば、特徴は、エッジ検出器およびカラーブロブ検出器を含むことができる。他の例では、特徴は、入力データセットおよびラベルに、固有のより細かい詳細に焦点を当てる。種々な用途において、特徴は、数値または構造であり得る。ニューラルネットワークは、入力データからの特徴を学習し、ニューラルネットワークの各層は、いくつかの特徴を入力データから抽出する。いくつかの実装では、追加の情報が、データから導出された特徴の形態で、ニューラルネットワークに提供される。
【００３２】
図１では、第１の畳み込み演算１２０からの畳み込み出力は、第１の層１０４において６個の特徴として示される。特徴の数は、用途によって異なる。各特徴は、画像データの畳み込みスキャンのためのプログラム可能な重みの独立したセットである。特定の特徴のデータの全ての畳み込み和に対して同じ重みが使用され、各特徴は、一意のセットの重みに関連付けられている。
【００３３】
各特徴の各畳み込みは、以下の式１．１に示されるような積の和として実装される。図１の例では、５×５サブウィンドウを使用すると、Ｎ＝２５であり、
【数１】
2019504400.tif 000003
【００３４】
重み、ｗｉおよびｂｎは、プログラム可能であり、学習した挙動を表す。ＳＡＴを使用すると、プログラム可能な重みおよびバイアスを使用した全体の畳み込みが受動的に実装され得る。
【００３５】
本出願において、複数の畳み込みが、様々な方法で実装され得る。画像データは、特定のフレームレート（１秒当たりのフレーム（ｆｐｓ））で更新される。リアルタイムで演算するために、単一層の全ての特徴の畳み込みは、次の画像データの更新（１／ｆｐｓ秒）前に完了される。ＳＡＴを使用してリアルタイムで畳み込みを実装するための、２つの例示的な方法を以下に説明する。ＳＡＴを使用してＣＮＮを実装するための他の方法は、本明細書に具体的に記載される方法の組み合わせを含む。
【００３６】
様々な実装によれば、データは多くの形態であり得る。例えば、一実装では、ＣＮＮは、ＤＮＡマッピングに使用される。
【００３７】
サブサンプリング層
ＣＮＮへの入力は、複数の層を通過する。図１に示すようないくつかの実装では、入力は、畳み込み層（例えば、第１の１０４、第３の１０６、および第５の１１２層）とサブサンプリング層（例えば、第２の１０６および第４の１１０層）との間で交互に起こる。他の実装では、畳み込みおよびサブサンプリング層は、交互に入れ替わっていない順序である。例えば、一実装は、複数の連続した畳み込み層を含む。別の実装は、複数の連続したサブサンプリング層を含む。
【００３８】
サブサンプリングは、画像データの複雑性および空間解像度を低減し、これにより、出力に対する感度のばらつきを低減する。サブサンプリングはまた、特徴のサイズを何らかの係数で縮小する。一例では、特徴サイズの縮小は、前の畳み込み層の出力のＭ×Ｍ要素の群を合計することにより達成される。別の例では、特徴サイズの縮小は、Ｍ×Ｍ要素の群を平均化し、その平均に定数を乗算することによって達成される。
【００３９】
ＣＮＮのいくつかの説明では、サブサンプリングは、プーリングとして説明される。プーリングのための多数の方法が存在する。プーリングのための１つの方法は、Ｍ×Ｍ要素の和を判定することである。プーリングの別の方法は、Ｍ×Ｍ要素の最大を判定することである。他の実装において、サブサンプリング領域は、他のサブサンプリング領域と重畳し得る。例えば、４×４のグリッドの数字（層の出力であり得る）において、プーリングのために非重畳２×２領域を使用すると、２×２の出力が得られる。別の例では、４×４のグリッドの数字では、重畳しない２×２領域をプーリングに使用すると、３×３出力が得られる。
【００４０】
非線形性
様々な実装によれば、ＣＮＮ構造は、畳み込み和の後、サブサンプリングもしくはプーリングの後、または畳み込み和と各層のサブサンプリングとの両方の後、非線形関数を通過するデータを有し得る。ＣＮＮデータを処理するために使用され得る３つの対称関数は、それぞれ、ｅｒｆｃ（−ｘ）−１伝達関数、シグモイド関数、およびＴａｎｈ関数である。加えて、ＣＮＮデータは、整流関数に類似した非対称ＲｅＬＵ関数によって処理されてもよい。いくつかの実装では、サブサンプリング層からの個々の和は、次の畳み込み層に進む前にスカッシング関数を通過する。スカッシング関数は、様々な形状を有することができ、スカッシング関数の形状は、対称または非対称であり得る。
【００４１】
特徴
図１に示すＣＮＮ図では、第１の層１０４（畳み込み層）および第２の層１０６（サブサンプリング層）は、同じ数の特徴を有する。特に、図１では、第１の１０４および第２の１０６の層は、６個の特徴を各々有する。第３の層１０８（第２の畳み込み層）は、１６個の特徴部を有する。特徴の数は、第２の層１０６の特徴の画像画素のいくつかの他のマッピングを第３の層１０８の特徴に加えることによって増加する。したがって、畳み込み層およびサブサンプリング層の特徴の数は、異なることがある。特徴の数の拡張は、ネットワークにおける対称性の破れを示す。加えて、畳み込みおよびサブサンプリング層は、異なる特徴を有し得る。特に、特徴は、特徴データがある層から次の層に移動するときに、変換され得る。いくつかの例によれば、重みは訓練段階の間に判定され、重みは訓練段階が終了した後に保存される。いくつかの例では、異なる特徴は、サブサンプリング層に維持された特徴から、畳み込み層に維持される。
【００４２】
畳み込みの完全な実装
畳み込み層では、前のサブサンプリング層からの和に、訓練可能な重みが乗算される。加えて、訓練可能なバイアスが加えられる。
【００４３】
畳み込み完全実装では、層の全ての重みがデバイス回路に存在する。例えば、図１を参照すると、畳み込み完全実装は、第１の層１０４の６個の特徴の独立したプログラム可能な重み、および畳み込み和（式１に示される）の各要素に対する個々の重みを含む。これは、各和の２５個の重みである。一例では、第１の層１０４の６個の特徴の各々について、２８×２８＝７８４の畳み込みが存在し、６個の特徴の各々について、７８４個のサブウィンドウが、畳み込み演算１２０から出力アレイにもたらされる。したがって、第１の層１０４内の畳み込みの総数は、６＊２８＊２８＝４，７０４であり、各畳み込みに２５の重みが存在するため、これにより、５＊４、７０４＝１１７，６００の重み付け和が得られる。
【００４４】
いくつかの実装では、重みは、各シフトウィンドウ内の重みが同じ値を有するように結合される。ＳＡＴを用いてＣＮＮを実装する場合、各重み付け和に対して別々のＣａｐＤＡＣ（キャパシタデジタル−アナログ変換器）が存在する。一例では、重みが結合されている場合、ＣａｐＤＡＣは結合され、結合されたＣａｐＤＡＣは単一の操作でプログラムされる。したがって、重みの各々を個別にプログラムするのではなく、同一の全ての重みが単一の操作でプログラムされ得る。これは、ＣＮＮの重みのプログラムの効率性を改善することに役立つ。
【００４５】
重み付け和の数を低減するために使用される１つの方法は、サブウィンドウのスライドを増加させることである。サブウィンドウのスライドを増加することは、サブウィンドウを、サブウィンドウごとに複数の画素ずつ移動させることを意味する。例えば、２のストライドの場合、サブウィンドウは水平方向に２画素、垂直方向に２画素移動するため、サブウィンドウの数は４個だけ減少し、総重み付け和は４倍減少する。
【００４６】
一実装では、上述のような完全畳み込み実装は、１１７，６００の重み付け和を有し、したがって、１１７，６００のデジタルアナログ変換器（ＤＡＣ）に接続する１１７，６００のアナログメモリキャパシタを有し、重みとなる。一例では、ＤＡＣは、ハイブリッドＣａｐＤＡＣである。この実装は、重みによるスケーリングに必要な数クロックサイクル内で、全ての畳み込み和が並行して発生するため、高速である。この実装はまた、デバイス領域で最大である。より大きな画像データアレイについては、完全実装方法は、サイズとコストが高くなる可能性がある。
【００４７】
畳み込み多重化の実装
選択されたフレームレートで撮像データを生成するために、複数の畳み込みおよびサブサンプリング層をパイプライン化することができ、各層は、独立して並列に操作することができる。各層は、フレームレート期間内に完了する。多重化のための境界は、複数の方法で実装され得る。
【００４８】
図２は、本開示のいくつかの実施形態による畳み込み多重化回路２００を示す。回路２００において、各画素は画像源に接続された、または画像源によって駆動される１セットのキャパシタを有する。第１の画素２０２は、第１のセットのキャパシタ２１２に結合され、第２の画素２０４は、第２のセットのキャパシタ２１４に結合される。一例では、第１の２１２および第２の２１４のセットのキャパシタは、各々、メモリセルの５×５サブウィンドウである。いくつかの例では、図２に示すように、画像画素の５×５サブウィンドウスキャンが使用され、各画素源に接続された５個のメモリセルが存在する。一例では、メモリセルは、アナログメモリセルである。
【００４９】
図２では、メモリセルは、第１の２１２および第２の２１４のセットのキャパシタに示されるように、固定キャパシタである。第１の２１２および第２の２１４のセットのキャパシタは、可変容量構造２２２ａ〜２２２ｄのアレイに多重化される（２１６、２１８）。可変容量構造２２２ａ〜２２２ｄは、多数の形態であり得る。一例では、可変容量構造２２２ａ〜２２２ｄは、ハイブリッドＣａｐＤＡＣ構造２２０である。ハイブリッドＣａｐＤＡＣ構造２２０は、畳み込み出力２２４を出力する。
【００５０】
一例では、図２の可変容量構造２２２ａ〜２２２ｄは、単一の５×５マトリックスサブウィンドウを形成する。他の実装では、可変容量セルの任意の数のアレイまたはマトリックスは、畳み込み時間を低減するために多重化され得る。
【００５１】
図３は、本開示のいくつかの実施形態による、可変容量セルを直接使用する畳み込み多重化回路３００を示す。回路３００において、各画素は、画像源に結合されるセットの可変キャパシタを有する。第１の画素３０２は、第１のセットの可変キャパシタ３１２に結合され、第２の画素３０４は、第２のセットの可変キャパシタ３１４に結合される。一例では、第１の３１２および第２の３１４のセットのキャパシタは、各々、重み付けメモリセルの５×５サブウィンドウである。いくつかの実装では、メモリセルは、プログラム可能な重みを有する。いくつかの実装では、メモリセルの各々の重みは、重みが学習されるニューラルネットワークの学習段階の後に固定される。したがって、重み付けは、重みに等しいメモリキャパシタサイズとして直接組み込まれ得る。第１のセットのキャパシタ３１２は、第１のサブウィンドウ畳み込み出力３２２を有し、第２のセットのキャパシタ３１４は、第２のサブウィンドウ畳み込み出力３２４を有する。
【００５２】
様々な実装によれば、図３に示すアーキテクチャは、重み解像度要件によって影響を受け、その結果、重み解像度要件が高い場合に、可変キャパシタ構造はアレイとして実装するには大きすぎることがある。しかしながら、図２に示すような多重化は、より小さくすることができ、高い重み解像度要件があってもアレイとして実装することができる。
【００５３】
バイアス付加
いくつかの実装では、重み付け値の畳み込み和は、訓練可能なバイアス値でシフトされる。図４は、本開示のいくつかの実施形態による、重み付けバイアスを含む畳み込み回路４００の図を示す。回路４００において、各画素は、図３に示す回路３００と同様に、画像源に結合されたセットの可変キャパシタを有する。第１の画素４０２は、第１のセットの可変キャパシタ４１２に結合され、第２の画素４０４は、第２のセットの可変キャパシタ４１４に結合される。一例では、第１の４１２および第２の４１４のセットのキャパシタは、各々、重み付けメモリセルの５×５サブウィンドウである。第１のセットのキャパシタ４１２は、第１の出力４１６を有し、第１の重み付けバイアス４３２は第１の出力に加えられ、第１のサブウィンドウ畳み込み出力４２２が得られる。第２のセットのキャパシタ４１４は、第２の出力４１８を有し、第２の重み付けバイアス４３４は、第２の出力４１８に加えられ、第２のサブウィンドウ畳み込み出力４２４が得られる。第１の４３２および第２の４３４の重み付けバイアスは、重み付け値の畳み込み和をシフトする。
【００５４】
第１の重み付けバイアス４３２には、ＣａｐＤＡＣ構造４２６によってサンプリングされた固定電圧源４３６から、スケールされた電荷値が加えられる。同様に、第２の重み付けバイアス４３４は、ＣａｐＤＡＣ構造４２８によってサンプリングされた固定電圧源４３８から、スケールされた電荷値が加えられる。様々な例では、ＣａｐＤＡＣ構造４２６、４２８は、ハイブリッドＣａｐＤＡＣである。
【００５５】
サブサンプリング層の実装
サブサンプリング層は、畳み込み出力の後に非線形変換が続くＭ×Ｍ平均を含む。一実装によれば、Ｍ×Ｍ平均は、畳み込み出力の非重畳Ｍ×Ｍサブウィンドウの平均である。Ｍ×Ｍ平均は、本質的に、畳み込みステップの空間アレイ出力を間引く。しかしながら、畳み込み層のキャパシタ出力のＭ×Ｍサブセットの電荷共有は、平均関数として直接作用し得る。いくつかの例では、畳み込み層のキャパシタ出力のＭ×Ｍサブセットの共有が平均関数として直接的に作用するとき、正規化の問題が存在し得る。
【００５６】
いくつかの実装では、サブサンプリングは重畳する。他の実装では、サブサンプリングは重畳しない。図５は、本開示のいくつかの実施形態による、サブサンプリングが重畳しない畳み込み多重化回路５００を示す。回路５００は、可変ｃａｐＤＡＣ５０２の第１のサブウィンドウ、および可変ｃａｐＤＡＣ５０４の第２のサブウィンドウを含む。第１の５０２および第２の５０４サブウィンドウ内のＣａｐＤＡＣはハイブリッドｃａｐＤＡＣであってもよい。第１のサブウィンドウ５０２は、第１の畳み込み出力５０６を出力し、第２のサブウィンドウ５０４は、第２の畳み込み出力５０８を出力する。第１の５０６および第２の５０８の出力は、スイッチング素子を含むサブサンプリング加算器５１０に入力される。サブサンプリング加算器５１０は、第１の出力５０６に結合された第１のスイッチ５２６、および第２の出力５０８に結合された第２のスイッチ５２８を含む。一実装では、第１の５２６および第２の５２８のスイッチは、サブサンプリングの重畳を防止する。
【００５７】
サブサンプリングスイッチング要素５１０からのサブサンプリング出力５１２は、可変ｃａｐＤＡＣ５１４に入力される。可変ｃａｐＤＡＣ５１４は、訓練可能な重みとして作用する。いくつかの例では、可変ｃａｐＤＡＣ５１４はハイブリッドＣａｐＤＡＣである。バイアス５１６は、可変ｃａｐＤＡＣ５１４からの出力に加えられて、サブウィンドウのサブサンプリング出力５２２が得られる。バイアス５１６には、ＣａｐＤＡＣ構造５１８によってサンプリングされた固定電圧源５２０からのスケールされた電荷値が加えられる。
【００５８】
サブサンプリングが重畳しないサブウィンドウである場合、実装は、単純かつ受動的になる。重畳すると、畳み込み和の各出力は、後続のサブサンプリング層のいくつかの入力を駆動する。
【００５９】
最大プーリングの実装
一実装によれば、別のサブサンプリング方法は、ＭＡＸプーリングと呼ばれる。ＭＡＸプーリングは、出力のための値のＭ×Ｍサブウィンドウの最大値を使用する。スイッチトキャパシタ（ｓｗｉｔｃｈｃａｐ）回路にＭＡＸ関数を実装することは、全てのＭ×Ｍ要素間での比較イベントを示す。
【００６０】
図６は、本開示のいくつかの実施形態による、サブサンプリングのための、特にＭＡＸプーリングに関する回路６００を示す。ＭＡＸプーリング回路６００は、ウィンドウ６２０の２×２サブウィンドウ６０６の４個の要素６０４ａ〜６０４ｄを、サブウィンドウ６０６の他の要素６０４ａ〜６０４ｄと比較するための、６個のアナログ電圧比較器６０２ａ〜６０２ｆのセットを含む。図６に示すように、第１の要素６０４ａは、比較器６０２ｂにおいて第２の要素６０４ｂと比較され、第１の要素６０４ａは、比較器６０２ａにおいて第３の要素６０４ｃと比較され、第１の要素６０４ａは、比較器６０２ｃにおいて第４の要素６０４ｄと比較される。同様に、第２の要素６０４ｂは、それぞれ、比較器６０２ｂ、６０２ｄ、および６０２ｅにおいて、第１の６０４ａ、第３の６０４ｃ、および第４の６０４ｄ要素と比較される。第３の要素６０４ｃは、それぞれ、比較器６０２ａ、６０２ｄ、および６０２ｆにおいて、第１の６０４ａ、第２の６０４ｂ、および第４の６０４ｄ要素と比較される。第４の要素６０４ｄは、それぞれ、比較器６０２ｃ、６０２ｅ、および６０２ｆにおいて、第１の６０４ａ、第２の６０４ｂ、および第３の６０４ｃ要素と比較される。様々な実装では、アナログ電圧比較器は、連続時間比較器またはクロック比較器であり得る。
【００６１】
比較器６０２ａ〜６０２ｆの出力は、デコーダ６０８で復号されて、最大要素を判定する。一例では、デコーダ６０８は、組み合わせ論理ブロックである。デコーダ６０８は、スイッチ６１２ａ〜６１２ｄがサブウィンドウ６０４ａ〜６０４ｄの各々から出力ライン６１４へのラインを接続するＭＡＸ操作出力を可能にするために、４個のスイッチ６１２ａ〜６１２ｄのうちのどれを閉じるかを選択するデジタル定義６１０を出力する。スイッチが閉じられると、それぞれのサブウィンドウからのデータは、出力ライン６１４に出力される。
【００６２】
非線形関数の実装
上述のように、様々な異なる伝達関数は、ＣＮＮのサブサンプリング層において使用され得る。非線形伝達関数がＣＮＮのサブサンプリング層に使用される場合、非線形伝達関数の形状は、広範囲の可能性を有する。一態様によれば、ＳＡＴとともにＣＮＮ層を実装することは、小電力および低電力であるである非線形伝達関数を選択することを含む。様々な実装によれば、アナログ整流関数が、ＣＮＮのサブサンプリング層に使用され、その整流はゼロよりも大きいかまたはゼロよりも小さい。特に、アナログ整流は、理想的な関数からの入力および出力における一定のオフセットである。訓練可能なバイアス条件は、一定のオフセットを補償することができる。
【００６３】
図７、図８、および図９は、非線形変換を作成する３つの方法を示す。図７は、本開示のいくつかの実施形態による、ダイオード補正回路７０２を含む非対称変換７００を示す。非対称変換７００は、整流伝達関数７０４をもたらす。図８は、本開示のいくつかの実施形態による、ＭＯＳＦＥＴ整流８０２を含む非対称変換８００を示す。非対称変換８００は、整流伝達関数８０４をもたらす。図９は、ＭＯＳＦＥＴクランプ９０２を含む対称非線形変換９００を示す。対称非線形変換９００は、伝達関数９０４をもたらす。
【００６４】
図７、図８、および図９は、容量ベースの電荷出力に接続するシャント素子を含む。容量に基づく電荷出力の一例は、変換を通過するサブウィンドウ和の出力である。変換７００、８００、および９００は、電荷共有（ＣＳ）イベントを実装することによって、サブサンプリング層出力の電荷を変更するために使用され得る。
【００６５】
様々な実装によれば、プロセス、温度、および電圧変動性が調節され得る。様々な例では、検出の成功は、プロセス、温度、および電圧における変動性に対して敏感であり得る。
【００６６】
図１０は、ＭＯＳＦＥＴ整流１００２および第１の１００６および第２の１００８のスイッチを含む非対称変換１０００を示す。第１の１００６および第２の１００８のスイッチは、それぞれ第１の１０１６および第２の１０１８はタイミング図に従って閉じる。図１０は、電圧が負であるときに、クロック段階２の間にサブウィンドウ和に対する電荷を放電する電荷共有イベントを使用する整流の実装を示す。他の関数も同様の方法で実装され得る。非対称変換１０００は、整流伝達関数１００４をもたらす。
【００６７】
いくつかの実装では、非線形伝達関数またはスカッシング関数は、畳み込み演算およびプーリング演算の出力で実装される。
【００６８】
用途
畳み込みニューラルネットワーク（ＣＮＮ）は、特徴間で重みを共有することによって、空間的および時間的構造を使用する。ＣＮＮのアーキテクチャは、特徴のアクティブ化において等価性を可能にし、ＣＮＮを画像およびビデオ用途に対して理想的にする。例えば、手書き数字の認識、より広くは、画像認識／分類、およびビデオ認識／分類などの文字認識。様々な実装によれば、入力データが高度に相関される局所変数を有するアレイの形態であり、シフト不変性を有する場合、ＣＮＮが使用される。
【００６９】
音声および自然言語処理は、ＣＮＮがこの問題の固有の構造を利用するために使用され得る２つの他の領域である。自動音声認識（ＡＳＲ）は、問題を解決するために、隠れマルコフモデル（ＨＭＭ）またはガウス混合モデル（ＧＭＭ）を使用することによって、歴史的にアプローチされてきた用途の１つである。しかしながら、現状では、ディープニューラルネットワーク、特にＡＳＲのためのＣＮＮを使用することが最先端技術である。ＡＳＲを行うように訓練されたＣＮＮは、騒々しい環境で言語を識別するためにも使用できる。
【００７０】
ＣＮＮは、創薬および化学分析を含む非常に広範な用途に使用されている。一用途では、ＣＮＮは、分子の生物活性および化学的相互作用を予測するように訓練される。生物学的システムは、分子レベルの相互作用を介して動作するため、ＣＮＮを使用した分子相互作用を予測することができれば、創薬に大幅に貢献することができる。
【００７１】
他の用途では、ＣＮＮは、ＤＮＡマッピングに使用され得る。ＤＮＡマッピングは、染色体上の遺伝子の位置を記述し、遺伝子間の距離を判定するために使用される。
【００７２】
図１１は、本開示のいくつかの実施形態による、サンプリングされたアナログ技術を使用してニューラルネットワークを実装するための方法１１００を示す。ステップ１１０２において、第１および第２のアナログ入力データ点を含むアナログ入力データが受信される。ステップ１１０４において、第１のアナログ入力データ点は、第１のセットのキャパシタで分析されて第１の出力を生成する。ステップ１１０６において、第２のアナログ入力データ点は、第２のセットのキャパシタで分析されて第２の出力を生成する。ステップ１１０８において、アナログ畳み込み出力は、第１および第２の出力に基づいて生成される。アナログ畳み込み出力は、上述のように複数の特徴を含む。
【００７３】
いくつかの例では、方法は、第１および第２の出力を可変容量構造のアレイを通して多重化してアナログ畳み込み出力を生成することを含む。いくつかの実装では、第１および第２のセットのキャパシタは可変容量セルであり、第１および第２のセットのキャパシタは、各々、固定重みを有する。第１の出力の生成は、第１の入力データ点に第１の固定重みを乗算することを含み、第２の出力の生成は、第２の入力データ点に第２の固定重みを乗算することを含む。
【００７４】
いくつかの実装では、第１のバイアス値は、第１の固定電圧源からスケールされた電荷をサンプリングすることと、第１のバイアス値を第１の出力に加えることと、によって生成される。スケールされた電荷は、第１のキャパシタデジタル−アナログ変換器によってサンプリングされる。いくつかの例では、アナログ畳み込み出力は、サブサンプラにおいて第２のアナログ畳み込み出力と平均化される。いくつかの例では、アナログ畳み込み出力は、値のサブウィンドウを含み、値のサブウィンドウの最大値が判定される。
【００７５】
変形および実装
様々な実装では、本明細書に記載されるＳＡＴは、任意の種類のＣＮＮに使用され得る。いくつかの実装によれば、ＳＡＴは、高密度畳み込みネットワークで使用される。高密度畳み込みニューラルネットワークでは、各層はフィードフォワード方式で他の全ての層と接続される。各層について、入力は、先行する全ての層の特徴を含む。同様に、各層について、層の特徴は、全ての後続の層に入力される。
【００７６】
上記の実施形態の考察では、キャパシタ、クロック、ＤＦＦ、分圧器、インダクタ、抵抗器、増幅器、スイッチ、デジタルコア、トランジスタ、および／または他の構成要素が、特別な回路の必要性に適応させるため容易に置き換えられ、交換され、もしくはさもなければ修正され得る。更に、相補的な電子デバイス、ハードウェア、ソフトウェアなどの使用は、本開示の教示を実装するために同様に実行可能な選択肢を提供することに留意すべきである。
【００７７】
一実施形態例では、図の任意の数の電気回路を、関連する電子デバイスの基板上に実装することができる。基板は、電子デバイスの内部電子システムの様々な構成要素を保持することができ、更に、他の周辺装置のためのコネクタを提供することができる一般的な回路基板とすることができる。より具体的には、基板は、システムの他の構成要素が電気的に通信することができる電気的接続を提供することができる。特定の構成ニーズ、処理要求、コンピュータ設計などに基づいて、任意の好適なプロセッサ（デジタル信号プロセッサ、マイクロプロセッサ、サポートチップセットなどを含む）、コンピュータで読み取り可能な非一時的メモリ素子などを基板に適切に結合することができる。外部ストレージ、追加センサ、オーディオ／ビデオディスプレイ用のコントローラ、周辺機器などの他の構成要素は、ケーブルを介してプラグインカードとして基板に取り付けられるか、基板自体に統合することができる。様々な実施形態では、本明細書で説明される機能は、これらの機能をサポートする構造内に配置された１つ以上の構成可能な（例えば、プログラム可能な）要素内で動作するソフトウェアまたはファームウェアとしてエミュレーション形態で実装され得る。エミュレーションを提供するソフトウェアまたはファームウェアは、プロセッサがそれらの機能を実行することを可能にする命令を含む非一時的コンピュータで読み取り可能な記憶媒体上に提供されてもよい。
【００７８】
別の実施形態例では、図の電気回路は、スタンドアロンモジュール（例えば、特定のアプリケーションまたは機能を実行するように構成された関連する構成要素および回路を有するデバイス）として実装されてもよく、もしくはプラグインモジュールとして、電子デバイスの特定のアプリケーションハードウエアに実装されてもよい。本開示の特定の実施形態は、システムオンチップ（ＳＯＣ）パッケージに部分的にもしくは全体的に容易に含まれ得ることに留意すべきである。ＳＯＣは、コンピュータまたは他の電子システムの構成要素を単一のチップに統合するＩＣを表す。それは、デジタル、アナログ、混合信号、およびしばしば無線周波数機能を含むことができ、これらの機能は全て単一のチップ基板上に提供され得る。他の実施形態は、単一の電子パッケージ内に配置され、電子パッケージを介して互いに密接に相互に作用するように構成された複数の別個のＩＣを有するマルチチップモジュール（ＭＣＭ）を含むことができる。様々なおよび他の実施形態では、ＣＮＮ機能性は、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、他の半導体チップの１つ以上のシリコンコアに実装することができる。
【００７９】
別の実施形態例では、図の電気回路は、ＣＮＮ回路の訓練の一部であるように実装されてもよい。訓練は、ＣＮＮブロックの出力を処理して様々な重みを判定するフィードバック経路である。
【００８０】
本明細書に概説されている仕様、寸法、および関係の全て（例えば、プロセッサ数、論理演算数など）は、例示および教示のみのために提供されたものであることに留意することも必須である。そのような情報は、本開示の趣旨または添付の特許請求の範囲から逸脱することなく、かなり変化し得る。本明細書は、１つの非限定的な例にのみ適用されるものであり、したがって、それらはそのように解釈されるべきである。前述の説明では、実施形態例を、特定のプロセッサおよび／または構成要素の構成を参照して説明した。添付の特許請求の範囲から逸脱することなく、そのような実施形態に対して様々な修正および変更を行うことができる。したがって、説明および図面は、限定的ではなく例示的なものと見なされるべきである。
【００８１】
図を参照して上述した作業は、信号処理を含む集積回路、特に専用のソフトウェアプログラムまたは一部がデジタル化されたリアルタイムデータを処理することに関連し得る、アルゴリズムを実行することができるあらゆる集積回路に適用可能である。特定の実施形態は、マルチＤＳＰ信号処理、浮動小数点処理、信号／制御処理、固定機能処理、マイクロコントローラアプリケーションなどに関連することができる。
【００８２】
特定の文脈において、本明細書で説明する機能は、医療システム、科学機器、無線および有線通信、レーダ、工業プロセス制御、オーディオおよびビデオ機器、電流検出、計測（高精度であり得る）、ならびに他のデジタル処理ベースのシステムに適用することができる。
【００８３】
更に、上述の特定の実施形態を、医療用撮像、患者モニタリング、医療機器、および在宅医療のためのデジタル信号処理技術に供給することができる。これには、肺モニタ、加速度計、心拍モニタ、ペースメーカなどを含むことができる。他の用途には、安全システム用の自動車技術（例えば、安定性制御システム、運転支援システム、ブレーキシステム、インフォテイメント、およびあらゆる種類の室内用途）を含むことができる。更に、パワートレインシステム（例えば、ハイブリッドおよび電気自動車の）は、バッテリ監視、制御システム、報告制御、保守作業などで高精度のデータ変換製品を使用できる。
【００８４】
更に他の例のシナリオでは、本開示の教示は、生産性向上、エネルギー効率、および信頼性を支援するプロセス制御システムを含む産業市場に適用可能である。消費者用途では、上述した信号処理回路の教示を、画像処理、オートフォーカス、および画像安定化（例えば、デジタルスチルカメラ、ビデオカメラなど）に使用することができる。他の消費者用途には、ホームシアターシステム、ＤＶＤレコーダー、ハイビジョンテレビ用のオーディオおよびビデオプロセッサが含まれ得る。更に、他の消費者用途は、（例えば、任意のタイプのポータブルメディアデバイスのための）高度なタッチスクリーンコントローラを含むことができる。したがって、そのような技術は、スマートフォン、タブレット、セキュリティシステム、ＰＣ、ゲーム技術、バーチャルリアリティ、シミュレーショントレーニングなどの一部に容易に含めることができる。
【００８５】
本明細書で提供される多くの例では、相互作用は、２つ、３つ、４つ、またはそれ以上の電気的構成要素に関して記述され得ることに留意すべきである。しかしながら、これは、明瞭化および単なる例示の目的でなされたものである。システムは、任意の好適な方法で統合することができることを理解されるべきである。類似の設計選択肢に沿って、図の図示された構成要素、モジュール、および要素のいずれも、様々な可能な構成で組み合わせることができ、その全てが明らかに本明細書の広い範囲内にある。場合によっては、限定された数の電気素子を参照するだけで、所定のフローのセットの１つ以上の機能を記述することがより容易になることがある。図およびその教示の電気回路は容易に拡張可能であり、多数の構成要素ならびにより複雑で／洗練された配置および構成に対応することができることを理解されるべきである。したがって、提供された例は、その範囲を限定しもしくは無数の他のアーキテクチャに潜在的に適用される電気回路の広範な教示を阻害するものではない。
【００８６】
なお、本明細書において、「一実施形態」、「実施形態例」、「ある実施形態」、「別の実施形態」、「いくつかの実施形態」、「様々な実施形態」、「他の実施形態」、「代替実施形態」などに含まれる様々な特徴（例えば、要素、構造、モジュール、構成要素、ステップ、動作、特性など）は、そのような特徴のいずれかが本開示の１つ以上の実施形態に含まれることを意味することを意図しているが、同じ実施形態で組み合わされてもよいしもしくは必ずしも組み合わされなくてもよい。
【００８７】
ＣＮＮに関連する機能は、図に示されるシステムによって、またはその内部で実行され得る可能なＣＮＮ機能のうちのいくつかのみを示していることに留意することも重要である。これらの操作の一部は、必要に応じて削除または除去することができ、またはこれらの操作は、本開示の範囲から逸脱することなく、かなり修正または変更することができる。更に、これらの操作のタイミングをかなり変更することができる。前述の動作フローは、例および考察のために提供されている。本開示の教示から逸脱することなく、任意の好適な構成、年表、構成、およびタイミング機構が提供され得るという点で、本明細書に記載される実施形態によって実質的な柔軟性が提供される。
【００８８】
多くの他の変更、置換、変形、交替、および修正が当業者に確認されてもよく、本開示は、添付の特許請求の範囲内にあるそのような変更、置換、変形、交替、および修正を含有するよう意図される。米国特許商標庁（ＵＳＰＴＯ）、および追加的に、本明細書に添付の特許請求の範囲を解釈して本明細書に関して発行されたあらゆる特許のあらゆる読者を支援するために、出願人は、出願人が、（ａ）特許請求の範囲のいずれも、本明細書の出願の期日に存在するように、「〜のための手段」または「〜のためのステップ」という用語が特定の特許請求の範囲において特異的に用いられない限り、米国特許法第１１２条第６項を行使することを意図せず、（ｂ）本明細書のいかなる言及によっても、添付の本明細書に別様に反映されないいかなる意味においても本開示を制限することを意図しないことに留意することを所望する。
他の注釈、例、および実装
【００８９】
上述の装置の全ての任意の特徴はまた、本明細書に記載の方法またはプロセスに関して実装されてもよいし、例の詳細は、１つ以上の実施形態でどこでも使用されてもよいことに留意すべきである。
【００９０】
第１の例では、複数の電子構成要素に結合された回路基板を更に含むことができる、任意のタイプのコンピュータの一部となり得るシステム（任意の好適な回路、分割器、キャパシタ、抵抗器、インダクタ、ＡＤＣ、ＤＦＦ、論理ゲート、ソフトウェア、ハードウェア、リンクなどを含むことができる）が提供される。このシステムは、デジタルコアからのデータを、マクロクロックである第１のクロックを使用してマクロの第１のデータ出力にクロッキングするための手段と、マクロの第１のデータ出力からのデータを物理インターフェースクロックである第２のクロックを使用して物理インターフェースにクロッキングするための手段と、デジタルコアからの、その出力が第２のリセット信号として使用される第１のリセット信号を、マクロクロックを使用してマクロのリセット出力にクロッキングするための手段と、サンプリングされたリセット信号を生成するために、第２のクロックの速度よりも速いクロック速度を提供する第３のクロックを使用して第２のリセット信号をサンプリングするための手段と、サンプリングされたリセット信号の遷移に応答して、第２のクロックを物理インターフェース内の所定の状態にリセットするための手段とを含むことができる。
【００９１】
これらの場合（上記）の「のための手段」は、任意の好適なソフトウェア、回路、ハブ、コンピュータコード、論理、アルゴリズム、ハードウェア、コントローラ、インターフェース、リンク、バス、通信経路などとともに、本明細書で論じられた任意の好適な構成要素を使用することを含むことができる（ただしこれに限定されない）。第２の例では、システムは、実行されたときにシステムが上述の作業のいずれかを実行する機械で読み取り可能な命令を更に備えるメモリを含む。
【符号の説明】
【００９２】
１０２  入力画像画素データ
１０４  第１の層
１０６  第２の層
１０８  第３の層
１１０  第４の層
１１０  第４の層
１１２  第５の層
１１４  第６の層
１１６  第７の層
２００  回路
２０２  第１の画素
２０４  第２の画素
２１２  第１のセットのキャパシタ
２１４  第２のセットのキャパシタ
２２０  ハイブリッドＣａｐＤＡＣ構造
２２２  可変容量構造
３００  回路
３０２  第１の画素
３０４  第２の画素
３１２、３１４  キャパシタ
４００  回路
４０２  第１の画素
４０４  第２の画素
４１２  第１のセットのキャパシタ
４１４  第２のセットのキャパシタ
４３６、４３８  固定電圧源
５００  回路
５１０  サブサンプリング加算器
５２０  固定電圧源
５２６  第１のスイッチ
５２８  第２のスイッチ
６００  プーリング回路
６０２  比較器
６０４  サブウィンドウ
６０６  サブウィンドウ
６０８  デコーダ
６１２  スイッチ
６２０  ウィンドウ
７０２  ダイオード補正回路
９０２  ＭＯＳＦＥＴクランプ
【図１】
2019504400.tif 000004
【図２】
2019504400.tif 000005
【図３】
2019504400.tif 000006
【図４】
2019504400.tif 000007
【図５】
2019504400.tif 000008
【図６】
2019504400.tif 000009
【図７】
2019504400.tif 000010
【図８】
2019504400.tif 000011
【図９】
2019504400.tif 000012
【図１０】
2019504400.tif 000013
【図１１】
2019504400.tif 000014
【国際調査報告】
2019504400.tif 000015
2019504400.tif 000016