JP7240657B2 - ニューラルネットワーク回路装置、ニューラルネットワーク、ニューラルネットワーク処理方法およびニューラルネットワークの実行プログラム - Google Patents
ニューラルネットワーク回路装置、ニューラルネットワーク、ニューラルネットワーク処理方法およびニューラルネットワークの実行プログラム Download PDFInfo
- Publication number
- JP7240657B2 JP7240657B2 JP2018094184A JP2018094184A JP7240657B2 JP 7240657 B2 JP7240657 B2 JP 7240657B2 JP 2018094184 A JP2018094184 A JP 2018094184A JP 2018094184 A JP2018094184 A JP 2018094184A JP 7240657 B2 JP7240657 B2 JP 7240657B2
- Authority
- JP
- Japan
- Prior art keywords
- neural network
- weight
- zero
- circuit
- weights
- 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
Links
- 238000013528 artificial neural network Methods 0.000 title claims description 265
- 238000003672 processing method Methods 0.000 title claims description 8
- 230000006870 function Effects 0.000 claims description 50
- 230000004913 activation Effects 0.000 claims description 29
- 238000003860 storage Methods 0.000 claims description 22
- 238000004364 calculation method Methods 0.000 claims description 14
- 230000001902 propagating effect Effects 0.000 claims 8
- 230000001131 transforming effect Effects 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 47
- 238000000034 method Methods 0.000 description 36
- 238000001994 activation Methods 0.000 description 22
- 238000013527 convolutional neural network Methods 0.000 description 22
- 238000012545 processing Methods 0.000 description 17
- 238000011176 pooling Methods 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 6
- 230000000052 comparative effect Effects 0.000 description 6
- 210000002569 neuron Anatomy 0.000 description 6
- 230000015572 biosynthetic process Effects 0.000 description 5
- 238000001514 detection method Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000009467 reduction Effects 0.000 description 5
- 238000003786 synthesis reaction Methods 0.000 description 5
- 230000010354 integration Effects 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 101100490563 Caenorhabditis elegans adr-1 gene Proteins 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000012447 hatching Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000012886 linear function Methods 0.000 description 2
- 101100388220 Caenorhabditis elegans adr-2 gene Proteins 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/15—Correlation function computation including computation of convolution operations
- G06F17/153—Multidimensional correlation or convolution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/50—Adding; Subtracting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Neurology (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Complex Calculations (AREA)
- Image Analysis (AREA)
Description
近年、ADAS(advanced driver assistance system)用の画像認識や自動翻訳などで注目を集める新方式として畳み込みニューラルネットワーク(CNN:Convolutional Neural Net-work)(層間が全結合でないNN)や再帰型ニューラルネットワーク(双方向伝搬)が登場している。CNNは、ディープニューラルネットワーク(DNN:Deep Neural Network)に畳込み演算を付加したものである。
特許文献3には、畳み込みを実行する方法であって、(a)電子デバイスによって、現在の係数として、カーネルからの係数を選択することと、(b)前記電子デバイスによって、積の集合を得るために、前記現在の係数により、画像の少なくとも一部を乗算することと、(c)前記電子デバイスによって、前記積の集合を蓄積された和の集合に加算することと、(d)(a)から(c)に従って、前記カーネルの全ての係数が処理されるまで、(a)から(c)を繰り返すことと、を含む方法が記載されている。カーネルからの係数を選択する場合、カーネルの非ゼロ係数のみを選択すると記載されている。ゼロ係数スキップと新規の畳み込みエンジンを組み合わせることで、計算とメモリ帯域幅の両方を減少するとしている。
その他の手段については、発明を実施するための形態のなかで説明する。
(背景説明)
図1は、ディープニューラルネットワーク(DNN)の構造の一例を説明する図である。
図1に示すように、ディープニューラルネットワーク(DNN)1は、入力層(input layer)11、任意の数の中間層である隠れ層(hidden layer)12、出力層(output layer)13を有して構成される。
入力層(input layer)11は、複数個(ここでは8)の入力ノード(ニューロン)を有する。隠れ層12は、複数(ここでは3層(hidden layer1,hidden layer2,hidden layer3))である。実際には、隠れ層12の層数nは、例えば20~100に達する。出力層13は、識別対象の数(ここでは4)の出力ノード(ニューロン)を有する。なお、層数およびノード数(ニューロン数)は、一例である。
ディープニューラルネットワーク1は、入力層11と隠れ層12のノード間が全て結合し、隠れ層12と出力層13のノード間が全て結合している。
本技術は、ニューラルネットワーク回路2を対象とする。ニューラルネットワーク回路2の適用箇所および適用数は限定されない。例えば、隠れ層12の層数n:20~30の場合、これらの層のどの位置に適用してもよく、またどのノードを入出力ノードとするものでもよい。さらに、ディープニューラルネットワーク1に限らず、どのようなニューラルネットワークでもよい。ただし、入力層11または出力層13のノード出力には、2値化出力ではなく多ビット出力が求められるので、ニューラルネットワーク回路2は、対象外である。ただし、出力層13のノードを構成する回路に、乗算回路が残ったとしても面積的には問題にはならない。
なお、入力データに対し学習済のものを評価していくことを前提としている。したがって、学習結果として重みWiは既に得られている。
図2は、本実施形態に係る非ゼロ畳み込み演算回路21を備えるニューラルネットワーク回路20の構成を示す図であり、人工ニューロンモデル(Artificial Neuron (AN) Model)に適用した例である。なお、ゼロは、0、零と表記することがある。
本実施形態のニューラルネットワーク回路20は、図1のディープニューラルネットワーク1を構成するニューラルネットワーク回路2に適用できる。
xi:Input signal(入力値)
w0:Bias(バイアス)
wi:Weight(重み)
u:Internal state(中間値)
f(u):Activation function(活性化関数、例えばSigmoid, ReLU, etc.)
y:Output signal(出力値)
非ゼロ畳み込み演算回路21は、3状態{-多ビット,0,+多ビット}の重みWiがゼロの重みをスキップし、非ゼロの重みと当該非ゼロの重みに対応する入力値Xiをもとに畳み込み演算を行う。
非ゼロ畳み込み演算回路21は、3値化{-1,0,+1}または2値化{-1,+1}の重みWiがゼロの重みをスキップし、非ゼロの重みと当該非ゼロの重みに対応する入力値Xiをもとに畳み込み演算を行う。
本発明は、重みの閾値ρと活性化関数f(u)の組み合わせで様々な状態のニューラルネットワークを表現することを特徴とする。ρが閾値、Wiが重みである。重みWiが±1のとき、3値化ニューラルネットワーク、重みWiが±W(多ビット精度)のとき、3状態ニューラルネットワークである。
(1)ρ=0,h(x)がsign(x)符号関数の場合、ニューラルネットワーク回路20は、
2値ニューラルネットワーク回路を構成する。
3値化ニューラルネットワーク回路を構成する。
3状態ニューラルネットワーク回路を構成する。
上記3状態ニューラルネットワーク回路と3値化ニューラルネットワーク回路は、いままでにない本発明のニューラルネットワークである。
3値化ニューラルネットワーク回路は、2値化{-1,+1}畳込み演算回路よりも省面積かつ高速である。
3値化ニューラルネットワーク回路は、重みWiが低ビット(-1,0,1)であるので、省面積かつ高速な回路である。ただし、3状態ニューラルネットワーク回路に比べて認識精度が低くなるため用途は限られる。
3値化ニューラルネットワーク回路は、3状態ニューラルネットワーク回路に比べて認識精度が低いので用途が狭いものの、3状態ニューラルネットワーク回路と併用することで高速化・面積削減が可能になる。3状態ニューラルネットワーク回路と3値化(または2値化)ニューラルネットワーク回路を組み合わせると、面積と認識精度のバランスが取れたAI回路を実現可能である。
図3は、非ゼロ畳み込み演算回路21の畳み込み演算の概念を示す図である。
非ゼロ畳み込み演算回路21は、CNNにおいて3状態{-W(多ビット),0,+W(多ビット}または3値化{-1,0,+1}畳み込み演算を行う。
図3に示すように、非ゼロ畳み込み演算回路21を備えるニューラルネットワーク回路20は、物体検出(Dilated Convolution)する際に、画像データと重み関数の畳み込み演算を行う。例えば、Input Feature Mapに画像(行列の各要素はそれぞれ画像の1ピクセルに対応)を入力する。この入力画像に対して、カーネル(kernel)(この例ではK=3)の値と行列の値を要素毎に掛け合わせ、それらの値を合計する。この操作をカーネルをスライドさせながら各要素に対して行い全体の畳み込み演算を行う。
図3に示すように、非ゼロ畳み込み演算回路21は、重み関数に、0が多い場合は、0をスキップする回路構成とする(後記)。
図4(a)に示すように、非ゼロ畳み込み演算回路21は、非ゼロの重みと畳み込みを行う入力値Xiの相対アドレスを格納する重み/アドレスメモリ213(第1記憶手段)と、加算器214と、入力値Xiのアドレスを格納するアドレス/データメモリ215(第2記憶手段)と、積算回路216と、を備える。
非ゼロ畳み込み演算回路21は、ゼロの重みをスキップする演算の際、重み/アドレスメモリ213から該当する非ゼロの重みとその相対アドレスを読み込み、読み込んだ相対アドレスと現在のアドレスからアドレス/データメモリ215を参照して次の畳み込みを行う入力値Xiを読み出し、アドレス/データメモリ215から読み出した入力値Xiと該当する非ゼロの重みをもとに畳み込み演算を行う(図8(b)参照)。
積算回路216は、重み/アドレスメモリ213から読み出した非零重みWiとアドレス/データメモリ215から読み出した入力値Xiとを乗算して出力値Yiを出力する。
前記図3に示すように、非ゼロ畳み込み演算回路21は、0をスキップしながら、カーネルの値(畳み込みを行う入力値X)と行列の値(非零重みw)を要素毎に掛け合わせる。
畳み込み演算を行う重み関数が疎(ゼロが多い)である特徴を生かして、それを相対アドレス表示して重みが非ゼロの箇所のみを演算処理する回路構成にすることによって、計算時間の高速化、メモリ面積の削減が可能となる。
なお、本実施形態では、学習の最適化により、90~95%のスキップが可能になっている。
<3状態ニューラルネットワーク回路200>
図5は、本発明の実施形態に係るニューラルネットワークの3状態ニューラルネットワーク回路200の構成を示す図である。図4と同一構成部分には、同一符号を付している。
本実施形態の3状態ニューラルネットワーク回路200は、ディープニューラルネットワークへの実装技術を提供する。
3状態ニューラルネットワーク回路200(ニューラルネットワーク回路装置)は、図1のニューラルネットワーク回路2に適用できる。
図5に示すように、3状態ニューラルネットワーク回路200は、カウンタ値を出力するカウンタ211と、ベースアドレスを出力するレジスタ212と、重み/アドレスメモリ213と、加算器214と、アドレス/データメモリ215と、積算回路216と、レジスタ217と、加算器218と、バイアス値を出力するレジスタ219と、加算器220と、活性化関数回路221Aと、を備える。
上記乗算器216、レジスタ217、加算器218、レジスタ219と、加算器220、および活性化関数回路221Aは、Sequential MAC Unit222に搭載される。
上記カウンタ211、ベースアドレスを出力するレジスタ212、重み/アドレスメモリ213、加算器214、アドレス/データメモリ215、および積算回路216は、非ゼロ畳み込み演算回路21を構成する。
活性化関数回路221は、Leaky ReLU符号関数を用いる。
上記重み/アドレスメモリ213の一部と加算器214には、間接メモリアクセス(図5破線囲み参照)を導入している(図11で後述)。
図6は、本発明の実施形態に係るニューラルネットワークの3値化ニューラルネットワーク回路200Aの構成を示す図である。図4と同一構成部分には、同一符号を付している。
本実施形態の3値化ニューラルネットワーク回路200Aは、3状態ニューラルネットワーク回路200と同様にディープニューラルネットワークへの実装技術を提供する。また、3値化ニューラルネットワーク回路200Aは、3状態ニューラルネットワーク回路200と併用して好適である。
3状態ニューラルネットワーク回路200(ニューラルネットワーク回路装置)は、図1のニューラルネットワーク回路2に適用できる。
上記XNORゲート回路216A、レジスタ217、加算器218、レジスタ219と、加算器220、および活性化関数回路221Aは、Sequential MAC Unit222Aに搭載される。
上記カウンタ211、ベースアドレスを出力するレジスタ212、重み/アドレスメモリ213、加算器214、アドレス/データメモリ215、およびXNORゲート回路216Aは、非ゼロ畳み込み演算回路21Aを構成する。
3値化ニューラルネットワーク回路200Aは、積算回路216(図5参照)がXNOR論理を実現するXNORゲート回路216Aに置き換えられている。このため、積算回路216を構成する際に必要であった面積を削減することができる。また、重みWiは、3値{-1,0,+1}であるため、多値である3状態と比較してメモリ量を大幅に削減でき、メモリ帯域を向上させることができる。
活性化関数回路221Aは、Sign(x)符号関数を用いる。
上記重み/アドレスメモリ213の一部と加算器214には、間接メモリアクセス(図6破線囲み参照)を導入している(図11で後述)。間接メモリアクセスの導入により“0”スキップを実現している。
間接メモリアクセスについて説明する。
図7は、間接メモリアクセスを説明する図であり、図7(a)は重み/アドレスメモリ213に格納される非零重みと相対アドレスの一例を示す図、図7(b)は“0”スキップする非零重みwを示す図、図7(c)は畳み込みを行う入力値Xの読み出しを示す図である。
図7(a)に示すように、重み/アドレスメモリ213は、ID毎に非零重みW(w1,…)と相対アドレスadr1,…を指定するインデックスLを格納する。
インデックスLは、(Input Feature Map(入力画像),row(行),column(列))を指定する。
図7に示す間接メモリアクセスでは、下記1.2.を実行する。
1.該当する重みと相対アドレスを読み込む。
2.相対アドレスと現在のアドレスから畳み込みを行う入力値Xiを読み出す。
間接アドレスの表現方法について説明する。
図8は、間接アドレスの表現方法を説明する図であり、図8(a)は絶対アドレス指定方法を示す図、図8(b)は相対アドレス指定方法を示す図である。
図8(a)に示すように、絶対アドレス指定は、{ページ,Y,X}を用いて絶対アドレスを指定する。この例では、図8(a)に示す元の絶対アドレス(0,0)を基点とし、そこから{ページ,Y,X}で示されるアドレスを指定する。例えば、図8(a)の矢印に示すように、元の絶対アドレス(0,0)を基点に、{+0,+2,+0}を指定して絶対アドレス(2,0)の値(図8(a)網掛け参照)を得る。以下同様に、図8(a)の矢印に示すように、元の絶対アドレス(0,0)を基点に、{+1,+2,+1}を指定して、次のページの画像データの絶対アドレス(2,1)の値(図8(a)網掛け参照)を得る。
畳み込みニューラルネットワークへの適用について説明する。
図9は、畳み込みニューラルネットワークへの適用を説明する図である。図10は、“0”スキップする演算の効果を説明する図である。
図9に示すように、畳み込みニューラルネットワークは、Input feature mapと、Kernel(Sparse)と、Output feature mapと、を有する。
この畳み込みニューラルネットワークに、3状態ニューラルネットワーク回路200(図5参照)を適用する。
3状態ニューラルネットワーク回路200は、前記したように0スキップ演算を行う非ゼロ畳み込み演算回路21を備える。
"0"をスキップする演算、すなわち間接メモリアクセスについて説明する。
図11は、“0”をスキップする演算;間接メモリアクセスを説明する図である。図9に示す畳み込みニューラルネットワークに、図7および図8(a)の間接メモリアクセスを適用した場合を例に採る。
上述したように、"0"をスキップすることで、メモリ量削減と処理の高速化を図ることを目的とする。
本実施形態では、間接メモリアクセス(相対アドレスによる2回のメモリアクセス)を導入する。具体的には、下記の通りである。
図11に示すように、
1.図11の実線矢印に示すように、1回目のメモリアクセスで、相対値を読み込む。
2.ベースアドレスと相対値から重み“0”でない入力アドレスを計算する。
3.2回目のメモリアクセスで、計算したアドレスから入力値を読み込む。
4.図11の破線矢印に示すように、積算(ニューラルネットワークの演算)を行う。
メモリ量を削減できる原理について説明する。
図12は、ビット精度を減らすことでメモリ量を削減する例を説明する図であり、図12(a)はニューラルネットワーク回路20(図2参照)の構成図、図12(b)はメモリ量を削減できる原理図である。
図12(a)に示すニューラルネットワーク回路20は、非ゼロ畳み込み演算回路21において、例えば32ビット精度から1ビット精度{-1,+1}にビット数の削減を行う。
これにより、図12(b)に示すように、メモリ量の削減を図ることができる。
図13(a)の×印に示すように、ニューラルネットワーク回路20は、非ゼロ畳み込み演算回路21において、“0”をスキップする(ここでは、重みw2の乗算をスキップ)。すなわち、0の乗算は、0になることが既知であるためスキップする。これにより、メモリ量削減と処理の高速化を図ることができる。
ディープニューラルネットワークの学習方法について、比較例と本実施形態の3状態ニューラルネットワーク回路200とを比較して説明する。
<比較例>
図14は、比較例のディープニューラルネットワークの学習方法を説明する図である。
図14の上段に示すように、比較例のディープニューラルネットワークでは、誤差逆伝搬法により、学習データ(主に画像)を、ニューラルネットワークにおいて順伝搬させる。ニューラルネットワークの出力として、cat88%、dog10%、car5%を得る。
上記順伝搬と逆伝搬および重みWi更新を何度も繰り返すことで、ディープニューラルネットワークの学習を行う。
学習終了後、丸め処理をしない状態で保っていた重みWiを0にして、重みが疎なニューラルネットワークを生成する。
図15および図16は、本実施形態の3状態ニューラルネットワークの学習方法を説明する図である。3状態ニューラルネットワークは、例えば図5に示す3状態ニューラルネットワーク回路200を適用する。
3状態ニューラルネットワーク回路200は、ニューラルネットワークを順伝搬して得られた出力と学習データとの誤差を計算し、当該ニューラルネットワークを逆伝搬させて重みWiを更新する、学習を繰り返す場合、学習が終了するまでは少なくとも中間層の中では、重みWiを丸め処理しない。
図15の上段に示すように、学習データ(主に画像)を、3状態で順伝搬させる。3状態ニューラルネットワーク内部では、Wiを保持しておく。3状態ニューラルネットワークの出力として、cat88%、dog10%、car5%を得る。
上記順伝搬と逆伝搬および重みw更新を何度も繰り返すことで、3状態ニューラルネットワークの学習を行う。
図16の上段に示すように、学習が終わってから、閾値を用いて重みWiを0にする。
図16の下段の矢印に示すように、重みが疎なディープニューラルネットワークが生成される。
本実施形態の3状態ニューラルネットワークの認識精度向上について説明する。
図17は、3状態ニューラルネットワークの認識精度向上を説明する図である。
VGG11で評価した。画像はPascal VOC2007に準拠した。
ニューラルネットワークは、図17の左欄の処理、すなわち、Integer Conv2D、Binary Conv2D 、 Max Pooling 、Binary Conv2D×3、Max Pooling 、Binary Conv2D×3、Average Pooling およびFully Connect を実行することとした。
本実施形態の3状態ニューラルネットワーク回路と3値ニューラルネットワーク回路の組み合わせについて説明する。
図18は、3状態ニューラルネットワーク回路と3値ニューラルネットワーク回路の組み合わせによる物体検出実証例を説明する図である。
物体検出ニューラルネットワークYOLOv2を3状態ニューラルネットワークで実現した実施例である。
図18に示すように、前段は3値化ニューラルネットワーク回路200A、メモリを介して、後段は3状態ニューラルネットワーク回路200とした。
前段の3値化ニューラルネットワーク回路200Aは、ニューラルネットワークとしてTernaryCNN(Feature extraction)を用いた。後段の3状態ニューラルネットワーク回路200は、Half PrecisionCNN(Localization, classification)を用いた。3状態ニューラルネットワーク回路200は、16bit半精度浮動小数点を利用した。
(1)3状態化しても認識精度は、ほぼ同一であることが判明した。
(2)重みWiを約92%スキップする(“0”にする)ことができた。
(3)・メモリ量を92%削減することができた。その結果、36.50FPS(Frames Per Second)の認識速度を達成できた。
本実施形態の3状態ニューラルネットワーク回路と物体認識アルゴリズムYOLOv2との比較について説明する。
図19は、3状態ニューラルネットワーク回路と物体認識アルゴリズムYOLOv2との比較を説明する図である。
本発明の3状態ニューラルネットワーク回路と物体認識アルゴリズムYOLOv2とを比較した。
mCPU(ARM Cortex A57), mGPU(NVidia Pascal GPU): Jetson TX2ボードを使用し、FPGAはZynq Ultrascale+ MPSoC zcu102ボードを使用した。
本発明の3状態ニューラルネットワーク回路は、ARM Cortex-A57 と比較して、 158.7 倍速く、1.1 倍少ない電力消費であり、電力性能効率は182.80 倍優れていた。
また、本発明の3状態ニューラルネットワーク回路は、NVidia Pascall 組込みGPU と比較して、24.6 倍高速であり、消費電力は2.0 倍少なく、電力効率は49.38 倍向上した。
図20は、本発明の実施形態に係る3状態ニューラルネットワーク回路の実装例を説明する図である。
<STEP1>
まず、与えられたデータセット(今回はImageNet、画像認識タスク用にデータ)を既存のディープニューラルネットワーク用のフレームワークソフトウェアであるChainer (登録商標)を用いてGPU(Graphics Processing Unit)を有するコンピュータ201上で学習を行った。学習は、GPU上で実行する。このコンピュータ201は、ARMプロセッサなどのCPU(Central Processing Unit)と、メモリと、ハードディスクなどの記憶手段(記憶部)と、ネットワークインタフェースを含むI/Oポートとを有する。このコンピュータは、CPU201が、メモリ上に読み込んだプログラム(2値化したニューラルネットワークの実行プログラム)を実行することにより、後記する各処理部により構成される制御部(制御手段)を動作させる。
次に、自動生成ツールを用いて、本実施形態の3状態ニューラルネットワーク回路200と等価なC++コードを自動生成し、C++コード202を得た。
次に、FPGA ベンダの高位合成ツール(Xilinx 社SDSoC) (登録商標)を用いて、FPGA(field-programmable gate array)合成用にHDL(hardware description language)203を生成した。例えば、高位合成ツール(Xilinx 社SDSoC)では、実現したい論理回路をハードウェア記述言語(Verilog HDL/VHDL)を用いて記述し、提供されたCADツールでビットストリームに合成する。そして、FPGAにこのビットストリームを送信するとFPGAに回路が実現する。
次に、従来のFPGA合成ツールVivado (登録商標)を用いて、FPGA上に実現(FPGA合成204)して画像認識タスクの検証を行った。
検証後、基板205を完成させた。基板205には、2値化ニューラルネットワーク回路100がハードウェア化されて実装されている。
この計算時間の高速化、メモリ面積の削減の効果を活かして初めて、メモリ量を削減してオンチップに配置が可能なニューラルネットワークが実現できた。
3状態ニューラルネットワーク回路200は、重みWが多ビット(例えば8~16ビットの±wと“0”)であり、認識精度は高く用途(応用範囲)も広い利点を活かしつつ、メモリ量を劇的に減らして、オンチップ配置を実現した。オンチップ化(ニアメモリ)のメリットとして、広帯域(オフチップより約100倍高速)および低消費電力(オフチップより約33倍低い)の効果を奏する。
本発明を適用することにより、多ビットのアナログ量を扱う一般物体認識、意味的領域分割、自己位置推定などをリアルタイムで実現することが可能となる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
また、上記実施の形態では、装置は、ニューラルネットワーク回路装置という名称を用いたが、これは説明の便宜上であり、名称はディープニューラルネットワーク回路、ニューラルネットワーク装置、パーセプトロン等であってもよい。また、方法およびプログラムは、ニューラルネットワーク処理方法という名称を用いたが、ニューラルネットワーク演算方法、ニューラルネットプログラム等であってもよい。
2,20 ニューラルネットワーク回路
11 入力層
12 隠れ層(中間層)
13 出力層
21,21A 非ゼロ畳み込み演算回路(畳み込み演算回路)
22 総和回路
23,221,221A 活性化関数回路
200 3状態ニューラルネットワーク回路(ニューラルネットワーク回路装置)
200A 3値化ニューラルネットワーク回路(ニューラルネットワーク回路装置)
211 カウンタ
212,217,219 レジスタ
213 重み/アドレスメモリ(第1記憶手段)
214,222 加算器
215 アドレス/データメモリ(第2記憶手段)
216 積算回路
216A XNORゲート回路
222,222A Sequential MAC Unit
Xi 入力値
Wi 重み
Claims (12)
- 入力層、1以上の中間層、および、出力層を少なくとも含むニューラルネットワーク回路装置であって、
前記中間層の中で、畳み込みを行う入力値Xiと、重みWiを受け取り、畳み込み演算を行う畳み込み演算回路と、畳み込み演算された各演算値とバイアスW0との総和を取る総和回路と、総和を取った信号Yを活性化関数f(u)で変換する活性化関数回路と、を備え、
前記畳み込み演算回路は、重みWiがゼロの重みをスキップし、非ゼロの重みと当該非ゼロの重みに対応する入力値Xiをもとに畳み込み演算を行い、
前記畳み込み演算回路は、非ゼロの重みと畳み込みを行う入力値Xiの絶対アドレスを格納する第3記憶手段を有し、
ゼロの重みをスキップする演算の際、前記第3記憶手段から絶対アドレスを指定して該当する非ゼロの重みと入力値Xiを読み出し、
読み出した入力値Xiと該当する非ゼロの重みをもとに畳み込み演算を行う
ことを特徴とするニューラルネットワーク回路装置。 - 入力層、1以上の中間層、および、出力層を少なくとも含むニューラルネットワーク回路装置であって、
前記中間層は、第1中間層と、第2中間層とを含み、
前記第1中間層および前記第2中間層の中で、畳み込みを行う入力値Xiと、重みWiを受け取り、畳み込み演算を行う畳み込み演算回路と、畳み込み演算された各演算値とバイアスW0との総和を取る総和回路と、総和を取った信号Yを活性化関数f(u)で変換する活性化関数回路と、を備え、
前記第1中間層の前記畳み込み演算回路は、3状態{-多ビット,0,+多ビット}の重みWiがゼロの重みをスキップし、非ゼロの重みと当該非ゼロの重みに対応する入力値Xiをもとに畳み込み演算を行い、
前記第2中間層の前記畳み込み演算回路は、3値化{-1,0,+1}の重みWiがゼロの重みをスキップし、非ゼロの重みと当該非ゼロの重みに対応する入力値Xiをもとに畳み込み演算を行い、
前記畳み込み演算回路は、非ゼロの重みと畳み込みを行う入力値Xiの絶対アドレスを格納する第3記憶手段を有し、
ゼロの重みをスキップする演算の際、前記第3記憶手段から絶対アドレスを指定して該当する非ゼロの重みと入力値Xiを読み出し、
読み出した入力値Xiと該当する非ゼロの重みをもとに畳み込み演算を行い、
前記畳み込み演算回路は、前記重みWiが、下記式で示される
Whid:多ビット重みWi
ρ:閾値
ここで、ρ<0の場合、および、ρ>0かつ-ρ≦Whid<ρの場合を除く
ことを特徴とするニューラルネットワーク回路装置。 - 前記畳み込み演算回路は、非ゼロの重みと畳み込みを行う入力値Xiの相対アドレスを格納する第1記憶手段と、入力値Xiのアドレスを格納する第2記憶手段と、を有し、
ゼロの重みをスキップする演算の際、前記第1記憶手段から該当する非ゼロの重みとその相対アドレスを読み込み、
読み込んだ相対アドレスと現在のアドレスから前記第2記憶手段を参照して次の畳み込みを行う入力値Xiを読み出し、
前記第2記憶手段から読み出した入力値Xiと該当する非ゼロの重みをもとに畳み込み演算を行う
ことを特徴とする請求項1または請求項2に記載のニューラルネットワーク回路装置。 - ニューラルネットワークを順伝搬して得られた出力と学習データとの誤差を計算し、当該ニューラルネットワークを逆伝搬させて前記重みWiを更新する、学習を繰り返す場合、
前記学習が終了するまでは少なくとも前記中間層の中では、前記重みWiを丸め処理しない
ことを特徴とする請求項1または請求項2に記載のニューラルネットワーク回路装置。 - ニューラルネットワークを順伝搬して得られた出力と学習データとの誤差を計算し、当該ニューラルネットワークを逆伝搬させて前記重みWiを更新する、学習を繰り返す場合、
前記学習終了後、丸め処理をしない状態で保っていた前記重みWiをゼロにして、重みが疎なニューラルネットワークを生成する
ことを特徴とする請求項1または請求項2に記載のニューラルネットワーク回路装置。 - 入力層、1以上の中間層、および、出力層を少なくとも含むニューラルネットワーク処理方法であって、
前記中間層の中で、畳み込みを行う入力値Xiと、重みWiを受け取り、畳み込み演算を行う畳み込み演算ステップと、
畳み込み演算された各演算値とバイアスW0との総和を取るステップと、
総和を取った信号Yを活性化関数f(u)で変換するステップと、を有し、
前記畳み込み演算ステップでは、重みWiがゼロの重みをスキップし、非ゼロの重みと当該非ゼロの重みに対応する入力値Xiをもとに畳み込み演算を行うとともに、
非ゼロの重みと畳み込みを行う入力値Xiの絶対アドレスを格納する第3記憶手段を用いて、
ゼロの重みをスキップする演算の際、前記第3記憶手段から絶対アドレスを指定して該当する非ゼロの重みと入力値Xiを読み出し、
読み出した入力値Xiと該当する非ゼロの重みをもとに畳み込み演算を行う
ことを特徴とするニューラルネットワーク処理方法。 - ニューラルネットワークを順伝搬して得られた出力と学習データとの誤差を計算し、当該ニューラルネットワークを逆伝搬させて前記重みWiを更新する、学習を繰り返す場合、
前記学習が終了するまでは少なくとも前記中間層の中では、重みWiを丸め処理しない
ことを特徴とする請求項9に記載のニューラルネットワーク処理方法。 - ニューラルネットワークを順伝搬して得られた出力と学習データとの誤差を計算し、当該ニューラルネットワークを逆伝搬させて前記重みWiを更新する、学習を繰り返す場合、
前記学習終了後、丸め処理をしない状態で保っていた前記重みWiをゼロにして、重みが疎なニューラルネットワークを生成する
ことを特徴とする請求項9に記載のニューラルネットワーク回路装置。 - 入力層、1以上の中間層、および、出力層を少なくとも含むニューラルネットワーク回路装置としてのコンピュータを、
前記中間層の中で、畳み込みを行う入力値Xiと、重みWiを受け取り、畳み込み演算を行う畳み込み演算回路手段、
畳み込み演算された各演算値とバイアスW0との総和を取る総和回路手段、
総和を取った信号Yを活性化関数f(u)で変換する活性化関数回路手段、
非ゼロの重みと畳み込みを行う入力値Xiの絶対アドレスを格納する第3記憶手段、
として機能させ、
前記畳み込み演算回路手段は、重みWiがゼロの重みをスキップし、非ゼロの重みと当該非ゼロの重みに対応する入力値Xiをもとに畳み込み演算を行うとともに、
ゼロの重みをスキップする演算の際、前記第3記憶手段から絶対アドレスを指定して該当する非ゼロの重みと入力値Xiを読み出し、
読み出した入力値Xiと該当する非ゼロの重みをもとに畳み込み演算を行う
ニューラルネットワークの実行プログラム。
Priority Applications (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018094184A JP7240657B2 (ja) | 2018-05-15 | 2018-05-15 | ニューラルネットワーク回路装置、ニューラルネットワーク、ニューラルネットワーク処理方法およびニューラルネットワークの実行プログラム |
CN201980047467.2A CN112424798A (zh) | 2018-05-15 | 2019-05-08 | 神经网络电路装置、神经网络处理方法和神经网络的执行程序 |
PCT/JP2019/018382 WO2019220975A1 (ja) | 2018-05-15 | 2019-05-08 | ニューラルネットワーク回路装置、ニューラルネットワーク処理方法およびニューラルネットワークの実行プログラム |
US17/055,600 US11915128B2 (en) | 2018-05-15 | 2019-05-08 | Neural network circuit device, neural network processing method, and neural network execution program |
SG11202100430RA SG11202100430RA (en) | 2018-05-15 | 2019-05-08 | Neural network circuit device, neural network processing method, and neural network execution program |
KR1020207035817A KR20210009353A (ko) | 2018-05-15 | 2019-05-08 | 뉴럴 네트워크 회로장치, 뉴럴 네트워크 처리 방법 및 뉴럴 네트워크 실행 프로그램 |
CA3108752A CA3108752A1 (en) | 2018-05-15 | 2019-05-08 | Neural network circuit device, neural network processing method, and neural network execution program |
EP19803111.4A EP3816873A4 (en) | 2018-05-15 | 2019-05-08 | NEURAL NETWORK CIRCUIT DEVICE, NEURAL NETWORK PROCESSING METHOD AND NEURAL NETWORK EXECUTION PROGRAM |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018094184A JP7240657B2 (ja) | 2018-05-15 | 2018-05-15 | ニューラルネットワーク回路装置、ニューラルネットワーク、ニューラルネットワーク処理方法およびニューラルネットワークの実行プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019200553A JP2019200553A (ja) | 2019-11-21 |
JP7240657B2 true JP7240657B2 (ja) | 2023-03-16 |
Family
ID=68540333
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018094184A Active JP7240657B2 (ja) | 2018-05-15 | 2018-05-15 | ニューラルネットワーク回路装置、ニューラルネットワーク、ニューラルネットワーク処理方法およびニューラルネットワークの実行プログラム |
Country Status (8)
Country | Link |
---|---|
US (1) | US11915128B2 (ja) |
EP (1) | EP3816873A4 (ja) |
JP (1) | JP7240657B2 (ja) |
KR (1) | KR20210009353A (ja) |
CN (1) | CN112424798A (ja) |
CA (1) | CA3108752A1 (ja) |
SG (1) | SG11202100430RA (ja) |
WO (1) | WO2019220975A1 (ja) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110533158B (zh) * | 2018-05-25 | 2023-10-13 | 宏达国际电子股份有限公司 | 模型建构方法、系统及非易失性电脑可读取记录介质 |
JP7012168B2 (ja) * | 2018-10-12 | 2022-01-27 | オリンパス株式会社 | 演算処理装置 |
US11907829B2 (en) | 2019-03-14 | 2024-02-20 | Infineon Technologies Ag | FMCW radar with interference signal suppression using artificial neural network |
US12032089B2 (en) * | 2019-03-14 | 2024-07-09 | Infineon Technologies Ag | FMCW radar with interference signal suppression using artificial neural network |
DE102019106529B4 (de) | 2019-03-14 | 2024-10-31 | Infineon Technologies Ag | Fmcw radar mit störsignalunterdrückung mittels künstlichem neuronalen netz |
CN111832715B (zh) * | 2019-04-18 | 2024-08-09 | 爱思开海力士有限公司 | 处理元件和处理系统 |
WO2020264360A1 (en) * | 2019-06-26 | 2020-12-30 | Mars, Incorporated | System and method for wellness assessment of a pet |
KR20210072524A (ko) * | 2019-12-09 | 2021-06-17 | 삼성전자주식회사 | 뉴럴 네트워크 장치 및 그 동작 방법 |
KR102559036B1 (ko) * | 2019-12-24 | 2023-07-25 | 서울대학교산학협력단 | 음수값을 갖는 활성화 함수에서 제로 스키핑을 제공하는 방법 및 장치 |
JP7598714B2 (ja) | 2020-07-02 | 2024-12-12 | ルネサスエレクトロニクス株式会社 | 半導体装置およびそれに用いるデータ生成方法 |
CN112036562B (zh) * | 2020-11-05 | 2021-02-26 | 中科院微电子研究所南京智能技术研究院 | 一种应用于存内计算的位单元及存算阵列装置 |
JP7427617B2 (ja) | 2021-01-27 | 2024-02-05 | 株式会社東芝 | ニューラルネットワーク装置、情報処理装置およびプログラム |
CN113222107A (zh) * | 2021-03-09 | 2021-08-06 | 北京大学 | 数据处理方法、装置、设备及存储介质 |
JP2022145001A (ja) * | 2021-03-19 | 2022-10-03 | キヤノン株式会社 | 画像処理装置、画像処理方法 |
US20210319317A1 (en) * | 2021-06-24 | 2021-10-14 | Intel Corporation | Methods and apparatus to perform machine-learning model operations on sparse accelerators |
US11941111B2 (en) * | 2021-07-31 | 2024-03-26 | International Business Machines Corporation | Exploiting fine-grained structured weight sparsity in systolic arrays |
CN114339994B (zh) * | 2022-03-17 | 2022-05-27 | 杭州优智联科技有限公司 | 一种片内执行机器学习算法的uwb芯片及方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017174039A (ja) | 2016-03-23 | 2017-09-28 | 富士フイルム株式会社 | 画像分類装置、方法およびプログラム |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5030913A (en) * | 1982-06-21 | 1991-07-09 | The United States Of America As Represented By The Secretary Of The Navy | Multiple sensor magnetometer with temporal noise rejection and controllable spatial response on a moving platform |
JPH04199259A (ja) * | 1990-11-26 | 1992-07-20 | Hitachi Ltd | ニューラルネットワーク、ニューラルネットワークの想起方法および学習方法または装置 |
US8938113B2 (en) * | 2010-07-26 | 2015-01-20 | Kjaya, Llc | Adaptive visualization for direct physician use |
US9110169B2 (en) * | 2013-03-08 | 2015-08-18 | Advanced Scientific Concepts, Inc. | LADAR enabled impact mitigation system |
JP6314628B2 (ja) * | 2014-04-28 | 2018-04-25 | 株式会社デンソー | 演算処理装置 |
JP2015215837A (ja) * | 2014-05-13 | 2015-12-03 | 株式会社デンソー | 演算処理装置 |
JP6582416B2 (ja) * | 2014-05-15 | 2019-10-02 | 株式会社リコー | 画像処理装置、画像処理方法及びプログラム |
BR112017019821B8 (pt) * | 2015-03-20 | 2024-02-15 | Fraunhofer Ges Forschung | Atribuição de pontuação de relevância para redes neurais artificiais |
US20160358069A1 (en) * | 2015-06-03 | 2016-12-08 | Samsung Electronics Co., Ltd. | Neural network suppression |
CN107851214A (zh) * | 2015-07-23 | 2018-03-27 | 米雷普里卡技术有限责任公司 | 针对二维阵列处理器的性能增强 |
US10839510B2 (en) * | 2015-08-19 | 2020-11-17 | Colorado Seminary, Which Owns And Operates The University Of Denver | Methods and systems for human tissue analysis using shearlet transforms |
US11475269B2 (en) * | 2015-12-15 | 2022-10-18 | Analog Devices, Inc. | Convolutional neural network |
US10373019B2 (en) * | 2016-01-13 | 2019-08-06 | Ford Global Technologies, Llc | Low- and high-fidelity classifiers applied to road-scene images |
US20170206434A1 (en) * | 2016-01-14 | 2017-07-20 | Ford Global Technologies, Llc | Low- and high-fidelity classifiers applied to road-scene images |
JP6227052B2 (ja) | 2016-05-11 | 2017-11-08 | 三菱電機株式会社 | 処理装置、判別方法およびプログラム |
US20170344876A1 (en) * | 2016-05-31 | 2017-11-30 | Samsung Electronics Co., Ltd. | Efficient sparse parallel winograd-based convolution scheme |
CN107526709A (zh) * | 2016-06-15 | 2017-12-29 | 辉达公司 | 使用低精度格式的张量处理 |
WO2018026995A1 (en) * | 2016-08-03 | 2018-02-08 | Schlumberger Technology Corporation | Multi-scale deep network for fault detection |
US20180046898A1 (en) | 2016-08-11 | 2018-02-15 | Vivante Corporation | Zero Coefficient Skipping Convolution Neural Network Engine |
US9646243B1 (en) * | 2016-09-12 | 2017-05-09 | International Business Machines Corporation | Convolutional neural networks using resistive processing unit array |
JP6869676B2 (ja) | 2016-09-27 | 2021-05-12 | キヤノン株式会社 | 情報処理装置、情報処理方法及びプログラム |
KR20180034853A (ko) * | 2016-09-28 | 2018-04-05 | 에스케이하이닉스 주식회사 | 합성곱 신경망의 연산 장치 및 방법 |
US10949736B2 (en) * | 2016-11-03 | 2021-03-16 | Intel Corporation | Flexible neural network accelerator and methods therefor |
US11003985B2 (en) * | 2016-11-07 | 2021-05-11 | Electronics And Telecommunications Research Institute | Convolutional neural network system and operation method thereof |
EP3535607B1 (en) * | 2016-11-07 | 2022-04-20 | Services Pétroliers Schlumberger | Seismic data processing artificial intelligence |
CN107239824A (zh) * | 2016-12-05 | 2017-10-10 | 北京深鉴智能科技有限公司 | 用于实现稀疏卷积神经网络加速器的装置和方法 |
JP6773568B2 (ja) * | 2017-01-18 | 2020-10-21 | 株式会社日立製作所 | 演算システムおよびニューラルネットワークの演算方法 |
CN106951858A (zh) * | 2017-03-17 | 2017-07-14 | 中国人民解放军国防科学技术大学 | 一种基于深度卷积网络的人物亲缘关系识别方法与装置 |
US10083375B1 (en) * | 2017-10-13 | 2018-09-25 | StradVision, Inc. | Method and device for performing activation and convolution operation at the same time and learning method and learning device for the same |
CN107977704B (zh) * | 2017-11-10 | 2020-07-31 | 中国科学院计算技术研究所 | 权重数据存储方法和基于该方法的神经网络处理器 |
US11238346B2 (en) * | 2018-04-25 | 2022-02-01 | Qualcomm Incorproated | Learning a truncation rank of singular value decomposed matrices representing weight tensors in neural networks |
-
2018
- 2018-05-15 JP JP2018094184A patent/JP7240657B2/ja active Active
-
2019
- 2019-05-08 EP EP19803111.4A patent/EP3816873A4/en active Pending
- 2019-05-08 KR KR1020207035817A patent/KR20210009353A/ko not_active Application Discontinuation
- 2019-05-08 CN CN201980047467.2A patent/CN112424798A/zh active Pending
- 2019-05-08 SG SG11202100430RA patent/SG11202100430RA/en unknown
- 2019-05-08 US US17/055,600 patent/US11915128B2/en active Active
- 2019-05-08 WO PCT/JP2019/018382 patent/WO2019220975A1/ja unknown
- 2019-05-08 CA CA3108752A patent/CA3108752A1/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017174039A (ja) | 2016-03-23 | 2017-09-28 | 富士フイルム株式会社 | 画像分類装置、方法およびプログラム |
Non-Patent Citations (2)
Title |
---|
宇都宮 誉博,2のべき乗近似とプルーニングを用いたCNN向けFPGAアクセラレータ,電子情報通信学会技術研究報告,日本,一般社団法人電子情報通信学会,2018年01月11日,Vol. 117, No. 377,pp.119-124,ISSN: 0913-5685 |
米川 晴義,疎行列演算による3値化ディープニューラルネットワークの高速化,電子情報通信学会技術研究報告,日本,一般社団法人電子情報通信学会,2017年05月15日,Vol. 117, No. 46,pp.7-11,ISSN: 0913-5685 |
Also Published As
Publication number | Publication date |
---|---|
US20210224640A1 (en) | 2021-07-22 |
SG11202100430RA (en) | 2021-02-25 |
CN112424798A (zh) | 2021-02-26 |
EP3816873A4 (en) | 2022-08-03 |
JP2019200553A (ja) | 2019-11-21 |
KR20210009353A (ko) | 2021-01-26 |
WO2019220975A1 (ja) | 2019-11-21 |
US11915128B2 (en) | 2024-02-27 |
CA3108752A1 (en) | 2019-11-21 |
EP3816873A1 (en) | 2021-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7240657B2 (ja) | ニューラルネットワーク回路装置、ニューラルネットワーク、ニューラルネットワーク処理方法およびニューラルネットワークの実行プログラム | |
US12210958B2 (en) | Compression of sparse deep convolutional network weights | |
JP6183980B1 (ja) | ニューラルネットワーク回路装置、ニューラルネットワーク、ニューラルネットワーク処理方法およびニューラルネットワークの実行プログラム | |
JP7325158B2 (ja) | ニューラル・ネットワーク・コアにおける動的精度のためのデータ表現 | |
JP6933367B2 (ja) | ニューラルネットワーク回路装置、システム、処理方法および実行プログラム | |
WO2016182671A1 (en) | Fixed point neural network based on floating point neural network quantization | |
US11775807B2 (en) | Artificial neural network and method of controlling fixed point in the same | |
JP2019139338A (ja) | 情報処理装置、情報処理方法、およびプログラム | |
JP6891626B2 (ja) | 情報処理装置、情報処理システム、情報処理プログラムおよび情報処理方法 | |
KR20190130443A (ko) | 뉴럴 네트워크의 양자화 방법 및 장치 | |
JP7279921B2 (ja) | ニューラルネットワーク回路装置、ニューラルネットワーク処理方法およびニューラルネットワークの実行プログラム | |
Sayed et al. | A systematic literature review on binary neural networks | |
Abdelsalam et al. | An efficient FPGA-based overlay inference architecture for fully connected DNNs | |
CN112446888A (zh) | 图像分割模型的处理方法和处理装置 | |
US11669747B2 (en) | Constraining function approximation hardware integrated with fixed-point to floating-point conversion | |
Mukhopadhyay et al. | Systematic realization of a fully connected deep and convolutional neural network architecture on a field programmable gate array | |
WO2021073752A1 (en) | Design and training of binary neurons and binary neural networks with error correcting codes | |
Ghodhbani et al. | Deploying deep learning networks based advanced techniques for image processing on FPGA platform | |
Guan et al. | Recursive binary neural network training model for efficient usage of on-chip memory | |
CN116012602A (zh) | 一种在线定位的轻量化显著性检测方法 | |
Gillela | Design of hardware CNN accelerators for audio and image classification | |
CN113850370A (zh) | 数据处理方法及设备、处理芯片 | |
Akimova et al. | Hardware implementation of a convolutional neural network | |
Yang | Exploring FPGA implementation for binarized neural network inference | |
Ardakani | Complexity reduction of deep neural networks for efficient hardware implementations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20200916 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20200916 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210513 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220802 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220929 |
|
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: 20230124 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230224 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7240657 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |