JP7180751B2 - ニューラルネットワーク回路 - Google Patents

ニューラルネットワーク回路 Download PDF

Info

Publication number
JP7180751B2
JP7180751B2 JP2021508436A JP2021508436A JP7180751B2 JP 7180751 B2 JP7180751 B2 JP 7180751B2 JP 2021508436 A JP2021508436 A JP 2021508436A JP 2021508436 A JP2021508436 A JP 2021508436A JP 7180751 B2 JP7180751 B2 JP 7180751B2
Authority
JP
Japan
Prior art keywords
convolution
circuit
neural network
arithmetic
network circuit
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
JP2021508436A
Other languages
English (en)
Other versions
JPWO2020194465A1 (ja
Inventor
誠也 柴田
由加 林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=72609307&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP7180751(B2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by NEC Corp filed Critical NEC Corp
Publication of JPWO2020194465A1 publication Critical patent/JPWO2020194465A1/ja
Application granted granted Critical
Publication of JP7180751B2 publication Critical patent/JP7180751B2/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/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/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

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)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Complex Calculations (AREA)

Description

本発明は、畳み込みニューラルネットワークに関連するニューラルネットワーク回路に関する。
画像認識を初めとする種々の分野において、畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)が使用されている。CNNを用いる場合、演算量が膨大になる。その結果、処理速度が低下する。
一般に、畳み込み層において、空間方向の畳み込み演算とチャネル方向の畳み込み演算とが同時に実行されるので、演算量が膨大になる。そこで、空間方向への畳み込み演算とチャネル方向への畳み込み演算と分けて、それらを個別に実行する方式が考案されている(例えば、非特許文献1参照)。
非特許文献1に記載された畳み込み演算方式(以下、depthwise separable 畳み込みという。) では、畳み込みは、1×1畳み込みのpointwise 畳み込みとdepthwise 畳み込みとに分離される。pointwise 畳み込みは、空間方向への畳み込みを行わず、チャネル方向への畳み込みを行う。depthwise 畳み込みは、チャネル方向への畳み込みを行わず、空間方向への畳み込みを行う。depthwise 畳み込みフィルタのサイズは、例えば3×3である。
図8は、畳み込み演算で使用される畳み込みフィルタを説明するための説明図である。図8において、(a)は、通常の(一般的な)畳み込みフィルタに関する。(b)は、depthwise separable 畳み込みで使用されるdepthwise 畳み込みフィルタに関する。(c)は、depthwise separable 畳み込みで使用されるpointwise 畳み込みフィルタに関する。
一般的な畳み込みフィルタを用いる場合、入力特徴マップの縦サイズをH、入力特徴マップの横サイズをW、入力チャネル数をM、フィルタサイズをK×K、出力チャネル数をNとすると、乗算量(演算量)は、H・W・M・K・K・Nである。
図8(a)には、フィルタサイズのサイズがD×Dの場合が示されている。その場合、演算量は、
H・W・M・D・D・N ・・・(1)
である。
depthwise separable 畳み込みにおけるdepthwise 畳み込みでは、チャネル方向への畳み込みが行われないので(図8(b)における左端の立体参照)、演算量は、
H・W・D・D・M ・・・(2)
である。
depthwise separable 畳み込みにおけるpointwise 畳み込みでは、空間方向への畳み込みが行われないので、図8(c)に示すように、D=1である。よって、演算量は、
H・W・M・M ・・・(3)
である。
(2)式による演算量と(3)式による演算量との和(depthwise separable 畳み込みの演算量)を、(1)式による演算量(一般的な畳み込み演算の演算量)と比較すると、depthwise separable 畳み込みの演算量は、一般的な畳み込み演算の演算量の[(1/N)+(1/D )]である。depthwise 畳み込みフィルタのサイズが3×3である場合、一般に、Nの値は3よりもはるかに大きいので、depthwise separable 畳み込みの演算量は、一般的な畳み込み演算の演算量に比べて、1/9程度に削減される。
A. G. Howard et al., "MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications" 、Google Inc. 、2017年4月
以下、depthwise separable 畳み込みにおけるdepthwise 畳み込みにおいて、3×3のフィルタが用いられるとする。その場合、非特許文献1のTable. 1に示されているように、1×1行列演算(1×1畳み込み演算)と3×3行列演算(3×3畳み込み演算)とが交互に多数回繰り返し実行される。
depthwise separable 畳み込みを行う演算回路を実現する場合、一例として、図9に示すような構成が考えられる。図9に示す演算回路は、pointwise 畳み込みを実行する1×1畳み込み演算回路10、depthwise 畳み込みを実行する3×3畳み込み演算回路30、DRAM(Dynamic Random Access Memory)50、および重みメモリ60を含む。
3×3畳み込み演算回路30は、DRAM50から特徴マップのデータを読み出し、重みメモリ60から読み出した重み係数を用いて、depthwise 畳み込みを実行する。3×3畳み込み演算回路30は、演算結果を、DRAM50に書き込む。1×1畳み込み演算回路10は、DRAM50からデータを読み出し、重みメモリ60から読み出した重み係数を用いて、pointwise 畳み込みを実行する。1×1畳み込み演算回路10は、演算結果を、DRAM50に書き込む。1×1畳み込み演算回路10および3×3畳み込み演算回路30が出力する演算結果の量および入力するデータの量は膨大である。よって、データを格納するメモリとして、一般に、大容量でも比較的安価なDRAM50が用いられる。
なお、1×1畳み込み演算回路10が演算処理を開始する前に、重みメモリ60に、1×1畳み込み演算用の重み係数がロードされる。また、3×3畳み込み演算回路30が演算処理を開始する前に、重みメモリ60に、3×3畳み込み演算用の重み係数がロードされる。
上述したように、DRAMは、比較的安価であり、また、大容量の素子である。しかし、DRAMは、低速なメモリ素子である。すなわち、DRAMのメモリ帯域は狭い。したがって、演算回路とメモリの間のデータ転送がボトルネックになる。その結果、演算速度が制限される。特に、1回の畳み込み演算に必要なデータをDRAMから読み出す時間が、1回の畳み込み演算時間を上回る場合をメモリボトルネックという。
処理速度を向上させるために、畳み込み層における行列演算を行う演算器として、シストリックアレイ(Systoric Array)を用いた演算器を使用することが考えられる。あるいは、積和演算を行う演算器として、SIMD(Single Instruction Multiple Data)型の演算器を使用することが考えられる。
例えば、図10に例示するように、pointwise 畳み込みとdepthwise 畳み込みとを時間的に交互に実行可能な1×1・3×3兼用回路70を構築することが考えられる。そして、1×1・3×3兼用回路70が、シストリックアレイまたはSIMD型の演算器で実現されることによって、高速な演算回路が構築される。
しかし、図10に示された構成でも、1×1・3×3兼用回路70とDRAM50との間でデータが授受されるので、演算回路とメモリの間のデータ転送に関するボトルネックは解消されない。なお、シストリックアレイを用いた演算器またはSIMD型の演算器を、図9に示された1×1畳み込み演算回路10や3×3畳み込み演算回路30に適用することも可能である。その場合でも、演算回路とメモリの間のデータ転送に関するボトルネックは解消されない。むしろ、演算器の処理効率が上昇し演算時間が削減されるため、演算時間よりもデータ転送時間が大きくなる傾向が増大し、データ転送に関するボトルネックが発生しやすくなる。
本発明は、狭帯域のメモリとの間のデータ転送に起因する演算速度の制限を緩和できるニューラルネットワーク回路を提供することを目的とする。
本発明によるニューラルネットワーク回路は、畳み込み演算を空間方向への畳み込み演算とチャネル方向への畳み込み演算とに分けて、それらを個別に実行するニューラルネットワーク回路であって、チャネル方向への畳み込みを行う1×1畳み込み演算回路と、1×1畳み込み演算回路の演算結果が格納されるSRAMと、SRAMに格納された演算結果に対して空間方向への畳み込みを行うN×N畳み込み演算回路とを含む。
本発明によれば、狭帯域のメモリとの間のデータ転送に起因する演算速度の制限が緩和される。
第1の実施形態のニューラルネットワーク回路の構成例を示すブロック図である。 第2の実施形態のニューラルネットワーク回路の構成例を示すブロック図である。 第3の実施形態のニューラルネットワーク回路の構成例を示すブロック図である。 第4の実施形態のニューラルネットワーク回路の構成例を示すブロック図である。 ニューラルネットワーク回路の主要部を示すブロック図である。 他の態様のニューラルネットワーク回路の主要部を示すブロック図である。 別の態様のニューラルネットワーク回路の主要部を示すブロック図である。 畳み込み演算で使用される畳み込みフィルタを説明するための説明図である。 depthwise separable 畳み込みを行う演算回路の一例を示すブロック図である。 depthwise separable 畳み込みを行う演算回路の他の例を示すブロック図である。
以下、本発明の実施形態を図面を参照して説明する。
実施形態1.
図1は、第1の実施形態のニューラルネットワーク回路の構成例を示すブロック図である。
図1に示すニューラルネットワーク回路は、1×1畳み込み演算回路10、重みメモリ11、3×3畳み込み演算回路30、重みメモリ31、DRAM40、およびSRAM(Static Random Access Memory )20を備えている。
重みメモリ11は、1×1畳み込み演算用の重み係数を記憶する。重みメモリ31は、3×3畳み込み演算用の重み係数を記憶する。
図1に示すニューラルネットワーク回路は、空間方向への畳み込み演算とチャネル方向への畳み込み演算と分けて、それらを個別に実行する。具体的には、1×1畳み込み演算回路10は、DRAM40から演算対象のデータを読み出し、重みメモリ11から読み出した重み係数を用いて、depthwise separable 畳み込みにおけるpointwise 畳み込み(1×1フィルタを用いるチャネル方向への畳み込み)を実行する。3×3畳み込み演算回路30は、SRAM20から演算対象のデータを読み出し、重みメモリ31から読み出した重み係数を用いて、depthwise separable 畳み込みにおけるdepthwise 畳み込み(3×3フィルタを用いる空間方向への畳み込み)を実行する。
なお、本実施形態では、depthwise 畳み込みで用いられるフィルタのサイズは3×3であるが、すなわち、depthwise 畳み込みにおいて3×3畳み込み演算が実行されるが、フィルタのサイズが3であることは必須のことではない、フィルタのサイズはN×N(N:2以上の自然数)であればよい。
DRAM40には、3×3畳み込み演算回路30の演算結果が格納される。1×1畳み込み演算回路10は、DRAM40から演算対象のデータを読み出す。SRAM20には、1×1畳み込み演算回路10の演算結果が格納される。3×3畳み込み演算回路30は、SRAM20から演算対象のデータを読み出す。
図1に示されたような回路構成は、以下のような理由で採用される。
図1に示されたニューラルネットワーク回路は、図8(b),(c)に示されたdepthwise separable 畳み込みを参照すると、depthwise 畳み込みにおいて、3×3のフィルタが用いられる場合の例に相当する。すなわち、D=3である。
3×3畳み込み演算回路30の演算量は、H・W・M・3((4)式とする。)である。1×1畳み込み演算回路10の演算量は、H・W・M・N((5)式とする。)である。上述したように、一般に、出力チャネル数Nの値はDよりもはるかに大きい。すなわち、N>>D(この例では、3)である。一例として、Nとして、64~1024のいずれかの値が用いられる。なお、入力チャネル数Mについても同様の値が用いられる。
(4)式と(5)式とを比較すると、1×1畳み込み演算回路10の演算量の方が、3×3畳み込み演算回路30の演算量よりも数倍以上大きいことがわかる。一方で1×1畳み込み演算回路10および3×3畳み込み演算回路30への入力のサイズの違いは M1/M3 であり、一般的に、M1=M3 または M1*2=M3 とすることが多いため、多くて2倍程度の違いである。つまり、演算量が数倍以上小さい3×3畳み込み演算回路30の方が1×1畳み込み演算回路10よりもメモリボトルネックになりやすい。
したがって、上述したように、3×3畳み込み演算回路30が1×1畳み込み演算回路10の演算結果をメモリ素子から読み出す時間が長いと、ニューラルネットワーク回路の全体的な演算速度が低下してしまう。
そこで、図1に示されたように、1×1畳み込み演算回路10の演算結果がSRAM20に格納されるように、1×1畳み込み演算回路10と3×3畳み込み演算回路30との間に、SRAM20が設置される。
SRAM素子(chip)からのデータ読み出し速度は、DRAM素子からのデータ読み出し速度よりも速い。したがって、図1に示されたようにSRAM20が配置されることによって、ニューラルネットワーク回路の全体的な演算速度が向上する。
なお、SRAM素子の集積度はDRAM素子の集積度よりも低い等の原因で、SRAM素子の容量単価は、DRAM素子の容量単価に比べて高価である。
しかし、図1に示された構成では、1×1畳み込み演算回路10の全ての演算結果がSRAM20に格納されなくてもよい。1×1畳み込み演算回路10による3行分の畳み込み演算の演算結果がSRAM20に格納されれば、3×3畳み込み演算回路30が畳み込み演算を開始できるからである。すなわち、本実施形態において、大容量のSRAM20を設けることは要求されない。よって、SRAM20が用いられても、ニューラルネットワーク回路のコスト上昇を抑制することができる。
また、3×3畳み込み演算回路30による3×3畳み込みの演算量は、1×1畳み込み演算回路10による1×1畳み込みの演算量よりも少ない。したがって、図1に示されたように、3×3畳み込みの演算結果がDRAM40を介して1×1畳み込み演算回路10に供給されるように構成されていても、そのような構成が、ニューラルネットワーク回路の全体的な演算速度に与える影響は相対的に小さい。
上述したように、1×1畳み込み演算回路10の演算量は、3×3畳み込み演算回路30の演算量よりも多い。例えば、N=1024とすると、1×1畳み込み演算回路10の演算量は、3×3畳み込み演算回路30の演算量に対して、(1024/9)=約114(倍)である。
1×1畳み込み演算回路10における演算器の個数と、3×3畳み込み演算回路30における演算器の個数との比率を、演算量に応じて設定されることが好ましい。なお、演算器は、それぞれ、畳み込み演算を実行する。N=1024の例では、1×1畳み込み演算回路10における演算器の個数を、3×3畳み込み演算回路30における演算器の個数に対して、例えば、100~130倍程度にすることが考えられる。なお、演算量に応じて演算器数を設定する手法は、例えば、演算器数の総数に制約がある場合に有効に活用される。演算器数の総数に制約がある場合は、一例として、後述するように、ニューラルネットワーク回路が、FPGA(Field Programmable Gate Array )を用いて構築される場合である。
また、入力チャネル数Mと出力チャネル数Nとのそれぞれは、2のn乗(n:自然数)に設定されることが多い。すると、1×1畳み込み演算回路10と3×3畳み込み演算回路30とのそれぞれにおいて、演算器の個数が2のn乗であると、種々の畳み込みニューラルネットワークとの親和性が高くなる。
実施形態2.
図2は、第2の実施形態のニューラルネットワーク回路の構成例を示すブロック図である。
第2の実施形態では、ニューラルネットワーク回路における1×1畳み込み演算回路10と3×3畳み込み演算回路30とが、FPGA101上に構築されている。1×1畳み込み演算回路10および3×3畳み込み演算回路30の機能は、第1の実施形態におけるそれらの機能と同じである。
実施形態3.
図3は、第3の実施形態のニューラルネットワーク回路の構成例を示すブロック図である。
第3の実施形態では、ニューラルネットワーク回路における1×1畳み込み演算回路10と3×3畳み込み演算回路30とに加えて、SRAM20もFPGA102上に構築されている。1×1畳み込み演算回路10、SRAM20および3×3畳み込み演算回路30の機能は、第1の実施形態におけるそれらの機能と同じである。
実施形態4.
図4は、第4の実施形態のニューラルネットワーク回路の構成例を示すブロック図である。
図4には、重み係数格納部80が明示されている。重み係数格納部80には、例えば、1つの畳み込み層で使用されうる全ての重み係数があらかじめ設定されている。そして、1×1畳み込み演算と3×3畳み込み演算とが交互に多数回繰り返し実行される場合、ある回の1×1畳み込み演算が開始される前に、1×1畳み込み演算用の重み係数が、重み係数格納部80から重みメモリ11に転送される。また、ある回の3×3畳み込み演算が開始される前に、3×3畳み込み演算用の重み係数が、重み係数格納部80から重みメモリ31に転送される。
図4に示された1×1畳み込み演算回路10、重みメモリ11、SRAM20、3×3畳み込み演算回路30、重みメモリ31、およびDRAM40の作用は、第1~第3の実施形態の場合と同様である。
重みメモリ11は、1×1畳み込み演算回路10に対応して設けられている。重みメモリ31は、3×3畳み込み演算回路30に対応して設けられている。また、上述したように、1×1畳み込み演算回路10による3行分の畳み込み演算の演算結果がSRAM20に格納されれば、3×3畳み込み演算回路30が畳み込み演算を開始できる。その後、1×1畳み込み演算回路10と3×3畳み込み演算回路30とは、並行動作する。1×1畳み込み演算回路10と3×3畳み込み演算回路30とが並行動作するので、そのことからも、ニューラルネットワーク回路の全体的な演算速度が向上する。しかも、重みメモリ11と重みメモリ31とが別個に設けられているので、例えば、1×1畳み込み演算回路10が最初の3行分の畳み込み演算を実行しているときに、重み係数格納部80から3×3畳み込み演算回路30に3×3畳み込み演算用の重み係数が転送されるように構成されることによって、ニューラルネットワーク回路の全体的な演算速度がより向上する。
以上に説明したように、上記の各実施形態では、畳み込み演算を、空間方向への畳み込み演算とチャネル方向への畳み込み演算と分けて、それらを個別に実行するニューラルネットワーク回路において、1×1畳み込み演算回路10の演算結果がSRAM20に格納され、3×3畳み込み演算回路30が、SRAM20から、1×1畳み込み演算回路10の演算結果を入手するように構成されているので、ニューラルネットワーク回路の価格の上昇が抑えられつつ、ニューラルネットワーク回路の全体的な演算速度が向上する。
なお、上記の各実施形態では、depthwise separable 畳み込みとして、非特許文献1に記載されたようなMobileNetsを例にしたが、各実施形態のニューラルネットワーク回路は、MobileNets以外のdepthwise separable 畳み込みに適用可能である。例えば、3×3畳み込み演算回路30に相当する部分の処理がdepthwise 畳み込みではなく、depthwise畳み込みの一般系であるGroupedConvolutionであってもよい。GroupedConvolutionとは、Convolutionへの入力チャネルをG個のグループに分割してグループ単位で畳み込みを実施するものである。言い換えると、 入力チャネル数をM 、出力チャネル数をN としたとき、入力チャネル数がM/G 、出力チャネル数がN/G である3×3畳み込みをG個並行に実施する。depthwise 畳み込みは、このGroupedConvolutionにおいて、M=N=G とした場合に相当する。
図5は、ニューラルネットワーク回路の主要部を示すブロック図である。図5に示すニューラルネットワーク回路201は、チャネル方向への畳み込みを行う1×1畳み込み演算回路10と、1×1畳み込み演算回路10の演算結果が格納されるSRAM20と、SRAM20に格納された演算結果に対して空間方向への畳み込みを行うN×N畳み込み演算回路301(実施形態では、例えば、図1等に示された3×3畳み込み演算回路30で実現される。)とを備える。
図6は、他の態様のニューラルネットワーク回路の主要部を示すブロック図である。図6に示すニューラルネットワーク回路202は、さらに、N×N畳み込み演算回路301の演算結果が格納されるDRAM40を備え、1×1畳み込み演算回路10は、DRAM40に格納された演算結果に対してチャネル方向への畳み込みを行う。
図7は、別の態様のニューラルネットワーク回路の主要部を示すブロック図である。図7に示すニューラルネットワーク回路203は、さらに、1×1畳み込み演算回路10が使用する重み係数を記憶する第1の重みメモリ111(実施形態では、例えば、図1等に示されたと、重みメモリ11で実現される。)と、N×N畳み込み演算回路301が使用する重み係数を記憶する第2の重みメモリ311(実施形態では、例えば、図1等に示されたと、重みメモリ31で実現される。)とを備え、1×1畳み込み演算回路10とN×N畳み込み演算回路301とは、並行して畳み込み演算を実行する。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記の実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
10 1×1畳み込み演算回路
11 重みメモリ
20 SRAM
30 3×3畳み込み演算回路
31 重みメモリ
40 DRAM
80 重み係数格納部
101,102 FPGA
111 第1の重みメモリ
301 N×N畳み込み演算回路
311 第2の重みメモリ
201,202,203 ニューラルネットワーク回路

