JP2019200675A - 演算デバイス及びデータの処理方法 - Google Patents

演算デバイス及びデータの処理方法 Download PDF

Info

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
Application number
JP2018095787A
Other languages
English (en)
Inventor
大輔 宮下
Daisuke Miyashita
大輔 宮下
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.)
Kioxia Corp
Original Assignee
Toshiba Memory 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
Application filed by Toshiba Memory Corp filed Critical Toshiba Memory Corp
Priority to JP2018095787A priority Critical patent/JP2019200675A/ja
Priority to US16/294,106 priority patent/US11144614B2/en
Publication of JP2019200675A publication Critical patent/JP2019200675A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/544Methods 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/5443Sum of products
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference 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

【課題】ニューラルネットワークを用いた計算機システムの計算量を削減する。【解決手段】演算デバイス110は、画像データの5×5のサイズのデータd1に対して行列Mat1を用いた処理を実行し、データd2を生成する回路111と、3×3のサイズのデータf1に対して行列Mat2を用いた処理を実行し、データd2を生成する回路112と、データd2とデータf2との積和演算処理を実行する回路113と、積和演算処理の結果C1に対して第3の行列Mat3を用いた処理を実行し、データd1とデータd1との積和演算処理の結果に対応する値を得る処理回路114と、を含む。【選択図】図3

Description

