JP6637602B2 - 畳み込みニューラルネットワーク - Google Patents

畳み込みニューラルネットワーク Download PDF

Info

Publication number
JP6637602B2
JP6637602B2 JP2018531157A JP2018531157A JP6637602B2 JP 6637602 B2 JP6637602 B2 JP 6637602B2 JP 2018531157 A JP2018531157 A JP 2018531157A JP 2018531157 A JP2018531157 A JP 2018531157A JP 6637602 B2 JP6637602 B2 JP 6637602B2
Authority
JP
Japan
Prior art keywords
analog
capacitors
input data
neural network
convolution output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018531157A
Other languages
English (en)
Other versions
JP2019504400A (ja
Inventor
エリック・ジー・ネスラー
ミトラ・エム・オスキ
ジェフリー・ジー・バーンスタイン
Original Assignee
アナログ ディヴァイスィズ インク
アナログ ディヴァイスィズ インク
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by アナログ ディヴァイスィズ インク, アナログ ディヴァイスィズ インク filed Critical アナログ ディヴァイスィズ インク
Publication of JP2019504400A publication Critical patent/JP2019504400A/ja
Application granted granted Critical
Publication of JP6637602B2 publication Critical patent/JP6637602B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • G06N3/065Analogue means
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M1/00Analogue/digital conversion; Digital/analogue conversion
    • H03M1/66Digital/analogue converters
    • H03M1/74Simultaneous conversion
    • H03M1/80Simultaneous conversion using weighted impedances
    • H03M1/802Simultaneous conversion using weighted impedances using capacitors, e.g. neuron-mos transistors, charge coupled devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Neurology (AREA)
  • Power Engineering (AREA)
  • Image Analysis (AREA)
  • Complex Calculations (AREA)

Description

関連出願の相互参照
本出願は、Eric Nestlerらを発明者として挙げる「Convolutional Neural Network」と題した、2015年12月15日に出願された米国特許出願第62/267,847号、及び2016年12月14日に出願された第15/379,114号の米国特許法第120条下の優先権の利益を主張するものである。先行出願の本開示は、本出願の本開示の一部として考慮され、参照により本出願の本開示に組み込まれる。
本発明は、ニューラルネットワークの分野に関し、特に、畳み込みニューラルネットワークに関する。
ニューラルネットワークは、多数の入力に依存し得る近似関数を推定するために使用される数学的モデルである。畳み込みニューラルネットワークは、人工ニューロン(数学的関数)が入力フィールドの重畳領域に応答するようにタイル表示された、特徴検出に使用されるフィードフォワードニューラルネットワークの一種である。ニューラルネットワークは、計算的であり、かつリソース集約的である。
サンプリングされたアナログ技術を使用したニューラルネットワークが開示される。畳み込みニューラルネットワーク(CNN)は、特徴検出に使用されるアルゴリズムおよび回路である。いくつかの実装では、特徴の検出または分析は、画像データ、音声データ、またはそのいくつかの特徴を検出するために洗練された分析を必要とする任意の他の複雑なデータ用であり得る。様々な実装によると、CNNは、入力データが高度に相関される局所変数を有するアレイの形態であり、シフト不変性を有する場合に有用であり得る。CNNアルゴリズムは、典型的には、デジタル論理およびメモリで実装される。しかしながら、CNNアルゴリズムをデジタル論理およびメモリで実装すると、リソースが浪費される。
より効率的かつリソース集約度がより低いCNNを実装するシステムおよび方法が本明細書に開示される。特に、サンプリングされたアナログ技術(SAT)法を使用したアナログ領域におけるCNNの応用が開示されている。SATを用いたCNN設計を使用すると、デジタル論理およびメモリを用いたCNN設計と比較して、消費電力が大幅に削減され、動作が高速になる。一例では、SATを用いたCNN設計を使用すると、通常のデジタルCNN設計で使用する電力の10倍未満の電力しか使用されない。一例では、SATを用いたCNN設計を使用すると、10倍以上の高速動作がもたらされる。SATを使用したCNNの動作がより高速である理由の1つは、アナログバージョンが、電荷共有の同時性に起因して、デジタルバージョンで多くのクロックサイクルを要する操作を単一のクロックサイクルで実行することができることである。SATを用いたCNN設計の消費電力がより低いことにより、IOT(モノのインターネット)デバイスなどを用いた独立した操作のために、非常に低い電力でも特徴を検出するセンサデバイスが可能になる。
一実装によれば、サンプリングされたアナログ技術を使用した畳み込みニューラルネットワークは、第1および第2のアナログ入力データ点を含む入力源と、第1のアナログ入力データ点を分析し、かつ第1のアナログ畳み込み出力を出力するための第1のセットのキャパシタと、第2のアナログ入力データ点を分析し、かつ第2のアナログ畳み込み出力を出力するための第2のセットのキャパシタと、を備える。第1および第2のアナログ畳み込み出力は、複数の特徴を各々含む。
いくつかの実装では、畳み込みニューラルネットワークは、可変容量構造のアレイを更に含み、第1および第2の畳み込み出力は、可変容量構造のアレイを通って多重化されて多重化された畳み込み出力を生成する。
いくつかの実装では、第1および第2のセットのキャパシタは固定キャパシタを含み、固定キャパシタは、アナログメモリセルである。いくつかの実装では、第1および第2のセットのキャパシタは、固定重みを有する可変容量性セルである。いくつかの例では、固定重みは、メモリキャパシタサイズを使用して実装され、メモリキャパシタサイズは、固定重みの重みに等しい。
いくつかの実装では、第1のセットのキャパシタおよび第2のセットのキャパシタは、入力源によって駆動される。
様々な実装では、畳み込みニューラルネットワークは、電荷を有する第1の固定電圧源と、第1のキャパシタデジタル−アナログ変換器(capDAC)と、を更に含む。第1の固定電圧源からの電荷は、第1のcapDACによってサンプリングされて第1のバイアス値を生成し、第1のバイアス値は第1の出力に加えられる。
いくつかの実装では、畳み込みニューラルネットワークは、第1および第2のアナログ畳み込み出力に結合されたサブサンプラを更に含み、サブサンプラは、第1および第2のアナログ畳み込み出力を平均化して平均畳み込み出力を生成し、サブサンプラは、非線形伝達関数で平均畳み込み出力を処理する。いくつかの例では、非線形伝達関数は、アナログ整流関数である。
いくつかの実装では、畳み込みニューラルネットワークは、第1のアナログ畳み込み出力に結合されたサブサンプラを更に含み、第1のアナログ畳み込み出力は、値のサブウィンドウを含み、サブサンプラは、第1のアナログ畳み込み出力の値のサブウィンドウの最大値を判定するための複数のアナログ電圧比較器を含む。
いくつかの例によれば、入力源は、複数のアナログ入力データ点を含み、複数のセットのキャパシタが使用され、各セットのキャパシタは、アナログ入力データ点のサブウィンドウを分析する。
一実装によれば、サンプリングされたアナログ技術を使用してニューラルネットワークを実装するための方法は、第1および第2のアナログ入力データ点を含むアナログ入力データを受信することと、第1のアナログ入力データ点を第1のセットのキャパシタで分析して第1のアナログ畳み込み出力を生成することと、第2のアナログ入力データ点を第2のセットのキャパシタで分析して第2のアナログ畳み込み出力を生成することと、を含み、第1および第2のアナログ畳み込み出力の生成は、複数の特徴についてアナログ畳み込み演算を実行することを含む。一例によれば、分析することは、畳み込み演算を実行することを含む。
いくつかの実装では、方法は、第1および第2のアナログ畳み込み出力を可変容量構造のアレイを通して多重化してアナログ多重化畳み込み出力を生成することを更に含む。
いくつかの実装では、第1および第2のセットのキャパシタは、可変容量セルであり、第1のセットのキャパシタは、第1の固定重みを有し、第2のセットのキャパシタは、第2の固定重みを有し、第1のアナログ畳み込み出力を生成することは、第1の入力データ点に第1の固定重みを乗算することを含み、第2のアナログ畳み込み出力を生成することは、第2の入力データ点に第2の固定重みを乗算することを含む。
いくつかの実装では、方法は、第1のキャパシタデジタル−アナログ変換器を使用して、第1の固定電圧源からのスケールされた電荷をサンプリングし、かつ第1のバイアス値を第1の出力に加えることによって、第1のバイアス値を生成することを含む。
いくつかの実装において、方法は、第1のアナログ畳み込み出力を、サブサンプラにおいて第2のアナログ畳み込み出力と平均化することを含む。いくつかの実装では、第1のアナログ畳み込み出力は、値のサブウィンドウを含み、方法は、値のサブウィンドウの最大値を判定することを含む。
一実装によれば、サンプリングされたアナログ技術を使用した畳み込みニューラルネットワークは、アナログ入力データを含む入力と、複数のセットのキャパシタと、アナログ入力データのそれぞれのサブウィンドウを分析し、かつそれぞれのサブウィンドウについてアナログ畳み込み出力を出力するように構成された各セットのキャパシタと、を備え、アナログ畳み込み出力は、複数の特徴と、アナログ畳み込み出力に結合されたアナログサブサンプラと、を含む。アナログサブサンプラは、アナログ畳み込み出力の複数の特徴のうちの少なくとも1つのサイズを縮小するように構成される。
いくつかの実装では、複数のセットのキャパシタは、それぞれの複数のアナログ畳み込み出力を出力し、複数のアナログサブサンプラは、複数のアナログ畳み込み出力に結合される。複数のアナログ畳み込み出力は、複数の特徴を各々含み、複数のアナログ畳み込み出力の各々は、それぞれのセットのキャパシタからの出力の畳み込みに基づいている。複数のアナログサブサンプラの各々は、それぞれのアナログ畳み込み出力の複数の特徴のうちの少なくとも1つのサイズを縮小するように構成される。
いくつかの実装では、セットのキャパシタは固定キャパシタを含み、固定キャパシタは、アナログメモリセルである。いくつかの実装では、セットのキャパシタは、固定重みを有する可変容量セルを含む。
一実装では、畳み込みニューラルネットワークは、電荷を有する固定電圧源と、キャパシタデジタル−アナログ変換器(capDAC)と、を含む。固定電圧源からの電荷は、capDACによってサンプリングされてバイアス値を生成し、バイアス値は、複数のセットのキャパシタのうちの1つからの出力に加えられる。
本開示ならびにその特徴および利点のより完全な理解を提供するために、同様の参照番号が同様の部分を表す添付の図面と併せて以下の説明を参照する。
畳み込みニューラルネットワークを示す図である。 本開示のいくつかの実施形態による、畳み込み多重化回路の実装を示す図である。 本開示のいくつかの実施形態による、別の畳み込み多重化回路の実装を示す図である。 本開示のいくつかの実施形態による、畳み込み回路を示す図である。 本開示のいくつかの実施形態による、非重畳サブサンプリングを示す図である。 本開示のいくつかの実施形態による、サブサンプリングのための回路を示す図である。 本開示のいくつかの実施形態による、非対称変換を示す図である。 本開示のいくつかの実施形態による、別の非対称変換を示す図である。 本開示のいくつかの実施形態による、対称非線形変換を示す図である。 本開示のいくつかの実施形態による、非対称変換を示す図である。 本開示のいくつかの実施形態による、サンプリングされたアナログ技術を使用してニューラルネットワークを実装するための方法を示すフロー図である。
サンプリングされたアナログ技術(SAT)を使用した畳み込みニューラルネットワーク(CNN)の計算のための電力およびレイテンシを低減するためのシステムおよび方法が提供される。様々な用途のために、CNNが使用される。例えば、CNNは、特徴認識に使用される。CNNは、複雑なデータのパターンまたは特徴を検出する非常に強力な方法である。
サンプリングされたアナログ技術信号処理は、電子スイッチおよびキャパシタ要素のみを使用して、キャパシタ間の電荷共有によってアナログ領域内で実行される。サンプリングされたアナログフィルタは、入ってくるアナログ信号を、まず信号をデジタル化することなく、フィルタする。サンプリングされたアナログ技術は、アナログ信号処理と組み合わせた別個の時間フィルタアーキテクチャを使用し、それによって、任意のデータ経路の定量化ノイズ問題およびアナログ−デジタルおよびデジタル−アナログ変換ステップを排除する。
畳み込みニューラルネットワーク
CNN構造の多くの異なる形態が存在する。図1は、7つの層を有するディープニューラルネットワーク構造のブロック図を示す。これらの層は、サブサンプリング層と交互の畳み込み層を含む。各層は、計算集約的である。
図1に示すCNNの各層は、入力画像画素データ102のN×Nサブウィンドウの畳み込みを含む。図1の第1の層104において、サブウィンドウは、ストライドあたり5×5画素である。したがって、各サブウィンドウは、画像データがスキャンされて畳み込まれるにつれて、最後のサブウィンドウから1画素だけシフトされる120。サブウィンドウは、Nおよびストライド値の選択によって、重畳していても重畳していなくてもよい。
第2の層106の第2の操作122は、サブサンプリング操作である。それは、各サブウィンドウの出力データを生成するために、非線形関数またはスカッシング関数が続く、2×2サブウィンドウ重み付け平均である。サブサンプリングの結果は、サブサンプリングが2×2ウィンドウを使用する場合、処理された画素データの14×14アレイである。結果として得られたサブサンプリングされたデータ106は、次いで、畳み込み演算124によって処理されて、畳み込み層である第3の層108が得られる。第3の層108からのデータはサブサンプリングされ126、サブサンプリング層である第4の層110が得られる。図1に示すように、畳み込み層とサブサンプリング層との間に交互に入れ替わる多くの層対が存在し得る。図1では、第4の層110上の完全な接続操作128は、畳み込み層である第5の層112をもたらす。一例では、第4の層110が第5の層112に完全に接続され、その結果、第4の層110の全ての出力が第5の層112の全ての入力に接続される。第4の層110の各出力は、個々の重みおよび非線形関数を介して、第5の層の入力に接続され得る。個々の重みは学習された重みであることに留意されたい。同様に、第5の層112に対する完全な接続操作は、第6の層114をもたらす。出力である第7の層116を生成するために、第6の層114に対してガウス接続操作が実行される。
他の実装では、第2の操作は、非線形関数およびそれに続くサブウィンドウ重み付け平均で始まる。他の実装では、非線形関数は畳み込み層の一部であり、その結果、畳み込み層の出力は非線形である。畳み込みおよびサブサンプリング層については、以下により詳細に説明する。
畳み込み層
一実装によれば、各畳み込みステップは、画像データのサブウィンドウを取り、訓練可能かつ独立した重みによって畳み込みへの各入力に重み付けする。一例では、各和に25個のプログラム可能な重みが使用されている。同じ重みは、各特徴ごとに画像データの全てのサブウィンドウスキャンに使用される。更に、畳み込み和に訓練可能なバイアス重みが加えられる。
特徴は、入力データの個々の測定可能な特性である。例えば、特徴は、エッジ検出器およびカラーブロブ検出器を含むことができる。他の例では、特徴は、入力データセットおよびラベルに、固有のより細かい詳細に焦点を当てる。種々な用途において、特徴は、数値または構造であり得る。ニューラルネットワークは、入力データからの特徴を学習し、ニューラルネットワークの各層は、いくつかの特徴を入力データから抽出する。いくつかの実装では、追加の情報が、データから導出された特徴の形態で、ニューラルネットワークに提供される。
図1では、第1の畳み込み演算120からの畳み込み出力は、第1の層104において6個の特徴として示される。特徴の数は、用途によって異なる。各特徴は、画像データの畳み込みスキャンのためのプログラム可能な重みの独立したセットである。特定の特徴のデータの全ての畳み込み和に対して同じ重みが使用され、各特徴は、一意のセットの重みに関連付けられている。
各特徴の各畳み込みは、以下の式1.1に示されるような積の和として実装される。図1の例では、5×5サブウィンドウを使用すると、N=25であり、
Figure 0006637602
重み、wおよびbは、プログラム可能であり、学習した挙動を表す。SATを使用すると、プログラム可能な重みおよびバイアスを使用した全体の畳み込みが受動的に実装され得る。
本出願において、複数の畳み込みが、様々な方法で実装され得る。画像データは、特定のフレームレート(1秒当たりのフレーム(fps))で更新される。リアルタイムで演算するために、単一層の全ての特徴の畳み込みは、次の画像データの更新(1/fps秒)前に完了される。SATを使用してリアルタイムで畳み込みを実装するための、2つの例示的な方法を以下に説明する。SATを使用してCNNを実装するための他の方法は、本明細書に具体的に記載される方法の組み合わせを含む。
様々な実装によれば、データは多くの形態であり得る。例えば、一実装では、CNNは、DNAマッピングに使用される。
サブサンプリング層
CNNへの入力は、複数の層を通過する。図1に示すようないくつかの実装では、入力は、畳み込み層(例えば、第1の104、第3の106、および第5の112層)とサブサンプリング層(例えば、第2の106および第4の110層)との間で交互に起こる。他の実装では、畳み込みおよびサブサンプリング層は、交互に入れ替わっていない順序である。例えば、一実装は、複数の連続した畳み込み層を含む。別の実装は、複数の連続したサブサンプリング層を含む。
サブサンプリングは、画像データの複雑性および空間解像度を低減し、これにより、出力に対する感度のばらつきを低減する。サブサンプリングはまた、特徴のサイズを何らかの係数で縮小する。一例では、特徴サイズの縮小は、前の畳み込み層の出力のM×M要素の群を合計することにより達成される。別の例では、特徴サイズの縮小は、M×M要素の群を平均化し、その平均に定数を乗算することによって達成される。
CNNのいくつかの説明では、サブサンプリングは、プーリングとして説明される。プーリングのための多数の方法が存在する。プーリングのための1つの方法は、M×M要素の和を判定することである。プーリングの別の方法は、M×M要素の最大を判定することである。他の実装において、サブサンプリング領域は、他のサブサンプリング領域と重畳し得る。例えば、4×4のグリッドの数字(層の出力であり得る)において、プーリングのために非重畳2×2領域を使用すると、2×2の出力が得られる。別の例では、4×4のグリッドの数字では、重畳しない2×2領域をプーリングに使用すると、3×3出力が得られる。
非線形性
様々な実装によれば、CNN構造は、畳み込み和の後、サブサンプリングもしくはプーリングの後、または畳み込み和と各層のサブサンプリングとの両方の後、非線形関数を通過するデータを有し得る。CNNデータを処理するために使用され得る3つの対称関数は、それぞれ、erfc(−x)−1伝達関数、シグモイド関数、およびTanh関数である。加えて、CNNデータは、整流関数に類似した非対称ReLU関数によって処理されてもよい。いくつかの実装では、サブサンプリング層からの個々の和は、次の畳み込み層に進む前にスカッシング関数を通過する。スカッシング関数は、様々な形状を有することができ、スカッシング関数の形状は、対称または非対称であり得る。
特徴
図1に示すCNN図では、第1の層104(畳み込み層)および第2の層106(サブサンプリング層)は、同じ数の特徴を有する。特に、図1では、第1の104および第2の106の層は、6個の特徴を各々有する。第3の層108(第2の畳み込み層)は、16個の特徴部を有する。特徴の数は、第2の層106の特徴の画像画素のいくつかの他のマッピングを第3の層108の特徴に加えることによって増加する。したがって、畳み込み層およびサブサンプリング層の特徴の数は、異なることがある。特徴の数の拡張は、ネットワークにおける対称性の破れを示す。加えて、畳み込みおよびサブサンプリング層は、異なる特徴を有し得る。特に、特徴は、特徴データがある層から次の層に移動するときに、変換され得る。いくつかの例によれば、重みは訓練段階の間に判定され、重みは訓練段階が終了した後に保存される。いくつかの例では、異なる特徴は、サブサンプリング層に維持された特徴から、畳み込み層に維持される。
畳み込みの完全な実装
畳み込み層では、前のサブサンプリング層からの和に、訓練可能な重みが乗算される。加えて、訓練可能なバイアスが加えられる。
畳み込み完全実装では、層の全ての重みがデバイス回路に存在する。例えば、図1を参照すると、畳み込み完全実装は、第1の層104の6個の特徴の独立したプログラム可能な重み、および畳み込み和(式1に示される)の各要素に対する個々の重みを含む。これは、各和の25個の重みである。一例では、第1の層104の6個の特徴の各々について、28×28=784の畳み込みが存在し、6個の特徴の各々について、784個のサブウィンドウが、畳み込み演算120から出力アレイにもたらされる。したがって、第1の層104内の畳み込みの総数は、6*28*28=4,704であり、各畳み込みに25の重みが存在するため、これにより、5*4、704=117,600の重み付け和が得られる。
いくつかの実装では、重みは、各シフトウィンドウ内の重みが同じ値を有するように結合される。SATを用いてCNNを実装する場合、各重み付け和に対して別々のCapDAC(キャパシタデジタル−アナログ変換器)が存在する。一例では、重みが結合されている場合、CapDACは結合され、結合されたCapDACは単一の操作でプログラムされる。したがって、重みの各々を個別にプログラムするのではなく、同一の全ての重みが単一の操作でプログラムされ得る。これは、CNNの重みのプログラムの効率性を改善することに役立つ。
重み付け和の数を低減するために使用される1つの方法は、サブウィンドウのスライドを増加させることである。サブウィンドウのスライドを増加することは、サブウィンドウを、サブウィンドウごとに複数の画素ずつ移動させることを意味する。例えば、2のストライドの場合、サブウィンドウは水平方向に2画素、垂直方向に2画素移動するため、サブウィンドウの数は4個だけ減少し、総重み付け和は4倍減少する。
一実装では、上述のような完全畳み込み実装は、117,600の重み付け和を有し、したがって、117,600のデジタルアナログ変換器(DAC)に接続する117,600のアナログメモリキャパシタを有し、重みとなる。一例では、DACは、ハイブリッドCapDACである。この実装は、重みによるスケーリングに必要な数クロックサイクル内で、全ての畳み込み和が並行して発生するため、高速である。この実装はまた、デバイス領域で最大である。より大きな画像データアレイについては、完全実装方法は、サイズとコストが高くなる可能性がある。
畳み込み多重化の実装
選択されたフレームレートで撮像データを生成するために、複数の畳み込みおよびサブサンプリング層をパイプライン化することができ、各層は、独立して並列に操作することができる。各層は、フレームレート期間内に完了する。多重化のための境界は、複数の方法で実装され得る。
図2は、本開示のいくつかの実施形態による畳み込み多重化回路200を示す。回路200において、各画素は画像源に接続された、または画像源によって駆動される1セットのキャパシタを有する。第1の画素202は、第1のセットのキャパシタ212に結合され、第2の画素204は、第2のセットのキャパシタ214に結合される。一例では、第1の212および第2の214のセットのキャパシタは、各々、メモリセルの5×5サブウィンドウである。いくつかの例では、図2に示すように、画像画素の5×5サブウィンドウスキャンが使用され、各画素源に接続された5個のメモリセルが存在する。一例では、メモリセルは、アナログメモリセルである。
図2では、メモリセルは、第1の212および第2の214のセットのキャパシタに示されるように、固定キャパシタである。第1の212および第2の214のセットのキャパシタは、可変容量構造222a〜222dのアレイに多重化される(216、218)。可変容量構造222a〜222dは、多数の形態であり得る。一例では、可変容量構造222a〜222dは、ハイブリッドCapDAC構造220である。ハイブリッドCapDAC構造220は、畳み込み出力224を出力する。
一例では、図2の可変容量構造222a〜222dは、単一の5×5マトリックスサブウィンドウを形成する。他の実装では、可変容量セルの任意の数のアレイまたはマトリックスは、畳み込み時間を低減するために多重化され得る。
図3は、本開示のいくつかの実施形態による、可変容量セルを直接使用する畳み込み多重化回路300を示す。回路300において、各画素は、画像源に結合されるセットの可変キャパシタを有する。第1の画素302は、第1のセットの可変キャパシタ312に結合され、第2の画素304は、第2のセットの可変キャパシタ314に結合される。一例では、第1の312および第2の314のセットのキャパシタは、各々、重み付けメモリセルの5×5サブウィンドウである。いくつかの実装では、メモリセルは、プログラム可能な重みを有する。いくつかの実装では、メモリセルの各々の重みは、重みが学習されるニューラルネットワークの学習段階の後に固定される。したがって、重み付けは、重みに等しいメモリキャパシタサイズとして直接組み込まれ得る。第1のセットのキャパシタ312は、第1のサブウィンドウ畳み込み出力322を有し、第2のセットのキャパシタ314は、第2のサブウィンドウ畳み込み出力324を有する。
様々な実装によれば、図3に示すアーキテクチャは、重み解像度要件によって影響を受け、その結果、重み解像度要件が高い場合に、可変キャパシタ構造はアレイとして実装するには大きすぎることがある。しかしながら、図2に示すような多重化は、より小さくすることができ、高い重み解像度要件があってもアレイとして実装することができる。
バイアス付加
いくつかの実装では、重み付け値の畳み込み和は、訓練可能なバイアス値でシフトされる。図4は、本開示のいくつかの実施形態による、重み付けバイアスを含む畳み込み回路400の図を示す。回路400において、各画素は、図3に示す回路300と同様に、画像源に結合されたセットの可変キャパシタを有する。第1の画素402は、第1のセットの可変キャパシタ412に結合され、第2の画素404は、第2のセットの可変キャパシタ414に結合される。一例では、第1の412および第2の414のセットのキャパシタは、各々、重み付けメモリセルの5×5サブウィンドウである。第1のセットのキャパシタ412は、第1の出力416を有し、第1の重み付けバイアス432は第1の出力に加えられ、第1のサブウィンドウ畳み込み出力422が得られる。第2のセットのキャパシタ414は、第2の出力418を有し、第2の重み付けバイアス434は、第2の出力418に加えられ、第2のサブウィンドウ畳み込み出力424が得られる。第1の432および第2の434の重み付けバイアスは、重み付け値の畳み込み和をシフトする。
第1の重み付けバイアス432には、CapDAC構造426によってサンプリングされた固定電圧源436から、スケールされた電荷値が加えられる。同様に、第2の重み付けバイアス434は、CapDAC構造428によってサンプリングされた固定電圧源438から、スケールされた電荷値が加えられる。様々な例では、CapDAC構造426、428は、ハイブリッドCapDACである。
サブサンプリング層の実装
サブサンプリング層は、畳み込み出力の後に非線形変換が続くM×M平均を含む。一実装によれば、M×M平均は、畳み込み出力の非重畳M×Mサブウィンドウの平均である。M×M平均は、本質的に、畳み込みステップの空間アレイ出力を間引く。しかしながら、畳み込み層のキャパシタ出力のM×Mサブセットの電荷共有は、平均関数として直接作用し得る。いくつかの例では、畳み込み層のキャパシタ出力のM×Mサブセットの共有が平均関数として直接的に作用するとき、正規化の問題が存在し得る。
いくつかの実装では、サブサンプリングは重畳する。他の実装では、サブサンプリングは重畳しない。図5は、本開示のいくつかの実施形態による、サブサンプリングが重畳しない畳み込み多重化回路500を示す。回路500は、可変capDAC502の第1のサブウィンドウ、および可変capDAC504の第2のサブウィンドウを含む。第1の502および第2の504サブウィンドウ内のCapDACはハイブリッドcapDACであってもよい。第1のサブウィンドウ502は、第1の畳み込み出力506を出力し、第2のサブウィンドウ504は、第2の畳み込み出力508を出力する。第1の506および第2の508の出力は、スイッチング素子を含むサブサンプリング加算器510に入力される。サブサンプリング加算器510は、第1の出力506に結合された第1のスイッチ526、および第2の出力508に結合された第2のスイッチ528を含む。一実装では、第1の526および第2の528のスイッチは、サブサンプリングの重畳を防止する。
サブサンプリングスイッチング要素510からのサブサンプリング出力512は、可変capDAC514に入力される。可変capDAC514は、訓練可能な重みとして作用する。いくつかの例では、可変capDAC514はハイブリッドCapDACである。バイアス516は、可変capDAC514からの出力に加えられて、サブウィンドウのサブサンプリング出力522が得られる。バイアス516には、CapDAC構造518によってサンプリングされた固定電圧源520からのスケールされた電荷値が加えられる。
サブサンプリングが重畳しないサブウィンドウである場合、実装は、単純かつ受動的になる。重畳すると、畳み込み和の各出力は、後続のサブサンプリング層のいくつかの入力を駆動する。
最大プーリングの実装
一実装によれば、別のサブサンプリング方法は、MAXプーリングと呼ばれる。MAXプーリングは、出力のための値のM×Mサブウィンドウの最大値を使用する。スイッチトキャパシタ(switchcap)回路にMAX関数を実装することは、全てのM×M要素間での比較イベントを示す。
図6は、本開示のいくつかの実施形態による、サブサンプリングのための、特にMAXプーリングに関する回路600を示す。MAXプーリング回路600は、ウィンドウ620の2×2サブウィンドウ606の4個の要素604a〜604dを、サブウィンドウ606の他の要素604a〜604dと比較するための、6個のアナログ電圧比較器602a〜602fのセットを含む。図6に示すように、第1の要素604aは、比較器602bにおいて第2の要素604bと比較され、第1の要素604aは、比較器602aにおいて第3の要素604cと比較され、第1の要素604aは、比較器602cにおいて第4の要素604dと比較される。同様に、第2の要素604bは、それぞれ、比較器602b、602d、および602eにおいて、第1の604a、第3の604c、および第4の604d要素と比較される。第3の要素604cは、それぞれ、比較器602a、602d、および602fにおいて、第1の604a、第2の604b、および第4の604d要素と比較される。第4の要素604dは、それぞれ、比較器602c、602e、および602fにおいて、第1の604a、第2の604b、および第3の604c要素と比較される。様々な実装では、アナログ電圧比較器は、連続時間比較器またはクロック比較器であり得る。
比較器602a〜602fの出力は、デコーダ608で復号されて、最大要素を判定する。一例では、デコーダ608は、組み合わせ論理ブロックである。デコーダ608は、スイッチ612a〜612dがサブウィンドウ604a〜604dの各々から出力ライン614へのラインを接続するMAX操作出力を可能にするために、4個のスイッチ612a〜612dのうちのどれを閉じるかを選択するデジタル定義610を出力する。スイッチが閉じられると、それぞれのサブウィンドウからのデータは、出力ライン614に出力される。
非線形関数の実装
上述のように、様々な異なる伝達関数は、CNNのサブサンプリング層において使用され得る。非線形伝達関数がCNNのサブサンプリング層に使用される場合、非線形伝達関数の形状は、広範囲の可能性を有する。一態様によれば、SATとともにCNN層を実装することは、小電力および低電力であるである非線形伝達関数を選択することを含む。様々な実装によれば、アナログ整流関数が、CNNのサブサンプリング層に使用され、その整流はゼロよりも大きいかまたはゼロよりも小さい。特に、アナログ整流は、理想的な関数からの入力および出力における一定のオフセットである。訓練可能なバイアス条件は、一定のオフセットを補償することができる。
図7、図8、および図9は、非線形変換を作成する3つの方法を示す。図7は、本開示のいくつかの実施形態による、ダイオード補正回路702を含む非対称変換700を示す。非対称変換700は、整流伝達関数704をもたらす。図8は、本開示のいくつかの実施形態による、MOSFET整流802を含む非対称変換800を示す。非対称変換800は、整流伝達関数804をもたらす。図9は、MOSFETクランプ902を含む対称非線形変換900を示す。対称非線形変換900は、伝達関数904をもたらす。
図7、図8、および図9は、容量ベースの電荷出力に接続するシャント素子を含む。容量に基づく電荷出力の一例は、変換を通過するサブウィンドウ和の出力である。変換700、800、および900は、電荷共有(CS)イベントを実装することによって、サブサンプリング層出力の電荷を変更するために使用され得る。
様々な実装によれば、プロセス、温度、および電圧変動性が調節され得る。様々な例では、検出の成功は、プロセス、温度、および電圧における変動性に対して敏感であり得る。
図10は、MOSFET整流1002および第1の1006および第2の1008のスイッチを含む非対称変換1000を示す。第1の1006および第2の1008のスイッチは、それぞれ第1の1016および第2の1018はタイミング図に従って閉じる。図10は、電圧が負であるときに、クロック段階2の間にサブウィンドウ和に対する電荷を放電する電荷共有イベントを使用する整流の実装を示す。他の関数も同様の方法で実装され得る。非対称変換1000は、整流伝達関数1004をもたらす。
いくつかの実装では、非線形伝達関数またはスカッシング関数は、畳み込み演算およびプーリング演算の出力で実装される。
用途
畳み込みニューラルネットワーク(CNN)は、特徴間で重みを共有することによって、空間的および時間的構造を使用する。CNNのアーキテクチャは、特徴のアクティブ化において等価性を可能にし、CNNを画像およびビデオ用途に対して理想的にする。例えば、手書き数字の認識、より広くは、画像認識/分類、およびビデオ認識/分類などの文字認識。様々な実装によれば、入力データが高度に相関される局所変数を有するアレイの形態であり、シフト不変性を有する場合、CNNが使用される。
音声および自然言語処理は、CNNがこの問題の固有の構造を利用するために使用され得る2つの他の領域である。自動音声認識(ASR)は、問題を解決するために、隠れマルコフモデル(HMM)またはガウス混合モデル(GMM)を使用することによって、歴史的にアプローチされてきた用途の1つである。しかしながら、現状では、ディープニューラルネットワーク、特にASRのためのCNNを使用することが最先端技術である。ASRを行うように訓練されたCNNは、騒々しい環境で言語を識別するためにも使用できる。
CNNは、創薬および化学分析を含む非常に広範な用途に使用されている。一用途では、CNNは、分子の生物活性および化学的相互作用を予測するように訓練される。生物学的システムは、分子レベルの相互作用を介して動作するため、CNNを使用した分子相互作用を予測することができれば、創薬に大幅に貢献することができる。
他の用途では、CNNは、DNAマッピングに使用され得る。DNAマッピングは、染色体上の遺伝子の位置を記述し、遺伝子間の距離を判定するために使用される。
図11は、本開示のいくつかの実施形態による、サンプリングされたアナログ技術を使用してニューラルネットワークを実装するための方法1100を示す。ステップ1102において、第1および第2のアナログ入力データ点を含むアナログ入力データが受信される。ステップ1104において、第1のアナログ入力データ点は、第1のセットのキャパシタで分析されて第1の出力を生成する。ステップ1106において、第2のアナログ入力データ点は、第2のセットのキャパシタで分析されて第2の出力を生成する。ステップ1108において、アナログ畳み込み出力は、第1および第2の出力に基づいて生成される。アナログ畳み込み出力は、上述のように複数の特徴を含む。
いくつかの例では、方法は、第1および第2の出力を可変容量構造のアレイを通して多重化してアナログ畳み込み出力を生成することを含む。いくつかの実装では、第1および第2のセットのキャパシタは可変容量セルであり、第1および第2のセットのキャパシタは、各々、固定重みを有する。第1の出力の生成は、第1の入力データ点に第1の固定重みを乗算することを含み、第2の出力の生成は、第2の入力データ点に第2の固定重みを乗算することを含む。
いくつかの実装では、第1のバイアス値は、第1の固定電圧源からスケールされた電荷をサンプリングすることと、第1のバイアス値を第1の出力に加えることと、によって生成される。スケールされた電荷は、第1のキャパシタデジタル−アナログ変換器によってサンプリングされる。いくつかの例では、アナログ畳み込み出力は、サブサンプラにおいて第2のアナログ畳み込み出力と平均化される。いくつかの例では、アナログ畳み込み出力は、値のサブウィンドウを含み、値のサブウィンドウの最大値が判定される。
変形および実装
様々な実装では、本明細書に記載されるSATは、任意の種類のCNNに使用され得る。いくつかの実装によれば、SATは、高密度畳み込みネットワークで使用される。高密度畳み込みニューラルネットワークでは、各層はフィードフォワード方式で他の全ての層と接続される。各層について、入力は、先行する全ての層の特徴を含む。同様に、各層について、層の特徴は、全ての後続の層に入力される。
上記の実施形態の考察では、キャパシタ、クロック、DFF、分圧器、インダクタ、抵抗器、増幅器、スイッチ、デジタルコア、トランジスタ、および/または他の構成要素が、特別な回路の必要性に適応させるため容易に置き換えられ、交換され、もしくはさもなければ修正され得る。更に、相補的な電子デバイス、ハードウェア、ソフトウェアなどの使用は、本開示の教示を実装するために同様に実行可能な選択肢を提供することに留意すべきである。
一実施形態例では、図の任意の数の電気回路を、関連する電子デバイスの基板上に実装することができる。基板は、電子デバイスの内部電子システムの様々な構成要素を保持することができ、更に、他の周辺装置のためのコネクタを提供することができる一般的な回路基板とすることができる。より具体的には、基板は、システムの他の構成要素が電気的に通信することができる電気的接続を提供することができる。特定の構成ニーズ、処理要求、コンピュータ設計などに基づいて、任意の好適なプロセッサ(デジタル信号プロセッサ、マイクロプロセッサ、サポートチップセットなどを含む)、コンピュータで読み取り可能な非一時的メモリ素子などを基板に適切に結合することができる。外部ストレージ、追加センサ、オーディオ/ビデオディスプレイ用のコントローラ、周辺機器などの他の構成要素は、ケーブルを介してプラグインカードとして基板に取り付けられるか、基板自体に統合することができる。様々な実施形態では、本明細書で説明される機能は、これらの機能をサポートする構造内に配置された1つ以上の構成可能な(例えば、プログラム可能な)要素内で動作するソフトウェアまたはファームウェアとしてエミュレーション形態で実装され得る。エミュレーションを提供するソフトウェアまたはファームウェアは、プロセッサがそれらの機能を実行することを可能にする命令を含む非一時的コンピュータで読み取り可能な記憶媒体上に提供されてもよい。
別の実施形態例では、図の電気回路は、スタンドアロンモジュール(例えば、特定のアプリケーションまたは機能を実行するように構成された関連する構成要素および回路を有するデバイス)として実装されてもよく、もしくはプラグインモジュールとして、電子デバイスの特定のアプリケーションハードウエアに実装されてもよい。本開示の特定の実施形態は、システムオンチップ(SOC)パッケージに部分的にもしくは全体的に容易に含まれ得ることに留意すべきである。SOCは、コンピュータまたは他の電子システムの構成要素を単一のチップに統合するICを表す。それは、デジタル、アナログ、混合信号、およびしばしば無線周波数機能を含むことができ、これらの機能は全て単一のチップ基板上に提供され得る。他の実施形態は、単一の電子パッケージ内に配置され、電子パッケージを介して互いに密接に相互に作用するように構成された複数の別個のICを有するマルチチップモジュール(MCM)を含むことができる。様々なおよび他の実施形態では、CNN機能性は、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、他の半導体チップの1つ以上のシリコンコアに実装することができる。
別の実施形態例では、図の電気回路は、CNN回路の訓練の一部であるように実装されてもよい。訓練は、CNNブロックの出力を処理して様々な重みを判定するフィードバック経路である。
本明細書に概説されている仕様、寸法、および関係の全て(例えば、プロセッサ数、論理演算数など)は、例示および教示のみのために提供されたものであることに留意することも必須である。そのような情報は、本開示の趣旨または添付の特許請求の範囲から逸脱することなく、かなり変化し得る。本明細書は、1つの非限定的な例にのみ適用されるものであり、したがって、それらはそのように解釈されるべきである。前述の説明では、実施形態例を、特定のプロセッサおよび/または構成要素の構成を参照して説明した。添付の特許請求の範囲から逸脱することなく、そのような実施形態に対して様々な修正および変更を行うことができる。したがって、説明および図面は、限定的ではなく例示的なものと見なされるべきである。
図を参照して上述した作業は、信号処理を含む集積回路、特に専用のソフトウェアプログラムまたは一部がデジタル化されたリアルタイムデータを処理することに関連し得る、アルゴリズムを実行することができるあらゆる集積回路に適用可能である。特定の実施形態は、マルチDSP信号処理、浮動小数点処理、信号/制御処理、固定機能処理、マイクロコントローラアプリケーションなどに関連することができる。
特定の文脈において、本明細書で説明する機能は、医療システム、科学機器、無線および有線通信、レーダ、工業プロセス制御、オーディオおよびビデオ機器、電流検出、計測(高精度であり得る)、ならびに他のデジタル処理ベースのシステムに適用することができる。
更に、上述の特定の実施形態を、医療用撮像、患者モニタリング、医療機器、および在宅医療のためのデジタル信号処理技術に供給することができる。これには、肺モニタ、加速度計、心拍モニタ、ペースメーカなどを含むことができる。他の用途には、安全システム用の自動車技術(例えば、安定性制御システム、運転支援システム、ブレーキシステム、インフォテイメント、およびあらゆる種類の室内用途)を含むことができる。更に、パワートレインシステム(例えば、ハイブリッドおよび電気自動車の)は、バッテリ監視、制御システム、報告制御、保守作業などで高精度のデータ変換製品を使用できる。
更に他の例のシナリオでは、本開示の教示は、生産性向上、エネルギー効率、および信頼性を支援するプロセス制御システムを含む産業市場に適用可能である。消費者用途では、上述した信号処理回路の教示を、画像処理、オートフォーカス、および画像安定化(例えば、デジタルスチルカメラ、ビデオカメラなど)に使用することができる。他の消費者用途には、ホームシアターシステム、DVDレコーダー、ハイビジョンテレビ用のオーディオおよびビデオプロセッサが含まれ得る。更に、他の消費者用途は、(例えば、任意のタイプのポータブルメディアデバイスのための)高度なタッチスクリーンコントローラを含むことができる。したがって、そのような技術は、スマートフォン、タブレット、セキュリティシステム、PC、ゲーム技術、バーチャルリアリティ、シミュレーショントレーニングなどの一部に容易に含めることができる。
本明細書で提供される多くの例では、相互作用は、2つ、3つ、4つ、またはそれ以上の電気的構成要素に関して記述され得ることに留意すべきである。しかしながら、これは、明瞭化および単なる例示の目的でなされたものである。システムは、任意の好適な方法で統合することができることを理解されるべきである。類似の設計選択肢に沿って、図の図示された構成要素、モジュール、および要素のいずれも、様々な可能な構成で組み合わせることができ、その全てが明らかに本明細書の広い範囲内にある。場合によっては、限定された数の電気素子を参照するだけで、所定のフローのセットの1つ以上の機能を記述することがより容易になることがある。図およびその教示の電気回路は容易に拡張可能であり、多数の構成要素ならびにより複雑で/洗練された配置および構成に対応することができることを理解されるべきである。したがって、提供された例は、その範囲を限定しもしくは無数の他のアーキテクチャに潜在的に適用される電気回路の広範な教示を阻害するものではない。
なお、本明細書において、「一実施形態」、「実施形態例」、「ある実施形態」、「別の実施形態」、「いくつかの実施形態」、「様々な実施形態」、「他の実施形態」、「代替実施形態」などに含まれる様々な特徴(例えば、要素、構造、モジュール、構成要素、ステップ、動作、特性など)は、そのような特徴のいずれかが本開示の1つ以上の実施形態に含まれることを意味することを意図しているが、同じ実施形態で組み合わされてもよいしもしくは必ずしも組み合わされなくてもよい。
CNNに関連する機能は、図に示されるシステムによって、またはその内部で実行され得る可能なCNN機能のうちのいくつかのみを示していることに留意することも重要である。これらの操作の一部は、必要に応じて削除または除去することができ、またはこれらの操作は、本開示の範囲から逸脱することなく、かなり修正または変更することができる。更に、これらの操作のタイミングをかなり変更することができる。前述の動作フローは、例および考察のために提供されている。本開示の教示から逸脱することなく、任意の好適な構成、年表、構成、およびタイミング機構が提供され得るという点で、本明細書に記載される実施形態によって実質的な柔軟性が提供される。
多くの他の変更、置換、変形、交替、および修正が当業者に確認されてもよく、本開示は、添付の特許請求の範囲内にあるそのような変更、置換、変形、交替、および修正を含有するよう意図される。米国特許商標庁(USPTO)、および追加的に、本明細書に添付の特許請求の範囲を解釈して本明細書に関して発行されたあらゆる特許のあらゆる読者を支援するために、出願人は、出願人が、(a)特許請求の範囲のいずれも、本明細書の出願の期日に存在するように、「〜のための手段」または「〜のためのステップ」という用語が特定の特許請求の範囲において特異的に用いられない限り、米国特許法第112条第6項を行使することを意図せず、(b)本明細書のいかなる言及によっても、添付の本明細書に別様に反映されないいかなる意味においても本開示を制限することを意図しないことに留意することを所望する。

他の注釈、例、および実装
上述の装置の全ての任意の特徴はまた、本明細書に記載の方法またはプロセスに関して実装されてもよいし、例の詳細は、1つ以上の実施形態でどこでも使用されてもよいことに留意すべきである。
第1の例では、複数の電子構成要素に結合された回路基板を更に含むことができる、任意のタイプのコンピュータの一部となり得るシステム(任意の好適な回路、分割器、キャパシタ、抵抗器、インダクタ、ADC、DFF、論理ゲート、ソフトウェア、ハードウェア、リンクなどを含むことができる)が提供される。このシステムは、デジタルコアからのデータを、マクロクロックである第1のクロックを使用してマクロの第1のデータ出力にクロッキングするための手段と、マクロの第1のデータ出力からのデータを物理インターフェースクロックである第2のクロックを使用して物理インターフェースにクロッキングするための手段と、デジタルコアからの、その出力が第2のリセット信号として使用される第1のリセット信号を、マクロクロックを使用してマクロのリセット出力にクロッキングするための手段と、サンプリングされたリセット信号を生成するために、第2のクロックの速度よりも速いクロック速度を提供する第3のクロックを使用して第2のリセット信号をサンプリングするための手段と、サンプリングされたリセット信号の遷移に応答して、第2のクロックを物理インターフェース内の所定の状態にリセットするための手段とを含むことができる。
これらの場合(上記)の「のための手段」は、任意の好適なソフトウェア、回路、ハブ、コンピュータコード、論理、アルゴリズム、ハードウェア、コントローラ、インターフェース、リンク、バス、通信経路などとともに、本明細書で論じられた任意の好適な構成要素を使用することを含むことができる(ただしこれに限定されない)。第2の例では、システムは、実行されたときにシステムが上述の作業のいずれかを実行する機械で読み取り可能な命令を更に備えるメモリを含む。
102 入力画像画素データ
104 第1の層
106 第2の層
108 第3の層
110 第4の層
110 第4の層
112 第5の層
114 第6の層
116 第7の層
200 回路
202 第1の画素
204 第2の画素
212 第1のセットのキャパシタ
214 第2のセットのキャパシタ
220 ハイブリッドCapDAC構造
222 可変容量構造
300 回路
302 第1の画素
304 第2の画素
312、314 キャパシタ
400 回路
402 第1の画素
404 第2の画素
412 第1のセットのキャパシタ
414 第2のセットのキャパシタ
436、438 固定電圧源
500 回路
510 サブサンプリング加算器
520 固定電圧源
526 第1のスイッチ
528 第2のスイッチ
600 プーリング回路
602 比較器
604 サブウィンドウ
606 サブウィンドウ
608 デコーダ
612 スイッチ
620 ウィンドウ
702 ダイオード補正回路
902 MOSFETクランプ

Claims (16)

  1. サンプリングされたアナログ技術を使用した畳み込みニューラルネットワークであって、
    第1および第2のアナログ入力データ点を含む入力源と、
    前記第1のアナログ入力データ点を分析し、かつ第1のアナログ畳み込み出力を出力するための第1のセットのキャパシタと、
    前記第2のアナログ入力データ点を分析し、かつ第2のアナログ畳み込み出力を出力するための第2のセットのキャパシタと、を備え、
    前記第1および第2のアナログ畳み込み出力が、複数の特徴を表す複数の出力を各々含む、畳み込みニューラルネットワークであって、
    可変容量構造のアレイを更に備え、前記第1および第2の出力が、前記可変容量構造のアレイを通って多重化されて多重化畳み込み出力を生成する、
    畳み込みニューラルネットワーク
  2. 前記第1および第2のセットのキャパシタが、固定キャパシタを含み、前記固定キャパシタが、アナログメモリセルである、請求項1に記載の畳み込みニューラルネットワーク。
  3. サンプリングされたアナログ技術を使用した畳み込みニューラルネットワークであって、
    第1および第2のアナログ入力データ点を含む入力源と、
    前記第1のアナログ入力データ点を分析し、かつ第1のアナログ畳み込み出力を出力するための第1のセットのキャパシタと、
    前記第2のアナログ入力データ点を分析し、かつ第2のアナログ畳み込み出力を出力するための第2のセットのキャパシタと、を備え、
    前記第1および第2のアナログ畳み込み出力が、複数の特徴を表す複数の出力を各々含む、畳み込みニューラルネットワークであって、
    前記第1および第2のセットのキャパシタが、固定重みを有する可変容量セルである、畳み込みニューラルネットワーク。
  4. 前記固定重みが、メモリキャパシタサイズを使用して実装され、前記メモリキャパシタサイズが、前記固定重みの重みに等しい、請求項に記載の畳み込みニューラルネットワーク。
  5. 前記第1のセットのキャパシタおよび前記第2のセットのキャパシタが、前記入力源によって駆動される、請求項1または2に記載の畳み込みニューラルネットワーク。
  6. サンプリングされたアナログ技術を使用した畳み込みニューラルネットワークであって、
    第1および第2のアナログ入力データ点を含む入力源と、
    前記第1のアナログ入力データ点を分析し、かつ第1のアナログ畳み込み出力を出力するための第1のセットのキャパシタと、
    前記第2のアナログ入力データ点を分析し、かつ第2のアナログ畳み込み出力を出力するための第2のセットのキャパシタと、を備え、
    前記第1および第2のアナログ畳み込み出力が、複数の特徴を表す複数の出力を各々含む、畳み込みニューラルネットワークであって、
    電荷を有する第1の固定電圧源と、
    第1のキャパシタデジタル−アナログ変換器(capDAC)と、を更に備え、
    前記第1の固定電圧源からの電荷が、前記第1のcapDACによってサンプリングされて第1のバイアス値を生成し、
    前記第1のバイアス値が、前記第1の出力に加えられる、畳み込みニューラルネットワーク。
  7. 前記第1および第2のアナログ畳み込み出力に結合されたサブサンプラを更に備え、前記サブサンプラが、前記第1および第2のアナログ畳み込み出力を平均化して平均畳み込み出力を生成し、前記サブサンプラが、非線形伝達関数で前記平均畳み込み出力を処理する、請求項に記載の畳み込みニューラルネットワーク。
  8. 前記非線形伝達関数が、アナログ整流関数である、請求項に記載の畳み込みニューラルネットワーク。
  9. サンプリングされたアナログ技術を使用した畳み込みニューラルネットワークであって、
    第1および第2のアナログ入力データ点を含む入力源と、
    前記第1のアナログ入力データ点を分析し、かつ第1のアナログ畳み込み出力を出力するための第1のセットのキャパシタと、
    前記第2のアナログ入力データ点を分析し、かつ第2のアナログ畳み込み出力を出力するための第2のセットのキャパシタと、を備え、
    前記第1および第2のアナログ畳み込み出力が、複数の特徴を表す複数の出力を各々含む、畳み込みニューラルネットワークであって、
    前記第1のアナログ畳み込み出力に結合されたサブサンプラを更に備え、
    前記第1のアナログ畳み込み出力が、値のサブウィンドウを含み、
    前記サブサンプラが、前記第1のアナログ畳み込み出力の値の前記サブウィンドウの最大値を判定するための、複数のアナログ電圧比較器を含む、畳み込みニューラルネットワーク。
  10. サンプリングされたアナログ技術を使用してニューラルネットワークを実装するための方法であって、
    第1および第2のアナログ入力データ点を含むアナログ入力データを受信することと、
    第1のアナログ入力データ点を第1のセットのキャパシタで分析して、第1のアナログ畳み込み出力を生成することと、
    第2のアナログ入力データ点を第2のセットのキャパシタで分析して、第2のアナログ畳み込み出力を生成することと、を含み、
    前記第1および第2のアナログ畳み込み出力を生成することが、複数の特徴を表す複数の出力に対してアナログ畳み込み演算を実行することを含む、方法であって、
    前記第1および第2のアナログ畳み込み出力を可変容量構造のアレイを通して多重化して、アナログ多重化畳み込み出力を生成することを更に含む、
    方法
  11. サンプリングされたアナログ技術を使用してニューラルネットワークを実装するための方法であって、
    第1および第2のアナログ入力データ点を含むアナログ入力データを受信することと、
    第1のアナログ入力データ点を第1のセットのキャパシタで分析して、第1のアナログ畳み込み出力を生成することと、
    第2のアナログ入力データ点を第2のセットのキャパシタで分析して、第2のアナログ畳み込み出力を生成することと、を含み、
    前記第1および第2のアナログ畳み込み出力を生成することが、複数の特徴を表す複数の出力に対してアナログ畳み込み演算を実行することを含む、方法であって、
    前記第1および第2のセットのキャパシタが、可変容量セルであり、前記第1のセットのキャパシタが、第1の固定重みを有し、前記第2のセットのキャパシタが、第2の固定重みを有し、
    前記第1のアナログ畳み込み出力を生成することが、前記第1の入力データ点に前記第1の固定重みを乗算することを含み、
    前記第2のアナログ畳み込み出力を生成することが、前記第2の入力データ点に前記第2の固定重みを乗算することを含む、方法。
  12. サンプリングされたアナログ技術を使用してニューラルネットワークを実装するための方法であって、
    第1および第2のアナログ入力データ点を含むアナログ入力データを受信することと、
    第1のアナログ入力データ点を第1のセットのキャパシタで分析して、第1のアナログ畳み込み出力を生成することと、
    第2のアナログ入力データ点を第2のセットのキャパシタで分析して、第2のアナログ畳み込み出力を生成することと、を含み、
    前記第1および第2のアナログ畳み込み出力を生成することが、複数の特徴を表す複数の出力に対してアナログ畳み込み演算を実行することを含む、方法であって、
    第1のキャパシタデジタル−アナログ変換器を使用して、第1の固定電圧源からのスケールされた電荷をサンプリングすることによって、第1のバイアス値を生成することと、
    前記第1のバイアス値を前記第1の出力に加えることと、を更に含む、方法。
  13. 前記第1のアナログ畳み込み出力を、サブサンプラにおいて前記第2のアナログ畳み込み出力とともに平均化することを更に含む、請求項12に記載の方法。
  14. サンプリングされたアナログ技術を使用してニューラルネットワークを実装するための方法であって、
    第1および第2のアナログ入力データ点を含むアナログ入力データを受信することと、
    第1のアナログ入力データ点を第1のセットのキャパシタで分析して、第1のアナログ畳み込み出力を生成することと、
    第2のアナログ入力データ点を第2のセットのキャパシタで分析して、第2のアナログ畳み込み出力を生成することと、を含み、
    前記第1および第2のアナログ畳み込み出力を生成することが、複数の特徴を表す複数の出力に対してアナログ畳み込み演算を実行することを含む、方法であって、
    前記第1のアナログ畳み込み出力が、値のサブウィンドウを含み、前記値のサブウィンドウの最大値を判定することを更に含む、の方法。
  15. サンプリングされたアナログ技術を使用した畳み込みニューラルネットワークであって、
    アナログ入力データを含む入力と、
    複数のセットのキャパシタであって、各セットのキャパシタが、前記アナログ入力データのそれぞれのサブウィンドウを分析し、かつ前記それぞれのサブウィンドウについてアナログ畳み込み出力を出力するように構成され、前記アナログ畳み込み出力が、複数の特徴を表す複数の出力を含む、複数のセットのキャパシタと、
    前記アナログ畳み込み出力に結合されたアナログサブサンプラであって、前記アナログサブサンプラが、前記アナログ畳み込み出力の複数の出力のうちの少なくとも1つのサイズを縮小するように構成されている、アナログサブサンプラと、を備える、畳み込みニューラルネットワークであって、
    前記複数のセットのキャパシタが、固定重みを有する可変容量セルを含む、畳み込みニューラルネットワーク
  16. サンプリングされたアナログ技術を使用した畳み込みニューラルネットワークであって、
    アナログ入力データを含む入力と、
    複数のセットのキャパシタであって、各セットのキャパシタが、前記アナログ入力データのそれぞれのサブウィンドウを分析し、かつ前記それぞれのサブウィンドウについてアナログ畳み込み出力を出力するように構成され、前記アナログ畳み込み出力が、複数の特徴を表す複数の出力を含む、複数のセットのキャパシタと、
    前記アナログ畳み込み出力に結合されたアナログサブサンプラであって、前記アナログサブサンプラが、前記アナログ畳み込み出力の複数の出力のうちの少なくとも1つのサイズを縮小するように構成されている、アナログサブサンプラと、を備える、畳み込みニューラルネットワークであって、
    電荷を有する固定電圧源と、
    キャパシタデジタル−アナログ変換器(capDAC)と、を更に備え、
    前記固定電圧源からの電荷が、前記capDACによってサンプリングされてバイアス値を生成し、
    前記バイアス値が、前記複数のセットのキャパシタのうちの1つからの出力に加えられる、畳み込みニューラルネットワーク。
JP2018531157A 2015-12-15 2016-12-15 畳み込みニューラルネットワーク Active JP6637602B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562267847P 2015-12-15 2015-12-15
US62/267,847 2015-12-15
US15/379,114 2016-12-14
US15/379,114 US11475269B2 (en) 2015-12-15 2016-12-14 Convolutional neural network
PCT/US2016/066869 WO2017106464A1 (en) 2015-12-15 2016-12-15 Convolutional neural network

Publications (2)

Publication Number Publication Date
JP2019504400A JP2019504400A (ja) 2019-02-14
JP6637602B2 true JP6637602B2 (ja) 2020-01-29

Family

ID=59019841

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018531157A Active JP6637602B2 (ja) 2015-12-15 2016-12-15 畳み込みニューラルネットワーク

Country Status (5)

Country Link
US (1) US11475269B2 (ja)
JP (1) JP6637602B2 (ja)
CN (1) CN108475348B (ja)
DE (1) DE112016005746T5 (ja)
WO (1) WO2017106464A1 (ja)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3050855B1 (fr) * 2016-04-27 2019-05-03 Commissariat A L'energie Atomique Et Aux Energies Alternatives Dispositif et procede de calcul de convolution d'un reseau de neurones convolutionnel
US20180114109A1 (en) * 2016-10-20 2018-04-26 Nokia Technologies Oy Deep convolutional neural networks with squashed filters
TWI607389B (zh) * 2017-02-10 2017-12-01 耐能股份有限公司 卷積神經網路的池化運算裝置及方法
CN107124609A (zh) * 2017-04-27 2017-09-01 京东方科技集团股份有限公司 一种视频图像的处理系统、其处理方法及显示装置
CN115022559A (zh) * 2017-06-14 2022-09-06 株式会社半导体能源研究所 摄像装置及电子设备
CN110770737B (zh) * 2017-06-21 2024-03-08 株式会社半导体能源研究所 包括神经网络的半导体装置
JP6957365B2 (ja) * 2017-09-22 2021-11-02 株式会社東芝 演算装置
US10847137B1 (en) * 2017-12-12 2020-11-24 Amazon Technologies, Inc. Trigger word detection using neural network waveform processing
US11138505B2 (en) * 2017-12-21 2021-10-05 Fujitsu Limited Quantization of neural network parameters
US10872291B2 (en) * 2017-12-22 2020-12-22 Alibaba Group Holding Limited On-chip communication system for neural network processors
JP7240657B2 (ja) * 2018-05-15 2023-03-16 Tokyo Artisan Intelligence株式会社 ニューラルネットワーク回路装置、ニューラルネットワーク、ニューラルネットワーク処理方法およびニューラルネットワークの実行プログラム
US11562208B2 (en) 2018-05-17 2023-01-24 Qualcomm Incorporated Continuous relaxation of quantization for discretized deep neural networks
CN109035779B (zh) * 2018-08-30 2021-01-19 南京邮电大学 基于DenseNet的高速公路交通流预测方法
KR102633139B1 (ko) 2018-09-07 2024-02-02 삼성전자주식회사 데이터를 추출하는 집적 회로, 그것을 포함하는 뉴럴 네트워크 프로세서 및 뉴럴 네트워크 장치
US11574694B2 (en) 2018-10-11 2023-02-07 International Business Machines Corporation Kernel sets normalization with capacitor charge sharing
US12111878B2 (en) 2018-10-12 2024-10-08 International Business Machines Corporation Efficient processing of convolutional neural network layers using analog-memory-based hardware
CN109407067B (zh) * 2018-10-13 2023-06-27 中国人民解放军海军航空大学 基于时频图卷积神经网络的雷达动目标检测与分类一体化方法
CN109633588A (zh) * 2018-12-29 2019-04-16 杭州电子科技大学 基于深度卷积神经网络的雷达辐射源识别方法
US11556763B2 (en) 2019-02-19 2023-01-17 International Business Machines Corporation Multi-kernel configuration for convolutional neural networks
CN109965858B (zh) * 2019-03-28 2020-10-30 北京邮电大学 基于超宽带雷达人体生命体征检测方法和装置
CN110311676B (zh) * 2019-06-24 2020-10-16 清华大学 一种采用开关电流技术的物联网视觉系统和数据处理方法
US11537863B2 (en) 2019-09-12 2022-12-27 International Business Machines Corporation Resistive processing unit cell having multiple weight update and read circuits for parallel processing of data using shared weight value
US11562240B2 (en) 2020-05-27 2023-01-24 International Business Machines Corporation Efficient tile mapping for row-by-row convolutional neural network mapping for analog artificial intelligence network inference
US11885271B2 (en) 2020-06-25 2024-01-30 PolyN Technology Limited Systems and methods for detonation control in spark ignition engines using analog neuromorphic computing hardware
CN111901541B (zh) * 2020-07-14 2021-07-09 清华大学 一种直接光电流计算单元电路
US11847847B2 (en) 2021-03-26 2023-12-19 Analog Devices International Unlimited Company Learning system for convolutional neural networks to improve accuracy of object detection in new environments

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4727505A (en) * 1984-03-29 1988-02-23 Kabushiki Kaisha Toshiba Convolution arithmetic circuit for digital signal processing
FR2575308B1 (fr) * 1984-12-21 1989-03-31 Bendix Electronics Sa Procede et chaine de traitement du signal analogique de sortie d'un capteur
US4931674A (en) * 1988-11-16 1990-06-05 United States Of America As Represented By The Secretary Of The Navy Programmable analog voltage multiplier circuit means
US4954963A (en) * 1989-03-02 1990-09-04 Texas Instruments Incorporated Neural network and system
US5343555A (en) * 1992-07-06 1994-08-30 The Regents Of The University Of California Artificial neuron with switched-capacitor synapses using analog storage of synaptic weights
US5485416A (en) 1994-05-05 1996-01-16 Ward; Calvin B. Computational circuit based on capacitor arrays
US6940445B2 (en) 2002-12-27 2005-09-06 Analog Devices, Inc. Programmable input range ADC
JP4272967B2 (ja) * 2003-10-16 2009-06-03 キヤノン株式会社 演算回路およびその動作制御方法
US7286075B2 (en) * 2005-11-14 2007-10-23 Analog Devices, Inc. Analog to digital converter with dither
US8442927B2 (en) * 2009-07-30 2013-05-14 Nec Laboratories America, Inc. Dynamically configurable, multi-ported co-processor for convolutional neural networks
US9129220B2 (en) * 2010-07-07 2015-09-08 Qualcomm Incorporated Methods and systems for digital neural processing with discrete-level synapes and probabilistic STDP
EP2719075B8 (en) * 2011-06-06 2021-09-15 Analog Devices, Inc. Charge sharing time domain filter
CN102610274B (zh) * 2012-04-06 2014-10-15 电子科技大学 一种阻变突触权值调整电路
US10217045B2 (en) * 2012-07-16 2019-02-26 Cornell University Computation devices and artificial neurons based on nanoelectromechanical systems
US9613001B2 (en) 2013-12-20 2017-04-04 Intel Corporation Processing device for performing convolution operations
JP6314628B2 (ja) * 2014-04-28 2018-04-25 株式会社デンソー 演算処理装置
US9346167B2 (en) * 2014-04-29 2016-05-24 Brain Corporation Trainable convolutional network apparatus and methods for operating a robotic vehicle
CN104281858B (zh) * 2014-09-15 2018-07-10 中安消技术有限公司 三维卷积神经网络训练方法、视频异常事件检测方法及装置
DE102015104814B4 (de) * 2015-03-27 2018-02-08 Intel IP Corporation Eine Digital-Analog-Wandler-Schaltung, eine Vorrichtung zum Bereitstellen eines Radiofrequenz-Sendesignals und eines Verfahrens einer Digital-Analog-Wandlung

Also Published As

Publication number Publication date
US20170169327A1 (en) 2017-06-15
DE112016005746T5 (de) 2018-08-23
JP2019504400A (ja) 2019-02-14
WO2017106464A1 (en) 2017-06-22
US11475269B2 (en) 2022-10-18
CN108475348A (zh) 2018-08-31
CN108475348B (zh) 2023-07-18

Similar Documents

Publication Publication Date Title
JP6637602B2 (ja) 畳み込みニューラルネットワーク
Posch et al. Retinomorphic event-based vision sensors: bioinspired cameras with spiking output
US11610599B2 (en) Systems and methods for visually guided audio separation
EP2724218A1 (en) Linear device value estimating method, capacitance detection method, integrated circuit, touch sensor system, and electronic device
EP3586270B1 (en) Optical sensor, learning apparatus, and image processing system
KR101520723B1 (ko) 지문 검출 장치 및 이의 구동 방법
EP3316184B1 (en) Program generating device, program generating method, and generating program
US20150253926A1 (en) Semiconductor device and electronic apparatus
WO2022012668A1 (zh) 一种训练集处理方法和装置
Qi et al. Multi‐focus image fusion via morphological similarity‐based dictionary construction and sparse representation
Andreopoulos et al. Visual saliency on networks of neurosynaptic cores
Valenzuela et al. Face recognition on a smart image sensor using local gradients
Ma et al. HOGEye: neural approximation of hog feature extraction in rram-based 3d-stacked image sensors
JPWO2019087500A1 (ja) ニューロモルフィック素子を含むアレイ装置およびニューラルネットワークシステム
Kaiser et al. Neuromorphic-p2m: processing-in-pixel-in-memory paradigm for neuromorphic image sensors
Wong et al. Adaptive learning feature pyramid for object detection
Li et al. Physical computing circuit with no clock to establish Gaussian pyramid of SIFT algorithm
Delgado et al. Real-time motion detection by lateral inhibition in accumulative computation
Jing et al. Towards a more efficient few-shot learning-based human gesture recognition via dynamic vision sensors.
Bouvier Study and design of an energy efficient perception module combining event-based image sensors and spiking neural network with 3D integration technologies
Xia et al. Capacitor Parameter Estimation based on Wavelet Transform and Convolution Neural Network
WO2024148182A1 (en) Processing-in-pixel-in-memory for neuromorphic image sensors
Truong et al. Structured RNN for human interaction
Sun et al. Improved dual‐mode compressive tracking integrating balanced colour and texture features
Pinna et al. Design of an integrated silicon connectionist retina

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180705

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190617

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190917

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20191125

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191220

R150 Certificate of patent or registration of utility model

Ref document number: 6637602

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250