Claims (9)

  1. 畳み込み演算を空間方向への畳み込み演算とチャネル方向への畳み込み演算とに分けて、それらを個別に実行するニューラルネットワーク回路であって、
    チャネル方向への畳み込みを行う1×1畳み込み演算回路と、
    前記1×1畳み込み演算回路の演算結果が格納されるSRAMと、
    前記SRAMに格納された演算結果に対して空間方向への畳み込みを行うN×N畳み込み演算回路とを備える
    ことを特徴とするニューラルネットワーク回路。
  2. 前記N×N畳み込み演算回路の演算結果が格納されるDRAMを備え、
    前記1×1畳み込み演算回路は、前記DRAMに格納された演算結果に対してチャネル方向への畳み込みを行う
    請求項1記載のニューラルネットワーク回路。
  3. Nは3である請求項1または請求項2記載のニューラルネットワーク回路。
  4. 前記1×1畳み込み演算回路における演算器の数と前記N×N畳み込み演算回路における演算器の数とは、演算コストに応じて設定されている
    請求項1から請求項3のうちのいずれか1項に記載のニューラルネットワーク回路。
  5. 前記1×1畳み込み演算回路における演算器の数は、前記N×N畳み込み演算回路における演算器の数よりも多い
    請求項4記載のニューラルネットワーク回路。
  6. 前記1×1畳み込み演算回路における演算器の数と前記N×N畳み込み演算回路における演算器の数は、それぞれ、2のn乗である
    請求項1から請求項5のうちのいずれか1項に記載のニューラルネットワーク回路。
  7. 前記1×1畳み込み演算回路が使用する重み係数を記憶する第1の重みメモリと、
    前記N×N畳み込み演算回路が使用する重み係数を記憶する第2の重みメモリとを備え、
    前記1×1畳み込み演算回路と前記N×N畳み込み演算回路とは、並行して畳み込み演算を実行する
    請求項1から請求項6のうちのいずれか1項に記載のニューラルネットワーク回路。
  8. 少なくとも、前記1×1畳み込み演算回路と前記N×N畳み込み演算回路とがFPGAに形成されている
    請求項1から請求項7のうちのいずれか1項に記載のニューラルネットワーク回路。
  9. 前記SRAMも、前記FPGA形成されている
    請求項8記載のニューラルネットワーク回路。
