JP2019200675A - 演算デバイス及びデータの処理方法 - Google Patents
演算デバイス及びデータの処理方法 Download PDFInfo
- Publication number
- JP2019200675A JP2019200675A JP2018095787A JP2018095787A JP2019200675A JP 2019200675 A JP2019200675 A JP 2019200675A JP 2018095787 A JP2018095787 A JP 2018095787A JP 2018095787 A JP2018095787 A JP 2018095787A JP 2019200675 A JP2019200675 A JP 2019200675A
- Authority
- JP
- Japan
- Prior art keywords
- data
- matrix
- filter
- product
- arithmetic device
- 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.)
- Pending
Links
Classifications
-
- 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/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- 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
-
- 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/544—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 for evaluating functions by calculation
- G06F7/5443—Sum of products
-
- 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/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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Neurology (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
- Complex Calculations (AREA)
Abstract
Description
前記第1の行列は、以下の式(P1)に示される。
以下の説明において、同一の機能及び構成を有する要素については、同一符号を付す。また、以下の実施形態において、区別化のために数字/英字がその末尾に付された参照符号を有する構成要素が相互に区別されない場合、末尾の数字/英字が参照符号から省略された表記が用いられる。
図1乃至図9を参照して、本実施形態の演算デバイス、データの処理方法、及びシステムについて、説明する。
図1乃至図3を参照して、本実施形態の演算デバイスの構成について、説明する。
入力層101は、複数の演算デバイス(ニューロン又はニューロン回路ともよばれる)118を有する。入力層101において、各演算デバイス118は、画像データIMGから所定のサイズの2次元配列データを抽出(サンプル)できる。各演算デバイス118は、抽出したデータを、隠れ層102に送信する。送信されるデータは、入力層101によって抽出されたままのデータでもよいし、入力層101によって任意の処理(例えば、2値化処理)が施されたデータでもよい。
隠れ層102は、複数の演算デバイス110(110A,110B)を有する。隠れ層102において、各演算デバイス110は、供給されたデータ(以下では、区別化のため、入力データともよばれる)に対して、所定のパラメータ(例えば、重み係数)を用いた畳み込み処理(積和演算処理)を実行する。例えば、各演算デバイス110は、供給されたデータに対して、互いに異なるパラメータを用いて積和演算処理を実行する。
出力層103は、複数の演算デバイス119を有する。各演算デバイス119は、複数の演算デバイス110Bからの計算結果に対して、所定の処理を実行する。これによって、隠れ層102による計算結果に基づいて、ニューラルネットワーク100に供給されたデータに関する推論、学習、及び分類を、実行できる。各演算デバイス119は、得られた処理結果(分類結果)を保持及び出力できる。出力層103は、隠れ層102の計算結果をニューラルネットワーク100の外部へ出力するためのバッファ及びインターフェイスとしても機能する。
図4乃至図6を参照して、本実施形態の演算デバイス(及び画像データの処理方法)の基本コンセプトについて、説明する。
図7乃至図9を参照して、本実施形態の演算デバイスの動作例(データ処理方法)について、より具体的な例を示して、説明する。
これによって、図8の処理による計算結果と等価な結果が、本実施形態の演算デバイス110によって、得られる。
図9は、本実施形態の演算デバイスによる各種の処理(画像データの処理方法)の流れを示すフローチャートである。
被写体OBJに対応する画像データIMGが、イメージセンサ90によって、生成される。生成された画像データIMGは、イメージセンサ90から画像認識システム1に送信される。
第1の前処理回路111は、データd1を受ける。本実施形態の演算デバイス110において、第1の前処理回路111は、5×5のサイズのデータd1(データd1内の各画素値)に対して、上述の行列Mat1として以下の式(Eq1)に示される行列“BT”を用いた前処理(変換処理)を、実行する。
ここで、式(Eq2)における“B”は、“BT”の転置行列である。行列“B”は、以下の式(Eq3)で示される。
1チャネルにおける前処理後のデータd2のサイズは、5×5である。データd2のサイズは、(K,5,5)(ただし、K≧1)と表記される。
第2の前処理回路112は、フィルタ(データ)f1を受ける。本実施形態の演算デバイス110において、第2の前処理回路112は、n×n(ここでは、3×3)のサイズのフィルタ(データ)f1に対する前処理(変換処理)を実行する。例えば、フィルタf1に対する前処理(S2B)は、データd1に対する前処理(S2A)より前のタイミング、又は、画像データIMGの取得より前のタイミングで実行されることが好ましい。但し、データd1に対する前処理(S2A)とフィルタに対する前処理(S2B)とは、時間的にほぼ並行に実行されてもよい。
ここで、式(Eq6)における“GT”は、“G”に対する転置行列である。“GT”は、以下の式(Eq7)に示される。
これによって、フィルタf1に対して、行列変換処理が施される。
積和演算回路113は、前処理されたデータd2と前処理されたフィルタf2を受ける。本実施形態の演算デバイス110において、積和演算回路113は、前処理されたデータd2と前処理されたフィルタf2とを用いた積和演算処理を、実行する。
後処理回路114は、計算結果Z’(C1)を受ける。本実施形態の演算デバイス110において、後処理回路114は、第3の行列Mat3として以下の式(Eq10)に示される行列ATを用いて、積和演算の結果C1(積和値Z’)に対する後処理を実行する。
Z=ATZ’A ・・・(Eq11)
ここで、式(Eq11)における“A”は、“AT”に対する転置行列である。“A”は、以下の式(Eq12)に示される。
Z[j]=ATZ’[j]A ・・・(Eq13)
2×5の行列(AT)と5×5の計算結果(Z’)と5×2の行列(A)との計算処理によって、後処理後の計算結果Zは、2×2のサイズを有するデータ(行列)となる。
このように、演算デバイス110は、計算結果として2×2のサイズのデータZ(Z[m])を得ることができる。
但し、新たなデータdxに対する計算処理に用いられるフィルタは、データd1に対する計算処理に用いられたフィルタf1,f2と同じである。そのためデータdxに対する計算処理時において、行列G(Mat2)を用いたフィルタf1に対する前処理は、再度実行されなくともよい。
一般的な画像認識システムの畳み込みニューラルネットワークの一例において、4×4のデータと3×3のフィルタとが、1つの演算デバイスよる計算処理に用いられる。4×4のデータと3×3のフィルタとの積和演算処理(畳み込み処理)が、実行される。畳み込みのための積和演算において、ストライド値は、“1”に設定される。
<例1>
本実施形態において、上述の図9及び式(Eq1)〜(Eq13)に示される各種の計算処理は、プログラムとして提供及び実行されてもよい。
上述の行列BT,G,ATに対して、スカラー係数が、乗算されてもよい。
本実施形態の演算デバイス、本実施形態の演算デバイスを含む計算機システム、及び、本実施形態のデータの処理方法を記憶する記憶媒体は、スマートフォン、携帯電話、パーソナルコンピュータ、デジタルカメラ、車載カメラ、監視カメラ、セキュリティシステム、AI機器、システムのライブラリ(データベース)、及び、人工衛星などに適用され得る。
Claims (20)
- 入力データ内の5×5のサイズの第1のデータに対して第1の行列を用いた第1の処理を実行し、第2のデータを生成する第1の回路と、
3×3のサイズの第3のデータに対して第2の行列を用いた第2の処理を実行し、第4のデータを生成する第2の回路と、
前記第2のデータと前記第4のデータとの積和演算処理を実行する第3の回路と、
前記第2のデータと前記第4のデータとの前記積和演算処理の結果に対して第3の行列を用いた第3の処理を実行し、前記第1のデータと前記第3のデータとの積和演算処理の結果に対応する第1の値を得る第4の回路と、
を具備し、
前記第1の行列は、以下の式(P1)に示され、
- 前記第3の行列は、以下の式(P3)に示される、
- 前記第1の値は、前記第1のデータに対する前記第3のデータのストライド値が2に設定された条件における前記第1のデータと前記第3のデータとの前記積和演算処理の結果に対応する、
請求項1又は2に記載の演算デバイス。 - 前記第1の値に基づいて、前記入力データに関する推論、学習及び分類のうち少なくとも1つを実行する、
請求項1乃至3のうちいずれか1項に記載の演算デバイス。 - 前記第1のデータが“d”、前記第1の行列が“BT”、前記第1の行列に対して転置の関係を有する行列がBで示される場合、前記第1の処理の結果は、“BTdB”で示される、
請求項1乃至4のうちいずれか1項に記載の演算デバイス。 - 前記第3のデータが“f”、前記第2の行列が“G”、前記第2の行列に対して転置の関係を有する行列が“GT”で示される場合、前記第2の処理の結果は“GfGT”で示される、
請求項1乃至5のうちいずれか1項に記載の演算デバイス。 - 前記第2のデータと前記第4のデータとの前記積和演算処理の結果が“Z”、前記第3の行列が“AT”、前記第3の行列に対して転置の関係を有する行列が“A”で示される場合、前記第1の値は、“ATZA”で示される、
請求項1乃至6のうちいずれか1項に記載の演算デバイス。 - 前記第2のデータ及び前記第4のデータは、5×5のサイズを有する、
請求項1乃至7のうちいずれか1項に記載の演算デバイス。 - 前記第1の値は、2×2のサイズのデータである、
請求項1乃至8のうちいずれか1項に記載の演算デバイス。 - 前記第1の回路は、前記第1の行列内の複数の列又は複数の行を入れ替えて、前記第1の処理を実行し、
前記第2の回路は、前記第2の行列内の複数の列又は複数の行を入れ替えて、前記第2の処理を実行する、
請求項1乃至9のうちいずれか1項に記載の演算デバイス。 - 以下の式(Q1)に示される第1の行列を用いた第1の処理が、入力データから抽出された5×5のサイズの第1のデータに対して、プロセッサによって実行され、第2のデータが生成されることと、
第3の行列を用いた第3の処理が、前記第2のデータと前記第4のデータとの前記積和演算処理の結果に対して、前記プロセッサによって実行され、前記第1のデータと前記第3のデータとの積和演算処理の結果に対応する第1の値が得られることと、
を具備するデータの処理方法。 - 前記第3の行列は、以下の式(Q3)に示される、
- 前記第1の値は、前記第1のデータに対する前記第3のデータのストライド値が2に設定された場合における前記第1のデータと前記第3のデータとの前記積和演算処理の結果に対応する、
請求項11又は12に記載のデータの処理方法。 - 前記第1の値に基づいて、前記入力データに関する推論、学習及び分類のうち少なくとも1つを実行することと、
請求項11乃至13のうちいずれか1項に記載のデータの処理方法。 - 前記第1のデータが“d”、前記第1の行列が“BT”、前記第1の行列に対して転置の関係を有する行列がBで示される場合、前記第1の処理の結果は、“BTdB”で示される、
請求項11乃至14のうちいずれか1項に記載のデータの処理方法。 - 前記第3のデータが“f”、前記第2の行列が“G”、前記第2の行列に対して転置の関係を有する行列が“GT”で示される場合、前記第2の処理の結果は“GfGT”で示される、
請求項11乃至15のうちいずれか1項に記載のデータの処理方法。 - 前記第2のデータと前記第4のデータとの前記積和演算処理の結果が“Z”、前記第3の行列が“AT”、前記第3の行列に対して転置の関係を有する行列が“A”で示される場合、前記第1の値は、“ATZA”で示される、
請求項11乃至16のうちいずれか1項に記載のデータの処理方法。 - 前記第2のデータ及び前記第4のデータは、5×5のサイズを有する、
請求項11乃至17のうちいずれか1項に記載のデータの処理方法。 - 前記第1の値は、2×2のサイズのデータである、
請求項11乃至18のうちいずれか1項に記載のデータの処理方法。 - 前記第1の行列内の複数の列又は複数の行を入れ替えて、前記第1の処理が実行され、
前記第2の行列内の複数の列又は複数の行を入れ替えて、前記第2の処理が実行される、
請求項11乃至19のうちいずれか1項に記載のデータの処理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018095787A JP2019200675A (ja) | 2018-05-17 | 2018-05-17 | 演算デバイス及びデータの処理方法 |
US16/294,106 US11144614B2 (en) | 2018-05-17 | 2019-03-06 | Processing device of a neural network to process image data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018095787A JP2019200675A (ja) | 2018-05-17 | 2018-05-17 | 演算デバイス及びデータの処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019200675A true JP2019200675A (ja) | 2019-11-21 |
Family
ID=68533878
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018095787A Pending JP2019200675A (ja) | 2018-05-17 | 2018-05-17 | 演算デバイス及びデータの処理方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11144614B2 (ja) |
JP (1) | JP2019200675A (ja) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0954590A (ja) * | 1995-08-11 | 1997-02-25 | Nippon Telegr & Teleph Corp <Ntt> | 適応的制御方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6768817B1 (en) | 1999-09-03 | 2004-07-27 | Truong, T.K./ Chen, T.C. | Fast and efficient computation of cubic-spline interpolation for data compression |
CN1399766A (zh) | 1999-09-03 | 2003-02-26 | 郑振中 | 用于数据压缩的三次样条插值的快速和有效计算 |
JP6750203B2 (ja) | 2015-10-20 | 2020-09-02 | 富士通株式会社 | 畳み込みニューラルネットワークの演算方法及び演算プログラム、情報処理装置 |
FR3050846B1 (fr) * | 2016-04-27 | 2019-05-03 | Commissariat A L'energie Atomique Et Aux Energies Alternatives | Dispositif et procede de distribution de donnees de convolution d'un reseau de neurones convolutionnel |
US20170344876A1 (en) * | 2016-05-31 | 2017-11-30 | Samsung Electronics Co., Ltd. | Efficient sparse parallel winograd-based convolution scheme |
JP6549546B2 (ja) | 2016-10-18 | 2019-07-24 | 北海道瓦斯株式会社 | 融雪制御装置、ニューラルネットワークの学習方法、融雪制御方法及び融雪制御用プログラム |
US10776694B2 (en) * | 2017-05-16 | 2020-09-15 | Samsung Electronics Co., Ltd. | Optimized neural network input stride method and apparatus |
KR102452953B1 (ko) * | 2017-10-30 | 2022-10-11 | 삼성전자주식회사 | 뉴럴 네트워크의 컨볼루션 연산을 수행하는 방법 및 장치 |
US11423312B2 (en) * | 2018-05-14 | 2022-08-23 | Samsung Electronics Co., Ltd | Method and apparatus for universal pruning and compression of deep convolutional neural networks under joint sparsity constraints |
-
2018
- 2018-05-17 JP JP2018095787A patent/JP2019200675A/ja active Pending
-
2019
- 2019-03-06 US US16/294,106 patent/US11144614B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0954590A (ja) * | 1995-08-11 | 1997-02-25 | Nippon Telegr & Teleph Corp <Ntt> | 適応的制御方法 |
Non-Patent Citations (3)
Title |
---|
ANDREW LAVIN, 外1名: ""Fast Algorithms for Convolutional Neural Networks"", 2016 IEEE CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION (CVPR), JPN6022006820, 27 June 2016 (2016-06-27), pages 4013 - 4021, XP033021587, ISSN: 0004710222, DOI: 10.1109/CVPR.2016.435 * |
LIQIANG LU, 外3名: ""Evaluating Fast Algorithms for Convolutional Neural Networks on FPGAs"", 2017 IEEE 25TH ANNUAL INTERNATIONAL SYMPOSIUM ON FIELD-PROGRAMMABLE CUSTOM COMPUTING MACHINES (FCCM), JPN6022006819, 30 April 2017 (2017-04-30), pages 101 - 108, ISSN: 0004710221 * |
大沢和樹, 外3名: ""低ランクテンソル分解を用いた畳み込みニューラルネットワークの高速化"", 電子情報通信学会技術研究報告, vol. 第117巻, 第238号, JPN6022006821, 5 October 2017 (2017-10-05), JP, pages 1 - 6, ISSN: 0004710223 * |
Also Published As
Publication number | Publication date |
---|---|
US11144614B2 (en) | 2021-10-12 |
US20190354569A1 (en) | 2019-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210350168A1 (en) | Image segmentation method and image processing apparatus | |
CN109791625B (zh) | 使用人工神经网络进行面部识别 | |
US11663691B2 (en) | Method and apparatus for restoring image | |
WO2020192483A1 (zh) | 图像显示方法和设备 | |
US11849226B2 (en) | Image processing device including neural network processor and operating method thereof | |
US10963676B2 (en) | Image processing method and apparatus | |
US20210398252A1 (en) | Image denoising method and apparatus | |
JP7186539B2 (ja) | 錆検出プログラム、錆検出システム及び錆検出方法 | |
JP7402623B2 (ja) | フィルタ処理装置及びその制御方法 | |
Prajapati et al. | Direct unsupervised super-resolution using generative adversarial network (DUS-GAN) for real-world data | |
US20220156891A1 (en) | Methods and systems for deblurring blurry images | |
CN112862695A (zh) | 图像恢复方法和设备 | |
CN114598827A (zh) | 包括神经网络处理器的图像处理装置及操作其的方法 | |
US11276132B2 (en) | Data processing method and sensor device for performing the same | |
JP7398938B2 (ja) | 情報処理装置およびその学習方法 | |
US20230021444A1 (en) | Image processing device, processing method thereof, and image processing system including the image processing device | |
JP2019200675A (ja) | 演算デバイス及びデータの処理方法 | |
CN115797194A (zh) | 图像降噪方法、装置、电子设备、存储介质和程序产品 | |
CN109961083B (zh) | 用于将卷积神经网络应用于图像的方法和图像处理实体 | |
CN113269812A (zh) | 图像预测模型的训练及应用方法、装置、设备、存储介质 | |
US11748862B2 (en) | Image processing apparatus including neural network processor and method of operation | |
JP7444585B2 (ja) | 認識装置、認識方法 | |
CN116659520B (zh) | 基于仿生偏振视觉增强的匹配定位方法、装置和设备 | |
CN115222584A (zh) | 视差图的调节方法、装置、调节模型、存储介质及设备 | |
CN116245745A (zh) | 图像处理方法及图像处理设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20180831 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210316 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220215 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220222 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20220823 |