JP5368687B2 - 演算処理装置および方法 - Google Patents
演算処理装置および方法 Download PDFInfo
- Publication number
- JP5368687B2 JP5368687B2 JP2007250063A JP2007250063A JP5368687B2 JP 5368687 B2 JP5368687 B2 JP 5368687B2 JP 2007250063 A JP2007250063 A JP 2007250063A JP 2007250063 A JP2007250063 A JP 2007250063A JP 5368687 B2 JP5368687 B2 JP 5368687B2
- Authority
- JP
- Japan
- Prior art keywords
- buffer
- processing
- network
- memory
- calculation
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/443—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
- G06V10/449—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
- G06V10/451—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
- G06V10/454—Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/94—Hardware or software architectures specially adapted for image or video understanding
- G06V10/955—Hardware or software architectures specially adapted for image or video understanding using specific electronic processors
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Multimedia (AREA)
- Biodiversity & Conservation Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Neurology (AREA)
- Image Analysis (AREA)
Description
ここで、
input(x,y):座標(x、y)での参照画素値、
output(x,y):座標(x、y)での演算結果、
weight(column,row):座標(x+column、y+row)での重み係数、
columnSize=11,rowSize=11:フィルタカーネルサイズ(フィルタタップ数)である。
入力データに対して演算を行い演算結果データを生成する、複数の論理的な処理ノードを接続したネットワークでネットワーク演算を実行する演算処理装置であって、
前記ネットワークを構成する複数の処理ノードの各々が演算結果データを保持するためのバッファ用の記憶領域をメモリに割り当てるために、1つの処理ノードに対して演算結果データの一部を保持するバッファを割り当てるバンドバッファ方式と、1つの処理ノードに対して前記入力データに対する演算結果データの全てを保持するバッファを割り当てるページバッファ方式とを含む複数種類のバッファ割り当て方法のそれぞれについて、前記ネットワーク演算に必要となる前記記憶領域のメモリ量を、当該ネットワークの構成に基づいて算出する算出手段と、
前記バッファとして割当て可能なメモリ量を取得する取得手段と、
前記複数種類のバッファ割り当て方法のうち、前記算出手段で算出されたメモリ量が前記取得手段で取得されたメモリ量以下になるバッファ割り当て方法を選択する選択手段と、
前記選択手段で選択されたバッファ割り当て方法に応じた実行順で、前記ネットワーク演算における各処理ノードによる演算を実行させる実行手段とを備える。
入力データに対して演算を行い演算結果データを生成する、複数の論理的な処理ノードを接続したネットワークでネットワーク演算を実行する演算処理方法であって、
前記ネットワークを構成する複数の処理ノードの各々が演算結果データを保持するためのバッファ用の記憶領域をメモリに割り当てるために、1つの処理ノードに対して演算結果データの一部を保持するバッファを割り当てるバンドバッファ方式と、1つの処理ノードに対して前記入力データに対する演算結果データの全てを保持するバッファを割り当てるページバッファ方式とを含む複数種類のバッファ割り当て方法のそれぞれについて、前記ネットワーク演算に必要となる前記記憶領域のメモリ量を、当該ネットワークの構成に基づいて算出する算出工程と、
前記バッファとして割当て可能なメモリ量を取得する取得工程と、
前記複数種類のバッファ割り当て方法のうち、前記算出工程で算出されたメモリ量が前記取得工程で取得されたメモリ量以下になるバッファ割り当て方法のうちの1つを選択する選択工程と、
前記選択工程で選択されたバッファ割り当て方法に応じた実行順で、前記ネットワーク演算における各処理ノードによる演算を実行させる実行工程とを備える。
図6は第1実施形態に関する階層的演算処理回路を具備したパターン検出装置の構成例である。当該装置は画像データ中の特定の物体(画像パターン)を検出する機能を有する画像処理装置である。図6において61は画像入力部であり、光学系、CCD(Charge-Coupled Devices)又はCMOS(Complimentary Metal OxideSemiconductor)センサ等の光電変換デバイスを有する。また、画像入力部61は、光電変換間デバイスを制御するドライバ回路/ADコンバータ/各種画像補正を司る信号処理回路/フレームバッファ等を具備する。62は前処理部であり、検出処理を効果的に行うための各種前処理を行う。具体的には、前処理部62は、色変換処理/コントラスト補正処理等の画像データ変換をハードウェアで処理する。63はCNN処理部であり、本実施形態による階層的演算処理回路を含み、特徴検出処理部として機能する。なお、CNN処理部63の詳細は図1を用いて後述する。66はDMAC(DirectMemory Access Controller)であり、画像バス64上の各処理部間のデータ転送、及び、画像バス64上のデバイスとCPUバス67上のRAM70間のデータ転送を司る。65はブリッジであり、画像バス64とCPUバス67のブリッジ機能を提供する。68はCPUであり、本装置全体の動作を制御するものである。69はROM(ReadOnly Memory)であり、CPU68の動作を規定する命令や各種演算に必要なパラメータデータを格納する。例えば、CNN処理部63の動作に必要な重み係数、ネットワーク結合情報、シーケンス情報等もROM69に格納されている。70はCPU68の動作に必要なメモリ(RAM:RandomAccess Memory)である。RAM70はDRAM(Dynamic RAM)等の比較的容量の大きいメモリで構成される。CPU68はブリッジ65を介して画像バス64上の各種処理部にアクセスする事が可能である。画像バス64とCPUバス67を分離する事により、ハードウェアによる画像入力部61、前処理部62、CNN処理部63の各処理部の動作とCPU68の動作を同時に並列実行させることができる。
・リングサイズ設定部106のリングバッファサイズ、
・ネットワーク構成情報設定部110の構成情報テーブル、
・シーケンス情報設定部111のシーケンス情報、
・演算部101の重み係数記憶部1205内の重み係数データ、
等の各種設定データは、当該インターフェースを介してCPU68から書き込むことができる。
2202は演算結果画像を表し、模式的に示す最小一升が、ラスタスキャン順の演算結果画素(output(x,y)、x:水平方向位置、y:垂直方向位置)を示すものとする。
全階層数(入力層除く): N
階層番号変数(中間層): l=1,2,…,N−1
各階層特徴数: Fl
特徴番号(注目階層の注目特徴): f=fl=1,…,Fl
前階層の特徴番号: f’=fl-1
入力画像サイズ(水平方向,垂直方向):IX,IY
カーネルサイズ(水平方向,垂直方向):WX(l,f,f’)、WY(l,f,f’)
バンドバッファ高さ:BY(l,f)
バンド中間バッファ必要容量:SB
とすると、全ての中間バッファを最低限必要なサイズのバンドバッファとして割り当てるときに必要となるトータルのサイズSBは、
として求めることができる。
・ネットワーク演算を構成する全ての処理ノードの各々に必要な中間バッファのサイズを当該処理ノードの後段に接続される処理ノードが必要とするデータ量に設定し、
・それら中間バッファのサイズを合計することにより、ネットワーク演算に必要なメモリ量を算出している。
・1つの階層に属する全ての処理ノードの出力が生成された後に次階層に属する処理ノードの演算処理を開始するように制御し、
・N番目の階層に属する全ての処理ノードの出力が生成された後、N−1番目の階層に属する全ての処理ノードが使用していた中間バッファ領域を開放してN+1番目以降の階層に属する処理ノードの中間バッファ領域に割り当て可能にする。
こうして、1階層の演算処理が完了する毎に、その前の階層のページバッファを、次階層の中間バッファとして再利用するようにすることにより、トータルの中間バッファ必要サイズを減らすことが可能となる。以下、この方式をページバッファ方式という。
とすると、
として、ページで中間バッファを構成した際(ページバッファ方式を採用した際)のトータルの必要サイズを求めることができる。この計算は、ネットワーク構成において連続する2つの階層の組に属する全ての処理ノードが生成する演算結果データのサイズの合計を全ての組について計算し、その内の最大となるサイズを必要なメモリ量とするものである。
第1実施形態では全ての論理的な処理ノード毎にリングバッファのサイズを設定可能な構成について説明したが、本発明はこれに限るわけではない。例えば、階層毎にリングバッファのサイズを設定する構成とすることも可能である。第2実施形態では、そのような構成について説明する。
上記第1、第2実施形態ではCNN処理部63をハードウェアで実現する場合について説明したが、本発明はソフトウェアにより実現する場合にも適用することが可能である。図21にソフトウェアで実現する場合の構成例を示す。図21に示す構成は図6に示す構成からCNN処理部63を取り除き、ランダムアクセス可能な高速メモリであるRAM2101を追加したものであるためその違いについて説明する。
上記実施形態では、リングカウンタを使用して、メモリ102の所定の連続領域をライン単位で循環しながら使用する方法について説明したが、本発明はこのようなメモリの使用方法に限るわけではない。例えば、リングカウンタに対応するメモリアドレステーブルを有し、当該テーブルを参照する事で、不連続な領域を所定の処理単位に割り当てながら処理する等の方法でも良い。即ち、本発明で規定するリングバッファとは狭義のリングバッファ或いは循環バッファに限定するものではない。
・各処理ノードの演算結果データを保持するための中間バッファを各処理ノードへの割り当てるための複数種類のバッファ割り当て方法を用意しておき、
・これらのバッファ割り当て方法のそれぞれについて、ネットワーク演算に必要なメモリ量を当該ネットワーク演算の構成に基づいて算出し、
・算出されたメモリ量に基づいて、複数種類のバッファ割り当て方法のうちの1つを選択するように構成することが可能である。
Claims (13)
- 入力データに対して演算を行い演算結果データを生成する、複数の論理的な処理ノードを接続したネットワークでネットワーク演算を実行する演算処理装置であって、
前記ネットワークを構成する複数の処理ノードの各々が演算結果データを保持するためのバッファ用の記憶領域をメモリに割り当てるために、1つの処理ノードに対して演算結果データの一部を保持するバッファを割り当てるバンドバッファ方式と、1つの処理ノードに対して前記入力データに対する演算結果データの全てを保持するバッファを割り当てるページバッファ方式とを含む複数種類のバッファ割り当て方法のそれぞれについて、前記ネットワーク演算に必要となる前記記憶領域のメモリ量を、当該ネットワークの構成に基づいて算出する算出手段と、
前記バッファとして割当て可能なメモリ量を取得する取得手段と、
前記複数種類のバッファ割り当て方法のうち、前記算出手段で算出されたメモリ量が前記取得手段で取得されたメモリ量以下になるバッファ割り当て方法を選択する選択手段と、
前記選択手段で選択されたバッファ割り当て方法に応じた実行順で、前記ネットワーク演算における各処理ノードによる演算を実行させる実行手段とを備えることを特徴とする演算処理装置。 - 前記ネットワークは、複数の論理的な処理ノードを階層的に接続した階層型ネットワークであることを特徴とする請求項1に記載の演算処理装置。
- 前記選択手段は、前記算出手段で算出されたメモリ量が前記取得手段で取得されたメモリ量以下になるバッファ割り当て方法が複数存在する場合には、予め定めた優先順位に基づいてそれらのバッファ割り当て方法の中から1つを選択することを特徴とする請求項1に記載の演算処理装置。
- 前記算出手段は、前記ネットワーク演算を実行する全ての処理ノードの各々のバッファのサイズを当該処理ノードの後段に接続される処理ノードが必要とするデータ量に設定し、それらバッファのサイズを合計することにより、前記バンドバッファ方式を用いた場合の前記ネットワーク演算に必要なメモリ量を算出することを特徴とする請求項1に記載の演算処理装置。
- 前記算出手段は、前記ネットワークの構成に存在する連続する2つの階層のそれぞれの組について、2つの階層に属する全ての処理ノードが前記入力データに対する演算結果データの全てを保持した場合に必要となるバッファの合計サイズを計算し、それら合計サイズの内の最大のサイズを、前記ページバッファ方式を用いた場合の前記ネットワーク演算に必要なメモリ量とすることを特徴とする請求項1に記載の演算処理装置。
- 前記実行手段は、前記バンドバッファ方式が選択された場合には、前記複数の処理ノードの各々を予め定められた処理単位で実行させ、
前記複数の処理ノードの各々に割り当てられたバッファを、前記処理単位の演算結果の量に対応したメモリ領域を単位として循環させながら演算結果を書き込むリングバッファとして制御することを特徴とする請求項1乃至5のいずれか1項に記載の演算処理装置。 - 前記実行手段は、前記ページバッファ方式が選択された場合には、1つの階層に属する全ての処理ノードの出力が生成された後に次階層に属する処理ノードの演算処理を開始するように制御し、
N番目の階層に属する全ての処理ノードの出力が生成された後、N−1番目の階層に属する全ての処理ノードが使用していたバッファ領域を開放し、N+1番目以降の階層に属する処理ノードのバッファ領域に割り当てることを特徴とする請求項1乃至6のいずれか1項に記載の演算処理装置。 - 入力データに対して演算を行い演算結果データを生成する、複数の論理的な処理ノードを接続したネットワークでネットワーク演算を実行する演算処理装置であって、
前記ネットワークを構成する複数の処理ノードの各々が演算結果データを保持するためのバッファ用の記憶領域をメモリに割り当てる複数種類のバッファ割り当て方法のそれぞれについて、前記ネットワーク演算に必要となる前記記憶領域のメモリ量を、当該ネットワークの構成に基づいて算出する算出手段と、
前記バッファとして割当て可能なメモリ量を取得する取得手段と、
前記複数種類のバッファ割り当て方法のうち、前記算出手段で算出されたメモリ量が前記取得手段で取得されたメモリ量以下になるバッファ割り当て方法を選択する選択手段と、
前記選択手段で選択されたバッファ割り当て方法に応じた実行順で、前記ネットワーク演算における各処理ノードによる演算を実行させる実行手段と、
前記算出手段で算出されたメモリ量が前記取得手段で取得されたメモリ量以下になるバッファ割り当て方法が存在しない場合に、前記入力データを分割する分割手段とを備え、
前記選択手段は、分割された入力データの各々について前記ネットワーク演算に用いるべきバッファ割り当て方法を選択することを特徴とする演算処理装置。 - 前記処理ノードが行う演算はコンボリューション演算であり、前記ネットワークは、コンボリューショナルニューラルネットワークであることを特徴とする請求項1乃至8のいずれか1項に記載の演算処理装置。
- 入力データに対して演算を行い演算結果データを生成する、複数の論理的な処理ノードを接続したネットワークでネットワーク演算を実行する演算処理方法であって、
前記ネットワークを構成する複数の処理ノードの各々が演算結果データを保持するためのバッファ用の記憶領域をメモリに割り当てるために、1つの処理ノードに対して演算結果データの一部を保持するバッファを割り当てるバンドバッファ方式と、1つの処理ノードに対して前記入力データに対する演算結果データの全てを保持するバッファを割り当てるページバッファ方式とを含む複数種類のバッファ割り当て方法のそれぞれについて、前記ネットワーク演算に必要となる前記記憶領域のメモリ量を、当該ネットワークの構成に基づいて算出する算出工程と、
前記バッファとして割当て可能なメモリ量を取得する取得工程と、
前記複数種類のバッファ割り当て方法のうち、前記算出工程で算出されたメモリ量が前記取得工程で取得されたメモリ量以下になるバッファ割り当て方法のうちの1つを選択する選択工程と、
前記選択工程で選択されたバッファ割り当て方法に応じた実行順で、前記ネットワーク演算における各処理ノードによる演算を実行させる実行工程とを備えることを特徴とする演算処理方法。 - 入力データに対して演算を行い演算結果データを生成する、複数の論理的な処理ノードを接続したネットワークでネットワーク演算を実行する演算処理方法であって、
前記ネットワークを構成する複数の処理ノードの各々が演算結果データを保持するためのバッファ用の記憶領域をメモリに割り当てる複数種類のバッファ割り当て方法のそれぞれについて、前記ネットワーク演算に必要となる前記記憶領域のメモリ量を、当該ネットワークの構成に基づいて算出する算出工程と、
前記バッファとして割当て可能なメモリ量を取得する取得工程と、
前記複数種類のバッファ割り当て方法のうち、前記算出工程で算出されたメモリ量が前記取得工程で取得されたメモリ量以下になるバッファ割り当て方法を選択する選択工程と、
前記選択工程で選択されたバッファ割り当て方法に応じた実行順で、前記ネットワーク演算における各処理ノードによる演算を実行させる実行工程と、
前記算出工程で算出されたメモリ量が前記取得工程で取得されたメモリ量以下になるバッファ割り当て方法が存在しない場合に、前記入力データを分割する分割工程とを備え、
前記選択工程では、分割された入力データの各々について前記ネットワーク演算に用いるべきバッファ割り当て方法を選択することを特徴とする演算処理方法。 - 請求項10または11に記載の演算処理方法をコンピュータに実行させるためのコンピュータプログラム。
- 請求項10または11に記載の演算処理方法をコンピュータに実行させるためのコンピュータプログラムを格納したコンピュータ読み取り可能な記憶媒体。
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007250063A JP5368687B2 (ja) | 2007-09-26 | 2007-09-26 | 演算処理装置および方法 |
| CN2008801083659A CN101809597B (zh) | 2007-09-26 | 2008-09-12 | 计算处理装置及方法 |
| PCT/JP2008/066912 WO2009041350A1 (en) | 2007-09-26 | 2008-09-12 | Calculation processing apparatus and method |
| US12/679,574 US8391306B2 (en) | 2007-09-26 | 2008-09-12 | Calculation processing apparatus and method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007250063A JP5368687B2 (ja) | 2007-09-26 | 2007-09-26 | 演算処理装置および方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2009080693A JP2009080693A (ja) | 2009-04-16 |
| JP5368687B2 true JP5368687B2 (ja) | 2013-12-18 |
Family
ID=40511235
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2007250063A Expired - Fee Related JP5368687B2 (ja) | 2007-09-26 | 2007-09-26 | 演算処理装置および方法 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US8391306B2 (ja) |
| JP (1) | JP5368687B2 (ja) |
| CN (1) | CN101809597B (ja) |
| WO (1) | WO2009041350A1 (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11347430B2 (en) | 2019-07-08 | 2022-05-31 | Canon Kabushiki Kaisha | Operation processing apparatus that executes hierarchical calculation, operation processing method, and non-transitory computer-readable storage medium |
| US11699067B2 (en) | 2017-03-03 | 2023-07-11 | Canon Kabushiki Kaisha | Arithmetic processing apparatus and control method therefor |
| US11704546B2 (en) | 2019-07-01 | 2023-07-18 | Canon Kabushiki Kaisha | Operation processing apparatus that calculates addresses of feature planes in layers of a neutral network and operation processing method |
Families Citing this family (80)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9015093B1 (en) | 2010-10-26 | 2015-04-21 | Michael Lamport Commons | Intelligent control with hierarchical stacked neural networks |
| US8775341B1 (en) | 2010-10-26 | 2014-07-08 | Michael Lamport Commons | Intelligent control with hierarchical stacked neural networks |
| JP5911165B2 (ja) | 2011-08-05 | 2016-04-27 | 株式会社メガチップス | 画像認識装置 |
| JP2014059862A (ja) | 2012-08-22 | 2014-04-03 | Canon Inc | データフローのリソース割り当て装置および方法 |
| CN104680508B (zh) * | 2013-11-29 | 2018-07-03 | 华为技术有限公司 | 卷积神经网络和基于卷积神经网络的目标物体检测方法 |
| US9978014B2 (en) * | 2013-12-18 | 2018-05-22 | Intel Corporation | Reconfigurable processing unit |
| US9613001B2 (en) * | 2013-12-20 | 2017-04-04 | Intel Corporation | Processing device for performing convolution operations |
| US9741095B2 (en) * | 2014-01-29 | 2017-08-22 | Raytheon Company | Method for electronic zoom with sub-pixel offset |
| JP6393058B2 (ja) | 2014-03-31 | 2018-09-19 | キヤノン株式会社 | 情報処理装置、情報処理方法 |
| CN104035751B (zh) * | 2014-06-20 | 2016-10-12 | 深圳市腾讯计算机系统有限公司 | 基于多图形处理器的数据并行处理方法及装置 |
| KR101727546B1 (ko) * | 2014-11-12 | 2017-05-02 | 서울대학교산학협력단 | 뉴런 디바이스 및 뉴런 디바이스를 포함하는 집적회로 |
| JP6706788B2 (ja) * | 2015-03-06 | 2020-06-10 | パナソニックIpマネジメント株式会社 | 画像認識方法、画像認識装置およびプログラム |
| EP3335158B1 (en) * | 2015-08-15 | 2019-07-24 | Salesforce.com, Inc. | Three-dimensional (3d) convolution with 3d batch normalization |
| US10157333B1 (en) * | 2015-09-15 | 2018-12-18 | Snap Inc. | Systems and methods for content tagging |
| US10417529B2 (en) * | 2015-09-15 | 2019-09-17 | Samsung Electronics Co., Ltd. | Learning combinations of homogenous feature arrangements |
| US11074492B2 (en) * | 2015-10-07 | 2021-07-27 | Altera Corporation | Method and apparatus for performing different types of convolution operations with the same processing elements |
| US10664751B2 (en) * | 2016-12-01 | 2020-05-26 | Via Alliance Semiconductor Co., Ltd. | Processor with memory array operable as either cache memory or neural network unit memory |
| US9754351B2 (en) * | 2015-11-05 | 2017-09-05 | Facebook, Inc. | Systems and methods for processing content using convolutional neural networks |
| US10977547B2 (en) | 2015-11-12 | 2021-04-13 | Google Llc | Convolutional gated recurrent neural networks |
| US10699186B2 (en) * | 2015-12-02 | 2020-06-30 | Google Llc | Determining orders of execution of a neural network |
| US12411890B2 (en) | 2015-12-08 | 2025-09-09 | Snap Inc. | System to correlate video data and contextual data |
| JP6333871B2 (ja) * | 2016-02-25 | 2018-05-30 | ファナック株式会社 | 入力画像から検出した対象物を表示する画像処理装置 |
| WO2017177367A1 (en) * | 2016-04-11 | 2017-10-19 | Xiaogang Wang | Method and system for object tracking |
| AU2016203619A1 (en) | 2016-05-31 | 2017-12-14 | Canon Kabushiki Kaisha | Layer-based operations scheduling to optimise memory for CNN applications |
| US10303977B2 (en) * | 2016-06-28 | 2019-05-28 | Conduent Business Services, Llc | System and method for expanding and training convolutional neural networks for large size input images |
| US11334768B1 (en) | 2016-07-05 | 2022-05-17 | Snap Inc. | Ephemeral content management |
| CN106203621B (zh) * | 2016-07-11 | 2019-04-30 | 北京深鉴智能科技有限公司 | 用于卷积神经网络计算的处理器 |
| CA3038967A1 (en) | 2016-10-04 | 2018-04-12 | Magic Leap, Inc. | Efficient data layouts for convolutional neural networks |
| GB2554711B (en) | 2016-10-06 | 2020-11-25 | Imagination Tech Ltd | Buffer addressing for a convolutional neural network |
| JP2018067154A (ja) | 2016-10-19 | 2018-04-26 | ソニーセミコンダクタソリューションズ株式会社 | 演算処理回路および認識システム |
| JP6945986B2 (ja) * | 2016-10-28 | 2021-10-06 | キヤノン株式会社 | 演算回路、その制御方法及びプログラム |
| US10430706B2 (en) * | 2016-12-01 | 2019-10-01 | Via Alliance Semiconductor Co., Ltd. | Processor with memory array operable as either last level cache slice or neural network unit memory |
| US10423876B2 (en) * | 2016-12-01 | 2019-09-24 | Via Alliance Semiconductor Co., Ltd. | Processor with memory array operable as either victim cache or neural network unit memory |
| CN108615077B (zh) * | 2016-12-09 | 2021-08-24 | 杭州海康威视数字技术股份有限公司 | 一种应用于深度学习网络的缓存优化方法及装置 |
| KR20180070062A (ko) * | 2016-12-16 | 2018-06-26 | 삼성전자주식회사 | 이동체 및 이동체의 제어 방법 |
| EP3594858A4 (en) * | 2017-03-06 | 2020-04-01 | Sony Corporation | INFORMATION PROCESSING DEVICE |
| CN108629406B (zh) * | 2017-03-24 | 2020-12-18 | 展讯通信(上海)有限公司 | 用于卷积神经网络的运算装置 |
| US10387298B2 (en) | 2017-04-04 | 2019-08-20 | Hailo Technologies Ltd | Artificial neural network incorporating emphasis and focus techniques |
| US11551028B2 (en) | 2017-04-04 | 2023-01-10 | Hailo Technologies Ltd. | Structured weight based sparsity in an artificial neural network |
| US11544545B2 (en) | 2017-04-04 | 2023-01-03 | Hailo Technologies Ltd. | Structured activation based sparsity in an artificial neural network |
| US12430543B2 (en) | 2017-04-04 | 2025-09-30 | Hailo Technologies Ltd. | Structured sparsity guided training in an artificial neural network |
| US11615297B2 (en) | 2017-04-04 | 2023-03-28 | Hailo Technologies Ltd. | Structured weight based sparsity in an artificial neural network compiler |
| US11238334B2 (en) | 2017-04-04 | 2022-02-01 | Hailo Technologies Ltd. | System and method of input alignment for efficient vector operations in an artificial neural network |
| WO2018217965A1 (en) * | 2017-05-25 | 2018-11-29 | Texas Instruments Incorporated | Secure convolutional neural networks (cnn) accelerator |
| US10706349B2 (en) | 2017-05-25 | 2020-07-07 | Texas Instruments Incorporated | Secure convolutional neural networks (CNN) accelerator |
| US11281376B2 (en) | 2017-10-18 | 2022-03-22 | Mitsubishi Electric Corporation | Operation circuit and method of operation for use in operations that are performed in parallel using multiple operators |
| JP6927320B2 (ja) * | 2017-10-23 | 2021-08-25 | 日本電気株式会社 | 推論装置、畳み込み演算実行方法及びプログラム |
| JP6919539B2 (ja) | 2017-12-06 | 2021-08-18 | 富士通株式会社 | 演算処理装置および演算処理装置の制御方法 |
| AU2017279610A1 (en) * | 2017-12-19 | 2019-07-04 | Canon Kabushiki Kaisha | Memory access optimisation using per-layer computational mapping and memory allocation for CNN application |
| WO2019183095A1 (en) * | 2018-03-22 | 2019-09-26 | Amazon Technologies, Inc. | Processing for multiple input data sets |
| CN108564168B (zh) * | 2018-04-03 | 2021-03-09 | 中国科学院计算技术研究所 | 一种对支持多精度卷积神经网络处理器的设计方法 |
| KR102808815B1 (ko) * | 2018-05-30 | 2025-05-19 | 삼성전자주식회사 | 프로세서, 전자 장치 및 그 제어 방법 |
| WO2019231254A1 (en) | 2018-05-30 | 2019-12-05 | Samsung Electronics Co., Ltd. | Processor, electronics apparatus and control method thereof |
| JP6970827B2 (ja) | 2018-06-25 | 2021-11-24 | オリンパス株式会社 | 演算処理装置 |
| CN109190674B (zh) * | 2018-08-03 | 2021-07-20 | 百度在线网络技术(北京)有限公司 | 训练数据的生成方法及装置 |
| KR102692017B1 (ko) | 2018-08-29 | 2024-08-05 | 삼성전자주식회사 | 전자 장치 및 전자 장치의 동작 방법 |
| US20200090030A1 (en) | 2018-09-19 | 2020-03-19 | British Cayman Islands Intelligo Technology Inc. | Integrated circuit for convolution calculation in deep neural network and method thereof |
| CN109522052B (zh) * | 2018-11-27 | 2020-05-08 | 中科寒武纪科技股份有限公司 | 一种计算装置及板卡 |
| JP7211069B2 (ja) | 2018-12-25 | 2023-01-24 | 富士通株式会社 | 情報処理装置、情報処理プログラムおよび情報処理方法 |
| JP7297468B2 (ja) * | 2019-02-28 | 2023-06-26 | キヤノン株式会社 | データ処理装置及びその方法 |
| CN109615067B (zh) * | 2019-03-05 | 2019-05-21 | 深兰人工智能芯片研究院(江苏)有限公司 | 一种卷积神经网络的数据调度方法及装置 |
| JP7278150B2 (ja) * | 2019-05-23 | 2023-05-19 | キヤノン株式会社 | 画像処理装置、撮像装置、画像処理方法 |
| JP2020201883A (ja) * | 2019-06-13 | 2020-12-17 | キヤノン株式会社 | データ処理装置及びその制御方法 |
| JP7251354B2 (ja) | 2019-06-26 | 2023-04-04 | 富士通株式会社 | 情報処理装置、情報処理プログラム、及び情報処理方法 |
| DE102019129760A1 (de) * | 2019-11-05 | 2021-05-06 | Eyyes Gmbh | Verfahren zur Verarbeitung von Eingangsdaten |
| US11954819B1 (en) * | 2020-02-28 | 2024-04-09 | Unm Rainforest Innovations | System and methods for fast and scalable 2D convolutions and cross-correlations for processing image databases and videos on CPUs |
| WO2021241460A1 (ja) * | 2020-05-29 | 2021-12-02 | ソニーグループ株式会社 | メモリ内蔵装置、処理方法、パラメータ設定方法及びイメージセンサ装置 |
| KR20220006906A (ko) * | 2020-07-09 | 2022-01-18 | 주식회사 엘지에너지솔루션 | 통신 시스템 및 방법 |
| US11263077B1 (en) | 2020-09-29 | 2022-03-01 | Hailo Technologies Ltd. | Neural network intermediate results safety mechanism in an artificial neural network processor |
| US11874900B2 (en) | 2020-09-29 | 2024-01-16 | Hailo Technologies Ltd. | Cluster interlayer safety mechanism in an artificial neural network processor |
| US12248367B2 (en) | 2020-09-29 | 2025-03-11 | Hailo Technologies Ltd. | Software defined redundant allocation safety mechanism in an artificial neural network processor |
| US11221929B1 (en) | 2020-09-29 | 2022-01-11 | Hailo Technologies Ltd. | Data stream fault detection mechanism in an artificial neural network processor |
| US11811421B2 (en) | 2020-09-29 | 2023-11-07 | Hailo Technologies Ltd. | Weights safety mechanism in an artificial neural network processor |
| US11237894B1 (en) | 2020-09-29 | 2022-02-01 | Hailo Technologies Ltd. | Layer control unit instruction addressing safety mechanism in an artificial neural network processor |
| JP7451453B2 (ja) * | 2021-03-15 | 2024-03-18 | 株式会社東芝 | 畳み込み演算処理装置および畳み込み演算処理システム |
| US20230043584A1 (en) * | 2021-08-09 | 2023-02-09 | Cypress Semiconductor Corporation | Optimization of memory use for efficient neural network execution |
| KR20230075914A (ko) * | 2021-11-23 | 2023-05-31 | 삼성전자주식회사 | 프로세싱 장치 및 이의 동작 방법과 전자 장치 |
| ES3023747T3 (en) * | 2022-01-28 | 2025-06-03 | Fujitsu Ltd | Kernel transfer |
| CN114118389B (zh) * | 2022-01-28 | 2022-05-10 | 深圳鲲云信息科技有限公司 | 神经网络数据处理方法、设备及存储介质 |
| KR102682877B1 (ko) * | 2022-11-24 | 2024-07-09 | 인하대학교 산학협력단 | Fpga를 활용한 cnn 가속기 하드웨어 설계 |
Family Cites Families (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| FI894021A7 (fi) | 1988-08-31 | 1990-03-01 | Fujitsu Ltd | Neuronstruktur. |
| JP2679730B2 (ja) | 1988-08-31 | 1997-11-19 | 富士通株式会社 | 階層構造ニューラルネット |
| JPH0355658A (ja) | 1989-07-25 | 1991-03-11 | Fujitsu Ltd | 半導体情報処理装置 |
| JP2729987B2 (ja) * | 1989-09-20 | 1998-03-18 | 富士通株式会社 | ネットワーク構成データ処理装置の重み保持方式 |
| JPH05108593A (ja) * | 1991-10-14 | 1993-04-30 | Sanyo Electric Co Ltd | ニユーロ開発支援装置 |
| US6038337A (en) | 1996-03-29 | 2000-03-14 | Nec Research Institute, Inc. | Method and apparatus for object recognition |
| CN1085361C (zh) * | 1998-01-21 | 2002-05-22 | 中国科学院计算技术研究所 | 大规模并行处理计算机系统的新型互连网络技术 |
| CN1292118A (zh) * | 1998-02-26 | 2001-04-18 | 太阳微系统公司 | 网络上的动态分布式计算的方法和设备 |
| US7065096B2 (en) * | 2000-06-23 | 2006-06-20 | Mips Technologies, Inc. | Method for allocating memory space for limited packet head and/or tail growth |
| JP4846924B2 (ja) | 2001-05-31 | 2011-12-28 | キヤノン株式会社 | パターン認識装置 |
| US7200687B2 (en) * | 2003-09-25 | 2007-04-03 | International Business Machines Coporation | Location-based non-uniform allocation of memory resources in memory mapped input/output fabric |
| JP4546157B2 (ja) * | 2004-06-03 | 2010-09-15 | キヤノン株式会社 | 情報処理方法、情報処理装置、撮像装置 |
| GB2421096A (en) * | 2004-12-10 | 2006-06-14 | Hewlett Packard Development Co | Determining a memory allocation algorithm in dependence on a memory allocation pattern for a process |
| JP4947983B2 (ja) * | 2006-01-31 | 2012-06-06 | キヤノン株式会社 | 演算処理システム |
| CN100456271C (zh) * | 2007-03-19 | 2009-01-28 | 中国人民解放军国防科学技术大学 | 面向流应用的片内存储器 |
| JP5171118B2 (ja) | 2007-06-13 | 2013-03-27 | キヤノン株式会社 | 演算処理装置及びその制御方法 |
-
2007
- 2007-09-26 JP JP2007250063A patent/JP5368687B2/ja not_active Expired - Fee Related
-
2008
- 2008-09-12 CN CN2008801083659A patent/CN101809597B/zh not_active Expired - Fee Related
- 2008-09-12 WO PCT/JP2008/066912 patent/WO2009041350A1/en not_active Ceased
- 2008-09-12 US US12/679,574 patent/US8391306B2/en not_active Expired - Fee Related
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11699067B2 (en) | 2017-03-03 | 2023-07-11 | Canon Kabushiki Kaisha | Arithmetic processing apparatus and control method therefor |
| US11704546B2 (en) | 2019-07-01 | 2023-07-18 | Canon Kabushiki Kaisha | Operation processing apparatus that calculates addresses of feature planes in layers of a neutral network and operation processing method |
| US11347430B2 (en) | 2019-07-08 | 2022-05-31 | Canon Kabushiki Kaisha | Operation processing apparatus that executes hierarchical calculation, operation processing method, and non-transitory computer-readable storage medium |
Also Published As
| Publication number | Publication date |
|---|---|
| US20100214936A1 (en) | 2010-08-26 |
| JP2009080693A (ja) | 2009-04-16 |
| WO2009041350A1 (en) | 2009-04-02 |
| US8391306B2 (en) | 2013-03-05 |
| CN101809597A (zh) | 2010-08-18 |
| CN101809597B (zh) | 2013-06-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5368687B2 (ja) | 演算処理装置および方法 | |
| JP5184824B2 (ja) | 演算処理装置及び方法 | |
| US7978905B2 (en) | Calculation processing apparatus and control method thereof | |
| JP6936592B2 (ja) | 演算処理装置およびその制御方法 | |
| EP2997539B1 (en) | Method and device for processing input image data | |
| JP6195342B2 (ja) | 情報処理装置およびメモリアクセス制御方法 | |
| JP6210953B2 (ja) | 画像処理装置および画像処理方法 | |
| JP4416694B2 (ja) | データ転送調停装置およびデータ転送調停方法 | |
| JP7308674B2 (ja) | 演算処理装置及び演算処理方法 | |
| JP2020191012A (ja) | 画像処理装置、撮像装置、画像処理方法 | |
| CN111626914B (zh) | 执行层级计算处理的数据处理装置及其方法 | |
| JP7321213B2 (ja) | 情報処理装置、情報処理方法 | |
| JP7631289B2 (ja) | データ処理装置及びその方法 | |
| JP7038927B2 (ja) | 割当装置、学習装置、推論装置、割当方法、及び、割当プログラム | |
| JP2006135825A (ja) | 画像補間処理装置 | |
| JP4316476B2 (ja) | 画像処理装置、画像形成装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100927 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121203 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130201 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130225 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130424 |
|
| 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: 20130816 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130913 |
|
| R151 | Written notification of patent or utility model registration |
Ref document number: 5368687 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
| LAPS | Cancellation because of no payment of annual fees |