JP2021508436A 2019-03-25 2019-03-25 ニューラルネットワーク回路 Active JP7180751B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/012581 WO2020194465A1 (ja) 2019-03-25 2019-03-25 ニューラルネットワーク回路

Publications (2)

Publication Number Publication Date
JPWO2020194465A1 JPWO2020194465A1 (ja) 2020-10-01
JP7180751B2 true JP7180751B2 (ja) 2022-11-30

Family

ID=72609307

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021508436A Active JP7180751B2 (ja) 2019-03-25 2019-03-25 ニューラルネットワーク回路

Country Status (3)

Country Link
US (1) US20220172032A1 (ja)
JP (1) JP7180751B2 (ja)
WO (1) WO2020194465A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113343801B (zh) * 2021-05-26 2022-09-30 郑州大学 基于轻量化卷积神经网络的无线信号自动调制识别方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180137406A1 (en) 2016-11-15 2018-05-17 Google Inc. Efficient Convolutional Neural Networks and Techniques to Reduce Associated Computational Costs
WO2018103736A1 (en) 2016-12-09 2018-06-14 Beijing Horizon Information Technology Co., Ltd. Systems and methods for data management

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10140572B2 (en) * 2015-06-25 2018-11-27 Microsoft Technology Licensing, Llc Memory bandwidth management for deep learning applications
CN108108811B (zh) * 2017-12-18 2021-07-30 南京地平线机器人技术有限公司 神经网络中的卷积计算方法和电子设备
US20200135236A1 (en) * 2018-10-29 2020-04-30 Mediatek Inc. Human pose video editing on smartphones

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180137406A1 (en) 2016-11-15 2018-05-17 Google Inc. Efficient Convolutional Neural Networks and Techniques to Reduce Associated Computational Costs
WO2018103736A1 (en) 2016-12-09 2018-06-14 Beijing Horizon Information Technology Co., Ltd. Systems and methods for data management

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
植松瞭太 ほか,動的再構成ハードウェアアーキテクチャを活かしたCNNの実装と評価,電子情報通信学会技術研究報告,日本,一般社団法人電子情報通信学会,2017年05月15日,第117巻 第46号,pp.1-6(RECONF2017-1),全文,ISSN:0913-5685