本発明の実施形態は、演算デバイス及びデータの処理方法に関する。
ニューラルネットワークを用いた計算機システムは、供給されたデータに関する推論及び学習のために、供給されたデータに対して様々な計算処理を実行する。
Lavin, A., and Gray, S., "Fast Algorithms for Convolution Neural Networks.", ArXiv E-Prints, September, 2015
計算処理の計算量を、低減する。
実施形態の演算デバイスは入力データ内の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)に示される。
前記第2の行列は、以下の式(P2)に示される。
実施形態の演算デバイスを含むシステムの一例を説明するための図。 実施形態の演算デバイスを説明するための図。 実施形態の演算デバイスを説明するための図。 実施形態の演算デバイスの計算処理のコンセプトを説明するための図。 実施形態の演算デバイスの計算処理のコンセプトを説明するための図。 実施形態の演算デバイスの計算処理のコンセプトを説明するための図。 実施形態の演算デバイスの動作例を説明するための図。 実施形態の演算デバイスの動作例を説明するための図。 実施形態の演算デバイスの動作例を説明するためのフローチャート。
以下において、図面を参照しながら、実施形態の演算デバイス、データの処理方法、及びシステムについて、説明する。
以下の説明において、同一の機能及び構成を有する要素については、同一符号を付す。また、以下の実施形態において、区別化のために数字/英字がその末尾に付された参照符号を有する構成要素が相互に区別されない場合、末尾の数字/英字が参照符号から省略された表記が用いられる。
[実施形態]
図1乃至図9を参照して、本実施形態の演算デバイス、データの処理方法、及びシステムについて、説明する。
(1) 構成
図1乃至図3を参照して、本実施形態の演算デバイスの構成について、説明する。
図1は、本実施形態の演算デバイスを含むシステム説明するためのブロック図である。
以下のように、本実施形態の演算デバイス(演算回路、計算デバイス、又は、プロセッサともよばれる)110は、計算機システム1内に設けられる。例えば、計算機システム1は、画像認識システムである。
図1に示されるように、計算機システム1は、ケーブル及び/又は無線通信を介して、イメージセンサ90に電気的に結合される。計算機システム1は、イメージセンサ90によって撮影(取得)されたある被写体(物体)OBJの画像データを、受信する。計算機システム1は、画像データIMGに対して各種の処理を実行する。画像データIMGは、静止画データでもよいし、動画データでもよい。
例えば、計算機システム1は、画像データIMGに対する処理の結果を、表示デバイス80に表示できる。表示デバイス80は、液晶ディスプレイ、又は、有機ELディスプレイなどである。表示デバイス80は、ケーブル及び/又は無線通信を介して、計算機システム1に電気的に接続される。
尚、イメージセンサ90及び表示デバイス80のうち少なくとも一方が、計算機システム1の構成要素としてみなされてもよい。
計算機システム1は、プロセッサ10,20、及び、メモリ70を少なくとも含む。
本実施形態において、プロセッサ10は、例えば、GPU(Graphic processing unit)である。GPU10は、イメージセンサ90及び/又はメモリ70からの画像データIMGに対する各種の画像処理を実行する。本実施形態において、GPU10は、後述のニューラルネットワーク100を有する。
プロセッサ20は、例えば、CPU(Central processing unit)である。CPU20は、計算機システム1の全体の動作を、制御できる。CPU20は、GPU10及びメモリ70の制御のための各種の計算処理を実行できる。
メモリ70は、イメージセンサ90からの画像データIMG、GPU10によって生成されたデータ、及び、CPU20によって生成されたデータを、記憶できる。尚、GPU10及びCPU20によって生成されるデータは、各種の計算の中間結果及び最終結果、画像処理の中間結果及び最終結果を含み得る。例えば、メモリ70は、DRAM、SRAM、MRAM、NAND型フラッシュメモリ、抵抗変化型メモリ(例えば、ReRAM、PCM(Phase change memory))などの中から選択される少なくとも1以上を含む。GPU10専用のメモリ(図示せず)が、GPU10に直接接続されてもよい。
画像データIMGは、記憶媒体99から提供されてもよい。記憶媒体99は、ケーブル及び/又は無線通信によって、計算機システム1に電気的に結合される。記憶媒体99は、メモリカード、USBメモリ、SSD、HDD、及び、光記憶媒体などのいずれでもよい。
図2は、本実施形態における、GPU内のニューラルネットワークの構成例を説明するための模式図である。
GPU10において、図2のニューラルネットワーク100は、機械学習デバイスとして用いられる。例えば、ニューラルネットワーク100は、畳み込みニューラルネットワーク(CNN)である。
ニューラルネットワーク100は、入力層101、隠れ層(中間層ともよばれる)102、及び出力層(全結合層ともよばれる)103を有する。
入力層101は、画像データIMG(又はその一部分)を受信する。
入力層101は、複数の演算デバイス(ニューロン又はニューロン回路ともよばれる)118を有する。入力層101において、各演算デバイス118は、画像データIMGから所定のサイズの2次元配列データを抽出(サンプル)できる。各演算デバイス118は、抽出したデータを、隠れ層102に送信する。送信されるデータは、入力層101によって抽出されたままのデータでもよいし、入力層101によって任意の処理(例えば、2値化処理)が施されたデータでもよい。
尚、複数の演算デバイス118の各々は、画像データIMG内の異なる座標(領域)のデータを抽出(及び受信)してもよい。複数の演算デバイス118のうち2以上のデバイスが、画像データIMGの同じ座標のデータを抽出してもよい。入力層101は、隠れ層102に対して2次元データを出力するためのバッファ及びインターフェイスとしても機能する。
隠れ層102(102A,102B)は、入力層101からのデータに対して、各種の計算処理を実行する。
隠れ層102は、複数の演算デバイス110(110A,110B)を有する。隠れ層102において、各演算デバイス110は、供給されたデータ(以下では、区別化のため、入力データともよばれる)に対して、所定のパラメータ(例えば、重み係数)を用いた畳み込み処理(積和演算処理)を実行する。例えば、各演算デバイス110は、供給されたデータに対して、互いに異なるパラメータを用いて積和演算処理を実行する。
隠れ層102は、階層化されてもよい。この場合において、隠れ層102は、複数の(図2の例では、2つ)の層102A,102Bを含む。
第1の隠れ層102Aの各演算デバイス110Aは、入力層101からのデータに対して、計算処理を実行する。各演算デバイス110Aは、計算結果を、第2の隠れ層の各演算デバイス110Bに送信する。第2の隠れ層102Bの各演算デバイス110Bは、各演算デバイス110Aの計算結果を入力データとして、所定の計算処理を実行する。各演算デバイス110Bは、計算結果を、出力層103に送信する。
このように、隠れ層102が階層構造を有する場合、ニューラルネットワーク100による推論(inference)、学習(learning/training)、及び分類の能力が、向上され得る。尚、隠れ層102の層の数は、3層以上でもよいし、1層でもよい。1つの隠れ層は、畳み込み層とプーリング層とを含むように構成されてもよい。
出力層103は、隠れ層102の各演算デバイス110によって実行された各種の計算処理の結果を受信し、各種の処理を実行する。
出力層103は、複数の演算デバイス119を有する。各演算デバイス119は、複数の演算デバイス110Bからの計算結果に対して、所定の処理を実行する。これによって、隠れ層102による計算結果に基づいて、ニューラルネットワーク100に供給されたデータに関する推論、学習、及び分類を、実行できる。各演算デバイス119は、得られた処理結果(分類結果)を保持及び出力できる。出力層103は、隠れ層102の計算結果をニューラルネットワーク100の外部へ出力するためのバッファ及びインターフェイスとしても機能する。
尚、ニューラルネットワーク100は、GPU10の外部に設けられてもよい。
本実施形態の計算機システム1において、畳み込みニューラルネットワーク100によって、画像認識/推定のための各種の計算処理、及び、画像認識/推定の機械学習(例えば、ディープラーニング)のための各種の計算処理が、実行される。
例えば、画像認識システム1において、画像データIMGに対する畳み込みニューラルネットワーク100による各種の計算処理に基づいて、画像データIMG内の複数の領域(1以上のピクセル)の各々の特徴量が、計算される。畳み込みニューラルネットワーク100の計算結果に基づいて、被写体OBJが何であるかを画像認識システム1によって高い精度で推論(認識)及び分類されたり、画像データIMG内の被写体(例えば、自動車、道路、人、動物、顔及び建物など)が画像認識システム1によって高い精度で認識/分類されるように学習されたりすることが可能となる。
本実施形態において、以下のように、畳み込みニューラルネットワーク100内の演算デバイス110(110A,110B)は、1以上の処理回路を含む。
図3は、本実施形態の演算デバイスの基本構成を説明するための模式図である。
図3に示されるように、本実施形態の演算デバイス110は、第1、第2、第3及び第4の処理回路111,112,113,114を含む。
第1の処理回路(以下では、第1の前処理回路とよばれる)111は、供給されたデータd1に対して第1の行列(第1の変換行列)Mat1を用いた計算処理(以下では、第1の前処理とよばれる)を実行する。これによって、データd2が、生成される。
上述のように、データd1は、画像データIMGから抽出されたデータである。データ2は、第1のデータd1にする計算処理によって、データd1内の各値が変換されたデータである。
第2の処理回路(以下では、第2の前処理回路とよばれる)112は、供給されたフィルタf1に対して第2の行列(第2の変換行列)Mat2を用いた計算処理(以下では、第2の前処理とよばれる)を実行する。これによって、フィルタf2が生成される。
フィルタf1は、例えば、GPU10のメモリ領域、CPU20のメモリ領域又はメモリ70などから提供される。フィルタf1は、空間フィルタ(2次元配列デジタルデータ)である。フィルタf1は、画像データに対して実行すべき各種の処理に応じた係数を有する。フィルタf2は、前処理によってフィルタf1の係数、行数、及び列数などが変換されたフィルタである。フィルタf2は、空間フィルタ(2次元配列デジタルデータ)である。
第3の処理回路(以下では、積和演算回路とよばれる)113は、前処理されたデータd2と前処理されたフィルタf2との積和演算処理を実行する。積和演算回路113は、積和演算処理の結果C1を、得る。
第4の処理回路(以下では、後処理回路とよばれる)114は、積和演算の結果C1に対して、第3の行列(第3の変換行列)Mat3を用いた変換処理(以下では、後処理とよばれる)を実行する。これによって、データd1とフィルタf1との積和演算処理(畳み込み処理)の結果に等価な計算値が、生成される。
得られた計算値(データd1とフィルタf1との積和演算処理の計算結果)が、後処理回路114から後段の回路(例えば、他の演算デバイス110)へ、送信される。
例えば、行列Mat1,Mat2は、GPU10内のメモリ領域、CPU20内のメモリ領域、又は、メモリ70から提供される。行列Mat1,Mat2は、計算機システム1に接続された他のデバイス(図示せず)から提供されてもよい。
尚、ニューラルネットワーク100の構成に応じて、隠れ層102内の演算デバイス110Bの内部構成は、演算デバイス110Aの内部構成と同じでもよいし、異なってもよい。例えば、演算デバイス110Bは、入力データd1とフィルタf1との積和演算を直接実行するように構成されてもよい。演算デバイス110Bは、演算デバイス110Aによる前処理及び後処理とは異なる処理(計算処理及び変換処理)によって、データd1とフィルタf1との積和演算処理と実質的に等価な計算処理を実行してもよい。また、隠れ層102A内において、複数の演算デバイス110Aの内部構成が、全て同じでなくともよい。隠れ層102B内において、複数の演算デバイス110Bの内部構成が、全て同じでなくともよい。
(2) 基本コンセプト
図4乃至図6を参照して、本実施形態の演算デバイス(及び画像データの処理方法)の基本コンセプトについて、説明する。
図4は、本実施形態の演算デバイスに供給されるデータについて説明するための模式図である。
図4に示されるように、1つの画像データIMGは、イメージセンサ90の複数の画素から取得された信号(画素値)PXから形成される2次元データである。複数の画素は、イメージセンサ90の画素アレイのX方向及びY方向において、画素アレイ内に配列されている。画像データIMG内の各画素値PXは、対応する座標の画素が検出した光に応じた値を有する。画素値PXは、1ビット以上の値で示される。尚、画像データIMGは、画素アレイの有効画素領域の信号のみから形成されるデータに限定されず、画素アレイ内の有効画素領域の信号と無効画素領域の信号とから形成されるデータでもよい。
画像データIMGは、複数のデータ(データ領域)d1に分割されて、演算デバイス110に供給される。入力データ(サンプルデータ、又は、局所パッチデータともよばれる)d1は、m×m個の画素に対応するm×mの画素値PXが2次元に配列されたデータである。m×mのデータサイズの単位で、データd1が、入力層101から演算デバイス110に供給される。尚、各データd1は、複数のデータd1間において互いに異なる画素数の画素値から形成されてもよいし、複数のデータd1間で部分的に重複する画素数の画素値から形成されてもよい。
データd1は、1以上のチャネルを含む。1つのデータd1が、RGBモードのカラー画像データのように、赤(R)、緑(G)及び青(B)に関して独立な情報(信号値)を有する場合、データd1は、R値に関するデータユニット、G値に関するデータユニット及びB値に関するデータユニットを含む。複数のデータユニットを含むデータd1が、演算デバイス110に供給される。データd1のチャネルは、データd1が含む情報に応じたデータユニットに対応する。以下において、データd1のチャネルの数は、チャネル数とよばれ、“K”と表記される。例えば、RGBモードの画像データIMGのチャネル数は、3である。
図5は、本実施形態の演算デバイスの計算処理に用いられるフィルタを説明するための模式図である。
図5に示されるように、本実施形態の演算デバイス110において、n×nのサイズのフィルタf1が、入力データd1に対する計算処理のために用いられる。
フィルタf1は、n×n個の要素(係数)を有する2次元空間フィルタである。例えば、“n”と“m”とは、“n=m−2”の関係を有する。nは、3以上であり、mより小さい整数である。
フィルタf1の1つのセル(四角で示されたマス)CLが、1つの画素(画素値)に関連付けられている。各セルCLに、所定の画像処理のための要素(係数)gが、設定されている。ノイズ除去処理、平滑化処理、鮮鋭化処理、特徴抽出処理、及びエッジ検出処理等の各種の画像処理に関して、画像処理の種類ごとに異なる値の係数(重み係数)gが、フィルタf1の各セルCLに設定される。
例えば、フィルタf1は、1以上のフィルタユニットを有する。1つのフィルタf1内のフィルタユニットの個数は、1つの演算デバイス110が実行する画像処理の種類数(及びチャネル数)に応じて、適宜設定され得る。以下において、1つのフィルタf1が有するフィルタユニットの数(以下では、フィルタ数ともよばれる)は、“J”と表記される。
尚、同じ画像処理であっても、フィルタ(フィルタユニット)の重み係数の値が、隠れ層102内の演算デバイス110毎に変更されてもよい。ニューラルネットワーク100において、複数の演算デバイス110のそれぞれに、異なる重み係数(行列値)を有するフィルタf1が、供給され得る。各演算デバイス110は、異なる重み係数を有するフィルタを用いて、データに対する計算処理を実行できる。データd1のチャネル数が2以上であっても、同じ重み係数のフィルタ(フィルタユニット)が、各チャネルのデータユニットに対して用いられてもよい。
図6は、本実施形態の演算デバイス110における、データに対するフィルタを用いた計算処理を説明するための模式図である。
図6の(a)に示されるように、演算デバイス110における、データd1とフィルタf1との積和演算処理(畳み込み処理)のために、n×nのサイズのフィルタf1が、m×mのサイズのデータd1のある領域(n×n領域)に、重畳(オーバーラップ)される。
図6の(b)に示されるように、m×mのデータのX方向において、フィルタf1が、2画素分ずつシフトされて、畳み込みのための積和演算処理が実行される。以下において、データd1に対するフィルタの位置を平行移動させる際のフィルタf1のシフト量は、ストライド値(又は、単に、ストライド)とよばれる。
図6の(c)に示されるように、m×mのデータのY方向において、フィルタf1のストライド値が、2画素分ずつシフトされて、畳み込みのための積和演算処理が実行される。
このように、本実施形態において、ニューラルネットワーク内の演算デバイス110は、ストライド値が2に設定された条件において、m×mのサイズのデータd1とn×nのサイズのフィルタf1との積和演算処理の結果を、得る。
本実施形態において、演算デバイス110は、第1の行列Mat1を用いたデータd1に対する前処理、第2の行列Mat2を用いたフィルタf1に対する前処理、及び、前処理されたデータd2と前処理されたフィルタf2との積和演算の結果に対する第3の行列Mat3を用いた後処理を実行する。
これによって、本実施形態の演算デバイス110において、ストライド値が2に設定された条件におけるm×mのサイズのデータd1とn×nのサイズのフィルタf1との積和演算処理と等価な計算処理が、実行され得る。
このようなデータ及びフィルタの変換処理を含む計算処理によって、本実施形態の演算デバイス(及び画像データの処理方法)は、比較的少ない計算量で、一般的なデータとフィルタとの積和演算処理と同じ結果を得ることができる。
これによって、本実施形態の演算デバイスは、畳み込みニューラルネットワークにおける計算量を、削減できる。
以下において、本実施形態の演算デバイスの動作、及び、本実施形態の演算デバイスによる各種の計算処理(画像データの処理方法、又は、画像認識方法)について、より詳細に説明する。
(3) 動作例
図7乃至図9を参照して、本実施形態の演算デバイスの動作例(データ処理方法)について、より具体的な例を示して、説明する。
図7は、本例の畳み込みニューラルネットワーク100内において、計算処理に用いられるデータd1及びフィルタf1の一例を示す模式図である。
本例において、図7の(a)に示されるように、データd1は、25個のピクセルに対応する5×5の2次元領域内に配列されたパターンに対応するデータである。データd1は、5×5のデータサイズを有する。データd1内の各セルの値は、イメージセンサ90の画素の検出結果に応じた画素値(信号)PXに対応する。
データd1が、入力層101から本実施形態の演算デバイス110に供給される。ここで、データd1は、K個(K≧1)のチャネル数を有する。
本例において、図7の(b)に示されるように、フィルタ(データ)f1は、9個のセルCLが、3×3の2次元領域内に配列されたパターンを有する。
3×3のフィルタサイズを有するフィルタf1において、各セルCLに、重み係数g(g11,g12,・・・,g32,g33)が設定されている。重み係数gの値は、そのフィルタを用いて実行される画像処理に応じた大きさに、設定されている。フィルタf1は、1つの演算デバイス110が実行する画像処理の数(種類)に応じて、K個(K≧1)のフィルタユニットf1を有する。
図8は、本実施形態の演算デバイス110におけるデータd1とフィルタf1との積和演算処理を模式的に示す図である。
上述のように、本実施形態において、5×5のデータd1と3×3のフィルタf1との積和演算処理において、5×5のデータd1に対する3×3のフィルタf1のストライド値は、“2”に設定される。
図8の(a)に示されるように、5×5のデータd1と3×3のフィルタf1との積和演算の開始位置において、データd1とフィルタ(図8のハッチング部分)f1との重ね合わせの配置に関して、積和演算処理(畳み込み処理)が実行される。これによって、領域(以下では、畳み込み領域とよばれる)R1に関する値(以下では、畳み込み値とよばれる)z1が、得られる。例えば、図8(a)において、画像処理の着目画素は、データd1内におけるX=2及びY=2の位置(X−Y平面における位置)の画素値である。
ストライド値が“2”である場合、図8の(b)に示されるように、データd1のX方向において、フィルタf1が、2画素分、シフトされる。図8の(b)におけるデータd1とフィルタf1との重ね合わせの配置に関して、積和演算処理が実行される。これによって、畳み込み領域R2に関する畳み込み値z2が得られる。例えば、図8の(b)において、画像処理の着目画素は、データd1内におけるX=4及びY=2の座標の画素である。
図8の(c)に示されるように、データd1のY方向において、フィルタf1の位置が、図8の(a)のフィルタの位置から2画素分、シフトされる。図8の(c)におけるデータd1とフィルタf1との重ね合わせの配置に関して、積和演算処理が実行される。これによって、畳み込み領域R3に関する畳み込み値z3が得られる。例えば、図8の(c)おいて、画像処理の着目画素(中心画素)は、データd1内におけるX=2及びY=4の座標の画素である。
さらに、図8の(d)に示されるように、フィルタf1の位置が、図8の(c)の位置からX方向に2画素分シフトされる。尚、図8の(d)におけるフィルタf1のシフト方向は、積和演算処理の開始位置(図8の(a)を参照)からX−Y平面に平行な斜め方向である。図8の(d)におけるデータd1とフィルタf1との重ね合わせの配置に関して、積和演算処理が実行される。これによって、畳み込み領域R4に関する畳み込み値z4が得られる。例えば、図8の(d)において、画像処理の着目画素は、データd1内におけるX=4及びY=4の座標の画素である。
これらの積和演算処理によって、2×2のサイズの計算結果(出力データともよばれる)が、得られる。この結果として、ストライド値が2に設定された場合における5×5のデータと3×3のフィルタとの積和演算処理の結果(Z)が、取得される。
尚、積和演算処理の計算の順序は、図8の(a)、(b)、(c)及び(d)の順序に限定されない。
本実施形態の演算デバイス110において、図3の処理回路111,112,113,114が、以下に図9を用いて説明されるデータ及びフィルタの変換処理及び計算処理を、実行する。
これによって、図8の処理による計算結果と等価な結果が、本実施形態の演算デバイス110によって、得られる。
<処理フロー>
図9は、本実施形態の演算デバイスによる各種の処理(画像データの処理方法)の流れを示すフローチャートである。
<S1>
被写体OBJに対応する画像データIMGが、イメージセンサ90によって、生成される。生成された画像データIMGは、イメージセンサ90から画像認識システム1に送信される。
画像認識システム1は、画像データIMGを用いた画像処理を開始する。画像データIMGが、GPU10の畳み込みニューラルネットワーク(機械学習デバイス)100に供給される。
畳み込みニューラルネットワーク100における画像データIMGの計算処理時において、m×m(ここでは、5×5)のサイズのデータd1が、入力層101の演算デバイス118によって、画像データIMGから抽出される。m×mのサイズのデータd1が、隠れ層102内の演算デバイス110に供給される。尚、データd1のチャネル数Kは、1以上である。
<S2A>
第1の前処理回路111は、データd1を受ける。本実施形態の演算デバイス110において、第1の前処理回路111は、5×5のサイズのデータd1(データd1内の各画素値)に対して、上述の行列Mat1として以下の式(Eq1)に示される行列“B”を用いた前処理(変換処理)を、実行する。
これによって、データd1は、データd2に変換される。
より具体的には、データd1のチャネル数Kが1である場合、データd1は、以下の式(Eq2)に示される計算処理によって、データd2に変換される。
d2=Bd1B ・・・(Eq2)
ここで、式(Eq2)における“B”は、“B”の転置行列である。行列“B”は、以下の式(Eq3)で示される。
行列B,B、及びデータd1の各々は、5×5の行列であるため、データd2は、5×5のサイズを有する。
データd1のチャネル数がK>1である場合、データd1に対する前処理の計算処理は、以下の式(Eq4)のように、チャネル数に関する全てのk∈[0,K)に対して、実行される。尚、“k”は、Kの集合の要素を示す値(但し、整数)である。
d2[k]=Bd1[k]B ・・・(Eq4)
1チャネルにおける前処理後のデータd2のサイズは、5×5である。データd2のサイズは、(K,5,5)(ただし、K≧1)と表記される。
第1の前処理回路111は、前処理されたデータ(変換されたデータ)d2を、積和演算回路113に出力する。
<S2B>
第2の前処理回路112は、フィルタ(データ)f1を受ける。本実施形態の演算デバイス110において、第2の前処理回路112は、n×n(ここでは、3×3)のサイズのフィルタ(データ)f1に対する前処理(変換処理)を実行する。例えば、フィルタf1に対する前処理(S2B)は、データd1に対する前処理(S2A)より前のタイミング、又は、画像データIMGの取得より前のタイミングで実行されることが好ましい。但し、データd1に対する前処理(S2A)とフィルタに対する前処理(S2B)とは、時間的にほぼ並行に実行されてもよい。
第2の前処理回路112は、3×3のサイズのフィルタf1(フィルタf1の各セルCLに設定された各重み係数g)に対して、上述の行列Mat2として以下の式(Eq5)に示される行列“G”を用いた前処理を、実行する。
これによって、フィルタf1は、フィルタ(データ)f2に変換される。
より具体的には、フィルタf1は、以下の式(Eq6)に示される計算処理によって、フィルタf2に変換される。式(Eq6)において、チャネル数Kは1であり、フィルタユニット数Jは1である。
f2=Gf1G ・・・(Eq6)
ここで、式(Eq6)における“G”は、“G”に対する転置行列である。“G”は、以下の式(Eq7)に示される。
5×3の行列(G)と3×3のサイズのフィルタ(f1)と3×5の行列(G)との計算処理によって、前処理後のフィルタf2は、5×5のサイズを有する。5×5のサイズのフィルタf2における各重み係数は、フィルタf1の重み係数g11〜g33と行列G,Gの各要素との計算結果に応じた値に設定される。
データd1のチャネル数がK>1であり、フィルタf1のフィルタ数がJ>1である場合、フィルタf1に対する前処理の計算処理は、以下の式(Eq8)のように、チャネル数及びフィルタ数に関する全てのj∈[0,J)及びk∈[0,K)に対して、実行される。尚、“j”は、Jの集合の要素を示す値(但し、整数)である。
f2[j,k]=Gf1[j,k]G ・・・(Eq8)
これによって、フィルタf1に対して、行列変換処理が施される。
尚、前処理されたフィルタf2のサイズは、(J,K,5,5)と表記される。“J”は1以上の整数であり、“K”は1以上の整数である。
第2の前処理回路112は、前処理されたフィルタ(変換されたフィルタ)f2を、積和演算回路113に出力する。
この後において、前処理されたデータd2と前処理されたフィルタf2とを用いて、以下のS3,S4の処理が、実行される。
<S3>
積和演算回路113は、前処理されたデータd2と前処理されたフィルタf2を受ける。本実施形態の演算デバイス110において、積和演算回路113は、前処理されたデータd2と前処理されたフィルタf2とを用いた積和演算処理を、実行する。
積和演算処理は、以下の式(Eq9)に示される。
式(Eq9)の積和演算処理において、データd2の各要素とフィルタf2の各要素gとの積が計算され、入力されたデータd1のチャネル数に関して、和が計算される。これによって、積和演算回路113は、積和演算の計算結果(C1)を、得る。
式(Eq9)の計算結果(C1)を示す値(以下では、積和値とよばれる)Z’のサイズは、5×5のサイズを有し、フィルタ数Jに関して(J,5,5)と表記される。
積和演算回路113は、式(Eq9)の計算結果Z’(C1)を、後処理回路114に出力する。
<S4>
後処理回路114は、計算結果Z’(C1)を受ける。本実施形態の演算デバイス110において、後処理回路114は、第3の行列Mat3として以下の式(Eq10)に示される行列Aを用いて、積和演算の結果C1(積和値Z’)に対する後処理を実行する。
これによって、データd1とフィルタ(データ)f1との積和演算と実質的に同じ計算結果が、得られる。
より具体的には、積和値Z’は、以下の式(Eq11)に示される計算処理によって、データd1とフィルタf1との積和演算と同じ計算結果に、変換される。式(Eq11)において、J=1である。
Z=AZ’A ・・・(Eq11)
ここで、式(Eq11)における“A”は、“A”に対する転置行列である。“A”は、以下の式(Eq12)に示される。
J>1である場合において、以下の式(Eq13)のように、全てのj∈[0,J)に対して、積和値Z’の変換処理が実行される。
Z[j]=AZ’[j]A ・・・(Eq13)
2×5の行列(A)と5×5の計算結果(Z’)と5×2の行列(A)との計算処理によって、後処理後の計算結果Zは、2×2のサイズを有するデータ(行列)となる。
このように、演算デバイス110は、計算結果として2×2のサイズのデータZ(Z[m])を得ることができる。
演算デバイス110は、計算結果Zを、後段の層(他の隠れ層又は出力層)の演算デバイスに、送信する。
本実施形態の演算デバイス110は、供給されたデータd1の変換処理及びフィルタf1の変換処理を含む計算処理を、完了する。
本実施形態において、ニューラルネットワーク100は、計算結果Zを用いて、画像データIMGに関する推論、学習及び分類のうち少なくとも1つを、実行する。
本実施形態の画像認識システム1は、計算結果Zを用いた、演算デバイス110を含むニューラルネットワークによる推論/学習によって得られた結果に基づいて、画像データIMG内の物体の認識処理を実行できる。
尚、本実施形態の演算デバイス110に、画像データIMGにおけるデータd1に連続する他の新たなデータ(ここでは、データdxと表記する)が供給された場合、新たなデータに対して、上述の計算処理を実行する。
但し、新たなデータdxに対する計算処理に用いられるフィルタは、データd1に対する計算処理に用いられたフィルタf1,f2と同じである。そのためデータdxに対する計算処理時において、行列G(Mat2)を用いたフィルタf1に対する前処理は、再度実行されなくともよい。
以上のように、本実施形態の演算デバイスによる画像データ処理は、終了する。
(4)まとめ
一般的な画像認識システムの畳み込みニューラルネットワークの一例において、4×4のデータと3×3のフィルタとが、1つの演算デバイスよる計算処理に用いられる。4×4のデータと3×3のフィルタとの積和演算処理(畳み込み処理)が、実行される。畳み込みのための積和演算において、ストライド値は、“1”に設定される。
この場合において、36回の計算が、1つの演算デバイスによって実行される。さらに、データのチャネル数がK個であり、実行される画像処理の種類(フィルタの種類)がJ個である場合、1つの演算デバイスにおける計算量は、36×J×K回となる。
また、ストライド値が2である場合における5×5のデータと3×3のフィルタとを用いた一般的な積和演算処理は、以下の式(Eq14)で示される。
式(Eq14)において、“ky”はフィルタf1のY方向のサイズに関する値であり、“kx”はフィルタf1のX方向のサイズに関する値である。“r”はデータの行に関する値であり、“c”はデータd1の列に関する値である。
本実施形態において、ニューラルネットワークを構成する演算デバイスは、m×m(例えば、5×5)のデータd1とn×n(例えば、3×3。ここでは、n=m−2)のフィルタf1とを用いて、畳み込み処理のための積和演算処理と実質的に等価の計算処理を実行する。本実施形態の演算デバイスの積和演算処理時における入力データに対するフィルタのストライド値は、2に設定されている。
本実施形態において、所定の行列Mat1,Mat2,Mat3(例えば、上述の式(Eq1)、式(Eq2)及び式(Eq3))を用いて、データ、フィルタ(データ)、及び、積和演算の結果に対する各種の変換処理が、それぞれ実行される。
図9及び式(Eq1)〜式(Eq13)から得られた計算結果Zは、式(Eq14)から得られる計算結果と一致する。
本実施形態において、データd1及びフィルタf1に対する前処理(S2A,S2B)及び積和値に対する後処理(S4)を除く積和演算の回数は、式(Eq9)に示されるように、5×5×J×K回(=25×J×K回)となる。
本実施形態における積和演算の回数(25×J×K回)と一般的な畳み込み積和演算における積和演算の回数(36×J×K回)との相対的な比率は、25/36(=1/1.44)となる。
ここで、本実施形態におけるフィルタf1に対する前処理時に実行される積和演算の回数は、式(Eq6),(Eq8)に基づくと、(5×3×3+5×5×3)×J×K回(=120×J×K回)となる。
但し、フィルタf1に対する前処理は、推論/学習の処理と並行して実行されなくともよい。フィルタf1に対する前処理があらかじめ(例えば、画像データIMGの取得/抽出処理の前に、または、データd1の前処理の前に)実行されることによって、フィルタf1に対する計算処理は、推論/学習の処理中に、生じない。
それゆえ、画像データIMGに対する推論/学習の処理中において、フィルタf1に対する計算の回数は、実質的に増大しない。
データd1に対する前処理時に実行される積和演算の回数は、式(Eq2),(Eq4)に基づくと、(5×5×5+5×5×5)×K回(=250×K回)となる。
しかし、行列(Eq1),(Eq3)(行列B,B)の要素は“1”及び“−1”である。そのため、データd2の要素は、データd1の要素に対する加算処理及び減算処理で、計算できる。それゆえ、データd1に対する前処理で実行される実質的な計算の回数は、50×K回である。
尚、データd1の値は、推論又は学習の対象となる入力に応じて変化する。そのため、データd1に対する前処理は、推論/学習の処理の事前に実行できず、推論/学習の処理中に実行される。
上述の式に基づくと、データd1に対する前処理における積和演算の回数は、フィルタユニット数Jの値を係数としない。それゆえ、1つの演算デバイス110が実行する画像処理の種類が多い場合、データd1に対する前処理のための計算の回数は、ほとんど無視できる。
以上のように、本実施形態の演算デバイス110は、計算量及び計算処理に起因する負荷を低減できる。これに伴って、本実施形態の演算デバイス110は、計算処理の速度を向上できる。
さらには、本実施形態の演算デバイス110は、データサイズの増大に伴って、計算処理に起因するプロセッサの負荷が増大するのを、抑制できる。
また、1つの演算デバイスが計算対象とする入力データのサイズは、5×5である。それゆえ、本実施形態の演算デバイス110において、画像データから抽出された4×4のサイズのデータを用いて、計算処理が実行される場合に比較して、1つの画像データに対する入力データのサンプリングの回数が、削減され得る。
したがって、本実施形態の演算デバイス及びデータ(画像データ)の処理方法によれば、演算デバイスの特性を向上できる。
(5) 変形例
<例1>
本実施形態において、上述の図9及び式(Eq1)〜(Eq13)に示される各種の計算処理は、プログラムとして提供及び実行されてもよい。
例えば、本実施形態のデータ処理方法のプログラムは、記憶媒体99、GPU10のメモリ領域、CPU20のメモリ領域、及び、計算機システム1内のメモリ70のうち少なくとも1つに、記憶される。図9の各S1〜S4に対応するプログラムコードが、プログラム内に記述される。
図1の計算機システム(画像認識システム)1において、GPU10(又はCPU20)が、例えば、記憶媒体99内のプログラムを、読み出し、図9のS1〜S4にそれぞれ対応するプログラムコードを実行する。
これによって、本実施形態の画像データに対する計算処理が、m×m(例えば、5×5)のサイズのデータとn×n(例えば、3×3)のサイズのフィルタとを用いて、実行される。
本実施形態の画像データの処理方法がプログラムとして提供及び実行された場合においても、比較的少ない計算量で、ニューラルネットワークにおける畳み込み積和演算処理を実行できる。
<例2>
上述の行列B,G,Aに対して、スカラー係数が、乗算されてもよい。
畳み込みニューラルネットワークの入力層101において、画像データの行/列の変換処理が施される場合がある。データに施された処理に応じて、計算の等価性が維持されている限り、行列Bの複数の行の配列、又は、行列Bの複数の列の配列が、入れ換えられてもよい。
これと同様に、データ及び/又はフィルタに施された処理に応じて、行列Gの複数の行の配列、又は、行列Gの複数の列の配列が、入れ換えられてもよい。また、データ及び/又はフィルタに施された処理に応じて、行列Aの行の配列、又は、行列Gの列の配列が、入れ替えられてもよい。
(6) その他
本実施形態の演算デバイス、本実施形態の演算デバイスを含む計算機システム、及び、本実施形態のデータの処理方法を記憶する記憶媒体は、スマートフォン、携帯電話、パーソナルコンピュータ、デジタルカメラ、車載カメラ、監視カメラ、セキュリティシステム、AI機器、システムのライブラリ(データベース)、及び、人工衛星などに適用され得る。
上述の実施形態において、本実施形態の演算デバイス及びデータの処理方法が、画像認識システムにおける畳み込みニューラルネットワークに適用された例が示されている。但し、本実施形態の演算デバイス及びデータの処理方法は、畳み込みニューラルネットワークを含む様々な計算機システム、及び、畳み込みニューラルネットワークによる計算処理を実行する様々なデータ処理方法に、適用可能である。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1:計算機システム、10,20:プロセッサ、100:ニューラルネットワーク、110(110A,110B):演算デバイス、111,112,113,114:処理回路。

