JP6822581B2 - 情報処理装置、情報処理方法及びプログラム - Google Patents

情報処理装置、情報処理方法及びプログラム Download PDF

Info

Publication number
JP6822581B2
JP6822581B2 JP2019550399A JP2019550399A JP6822581B2 JP 6822581 B2 JP6822581 B2 JP 6822581B2 JP 2019550399 A JP2019550399 A JP 2019550399A JP 2019550399 A JP2019550399 A JP 2019550399A JP 6822581 B2 JP6822581 B2 JP 6822581B2
Authority
JP
Japan
Prior art keywords
sparse
weight
unit
elements
output
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
JP2019550399A
Other languages
English (en)
Other versions
JPWO2019088072A1 (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
Application filed by NEC Corp filed Critical NEC Corp
Publication of JPWO2019088072A1 publication Critical patent/JPWO2019088072A1/ja
Application granted granted Critical
Publication of JP6822581B2 publication Critical patent/JP6822581B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/003Arrangements for allocating sub-channels of the transmission path
    • H04L5/0048Allocation of pilot signals, i.e. of signals known to the receiver
    • H04L5/0051Allocation of pilot signals, i.e. of signals known to the receiver of dedicated pilots, i.e. pilots destined for a single user or terminal

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Neurology (AREA)
  • Complex Calculations (AREA)

Description

(関連出願についての記載)
本発明は、日本国特許出願:特願2017−211761号(2017年11月1日出願)の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
近年、深層学習(ディープラーニング)に関する技術開発が活発に行われている。深層学習では、深層ニューラルネットワーク(DNN;Deep Neural Network)が用いられる。深層ニューラルネットワークを用いたDNNシステムには複数の層(レイヤ)が含まれる。各層では、入力データに対する行列演算を大量に処理する(行列演算を大量に適用する)。
例えば、DNNシステムの一例である畳み込み深層ニューラルネットワーク(CNN;Convolutional Neural Network)における行列演算適用を考える。この場合、行列演算適用とは、フィルタ処理適用であり、下記の式(1)に示す畳み込み演算を示す。

A = Σ(W(i、j)×X(i、j)) ・・・(1)

なお、W(i、j)はフィルタを構成する重みである。X(i、j)は各層への入力データである。上述のようにDNNシステムには複数の層が含まれ、各層は縦続接続されている。そのため、ある層への入力データは前段の層の出力データとなる。DNNシステムにおける前層の出力データはアクティベーションとも称される。式(1)におけるAは出力データである。即ち、Aがアクティベーションである。式(1)におけるi、jは共に正の整数であり、重みや入力データを特定するサフィックス(インデックス)である。式(1)から分かるように、CNNにおける畳み込み演算は、行列の要素ごとの乗算結果の合計である。
DNNシステムやCNNシステムを構成する層の一例として、全結合層(FC層;Fully Connect Layer)が挙げられる。全結合層では、入力値のベクトルと重みベクトルとの内積が行われる。
このように、DNNシステム等では、上記畳み込み演算やベクトル内積処理を行う必要がある。当該畳み込み演算等では、大量の乗加算(d=(a×b)+c)を必要とし、DNNでは計算処理時間が膨大になるといった問題がある。
このような問題を解決するための1つの手段として、アクティベーションのスパース性(スパーシティ)を利用した技術が存在する。なお、アクティベーションスパーシティとは、現実のDNNシステムにおいて、各層の出力値であるアクティベーションにはゼロが含まれることが多い、という特性である。つまり、アクティベーションスパーシティとは、ある層の出力値は、次の層の入力値になることから、上記畳み込み演算においては、入力データX(i、j)がゼロであることが多いことを意味する。
入力データX(i、j)がゼロであるとき、当該データを用いた乗算処理(W(i、j)×X(i、j))の結果もゼロとなる。従って、乗算処理の前に入力データX(i、j)がゼロであることを検出することで乗算処理を省略することができ、DNNシステムの処理時間を削減できる。このようなアクティベーションのスパース性(スパーシティ)を利用して高速処理を行うDNNシステム(以降、このようなDNNシステムをスパースDNNシステムと表記する)の一例が、非特許文献1に記載されている。
図12は、非特許文献1に開示された技術を説明するための図である。非特許文献1に開示されたスパースDNNシステムを簡略化すると図12に示すような構成となる。図12を参照すると、当該スパースDNNシステムは、ゼロ検出部91と、非ゼロ値演算部92と、を含んで構成される。
図12の構成を有するスパースDNNシステムの動作概略を図示すると図13に示すフローチャートのようになる。
初めに、ゼロ検出部91が、前層の出力値(即ち、アクティベーション)を入力データとして取得する(ステップS401)。その後、ゼロ検出部91が、アクティベーションの中でゼロである箇所(位置、インデックス)を検出する(入力データのゼロ要素を検出する;ステップS402)。次に、非ゼロ値演算部92は、ゼロ検出部91の出力を用いて非ゼロのアクティベーションに限って乗加算演算を行う(入力データの非ゼロ値と非ゼロ位置に対応する重み要素の乗加算を行う;ステップS403)。その後、非ゼロ値演算部92は、演算結果を出力する(ステップS404)。
図12のスパースDNNシステムでは、非ゼロのアクティベーションに限って上記乗加算演算を行うため、全アクティベーションに対して乗加算を行う場合と比較し、演算回数を削減できる。また、当該スパースDNNシステムでは、高速に演算結果を得ることもできる。
Song Han, et. al., "EIE: Efficient Inference Engine on Compressed Deep Neural Network", International Symposium on Computer Architecture (ISCA) 2016.
なお、上記先行技術文献の開示を、本書に引用をもって繰り込むものとする。以下の分析は、本発明者らによってなされたものである。
上述のように、非特許文献1等のスパースDNNシステムには、演算回数の削減が可能という利点があるが、以下のような問題点もある。
具体的には、上記スパースDNNシステムには、適用範囲に厳しい制限がある。その理由は、上記スパース性を活用した高速化が十分に機能するのは、DNNの各層における内部演算結果に適用される活性化関数として特定の関数の使用を前提としているためである。より詳細には、上記スパースDNNシステムでは、出力がゼロになりやすい特性を持つ活性化関数の使用を前提としている。従って、出力がゼロ以外の値になりやすい活性化関数を用いるDNNシステムでは、スパース性を有効に活用することができない。換言すれば、ゼロ以外の値になりやすい活性化関数を用いるDNNシステムに対しては、非特許文献1等の技術では、スパース性を活用した高速化が実現できない。
ここで、種々の活性化関数について説明する。図14は、各種の活性化関数を説明するための図である。図14(a)は、ReLU(Rectified Linear Unit)関数の一例を示す図である。図14(b)は、ELU(Exponential Linear Unit)関数の一例を示す図である。図14(c)は、tanh(hyperbolic tangent)関数の一例を示す図である。
図14(a)に示すReLU関数は、入力値(x軸)が負数の場合、出力(y軸)がゼロになる関数である。つまり、ReLU関数は、出力がゼロになりやすい特性を持つ活性化関数の一例である。一方、図14(b)に示すELU関数や図14(c)に示すtanh関数は、入力値が負数の場合、入力値の絶対値が大きくなるほど「−1」に漸近する関数である。つまり、ELU関数やtanh関数は、出力値はゼロではなく、「−1」になりやすい。
なお、数学的な観点では、ELU関数やtanh関数の出力値が「−1」になることはなく、漸近するだけである。しかしながら、コンピュータプログラムやハードウェア回路としてこれらの関数を実装する場合には、出力値を有限のビット数で表現する必要がある。そのため、結果的に、上記関数の出力値は「−1」となり得る。あるいは、実装によっては、入力値の絶対値が一定の閾値以上になった場合に出力値を「−1」にする等の処理により「−1」が出力されやすくなる。
本発明は、ゼロではない値となりやすい活性化関数を用いるDNNシステムにおいて、各層の演算を高速に処理する、情報処理装置、情報処理方法及びプログラムを提供することを目的とする。
本発明乃至開示の第1の視点によれば、入力データから予め定められたスパース要素を検出し、前記スパース要素に関する情報を出力する、スパース要素検出部と、前記スパース要素に対応する第1の重み要素同士を加算する、スパース位置重み加算部と、前記スパース位置重み加算部の出力に前記スパース要素を乗算する、乗算部と、前記入力データのうち前記スパース要素以外の要素である非スパース要素に関する演算を行う、非スパースデータ演算部と、前記乗算部の出力と前記非スパースデータ演算部の出力を加算する、加算部と、を備える、情報処理装置が提供される。
本発明乃至開示の第2の視点によれば、入力データから予め定められたスパース要素を検出し、前記スパース要素に関する情報を出力するステップと、前記スパース要素に対応する第1の重み要素同士を加算するステップと、前記第1の重み要素同士の加算結果に前記スパース要素を乗算するステップと、前記入力データのうち前記スパース要素以外の要素である非スパース要素に関する演算を行うステップと、前記第1の重み要素同士の加算結果と前記スパース要素の乗算結果と前記非スパース要素に関する演算結果を加算するステップと、を含む、情報処理方法が提供される。
本発明乃至開示の第3の視点によれば、入力データから予め定められたスパース要素を検出し、前記スパース要素に関する情報を出力する処理と、前記スパース要素に対応する第1の重み要素同士を加算する処理と、前記第1の重み要素同士の加算結果に前記スパース要素を乗算する処理と、前記入力データのうち前記スパース要素以外の要素である非スパース要素に関する演算を行う処理と、前記第1の重み要素同士の加算結果と前記スパース要素の乗算結果と前記非スパース要素に関する演算結果を加算する処理と、をコンピュータに実行させるプログラムが提供される。
なお、このプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。記憶媒体は、半導体メモリ、ハードディスク、磁気記録媒体、光記録媒体等の非トランジェント(non-transient)なものとすることができる。本発明は、コンピュータプログラム製品として具現することも可能である。
本発明乃至開示の各視点によれば、ゼロではない値となりやすい活性化関数を用いるDNNシステムにおいて、各層の演算を高速に処理する、情報処理装置、情報処理方法及びプログラムが、提供される。
一実施形態の概要を説明するための図である。 第1の実施形態に係る推論装置に含まれる乗加算演算部の内部構成の一例を示す図である。 第1の実施形態に係る乗加算演算部の動作を説明するための図である。 第1の実施形態に係る乗加算演算部の動作の一例を示すフローチャートである。 第1の実施形態に係る推論装置に含まれる乗加算演算部の内部構成の他の一例を示す図である。 第1の実施形態に係る推論装置に含まれる乗加算演算部の内部構成の他の一例を示す図である。 第2の実施形態に係る推論装置に含まれる乗加算演算部の内部構成の一例を示す図である。 第2の実施形態に係る乗加算演算部の動作の一例を示すフローチャートである。 第3の実施形態に係る推論装置に含まれる乗加算演算部の内部構成の一例を示す図である。 第3の実施形態に係る乗加算演算部の動作の一例を示すフローチャートである。 推論装置のハードウェア構成の一例を示す図である。 非特許文献1に開示された技術を説明するための図である。 非特許文献1に開示された技術の動作を説明するためのフローチャートである。 各種の活性化関数を説明するための図である。
初めに、一実施形態の概要について説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、この概要の記載はなんらの限定を意図するものではない。また、各図におけるブロック間の接続線は、双方向及び単方向の双方を含む。一方向矢印については、主たる信号(データ)の流れを模式的に示すものであり、双方向性を排除するものではない。
一実施形態に係る情報処理装置100は、スパース要素検出部101と、スパース位置重み加算部102と、乗算部103と、非スパースデータ演算部104と、加算部105と、を備える(図1参照)。スパース要素検出部101は、入力データから予め定められたスパース要素を検出し、スパース要素に関する情報を出力する。スパース位置重み加算部102は、スパース要素に対応する第1の重み要素同士を加算する。乗算部103は、スパース位置重み加算部の出力にスパース要素を乗算する。非スパースデータ演算部104は、入力データのうちスパース要素以外の要素である非スパース要素に関する演算を行う。加算部105は、乗算部103の出力と非スパースデータ演算部104の出力を加算する。
情報処理装置100は、予め指定されたゼロでない値を持つスパース要素を検出し、当該スパース要素に関しては対応する重み要素の和を計算し、当該和にスパース要素を乗算する。対して、情報処理装置100は、入力データのうちスパース要素以外の要素に関しては、通常の演算(入力データと重みの乗加算)を実施する。その結果、ゼロ以外が多く出力される活性化関数を用いるDNNシステムにおいても、当該多く出力される値をスパース要素に設定することで、演算処理が高速なスパースDNNシステムを提供できる。
以下に具体的な実施の形態について、図面を参照してさらに詳しく説明する。なお、各実施形態において同一構成要素には同一の符号を付し、その説明を省略する。
[第1の実施形態]
第1の実施形態について、図面を用いてより詳細に説明する。
図2は、第1の実施形態に係る推論装置に含まれる乗加算演算部10の内部構成の一例を示す図である。乗加算演算部10は、入力データと重みを取得し、当該入力データ及び重みを用いた乗加算処理を実行する手段(モジュール)である。より具体的には、乗加算演算部10は、畳み込み演算やベクトル内積処理を実行する。
図2を参照すると、乗加算演算部10には、スパース要素検出部201と、スパース位置重み加算部202と、乗算部203と、加算部204と、非スパースデータ演算部205と、を含んで構成される。さらに、乗加算演算部10は、スパース位置重み加算部202の内部に重み加算部301を備える。
上記各部(各種サブモジュール)は、概略以下のように動作する。
スパース要素検出部201は、入力データから予め定められたスパース要素を検出し、当該スパース要素に関する情報を出力する手段である。例えば、予め定められたスパース要素には「−1」等の特定の値が該当する。なお、スパース要素は「−1」に限定されず、他の値であってもよい。即ち、スパース要素の候補にはゼロも含まれる。さらに、予め定められたスパース要素は1つでも良いし、複数であっても良い。なお、スパース要素検出部201が出力する情報には、入力データそのものも含まれる。
スパース要素検出部201によるスパース要素の検出とは、複数の値から構成される入力データのうち、スパース要素と一致する値である要素の位置(以降、スパース要素位置と表記する)を特定し出力することを含む。あるいは、スパース要素検出部201によるスパース要素の検出は、スパース要素と一致しない値である要素の位置(以降、非スパース要素位置と表記する)を特定し出力する動作であってもよい。さらに、スパース要素検出部201による検出には、スパース要素位置と非スパース要素位置の双方を特定し、出力することであってもよい。
スパース位置重み加算部202は、重みとスパース要素検出部201が出力する情報(例えば、スパース要素位置に関する情報)を入力する。スパース位置重み加算部202は、スパース要素検出部201が出力する情報に基づき、取得した重みからスパース要素位置に対応する重み要素を導出する。さらに、スパース位置重み加算部202は、導出した重み要素同士を、内部の重み加算部301を用いて加算し、加算結果を出力する。このように、スパース位置重み加算部は、スパース要素に対応する重み要素同士を加算する機能を備える。換言するならば、スパース位置重み加算部202は、スパース要素位置のデータと乗算されることが予定された重み要素(以降、スパース位置重み要素と表記する)を取得し、当該重み要素の和を出力する。
スパース位置重み加算部202の動作を具体的に説明する。
畳み込み演算の例でいえば、入力データX(is、js)がスパース要素と一致する値の場合、スパース要素位置は(is、js)であり、スパース位置重み要素はW(is、js)で表す事ができる。この例において、スパース位置重み加算部202の出力は、ΣW(is、js)(但し、(is、js)はスパース要素位置を示す)となる。
より具体的には、図3(a)に示す入力データと図3(b)に示す重みを用いた畳み込み演算を考える。この場合、スパース要素を「−1」とすれば、入力データの1行目(is=1)、1列目(js=1)と、2行目(is=2)、3列目(js=3)と、がスパース要素位置となる。また、これらのスパース要素位置に対応する重み要素は、図3(b)の1行目、1列目の「2」と2行目、3列目の「1」となる。この場合、スパース位置重み加算部202の出力は、2+1=3となる。
図2に説明を戻すと、乗算部203は、スパース位置重み加算部202の出力値にスパース要素を乗算する手段である。上述の畳み込み演算の例では、(a×ΣW(is、js))を計算する。なお、「a」はスパース要素である。上述の図3の例では、スパース要素が「−1」であり、重み要素の加算結果が「3」であるので、乗算部203の出力は「−3」となる。
非スパースデータ演算部205は、重みのうち、スパース要素位置に対応しない重み(以降、非スパース位置重み要素と表記する)を用いて、非スパース要素に限り、スパーシティを利用しないDNNシステムと同様の乗加算演算を実行し、その結果を出力する。即ち、非スパースデータ演算部205は、入力データのうちスパース要素以外の要素である非スパース要素に関する演算を行う。より具体的には、非スパースデータ演算部205は、非スパース要素と非スパース要素に対応する重み要素の乗算を、入力データに含まれる非スパース要素について繰り返し、乗算の繰り返しにより得られた結果を加算する。
非スパースデータ演算部205の動作を具体的に説明する。
上記畳み込み演算の例では、非スパースデータ演算部205は、Σ(W(ins、jns)×X(ins、jns))(但し、(ins、jns)は非スパース要素位置)を計算し出力する。図3の例では、スパース要素位置(1行目、1列目;2行目、3列目)以外の位置にある値と対応する重み要素の乗算加算結果が非スパースデータ演算部205の出力となる。具体的には、0×2+0×0+2×0+0×0+0×1+2×2+1×0=4が非スパースデータ演算部205の出力となる。
図2に説明を戻すと、加算部204は、乗算部203の出力と非スパースデータ演算部205の出力を加算し、出力する手段である。上述の畳み込み演算の例では、加算部204は、(a×ΣW(is、js))+Σ(W(ins、jns)×X(ins、jns))を出力する。a=X(is、js)であることを考慮すれば、上記値は、スパーシティを利用する以前の畳み込み演算であるΣ(W(i、j)×X(i、j))と等価である。図3の例では、乗算部203の出力が「−3」、非スパースデータ演算部205の出力が「4」であるため、加算部204の出力(乗加算演算部10の出力)は「1」となる。当該結果は、図3に示す2つの行列において対応する要素同士を乗算し、且つ、乗算結果を加算したものと同値である。
ここで、スパース位置重み加算部202と非スパースデータ演算部205は並行して動作が可能である。その際、非スパースデータ演算部205が行うべき乗加算演算の数は非スパース要素の数に限られ、スパース要素がゼロである場合と同様の乗算数削減効果が保たれる。また、スパース位置重み加算部202は、その内部で加算だけを行う手段(モジュール)である。即ち、コンピュータ及び回路において演算時間及び回路面積の大きい乗算を行わないため、その計算量は非スパースデータ演算部205よりも少ない。
乗算部203は乗算を行うが、例えば、1回の畳み込み演算において1回に限り乗算が行われるため、計算量は少ない。例えば、上記畳み込み演算Σ(X(i、j)×W(i、j))において、i=3、j=3とし、入力データX(i、j)のすべてがスパース要素aに等しい場合を考える。この場合、本来であれば、9回の乗加算が必要になるが、第1の実施形態では、スパース位置重み加算部202と乗算部203を用いてa×ΣW(is、js)として計算可能であるため、9回の加算と1回の乗算により畳み込み演算を完了できる。
次に、図4に示すフローチャートを参照して第1の実施形態に係る乗加算演算部10の動作について説明する。
ステップS101において、スパース要素検出部201は、入力データを取得する。
その後、スパース要素検出部201は、入力データ中のスパース要素を検出する(ステップS102)。
その後、当該検出により得られた非スパース要素位置及びスパース要素位置を用いて、2つの処理が並列に実行される。
具体的には、非スパースデータ演算部205は、非スパース要素位置を用いて、非スパース要素位置に対応する重み要素(非スパース位置重み要素)を得る(ステップS103)。
その後、非スパースデータ演算部205は、非スパース要素と非スパース位置重み要素の乗加算演算を行う(ステップS104)。
スパース位置重み加算部202は、スパース要素位置を用いてスパース位置重み要素を取得する(ステップS105)。
その後、スパース位置重み加算部202の重み加算部301は、スパース位置重み要素の和を計算する(ステップS106)。
その後、乗算部203は、上記和にスパース要素を乗算する(ステップS107)。最後に、並行して行われた2つの計算結果が加算され、出力される。つまり、加算部204は、並行して行われた上記2つの結果を加算し、出力する(ステップS108、S109)。
[変形例]
図2に示す乗加算演算部10は一例であって、その構成を限定する趣旨ではない。例えば、図5に示すように、乗加算演算部10は、スパース位置重み取得部206と、非スパース位置重み取得部207と、をさらに備えていてもよい。スパース位置重み取得部206は、スパース位置重み要素及び非スパース位置重み要素を含む重みから当該重み要素を取得する手段である。非スパース位置重み取得部207は、スパース位置重み要素及び非スパース位置重み要素を含む重みから非スパース位置重み要素を取得する手段である。
より具体的には、スパース位置重み取得部206は、スパース要素検出部201が出力する情報(例えば、スパース要素位置)を用いて、重みからスパース位置重み要素を取得し、当該取得した重み要素をスパース位置重み加算部202に出力する。非スパース位置重み取得部207は、スパース要素検出部201が出力する情報(例えば、非スパース要素位置)を用いて、重みから非スパース位置重み要素を取得し、当該取得した重み要素を非スパースデータ演算部205に出力する。スパース位置重み加算部202及び非スパースデータ演算部205は、それぞれ取得した重み要素を用いて上記説明した演算を実行すればよい。
あるいは、図6に示すように、乗加算演算部10は、非スパース位置重み取得部207を備えず、スパース位置重み取得部206だけを備えていてもよい。つまり、非スパースデータ演算部205に、非スパース位置重み取得部207の機能が含まれていてもよい。
第1の実施形態では、ゼロでないスパース要素を用いるDNNシステムにおいて、非スパース要素に関する乗加算演算数を、例えば、非特許文献1等に開示されたスパース要素(即ち、要素値がゼロ)を用いるDNNシステムと同様に削減する。さらに、第1の実施形態では、上記削減に加え、非特許文献1等では考慮していないゼロではないスパース要素に対する乗加算演算について、少ない乗算回数により実現するように構成されている。そのため、必要な乗加算演算の総数が削減でき、且つ、演算にかかる時間及び回路面積を削減できる。
[第2の実施形態]
続いて、第2の実施形態について図面を参照して詳細に説明する。
図7は、第2の実施形態に係る推論装置に含まれる乗加算演算部10の内部構成の一例を示す図である。図7を参照すると、第2の実施形態に係る乗加算演算部10は、スパース要素検出部201と、スパース位置重み加算部202と、乗算部203と、加算部204と、非スパースデータ演算部205と、非スパース位置重み取得部207と、を含んで構成される。また、スパース位置重み加算部202は、その内部に重み加算部301と減算部302を備える。
図2及び図7を比較すると明らかなように、第1及び第2の実施形態では、スパース位置重み加算部202の内部構成が異なる。なお、図7に図示した非スパース位置重み取得部207に関しては、図5を用いて説明した内容と相違する点はないので説明を省略する。
第2の実施形態に係るスパース位置重み加算部202は、概略以下の様に動作する。
重み加算部301は、非スパース位置重み取得部207が出力する非スパース位置重み要素同士の和を計算する手段である。より具体的には、重み加算部301は、非スパース位置重み取得部207の出力を入力とし、当該入力値の合計値を計算する。即ち、上記畳み込み演算の例でいえば、重み加算部301は、ΣW(ins、jns)(ただし(ins、jns)は非スパース位置を示す)を計算する。
減算部302は、スパース位置重み要素と非スパース位置重み要素の総和値から重み加算部301の出力を減算する手段である。より具体的には、減算部302は、外部から入力される重み和から、重み加算部301の出力値を減算する。ここで、重み和は、以下の式(2)により表せる。

sum = ΣW(i、j) ・・・(2)

式(2)における(i、j)はスパース位置(is、js)及び非スパース位置(ins、jns)の双方を含む。
上記式(2)によれば、減算部302は、(Wsum−ΣW(ins、jns))を計算する。当該減算部302の結果は、第1の実施形態に係る乗加算演算部10のスパース位置重み加算部202の出力値と一致する。第1の実施形態では、スパース位置対応重みの和を直接計算している。一方、第2の実施形態では、重みの総和から、非スパース位置対応重みの和を減ずることで、スパース位置対応重みの和を間接的に計算している。
次に、図8に示すフローチャートを参照しつつ第2の実施形態に係る動作について説明する。
ステップS201において、スパース要素検出部201は入力データを取得する。
次に、スパース要素検出部201は、入力データ中のスパース要素を検出する(ステップS202)。
その後、非スパース位置重み取得部207は、前段の検出により得られた非スパース要素位置に基づき、非スパース位置重み要素を取得する(ステップS203)。
その後、2つの処理が並行して実行される。
ステップS204において、非スパースデータ演算部205は、非スパース要素と非スパース位置重み要素の乗加算演算を行う。
ステップS205において、スパース位置重み加算部202の重み加算部301は、非スパース位置重み要素の和を計算する。
ステップS206において、スパース位置重み加算部202の減算部302は、取得した重み和から上記加算結果を減算する。
その後、ステップS207において、乗算部203は、スパース位置重み加算部202の出力値とスパース要素の乗算を行う。
加算部204は、並行して行われた上記2つの計算の結果を加算(ステップS208)し、出力する(ステップS209)。
第2の実施形態では、スパース位置重み加算部202において、スパース位置重み要素の取得を行わないように構成されている。そのため、重み要素取得にかかる時間を削減できる。例えば、ハードウェア回路実現において、重みはメモリ等記憶素子に保存され、重み要素取得の際にはメモリからの読み出しとして実現されることがある。例えば、重み値を1個ずつ逐次的に読み出すことしかできないメモリを使用し、かつ、非スパースデータ演算部205及びスパース位置重み加算部202が十分高速に処理可能な場合を考える。この場合、非スパース位置重み要素が読み出されている間は、スパース位置重み加算部202は入力となる重みを得ることができず待機することになる。一方、スパース位置重み要素が読み出されている間は、非スパースデータ演算部205は入力となる重みを得ることができず待機することになる。
このように、2つの処理部のいずれかで、入力データ待ちが発生し十分な高速化効果が発揮されない可能性がある。このようなメモリ読み出しに起因する問題に対して、第2の実施形態では、非スパースデータ演算部205及びスパース位置重み加算部202の双方が、共通の非スパース位置重み要素を用いて計算を行うことができるため、入力データ待ちが発生しない。即ち、メモリ読み出しに起因する上記問題を解決することができ、高速化効果を得ることができる。
さらに、第2の実施形態では、ゼロでないスパース要素を用いる場合であっても、ゼロであるスパース要素を用いるときと同等の処理高速化が実現できる。スパース要素がゼロでない場合に発生するスパース要素に対応する重みを用いた計算について、予め重みの全和を取得しておくことにより上記計算を省略できるためである。
[第3の実施形態]
続いて、第3の実施形態について図面を参照して詳細に説明する。
図9は、第3の実施形態に係る推論装置に含まれる乗加算演算部10の内部構成の一例を示す図である。図9を参照すると、第3の実施形態に係る乗加算演算部10は、スパース要素検出部201と、スパース位置重み加算部202と、乗算部203と、加算部204と、非スパースデータ演算部205と、を含む。さらに、第3の実施形態に係る乗加算演算部10は、スパース位置重み取得部206と、非スパース位置重み取得部207と、をさらに含んで構成される。また、スパース位置重み加算部202は、その内部に、スパース度算出部311と、重み選択部312と、結果選択部313と、重み加算部301と、減算部302と、を備える。
図2、図7及び図9を比較すると明らかなように、第3の実施形態は、第1及び第2の実施形態とはスパース位置重み加算部202の内部構成が異なる。なお、図9に図示したスパース位置重み取得部206及び非スパース位置重み取得部207に関しては、図5を用いて説明した内容と相違する点はないので説明を省略する。
第3の実施形態に係るスパース位置重み加算部202は、概略以下の様に動作する。
スパース度算出部311は、入力データに占めるスパース要素の割合をスパース度として算出する手段である。より具体的には、スパース度算出部311は、スパース要素検出部201の出力を用いて、ひとつの入力データにおけるスパース要素の割合(即ち、スパース度)を計算する。例えば、上述の畳み込み演算の例でいえば、i=3、j=3の場合、9個の入力データ値に対するスパース要素の割合を計算する。
重み選択部312は、計算されたスパース度に基づいて、スパース位置重み取得部206が出力するスパース位置重み要素か、非スパース位置重み取得部207が出力する非スパース位置重み要素か、のいずれかを選択して出力する手段である。より具体的には、重み選択部312は、上記スパース度が所定の値(閾値)より大きいか否かを判断基準として、非スパース位置重み要素と、スパース位置重み要素のいずれかを重み加算部301に入力するか選択する。なお、上記所定の値には、例えば、0.5(スパース度50%)などが用いられる。
重み加算部301は、重み選択部312による出力を加算し和を求める手段である。つまり、重み加算部301は、重み選択部312が出力するスパース位置重み要素及び非スパース位置重み要素のいずれか同士の和を計算する。
減算部302は、第2の実施形態と同様に、重み和から重み加算部301の出力を減算する。
結果選択部313は、上記スパース度に基づき、重み加算部301の出力及び減算部302の出力のいずれかを出力する。つまり、結果選択部313は、重み選択部312と同じ値を用いて、スパース度により結果を選択し出力する。
次に、図10に示すフローチャートを参照しつつ第3の実施形態に係る動作について説明する。
ステップS301において、スパース要素検出部201は、入力データを取得する。
その後、スパース要素検出部201は、入力データ中のスパース要素を検出する(ステップS302)。
非スパース位置重み取得部207は、前段の検知により得られた非スパース要素位置を用いて非スパース位置重み要素を取得する(ステップS303)。非スパース位置重み要素は、非スパースデータ演算部205に出力される。
その後、非スパースデータ演算部205は、非スパース要素と、非スパース位置重み要素との乗加算を行う(ステップS304)。
当該処理と並行して、スパース位置重み加算部202のスパース度算出部311は、入力データのスパース度を算出する(ステップS305)。
重み選択部312は、算出されたスパース度に基づき、スパース度が所定の値(例えば、0.5;スパース度50%)より大きければスパース位置重み要素を取得する(ステップS306、Yes分岐;ステップS307)。
その後、重み加算部301は、スパース位置重み要素の加算を行う(ステップS308)。
スパース度が所定の値以下であれば(ステップS306、No分岐)、重み加算部301は、非スパース位置重み要素の加算を行う(ステップS309)。
その後、減算部302は、重み和から上記加算結果を減算する(ステップS310)。
乗算部203は、スパース位置重み加算部202による出力値にスパース要素を乗算する(ステップS311)。
加算部204は、並行して行われた上記2つの計算の結果を加算(ステップS312)し、出力する(ステップS313)。
第3の実施形態では、スパース位置重み加算部202は、スパース度に応じて、スパース位置重み要素を用いる計算と非スパース位置重み要素を用いる計算を使い分けることができるように構成されている。その結果、入力データにおける非スパース要素の数が多い場合のスパース位置重み加算部202が必要とする加算回数の上限を削減できる。例えば、上記所定の値を0.5とした場合、重み加算部301が行う加算の回数は、全重み個数の半分(全重み個数が奇数の場合には半分+1)にすることができる。
続いて、第1乃至第3の実施形態に係る推論装置のハードウェア構成について説明する。
図11は、推論装置のハードウェア構成の一例を示す図である。推論装置は、所謂、情報処理装置(コンピュータ)により構成可能であり、図11に例示する構成を備える。例えば、推論装置は、内部バスにより相互に接続される、CPU(Central Processing Unit)11、メモリ12、入出力インターフェイス13及び通信手段であるNIC(Network Interface Card)14等を備える。
なお、図11に示す構成は、推論装置のハードウェア構成を限定する趣旨ではない。推論装置は、図示しないハードウェアを含んでもよいし、必要に応じてNIC14を備えていなくともよい。あるいは、推論装置に含まれるCPU等の数も図11の例示に限定する趣旨ではなく、例えば、複数のCPUが推論装置に含まれていてもよい。
メモリ12は、RAM(Random Access Memory)、ROM(Read Only Memory)、補助記憶装置(ハードディスク等)である。
入出力インターフェイス13は、図示しない表示装置や入力装置のインターフェイスとなる手段である。表示装置は、例えば、液晶ディスプレイ等である。入力装置は、例えば、キーボードやマウス等のユーザ操作を受け付ける装置である。
推論装置の機能は、上述の処理モジュールにより実現される。当該処理モジュールは、例えば、メモリ12に格納されたプログラムをCPU11が実行することで実現される。また、そのプログラムは、ネットワークを介してダウンロードするか、あるいは、プログラムを記憶した記憶媒体を用いて、更新できる。さらに、上記処理モジュールは、半導体チップにより実現されてもよい。即ち、上記処理モジュールが行う機能は、何らかのハードウェアにおいてソフトウェアが実行されることによって実現できればよい。
上記の説明により、本発明の産業上の利用可能性は明らかであるが、本発明は、深層学習を用いた画像識別や文字認識、言語認識といった技術分野に好適に適用可能である。
上記の実施形態の一部又は全部は、以下の形態のようにも記載され得るが、以下には限られない。
[形態1]
上述の第1の視点に係る情報処理装置のとおりである。
[形態2]
前記第1の重み要素を含む重みから前記第1の重み要素を取得する、スパース位置重み取得部をさらに備える、好ましくは形態1の情報処理装置。
[形態3]
前記スパース位置重み加算部は、前記スパース位置重み取得部が出力する前記第1の重み要素同士の和を計算する、好ましくは形態2の情報処理装置。
[形態4]
前記第1の重み要素と前記非スパース要素に対応する第2の重み要素を含む重みから前記第2の重み要素を取得する、非スパース位置重み取得部をさらに備える、好ましくは形態1の情報処理装置。
[形態5]
前記スパース位置重み加算部は、
前記非スパース位置重み取得部が出力する前記第2の重み要素同士の和を計算する、重み加算部と、
前記第1及び第2の重み要素の総和値から前記重み加算部の出力を減算する、減算部と、
を備える、好ましくは形態4の情報処理装置。
[形態6]
前記第1の重み要素と前記非スパース要素に対応する第2の重み要素を含む重みから前記第1の重み要素を取得する、スパース位置重み取得部と、
前記重みから前記第2の重み要素を取得する、非スパース位置重み取得部と、
をさらに備える、好ましくは形態1の情報処理装置。
[形態7]
前記スパース位置重み加算部は、
前記入力データに占める前記スパース要素の割合をスパース度として算出する、スパース度算出部と、
前記スパース度に基づいて、前記スパース位置重み取得部が出力する前記第1の重み要素か、前記非スパース位置重み取得部が出力する前記第2の重み要素か、のいずれかを選択して出力する、重み選択部と、
前記重み選択部が出力する前記第1及び第2の重み要素のいずれか同士の和を計算する、重み加算部と、
前記第1及び第2の重み要素の総和値から前記重み加算部の出力を減算する、減算部と、
前記スパース度に基づき、前記重み加算部の出力及び前記減算部の出力のいずれかを出力する、結果選択部と、
を備える、好ましくは形態6の情報処理装置。
[形態8]
前記非スパースデータ演算部は、
前記非スパース要素と前記非スパース要素に対応する重み要素の乗算を、前記入力データに含まれる前記非スパース要素について繰り返し、前記乗算の繰り返しにより得られた結果を加算する、好ましくは形態1乃至7のいずれか一に記載の情報処理装置。
[形態9]
上述の第2の視点に係る情報処理方法のとおりである。
[形態10]
上述の第3の視点に係るプログラムのとおりである。
なお、形態9及び形態10は、形態1と同様に、形態2〜形態8のように展開することが可能である。
なお、引用した上記の先行技術文献の開示は、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の全開示の枠内において種々の開示要素(各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
10 乗加算演算部
11 CPU(Central Processing Unit)
12 メモリ
13 入出力インターフェイス
14 NIC(Network Interface Card)
91 ゼロ検出部
92 非ゼロ値演算部
100 情報処理装置
101、201 スパース要素検出部
102、202 スパース位置重み加算部
103、203 乗算部
104、205 非スパースデータ演算部
105、204 加算部
206 スパース位置重み取得部
207 非スパース位置重み取得部
301 重み加算部
302 減算部
311 スパース度算出部
312 重み選択部
313 結果選択部

Claims (10)

  1. 入力データから予め定められたスパース要素を検出し、前記スパース要素に関する情報を出力する、スパース要素検出部と、
    前記スパース要素に対応する第1の重み要素同士を加算する、スパース位置重み加算部と、
    前記スパース位置重み加算部の出力に前記スパース要素を乗算する、乗算部と、
    前記入力データのうち前記スパース要素以外の要素である非スパース要素に関する演算を行う、非スパースデータ演算部と、
    前記乗算部の出力と前記非スパースデータ演算部の出力を加算する、加算部と、
    を備える、情報処理装置。
  2. 前記第1の重み要素を含む重みから前記第1の重み要素を取得する、スパース位置重み取得部をさらに備える、請求項1の情報処理装置。
  3. 前記スパース位置重み加算部は、前記スパース位置重み取得部が出力する前記第1の重み要素同士の和を計算する、請求項2の情報処理装置。
  4. 前記第1の重み要素と前記非スパース要素に対応する第2の重み要素を含む重みから前記第2の重み要素を取得する、非スパース位置重み取得部をさらに備える、請求項1の情報処理装置。
  5. 前記スパース位置重み加算部は、
    前記非スパース位置重み取得部が出力する前記第2の重み要素同士の和を計算する、重み加算部と、
    前記第1及び第2の重み要素の総和値から前記重み加算部の出力を減算する、減算部と、
    を備える、請求項4の情報処理装置。
  6. 前記第1の重み要素と前記非スパース要素に対応する第2の重み要素を含む重みから前記第1の重み要素を取得する、スパース位置重み取得部と、
    前記重みから前記第2の重み要素を取得する、非スパース位置重み取得部と、
    をさらに備える、請求項1の情報処理装置。
  7. 前記スパース位置重み加算部は、
    前記入力データに占める前記スパース要素の割合をスパース度として算出する、スパース度算出部と、
    前記スパース度に基づいて、前記スパース位置重み取得部が出力する前記第1の重み要素か、前記非スパース位置重み取得部が出力する前記第2の重み要素か、のいずれかを選択して出力する、重み選択部と、
    前記重み選択部が出力する前記第1及び第2の重み要素のいずれか同士の和を計算する、重み加算部と、
    前記第1及び第2の重み要素の総和値から前記重み加算部の出力を減算する、減算部と、
    前記スパース度に基づき、前記重み加算部の出力及び前記減算部の出力のいずれかを出力する、結果選択部と、
    を備える、請求項6の情報処理装置。
  8. 前記非スパースデータ演算部は、
    前記非スパース要素と前記非スパース要素に対応する重み要素の乗算を、前記入力データに含まれる前記非スパース要素について繰り返し、前記乗算の繰り返しにより得られた結果を加算する、請求項1乃至7のいずれか一項に記載の情報処理装置。
  9. 入力データから予め定められたスパース要素を検出し、前記スパース要素に関する情報を出力するステップと、
    前記スパース要素に対応する第1の重み要素同士を加算するステップと、
    前記第1の重み要素同士の加算結果に前記スパース要素を乗算するステップと、
    前記入力データのうち前記スパース要素以外の要素である非スパース要素に関する演算を行うステップと、
    前記第1の重み要素同士の加算結果と前記スパース要素の乗算結果と前記非スパース要素に関する演算結果を加算するステップと、
    を含む、情報処理方法。
  10. 入力データから予め定められたスパース要素を検出し、前記スパース要素に関する情報を出力する処理と、
    前記スパース要素に対応する第1の重み要素同士を加算する処理と、
    前記第1の重み要素同士の加算結果に前記スパース要素を乗算する処理と、
    前記入力データのうち前記スパース要素以外の要素である非スパース要素に関する演算を行う処理と、
    前記第1の重み要素同士の加算結果と前記スパース要素の乗算結果と前記非スパース要素に関する演算結果を加算する処理と、
    をコンピュータに実行させるプログラム。
JP2019550399A 2017-11-01 2018-10-30 情報処理装置、情報処理方法及びプログラム Active JP6822581B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2017211761 2017-11-01
JP2017211761 2017-11-01
PCT/JP2018/040258 WO2019088072A1 (ja) 2017-11-01 2018-10-30 情報処理装置、情報処理方法及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2019088072A1 JPWO2019088072A1 (ja) 2020-11-12
JP6822581B2 true JP6822581B2 (ja) 2021-01-27

Family

ID=66331787

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019550399A Active JP6822581B2 (ja) 2017-11-01 2018-10-30 情報処理装置、情報処理方法及びプログラム

Country Status (3)

Country Link
US (1) US11580194B2 (ja)
JP (1) JP6822581B2 (ja)
WO (1) WO2019088072A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3884655A4 (en) * 2019-01-17 2022-07-20 Nokia Technologies Oy OVERHEAD REDUCTION IN CHANNEL STATE INFORMATION FEEDBACK
JP7225831B2 (ja) * 2019-01-23 2023-02-21 富士通株式会社 演算処理装置,プログラム及び演算処理装置の制御方法
US11681922B2 (en) * 2019-11-26 2023-06-20 Numenta, Inc. Performing inference and training using sparse neural network
US11977885B2 (en) * 2020-11-30 2024-05-07 Intel Corporation Utilizing structured sparsity in systolic arrays
CN114581676B (zh) 2022-03-01 2023-09-26 北京百度网讯科技有限公司 特征图像的处理方法、装置和存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03102567A (ja) 1989-09-18 1991-04-26 Sony Corp 行列乗算回路
WO2013031083A1 (ja) 2011-09-02 2013-03-07 パナソニック株式会社 対称型フィルタ演算装置及び対称型フィルタ演算方法
US9668699B2 (en) * 2013-10-17 2017-06-06 Siemens Healthcare Gmbh Method and system for anatomical object detection using marginal space deep neural networks
US10339447B2 (en) 2014-01-23 2019-07-02 Qualcomm Incorporated Configuring sparse neuronal networks
JP6327926B2 (ja) 2014-04-30 2018-05-23 国立研究開発法人情報通信研究機構 階層型ニューラルネットワークの学習システム及び方法
JP2016139176A (ja) 2015-01-26 2016-08-04 シャープ株式会社 画像処理装置、画像処理システム、画像処理方法、およびその画像処理プログラム
US9633306B2 (en) * 2015-05-07 2017-04-25 Siemens Healthcare Gmbh Method and system for approximating deep neural networks for anatomical object detection
US10970629B1 (en) * 2017-02-24 2021-04-06 Amazon Technologies, Inc. Encodings for reversible sparse dimensionality reduction
US20190087713A1 (en) * 2017-09-21 2019-03-21 Qualcomm Incorporated Compression of sparse deep convolutional network weights
US20210397963A1 (en) * 2020-06-17 2021-12-23 Tencent America LLC Method and apparatus for neural network model compression with micro-structured weight pruning and weight unification

Also Published As

Publication number Publication date
WO2019088072A1 (ja) 2019-05-09
JPWO2019088072A1 (ja) 2020-11-12
US20200301995A1 (en) 2020-09-24
US11580194B2 (en) 2023-02-14

Similar Documents

Publication Publication Date Title
JP6822581B2 (ja) 情報処理装置、情報処理方法及びプログラム
EP3549069B1 (en) Neural network data entry system
US11741362B2 (en) Training neural networks using mixed precision computations
EP3575952A1 (en) Arithmetic processing device, information processing device, method and program
CN115456159A (zh) 一种数据处理方法和数据处理设备
JP7174243B2 (ja) 情報処理装置、ニューラルネットワークプログラム、ニューラルネットワークの処理方法
US11423288B2 (en) Neuromorphic synthesizer
US20180005113A1 (en) Information processing apparatus, non-transitory computer-readable storage medium, and learning-network learning value computing method
US20190347072A1 (en) Block floating point computations using shared exponents
KR102442055B1 (ko) 전자 장치 및 그 제어 방법
JP2017068577A (ja) 演算装置、方法及びプログラム
US20190114542A1 (en) Electronic apparatus and control method thereof
US20210287070A1 (en) Data processing apparatus, data processing method, and non-transitory computer-readable storage medium
CN111095304A (zh) 电子设备及其控制方法
CN111027670B (zh) 特征图处理方法、装置、电子设备及存储介质
US20220180171A1 (en) Four-bit training for machine learning
EP3757902A1 (en) Information processing device, information processing program, and information processing method
KR20220158768A (ko) 기계 학습 가속을 위한 전력 감소
Panchal et al. Leontief input-output model with trapezoidal fuzzy numbers and Gauss-Seidel algorithm
CN108229668B (zh) 基于深度学习的运算实现方法、装置和电子设备
WO2020054819A1 (ja) データ解析装置、データ解析方法及びプログラム
Zarepour et al. An optimal control approach for arbitrary order singularly perturbed boundary value problems
JP7114321B2 (ja) データ処理装置及びその方法
CN113538205B (zh) 基于surf算法的特征点检测方法和装置
JP6337682B2 (ja) 磁化解析装置、磁化解析方法および磁化解析プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200428

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201221

R150 Certificate of patent or registration of utility model

Ref document number: 6822581

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150