Also Published As

Publication number Publication date
WO2020194465A1 (ja) 2020-10-01
JPWO2020194465A1 (ja) 2020-10-01
US20220172032A1 (en) 2022-06-02

Similar Documents

Publication Publication Date Title
US12050986B2 (en) Neural network architecture using convolution engines
US11321423B2 (en) Operation accelerator
US11003985B2 (en) Convolutional neural network system and operation method thereof
US20220383067A1 (en) Buffer Addressing for a Convolutional Neural Network
CN111199275B (zh) 用于神经网络的片上系统
CN108804973B (zh) 基于深度学习的目标检测算法的硬件架构及其执行方法
WO2019082859A1 (ja) 推論装置、畳み込み演算実行方法及びプログラム
CN112703511B (zh) 运算加速器和数据处理方法
WO2022007265A1 (zh) 一种膨胀卷积加速计算方法及装置
WO2023065983A1 (zh) 计算装置、神经网络处理设备、芯片及处理数据的方法
US11164032B2 (en) Method of performing data processing operation
US20230041850A1 (en) Adaptive matrix multiplication accelerator for machine learning and deep learning applications
US20220129744A1 (en) Method for permuting dimensions of a multi-dimensional tensor
JP7332722B2 (ja) データ処理方法、装置、記憶媒体及び電子機器
CN114722994A (zh) 在硬件中实现全连接神经网络层
JP7180751B2 (ja) ニューラルネットワーク回路
CN109902821B (zh) 一种数据处理方法、装置及相关组件
CN111767243A (zh) 数据处理方法、相关设备及计算机可读介质
CN115545174A (zh) 包括矩阵乘法的神经网络
WO2019206162A1 (zh) 计算装置和计算方法
JP7251354B2 (ja) 情報処理装置、情報処理プログラム、及び情報処理方法
TWI788257B (zh) 記憶體內計算巨集排列的方法、電腦可讀介質及電子裝置
US20230169144A1 (en) Operation method, processor, and related product
CN114662647A (zh) 处理用于神经网络的层的数据
CN114330687A (zh) 数据处理方法及装置、神经网络处理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210907

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: 20221018

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221031

R151 Written notification of patent or utility model registration

Ref document number: 7180751

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R157 Certificate of patent or utility model (correction)

Free format text: JAPANESE INTERMEDIATE CODE: R157