Claims (20)

  1. 入力データ内の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)に示され、
    前記第2の行列は、以下の式(P2)に示される、
    演算デバイス。
  2. 前記第3の行列は、以下の式(P3)に示される、
    請求項1に記載の演算デバイス。
  3. 前記第1の値は、前記第1のデータに対する前記第3のデータのストライド値が2に設定された条件における前記第1のデータと前記第3のデータとの前記積和演算処理の結果に対応する、
    請求項1又は2に記載の演算デバイス。
  4. 前記第1の値に基づいて、前記入力データに関する推論、学習及び分類のうち少なくとも1つを実行する、
    請求項1乃至3のうちいずれか1項に記載の演算デバイス。
  5. 前記第1のデータが“d”、前記第1の行列が“B”、前記第1の行列に対して転置の関係を有する行列がBで示される場合、前記第1の処理の結果は、“BdB”で示される、
    請求項1乃至4のうちいずれか1項に記載の演算デバイス。
  6. 前記第3のデータが“f”、前記第2の行列が“G”、前記第2の行列に対して転置の関係を有する行列が“G”で示される場合、前記第2の処理の結果は“GfG”で示される、
    請求項1乃至5のうちいずれか1項に記載の演算デバイス。
  7. 前記第2のデータと前記第4のデータとの前記積和演算処理の結果が“Z”、前記第3の行列が“A”、前記第3の行列に対して転置の関係を有する行列が“A”で示される場合、前記第1の値は、“AZA”で示される、
    請求項1乃至6のうちいずれか1項に記載の演算デバイス。
  8. 前記第2のデータ及び前記第4のデータは、5×5のサイズを有する、
    請求項1乃至7のうちいずれか1項に記載の演算デバイス。
  9. 前記第1の値は、2×2のサイズのデータである、
    請求項1乃至8のうちいずれか1項に記載の演算デバイス。
  10. 前記第1の回路は、前記第1の行列内の複数の列又は複数の行を入れ替えて、前記第1の処理を実行し、
    前記第2の回路は、前記第2の行列内の複数の列又は複数の行を入れ替えて、前記第2の処理を実行する、
    請求項1乃至9のうちいずれか1項に記載の演算デバイス。
  11. 以下の式(Q1)に示される第1の行列を用いた第1の処理が、入力データから抽出された5×5のサイズの第1のデータに対して、プロセッサによって実行され、第2のデータが生成されることと、
    以下の式(Q2)に示される第2の行列を用いた第2の処理が、3×3のサイズの第3のデータに対して、前記プロセッサによって実行され、第4のデータが生成されることと、
    前記第2のデータと前記第4のデータとの積和演算処理が、前記プロセッサによって実行されることと、
    第3の行列を用いた第3の処理が、前記第2のデータと前記第4のデータとの前記積和演算処理の結果に対して、前記プロセッサによって実行され、前記第1のデータと前記第3のデータとの積和演算処理の結果に対応する第1の値が得られることと、
    を具備するデータの処理方法。
  12. 前記第3の行列は、以下の式(Q3)に示される、
    請求項11に記載のデータの処理方法。
  13. 前記第1の値は、前記第1のデータに対する前記第3のデータのストライド値が2に設定された場合における前記第1のデータと前記第3のデータとの前記積和演算処理の結果に対応する、
    請求項11又は12に記載のデータの処理方法。
  14. 前記第1の値に基づいて、前記入力データに関する推論、学習及び分類のうち少なくとも1つを実行することと、
    請求項11乃至13のうちいずれか1項に記載のデータの処理方法。
  15. 前記第1のデータが“d”、前記第1の行列が“B”、前記第1の行列に対して転置の関係を有する行列がBで示される場合、前記第1の処理の結果は、“BdB”で示される、
    請求項11乃至14のうちいずれか1項に記載のデータの処理方法。
  16. 前記第3のデータが“f”、前記第2の行列が“G”、前記第2の行列に対して転置の関係を有する行列が“G”で示される場合、前記第2の処理の結果は“GfG”で示される、
    請求項11乃至15のうちいずれか1項に記載のデータの処理方法。
  17. 前記第2のデータと前記第4のデータとの前記積和演算処理の結果が“Z”、前記第3の行列が“A”、前記第3の行列に対して転置の関係を有する行列が“A”で示される場合、前記第1の値は、“AZA”で示される、
    請求項11乃至16のうちいずれか1項に記載のデータの処理方法。
  18. 前記第2のデータ及び前記第4のデータは、5×5のサイズを有する、
    請求項11乃至17のうちいずれか1項に記載のデータの処理方法。
  19. 前記第1の値は、2×2のサイズのデータである、
    請求項11乃至18のうちいずれか1項に記載のデータの処理方法。
  20. 前記第1の行列内の複数の列又は複数の行を入れ替えて、前記第1の処理が実行され、
    前記第2の行列内の複数の列又は複数の行を入れ替えて、前記第2の処理が実行される、
    請求項11乃至19のうちいずれか1項に記載のデータの処理方法。
JP2018095787A 2018-05-17 2018-05-17 演算デバイス及びデータの処理方法 Pending JP2019200675A (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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