JP2021108230A - ニューラルネットワーク処理装置およびニューラルネットワーク処理方法 - Google Patents

ニューラルネットワーク処理装置およびニューラルネットワーク処理方法 Download PDF

Info

Publication number
JP2021108230A
JP2021108230A JP2021079516A JP2021079516A JP2021108230A JP 2021108230 A JP2021108230 A JP 2021108230A JP 2021079516 A JP2021079516 A JP 2021079516A JP 2021079516 A JP2021079516 A JP 2021079516A JP 2021108230 A JP2021108230 A JP 2021108230A
Authority
JP
Japan
Prior art keywords
neural network
input
output
processing
unit
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
JP2021079516A
Other languages
English (en)
Inventor
貴登 山田
Takato YAMADA
貴登 山田
ビルチェス アントニオ トーマス ネバド
Tomas Nevado Vilchez Antonio
ビルチェス アントニオ トーマス ネバド
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.)
Leap Mind Inc
Original Assignee
Leap Mind Inc
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 Leap Mind Inc filed Critical Leap Mind Inc
Publication of JP2021108230A publication Critical patent/JP2021108230A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • 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

Abstract

【課題】組み込み用のハードウェアを使用した場合であってもニューラルネットワークの処理速度の低下を抑制することができるニューラルネットワーク処理装置、およびニューラルネットワーク処理方法を提供する。【解決手段】CNN処理装置(1)は、CNNに与えられる入力信号Aを記憶する入力バッファ(10)と、重みUを記憶する重みバッファ(11)と、入力信号Aと重みUとの積和演算を含む畳み込み演算を行う畳み込み演算部(12)と、畳み込み演算の演算結果を入力とし、入力された値を予め規定されている条件に基づいて変換し、変換したデータのビット精度を削減して量子化する変換−量子化処理の結果を出力としたとき、変換−量子化処理の入力と出力とを互いに関連付けたテーブル(160)を記憶する記憶部(16)と、テーブル(160)を参照して畳み込み演算の演算結果に対応する変換−量子化処理の出力を取得する処理部(14)とを備える。【選択図】 図1

Description

本発明は、ニューラルネットワーク処理装置およびニューラルネットワーク処理方法に関する。
近年、画像を複数のカテゴリに分類するためのディープニューラルネットワークとして、畳み込みニューラルネットワーク(Convolutional Neural Network:CNN)が注目されている。CNNは、ディープニューラルネットワークにおいて畳み込み層を有することを特徴とする。畳み込み層では、入力データに対してフィルタを適用する。より詳細には、畳み込み層では、フィルタのウィンドウを一定のストライドでスライドさせて、フィルタの要素と入力データの対応する要素とを乗算し、その和を求める積和演算を行う。
図13は、一般的なCNNの信号処理のフローを示す図である。CNNは、入力層、中間層、および出力層を有する(例えば、非特許文献1および非特許文献2参照)。中間層においては、入力信号に重みを掛け合わせる畳み込み演算を行われる。
図13に示すように、中間層においては、畳み込み演算の結果に対して、必要に応じてReLU(Rectified Linear Units)による検出処理やBN(Batch Normalization)などの正規化(以下、これらを総称して「変換」ということがある。)が行われる。また、場合によってはプーリング処理が行われる。
畳み込み演算を介して抽出された入力信号の特徴は、全結合層からなる分類器にかけられ、分類結果が出力層から出力される。このように、CNNなどのニューラルネットワークにおいては、積和演算および変換演算が繰り返し行われていることがその特徴の1つとして挙げられる。
ここで、CNNに用いられる入力データの入力値や重みは、小数点を含む場合があるが、従来のCNNなどのニューラルネットワークの積和演算においては、図13の「入力信号」、「重み」、および「畳み込み演算」の各値に示すように、演算結果の桁数を確保した形での演算処理が行われている。このように、従来のCNNなどのニューラルネットワークでは、多層で構成される中間層などにおいては、桁数の多い多数の入力値に対し、多数の演算処理が必要となる。
K.He,X.Zhang,S.Ren,and J.Sun.Deep residual learning for image recognition.In Proc.of CVPR,2016.(*ResNet) 麻生英樹 他、「Deep Learning 深層学習」近代科学社、2015年11月
しかし、従来のCNNなどのニューラルネットワークをFPGA(Field Programmable Gate Array)やマイコンなどの組み込み用のハードウェアで実装する場合、計算リソースに制限があるため、桁数の多い多数の入力値に対する多数の演算処理による処理速度の低下が課題となっていた。
本発明は、上述した課題を解決するためになされたものであり、組み込み用のハードウェアを使用した場合であってもニューラルネットワークの処理速度の低下を抑制することができるニューラルネットワーク処理装置、およびニューラルネットワーク処理方法を提供することを目的とする。
上述した課題を解決するために、本発明に係るニューラルネットワーク処理装置は、ニューラルネットワークに与えられる入力信号を記憶する第1メモリと、前記ニューラルネットワークの重みを記憶する第2メモリと、前記入力信号と前記重みとの積和演算を含む前記ニューラルネットワークの畳み込み演算を行う演算部と、前記演算部による畳み込み演算の演算結果を入力とし、入力された値を予め規定されている条件に基づいて変換し、変換したデータのビット精度を削減して量子化する変換−量子化処理の結果を出力としたとき、前記変換−量子化処理の入力と出力とを互いに関連付けたテーブルを記憶する第3メモリと、前記テーブルを参照して、前記演算部による演算結果に対応する前記変換−量子化処理の出力を取得する処理部とを備えることを特徴とする。
上述した課題を解決するために、本発明に係るニューラルネットワーク処理方法は、ニューラルネットワークに与えられる入力信号を第1メモリに記憶する第1ステップと、前記ニューラルネットワークの重みを第2メモリに記憶する第2ステップと、前記入力信号と前記重みとの積和演算を含む前記ニューラルネットワークの畳み込み演算を行う第3ステップと、前記第3ステップでの畳み込み演算の演算結果を入力として、入力された値を予め規定されている条件に基づいて変換し、変換したデータのビット精度を削減して量子化する変換−量子化処理の結果を出力としたとき、前記変換−量子化処理の入力と出力とを互いに関連付けたテーブルを第3メモリに記憶する第4ステップと、前記テーブルを参照して、前記第3ステップでの演算結果に対応する前記変換−量子化処理の出力を取得する第5ステップとを備えることを特徴とする。
本発明によれば、畳み込み演算の演算結果を予め規定された条件に基づいて変換し、変換したデータのビット精度を削減して量子化する変換−量子化処理の入力と出力とを互いに関連付けたテーブルを参照して、畳み込み演算の演算結果に対応する変換−量子化処理の出力を取得するので、組み込み用のハードウェアを使用した場合であってもニューラルネットワークの処理速度の低下を抑制することができる。
図1は、本発明の実施の形態に係るCNN処理装置の機能の概要を説明するブロック図である。 図2は、本発明の実施の形態に係るCNN処理装置のハードウェア構成を示すブロック図である。 図3は、本発明の実施の形態に係るCNN処理方法のフローの概要を説明するための図である。 図4は、第1の実施の形態に係る処理部の機能を説明するブロック図である。 図5は、第1の実施の形態に係るテーブルの構成を説明するための図である。 図6は、第1の実施の形態に係る処理部の機能を説明するための図である。 図7は、第2の実施の形態に係る処理部の機能を説明するブロック図である。 図8は、第2の実施の形態に係るテーブルの構成を説明するための図である。 図9は、第2の実施の形態に係るCNN処理方法のフローを説明するための図である。 図10は、第3の実施の形態に係る処理部の機能を説明するブロック図である。 図11は、第3の実施の形態に係るテーブルの構成を説明するための図である。 図12は、第3の実施の形態に係るCNN処理方法のフローを説明するための図である。 図13は、従来のCNNの演算処理を説明するための図である。
以下、本発明の好適な実施の形態について、図1から図12を参照して詳細に説明する。
[CNN処理装置の概要]
本発明に係るニューラルネットワーク処理装置は、ニューラルネットワークとしてCNNを用いたCNN処理装置1である。
本実施の形態に係るCNN処理装置1は、CNNに与えられる入力信号とCNNの重みとの積和演算を行って演算結果を出力し、さらに演算結果に対してReLUを適用して積和演算の結果を変換する演算処理装置である。この演算処理は、CNNの中間層における畳み込み層の積和演算(以下、「畳み込み演算」ということがある。)と、畳み込み演算の演算結果を予め規定された条件に基づいて変換する変換演算とを含む。なお、以下においては、「変換」の一例として、畳み込み演算の演算結果に対してReLUを適用する場合について説明する。
CNN処理装置1は、入力信号と重みとの畳み込み演算を行い、その演算結果にReLUを適用して、1層分の畳み込み層の出力を得る。
以下においては、説明の簡単のため、畳み込み層の積和演算の結果にReLUが適用されて算出された演算結果が次の畳み込み層の入力信号として用いられるものとする。CNN処理装置1は、入力信号と重みとの積和演算および変換演算を繰り返し行って、予め設定されているCNNモデルが有する畳み込み層の数に応じた回数の積和演算および変換処理を実行する。
[CNN処理装置の機能ブロック]
上述したCNN処理装置1は、入力バッファ(第1メモリ)10、重みバッファ(第2メモリ)11、畳み込み演算部(演算部)12、演算結果バッファ13、処理部14、出力バッファ15、および記憶部(第3メモリ)16を備える。
入力バッファ10は、CNNに与えられる入力信号を記憶するメモリである。より詳細には、入力バッファ10は、後述する主記憶装置103によって実現され、この入力バッファ10には、例えば、外部から与えられた画像データなどが記憶される。入力バッファ10に与えられる入力信号は、予め前処理を行った画像データであってもよい。前処理の例としては、モノクロ変換、コントラスト調整、および輝度調整などが挙げられる。また、入力信号は、CNN処理装置1において予め設定されているCNNモデルに応じて設定されたビット深度となるように縮小されていてもよい。
入力バッファ10に与えられる入力信号の値としては、例えば、32ビットや16ビット精度の浮動小数点の配列で表現された小数点を含む値や、これらの値を予め設定されたビット数表現に削減した値が用いられる。
重みバッファ11は、CNNの重みを記憶するメモリである。より詳細には、重みバッファ11は、後述する主記憶装置103によって実現され、重みバッファ11には、CNN処理装置1の外部に設置されたサーバ(図示しない)や記憶部16などに予め記憶されているCNNの重みパラメータがロードされる。本実施の形態では、重みの値として、32ビットや16ビット精度の浮動小数点の配列で表現された小数点を含む値や、これらの値を予め設定されたビット数表現に削減した値が用いられる。
畳み込み演算部12は、入力バッファ10に記憶されている入力信号と、重みバッファ11に記憶されている重みとの積和演算を含むCNNの畳み込み演算を行う。より詳細には、畳み込み演算部12は、入力バッファ10と重みバッファ11とからそれぞれ入力信号と重みとを読み出して、CNN処理装置1において予め設定されているCNNモデルを構成する畳み込み層に応じた畳み込み演算を行う。畳み込み演算部12が出力する演算結果は、演算結果バッファ13に供給される。
演算結果バッファ13は、畳み込み演算部12による畳み込み演算の結果をバッファリングする。
処理部14は、記憶部16に記憶されているテーブル160を参照して、演算結果バッファ13から読み出した畳み込み演算の結果に対し、変換および量子化の処理(以下、「変換−量子化処理」ということがある。)を行った結果を出力する。より詳細には、処理部14は、演算結果バッファ13に記憶されている畳み込み演算の結果を読み出し、変換−量子化処理の入出力関係が記憶されているテーブル160を参照して、変換−量子化処理の入力に対応する値を取得して出力する。
ここで、畳み込み演算の結果の変換は、例えば、ReLUなどの活性化関数の適用や、BNなどを用いた正規化を含み、畳み込み演算の演算結果を予め規定された条件に基づいて変換することをいう。活性化関数は、畳み込み演算の演算結果を決定する。
畳み込み演算の結果に対して適用するReLUは、畳み込み演算の結果が負であれば0に、正であれば畳み込み演算の結果を1次変換した値に変換させるランプ関数である。このように、ReLUなど畳み込み演算の演算結果を変換する処理の入出力関係は予め規定されている。
一方、畳み込み演算の演算結果がReLUなどを介して変換された値は、演算負荷の軽減のためにビット精度を削減して量子化される。データの量子化は、例えば、四捨五入、切り上げ、切り捨て、最近接丸めなどよく知られた端数処理を含み、ReLUを介して畳み込み演算の結果が変換された値、例えば小数点を含む値を整数化するなどして制限をかけることをいう。
処理部14は、例えば、ReLUへの入力、すなわち、積和演算の結果と、ReLUの出力をさらに量子化した値とが互いに関連付けて記憶されているテーブル160を参照する。そのため、処理部14は、畳み込み演算の演算結果のReLUによる変換処理と量子化処理とをあわせて実行することができる。
すなわち、処理部14は、テーブル160を参照して、畳み込み演算の結果に対応するReLUなどによる変換処理および量子化処理の2つの演算処理を経た値を取得する。
出力バッファ15は、処理部14によって取得された出力を一時的に記憶する。
記憶部16は、テーブル160を備える。記憶部16は、出力バッファ15に一時的に記憶されている処理部14からの出力を格納する。
テーブル160は、変換−量子化処理の入力と出力とを互いに関連付けて記憶する。より具体的には、テーブル160は、予め規定されているReLUなどの変換処理の入力と、ReLUによって変換された値を予め設定されている端数処理により量子化した出力とを互いに関連付けたデータを記憶する。
[CNN処理装置のハードウェア構成]
次に、上述した機能を有するCNN処理装置1のハードウェア構成の例について図2のブロック図を用いて説明する。
図2に示すように、CNN処理装置1は、例えば、バス101を介して接続されるプロセッサ102、主記憶装置103、通信インターフェース104、補助記憶装置105、入出力装置106を備えるコンピュータと、これらのハードウェア資源を制御するプログラムによって実現することができる。
主記憶装置103には、プロセッサ102が各種制御や演算を行うためのプログラムが予め格納されている。プロセッサ102と主記憶装置103とによって、図1に示した畳み込み演算部12および処理部14を含むCNN処理装置1の各機能が実現される。
主記憶装置103によって、図1で説明した入力バッファ10、重みバッファ11、演算結果バッファ13、および出力バッファ15が実現される。
通信インターフェース104は、通信ネットワークNWを介して各種外部電子機器との通信を行うためのインターフェース回路である。通信インターフェース104を介して、CNN処理装置1が用いる画像データなどの入力信号や、重みを、外部のサーバなどから受信してもよい。
補助記憶装置105は、読み書き可能な記憶媒体と、その記憶媒体に対してプログラムやデータなどの各種情報を読み書きするための駆動装置とで構成されている。補助記憶装置105には、記憶媒体としてハードディスクやフラッシュメモリなどの半導体メモリを使用することができる。
補助記憶装置105は、外部から取得された入力データや重みを記憶する記憶領域や、CNN処理装置1が畳み込み演算などのCNNの演算処理を行うためのプログラムを格納するプログラム格納領域を有する。補助記憶装置105によって、図1で説明した記憶部16が実現される。さらには、例えば、上述したデータやプログラムなどをバックアップするためのバックアップ領域などを有していてもよい。
入出力装置106は、外部機器からの信号を入力したり、外部機器へ信号を出力したりするI/O端子により構成される。入出力装置106を介して、図示しない表示装置などを備えて、CNN処理装置1によって出力される演算結果を表示してもよい。
ここで、補助記憶装置105のプログラム格納領域に格納されているプログラムは、本明細書で説明するCNN処理方法の順序に沿って時系列に処理が行われるプログラムであってもよく、並列に、あるいは呼び出しが行われたときなどの必要なタイミングで処理が行われるプログラムであってもよい。また、プログラムは、1つのコンピュータにより処理されるものでもよく、複数のコンピュータによって分散処理されるものであってもよい。
[CNN処理方法]
次に、上述した構成を有するCNN処理装置1の動作の概要について図3を参照して説明する。まず、入力バッファ10および重みバッファ11は、CNN処理装置1の外部に設置されたサーバなどから与えられた入力信号Aおよび重みUをそれぞれ一時的に記憶する(ステップS1、ステップS2)。
入力信号Aは、ベクトル化された入力画像データであり、縦方向と横方向の次元を持つ。入力信号Aの値は、例えば、複数桁の小数点を含む値で表現される。一方、重みUは、行列で表されるカーネルの要素であり、CNNの学習によって調整および更新されて最終的に決定されるパラメータである。重みUの値についても、縦方向と横方向の次元を持ち、各要素は、例えば、複数桁の小数点を含む値で表現される。
次に、畳み込み演算部12は、入力バッファ10および重みバッファ11からそれぞれ入力信号Aおよび重みUを読み出して、畳み込み演算を行う(ステップS3)。より詳細には、畳み込み演算部12は、入力信号Aのベクトルと重みUの行列を乗算する。
具体的には、畳み込み演算部12は、予め設定されているCNNのフィルタのウィンドウを所定のストライドでスライドさせる。畳み込み演算部12は、フィルタのそれぞれの場所で、重みUの要素と、入力信号Aの対応する要素とを乗算し、その和を求める。
畳み込み演算部12は、この積和演算による畳み込み演算の演算結果Xを演算結果バッファ13の対応する場所に格納する(ステップS4)。
その後、処理部14は、演算結果バッファ13から畳み込み演算の結果Xを読み出して、記憶部16のテーブル160を参照し、演算結果Xを変換−量子化処理した出力Yを取得する(ステップS5)。取得された出力Yは、出力バッファ15に一時的に記憶され、プロセッサ102により読み出されて出力される(ステップS6)。
なお、必要に応じて処理部14が取得した出力Yに対してよく知られたプーリング処理を行ってもよい(非特許文献2参照)。ステップS6で得られた出力Yは、CNNの特徴抽出部の出力として、後続の図示しない分類器を構成する全結合層に入力され、入力信号Aの画像データの判別が行われる。
以上説明したように、本発明に係るCNN処理装置1は、ReLUなどの変換処理への入力と、ReLUによって変換された値を量子化した出力とを互いに関連付けたテーブル160を記憶部16に記憶している。CNN処理装置1は、テーブル160を参照して、畳み込み演算の演算結果に対応する変換−量子化処理の出力を取得する。そのため、ReLUなどの変換処理と、変換された値に対する量子化処理とを各々独立して実行する場合に比較して、CNN処理装置1の計算負荷を低減することができる。また、その結果として、CNNの信号処理の高速化が可能となる。
[第1の実施の形態]
次に、上述した構成を有するCNN処理装置1の具体的な例として、本発明の第1の実施の形態に係るCNN処理装置1について説明する。図4は、CNN処理装置1の処理部14の機能構成を示すブロック図である。CNN処理装置1のその他の構成は、図1で説明した構成と同様である。また、図5は、テーブル160のデータ構造を説明する図である。図6は、処理部14による変換−量子化処理を説明する図である。
[処理部の機能ブロック]
処理部14は、入力判定部140および出力取得部141を備える。
入力判定部140は、畳み込み演算の演算結果を演算結果バッファ13から読み出して、予め設定されている変換−量子化処理の各入力区間との比較を行い、畳み込み演算の演算結果、すなわち変換−量子化処理の入力の値が含まれる入力区間を判定する。
ここで、記憶部16に記憶されているテーブル160は、変換−量子化処理の入力を連続する複数の区間に分割した入力区間のそれぞれと、ReLUなどによって変換された値を量子化した値とを互いに関連付けたデータを記憶する。
具体的には、図5に示すように、テーブル160には、例えば、変換−量子化処理の入力が5つの区間に分けられて、各入力区間と変換−量子化処理の出力とが互いに関連付けられたデータが記憶されている。例えば、畳み込み演算の演算結果Xが「1」である場合には、入力判定部140は、各入力区間との比較により、演算結果Xが入力区間「1≦X<2」に該当することを判定する。
出力取得部141は、記憶部16に記憶されているテーブル160を参照して、入力判定部140による判定結果に応じた入力区間に対応する変換−量子化処理の出力Yを取得する。
具体的には、図6に示すように、出力取得部141は、入力判定部140によって判定された5つの入力区間のうちのいずれかに対応する変換−量子化処理の出力Yを取得する。図6に示す変換−量子化処理の例では、ReLUによる変換処理、および予め設定されている端数処理による量子化処理の2つの演算処理を合わせて行っている。
[CNN処理方法]
次に、上述した入力判定部140を有する本実施の形態に係るCNN処理装置1の動作について図3を参照して説明する。なお、本実施の形態に係るCNN処理方法において、ステップS1からステップS4まではCNN処理方法の概要で説明した処理と同様である。
まず、入力バッファ10および重みバッファ11は、CNN処理装置1の外部に設置されたサーバなどから与えられた入力信号Aおよび重みUをそれぞれ一時的に記憶する(ステップS1、ステップS2)。
次に、畳み込み演算部12は、入力バッファ10および重みバッファ11からそれぞれ入力信号Aおよび重みUを読み出して、畳み込み演算を行う(ステップS3)。より詳細には、畳み込み演算部12は、入力信号Aのベクトルと重みUの行列を乗算する。
次に、畳み込み演算部12は、この積和演算による畳み込み演算の演算結果Xを演算結果バッファ13の対応する場所に格納する(ステップS4)。
その後、処理部14は、演算結果バッファ13から畳み込み演算の結果Xを読み出して、記憶部16のテーブル160を参照し、演算結果Xが変換−量子化処理された出力Yを取得する(ステップS5)。より詳細には、入力判定部140は、畳み込み演算の結果X、すなわち、変換−量子化処理の入力Xについて、予め設定されている変換−量子化処理の入力区間ごとに値の比較を行い、演算結果Xの値が含まれる入力区間を判定する。その後、出力取得部141は、テーブル160を参照して、入力判定部140によって判定された入力区間に対応する変換−量子化処理の出力Yを取得する。
取得された出力Yは、出力バッファ15に一時的に記憶され、プロセッサ102により読み出されて出力される(ステップS6)。
以上説明したように、第1の実施の形態に係るCNN処理装置1によれば、畳み込み演算の演算結果、すなわち変換−量子化処理の入力の値が、変換−量子化処理の連続する複数の入力区間のうちどの入力区間に含まれるのかを判定し、判定結果に基づいて、テーブル160を参照して変換−量子化処理の出力を取得する。
そのため、ReLUなどの変換処理と、畳み込み演算の演算結果の量子化処理とを、入力区間の判定およびテーブル160の参照により実行することができるので、組み込み用のハードウェアを使用した場合であってもCNNの演算負荷の低減および処理速度の低下を抑制することができる。
また、変換−量子化処理の入出力関係を示すテーブル160は、補助記憶装置105などのハードウェアの記憶領域に保存される。そのため、ニューラルネットワークの形態に応じてテーブル160の値を入れ替えることにより、所望の処理機能を有するニューラルネットワークをハードウェアによってより柔軟に実現することができる。
[第2の実施の形態]
次に、本発明の第2の実施の形態について説明する。なお、以下の説明では、上述した第1の実施の形態と同じ構成については同一の符号を付し、その説明を省略する。
第1の実施の形態では、処理部14は入力判定部140を備え、入力判定部140が、畳み込み演算の演算結果と、変換−量子化処理における連続する複数の入力区間とを比較する場合につて説明した。これに対し、第2の実施の形態では、処理部14は、変換−量子化処理の入力に対する閾値処理を行う閾値処理部(第1閾値処理部)142を備える。以下、第1の実施の形態と異なる構成を中心に説明する。
[処理部の機能ブロック]
処理部14は、出力取得部141および閾値処理部142を備える。
閾値処理部142は、畳み込み演算の演算結果を演算結果バッファ13から読み出して、変換−量子化処理の入力に対して予め設定されている閾値との比較を行う。
ここで、本実施の形態に係る記憶部16のテーブル160Aには、図8に示すように、変換−量子化処理の入力に対して、例えば、5つ閾値が設定されており、各閾値と変換−量子化処理の出力とを互いに関連付けたデータが記憶されている。
閾値処理部142は、例えば、畳み込み演算の演算結果Xが設定された閾値未満であるか閾値以上であるかを比較する。具体的には、畳み込み演算に演算結果Xが「1」である場合には、閾値処理部142は、演算結果X(「1」)は、設定されている閾値「2」未満で閾値「1」以上であるとの比較結果を出力する。
出力取得部141は、閾値処理部142による比較結果に基づいて、テーブル160Aを参照し、比較結果に応じた入力の閾値に対応する変換−量子化処理の出力Yを取得する。出力取得部141によって取得された出力は出力バッファ15に一時的に記憶される。
[CNN処理方法]
次に、上述した閾値処理部142を有する本実施の形態に係るCNN処理装置1の動作について図9を参照して説明する。なお、本実施の形態に係るCNN処理方法において、ステップS1からステップS4までは図3のCNN処理方法の概要で説明した処理と同様である。
まず、入力バッファ10および重みバッファ11は、CNN処理装置1の外部に設置されたサーバなどから与えられた入力信号Aおよび重みUをそれぞれ一時的に記憶する(ステップS1、ステップS2)。
次に、畳み込み演算部12は、入力バッファ10および重みバッファ11からそれぞれ入力信号Aおよび重みUを読み出して、畳み込み演算を行う(ステップS3)。より詳細には、畳み込み演算部12は、入力信号Aのベクトルと重みUの行列を乗算する。
次に、畳み込み演算部12は、この積和演算による畳み込み演算の演算結果Xを演算結果バッファ13の対応する場所に格納する(ステップS4)。
その後、処理部14は、演算結果バッファ13から畳み込み演算の結果Xを読み出して、記憶部16のテーブル160Aを参照し、演算結果Xが変換−量子化処理された出力Yを取得する(ステップS5A)。より詳細には、閾値処理部142は、畳み込み演算の結果Xについて、変換−量子化処理の入力に対して予め設定されている閾値との比較を行い、演算結果Xを下回る閾値を出力する。その後、出力取得部141は、テーブル160Aを参照して、閾値処理部142によって出力された入力の閾値に対応する出力Yを取得する。
取得された出力Yは、出力バッファ15に一時的に記憶され、プロセッサ102により読み出されて出力される(ステップS6)。
以上説明したように、第2の実施の形態に係るCNN処理装置1によれば、変換−量子化処理への入力に対して予め設定された閾値と、その閾値と変換−量子化処理の出力とを互いに関連付けたテーブル160Aが記憶部16に記憶されている。また、出力取得部141は、畳み込み演算の演算結果と閾値との比較結果に基づいて、テーブル160Aを参照して変換−量子化処理の出力を取得する。
そのため、畳み込み演算の演算結果に対するReLUなどによる変換処理と、畳み込み演算の演算結果の量子化処理とを閾値処理によって実行することができる。したがって、変換−量子化処理の出力が単調増加または単調減少する場合においては、閾値との比較により変換−量子化処理の出力を一意に決定することができる。
特に、ある一定のハードウェアによってCNN処理装置1を実現した場合に、入力区間を用いた比較は逐次処理が必要となるのに対し、入力と閾値との比較は一括で行うことができる。したがって、CNN処理装置1によれば、組み込み用のハードウェアを使用した場合であってもCNNの演算処理をより高速に行うことができる。
[第3の実施の形態]
次に、本発明の第3の実施の形態について説明する。なお、以下の説明では、上述した第1および第2の実施の形態と同じ構成については同一の符号を付し、その説明を省略する。
第2の実施の形態では、変換−量子化処理の出力が単調増加または単調減少する場合において、閾値処理部142は、変換−量子化処理の入力に対して予め設定されている閾値との比較を行う場合について説明した。これに対して、第3の実施の形態では、変換−量子化処理の出力が単調増加する入力の区間と、単調減少する入力の区間とを識別する分割情報に基づいて、変換−量子化処理の入力の値が属するいずれかの入力の区間内のみで閾値処理を行う。以下、第1および第2の実施の形態と異なる構成を中心に説明する。
[処理部の機能ブロック]
処理部14は、入力判定部140、出力取得部141、および閾値処理部(第2閾値処理部)142を備える。
入力判定部140は、変換−量子化処理の出力が単調増加する入力の区間と、単調減少する入力の区間とを識別する分割情報に基づいて、前記演算部による畳み込み演算の演算結果Xの属する前記変換−量子化処理の入力の区間を判定する。
閾値処理部142は、畳み込み演算部12による演算結果Xと、変換−量子化処理の入力に対して予め設定されている複数の閾値とを入力判定部140によって判定された入力の区間内で比較して、演算結果Xに対応する閾値を出力する。
出力取得部141は、記憶部16に記憶されたテーブル160Bを参照し、閾値処理部142により出力された閾値に対応する変換−量子化処理の出力Yを取得する。
記憶部16はテーブル160Bを記憶する。図11に示すように、テーブル160Bには、変換−量子化処理の出力が単調増加する入力の区間と、単調減少する入力の区間とを識別する分割情報と、変換−量子化処理の入力に対して予め設定されている複数の閾値と、複数の閾値のそれぞれに対応する変換−量子化処理の出力とを互いに関連付けたデータが記憶されている。
分割情報は、例えば、活性化関数などの変換処理を介した畳み込み演算の演算結果をさらに量子化した出力が、2次関数のように単調増加する区間と単調減少する区間で構成される場合に、その単調増加と単調減少とが切り替わる頂点を示す情報などを含む。
図11の例に示すように、変換−量子化処理の入出力の関係において、入力X=6を境界として出力Yが単調増加および単調減少する。
図11の例において、例えば、畳み込み演算の演算結果X(入力X)が「6」未満(X<6)であるとする。この場合、入力判定部140は、変換−量子化処理への入力Xは単調増加する入力の区間に属すると判定する。
[CNN処理方法]
次に、上述した構成を有する本実施の形態に係るCNN処理装置1の動作について図12を参照して説明する。なお、本実施の形態に係るCNN処理方法において、ステップS1からステップS4までは、図3のCNN処理方法の概要で説明した処理と同様である。
まず、入力バッファ10および重みバッファ11は、CNN処理装置1の外部に設置されたサーバなどから与えられた入力信号Aおよび重みUをそれぞれ一時的に記憶する(ステップS1、ステップS2)。
次に、畳み込み演算部12は、入力バッファ10および重みバッファ11からそれぞれ入力信号Aおよび重みUを読み出して、畳み込み演算を行う(ステップS3)。より詳細には、畳み込み演算部12は、入力信号Aのベクトルと重みUの行列を乗算する。
次に、畳み込み演算部12は、この積和演算による畳み込み演算の演算結果Xを演算結果バッファ13の対応する場所に格納する(ステップS4)。
その後、処理部14は、演算結果バッファ13から畳み込み演算の結果Xを読み出して、記憶部16のテーブル160Bを参照し、演算結果Xが変換−量子化処理された出力Yを取得する(ステップS5B)。
より詳細には、入力判定部140は、変換−量子化処理の出力が単調増加する入力の区間と、単調減少する入力の区間とを識別する分割情報に基づいて、変換−量子化処理への入力X、すなわち、畳み込み演算の演算結果Xが属する入力の区間を判定する。
その後、閾値処理部142は、畳み込み演算の演算結果X(入力X)と、変換−量子化処理の入力Xに対して予め設定された閾値とを入力判定部140によって判定された入力の区間内で比較し、比較結果に応じた閾値を出力する。その後、出力取得部141は、テーブル160Bを参照し、閾値処理部142によって出力された閾値に対応する変換−量子化処理の出力Yを取得する。
取得された出力Yは、出力バッファ15に一時的に記憶され、プロセッサ102により読み出されて出力される(ステップS6)。
以上説明したように、第3の実施の形態に係るCNN処理装置1によれば、変換−量子化処理の出力Yが単調増加する入出力の区間と単調減少する入出力の区間とを識別する分割情報に基づいて、変換−量子化処理の入力Xが属する区間を判定する。そして、判定された入力の区間内において、変換−量子化処理への入力Xに対する閾値処理を行い、テーブル160Bを参照し、変換−量子化処理の出力Yを取得する。
そのため、変換−量子化処理の入出力の関係が単調増加または単調減少でない場合であっても、単調増加および単調減少する区間ごとに閾値処理を行うので、より高速にCNNの演算処理を行うことができる。
以上、本発明のニューラルネットワーク処理装置、ニューラルネットワーク処理方法、およびニューラルネットワーク処理プログラムにおける実施の形態について説明したが、本発明は説明した実施の形態に限定されるものではなく、請求項に記載した発明の範囲において当業者が想定し得る各種の変形を行うことが可能である。
例えば、説明した実施の形態では、ニューラルネットワークの一例としてCNNを挙げて説明したが、ニューラルネットワーク処理装置が採用するニューラルネットワークはCNNに限らない。
なお、ここで開示された実施の形態に関連して記述された様々の機能ブロック、モジュール、および回路は、汎用プロセッサ、GPU、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、FPGAあるいはその他のプログラマブル論理デバイス、ディスクリートゲートあるいはトランジスタロジック、ディスクリートハードウェア部品、または上述した機能を実現するために設計された上記いずれかの組み合わせを用いて実行されうる。
汎用プロセッサとしてマイクロプロセッサを用いることが可能であるが、代わりに、従来技術によるプロセッサ、コントローラ、マイクロコントローラ、あるいは状態機器を用いることも可能である。プロセッサは、例えば、DSPとマイクロプロセッサとの組み合わせ、複数のマイクロプロセッサ、DSPコアに接続された1つ以上のマイクロプロセッサ、またはこのような任意の構成である計算デバイスの組み合わせとして実現することも可能である。
1…CNN処理装置、10…入力バッファ、11…重みバッファ、12…畳み込み演算部、13…演算結果バッファ、14…処理部、15…出力バッファ、16…記憶部、101…バス、102…プロセッサ、103…主記憶装置、104…通信インターフェース、105…補助記憶装置、106…入出力装置、160…テーブル、NW…通信ネットワーク、U…重み、A…入力信号。

Claims (15)

  1. ニューラルネットワークに与えられる入力信号に基づいて重みとの積和演算を含む前記ニューラルネットワークの畳み込み演算を行う演算部と、
    前記演算部の演算結果を入力とし、この入力に対して所定の変換および量子化を含む変換−量子化処理を行った結果を出力とする処理部と
    を備え、
    前記変換−量子化処理における量子化は、前記入力信号よりもビット精度を削減して量子化することを特徴とするニューラルネットワーク処理装置。
  2. 請求項1に記載のニューラルネットワーク処理装置において、
    前記処理部は、
    前記処理部の入力を複数の区間に分割した複数の入力区間と、前記処理部の出力とを互いに関連付けたテーブルと、
    前記テーブルを用いて前記畳み込み演算の演算結果に基づく前記処理部の入力が含まれる入力区間を判定する入力判定部と、
    前記テーブルを用いて前記入力判定部による判定結果に応じて前記処理部の出力を取得する出力取得部と
    を有する
    ことを特徴とするニューラルネットワーク処理装置。
  3. 請求項1に記載のニューラルネットワーク処理装置において、
    前記処理部は、
    前記畳み込み演算の演算結果に基づく前記処理部の入力に対して予め設定されている複数の閾値との比較結果を出力する閾値処理部と、
    前記閾値処理部による比較結果に基づいて前記処理部の出力を取得する出力取得部と
    を有する
    ことを特徴とするニューラルネットワーク処理装置。
  4. 請求項3に記載のニューラルネットワーク処理装置において、
    前記処理部は、
    入力に対して前記処理部の出力が単調増加するか、または単調減少するかを識別する識別部をさらに有し、
    前記閾値処理部は、前記識別部の識別結果に基づいて予め設定されている前記複数の閾値から前記比較に用いる閾値を選択する
    ことを特徴とするニューラルネットワーク処理装置。
  5. 請求項1乃至4のいずれか1項に記載のニューラルネットワーク処理装置において、
    前記ニューラルネットワークに与えられる入力信号は画像データであり、
    前記画像データは予め前処理を行った画像データである
    ことを特徴とするニューラルネットワーク処理装置。
  6. 請求項1乃至5のいずれか1項に記載のニューラルネットワーク処理装置において、
    前記入力信号または前記積和演算に用いる重みを外部のサーバーから取得する通信インターフェースをさらに備える
    ことを特徴とするニューラルネットワーク処理装置。
  7. 請求項1乃至6のいずれか1項に記載のニューラルネットワーク処理装置において、
    前記変換−量子化処理における変換は、活性化演算及び正規化演算の少なくとも一つを含む
    ことを特徴とするニューラルネットワーク処理装置。
  8. 請求項7に記載のニューラルネットワーク処理装置において、
    前記変換−量子化処理は、活性化演算及び正規化演算の少なくとも一つと合わせて前記畳み込み演算の演算結果に対する量子化を行う
    ことを特徴とするニューラルネットワーク処理装置。
  9. 請求項1乃至8のいずれか1項に記載のニューラルネットワーク処理装置において、
    外部の表示装置へ信号を出力するための出力部をさらに有し、
    前記出力部はニューラルネットワーク処理装置における演算結果を前記表示装置に出力する
    ことを特徴とするニューラルネットワーク処理装置。
  10. 請求項1から9のいずれか1項に記載のニューラルネットワーク処理装置において、
    前記ニューラルネットワークは、少なくとも1層の中間層を有する多層ニューラルネットワークである
    ことを特徴とするニューラルネットワーク処理装置。
  11. 請求項1から10のいずれか1項に記載のニューラルネットワーク処理装置において、
    前記処理部は、プロセッサ、特定用途向け集積回路、プログラマブル論理デバイス、ディスクリート部品の一つ以上からなる
    ことを特徴とするニューラルネットワーク処理装置。
  12. ニューラルネットワークに与えられる入力信号に基づいて重みとの積和演算を含む前記ニューラルネットワークの畳み込み演算を行う演算ステップと、
    前記畳み込み演算の演算結果を入力とし、この入力に対して所定の変換および量子化を含む変換−量子化処理を行った結果を出力とする処理ステップと
    を有し、
    前記変換−量子化処理における量子化は、前記入力信号よりもビット精度を削減して量子化する
    ことを特徴とするニューラルネットワーク処理方法。
  13. 請求項12に記載のニューラルネットワーク処理方法において、
    前記処理ステップは、
    前記処理部の入力を複数の区間に分割した複数の入力区間と、前記処理部の出力とを互いに関連付けたテーブルを用いて、前記畳み込み演算の演算結果に基づく前記処理ステップの入力が含まれる入力区間を判定する入力判定ステップと、
    前記テーブルを用いて前記入力判定ステップにおける判定結果に応じて前記処理ステップの出力を取得する出力取得ステップと
    を有する
    ことを特徴とするニューラルネットワーク処理方法。
  14. 請求項12に記載のニューラルネットワーク処理方法において、
    前記処理ステップは、
    前記畳み込み演算の演算結果に基づく前記処理ステップの入力に対して予め設定されている複数の閾値との比較結果を出力する閾値処理ステップと、
    前記閾値処理ステップにおける比較結果に基づいて前記処理ステップの出力を取得する出力取得ステップと
    を有する
    ことを特徴とするニューラルネットワーク処理方法。
  15. 請求項14に記載のニューラルネットワーク処理方法において、
    前記処理ステップは、
    入力に対して前記処理ステップの出力が単調増加するか、または単調減少するかを識別する識別ステップをさらに有し、
    前記閾値処理ステップは、前記識別ステップの識別結果に基づいて予め設定されている前記複数の閾値から前記比較に用いる閾値を選択する
    ことを特徴とするニューラルネットワーク処理方法。
JP2021079516A 2018-10-10 2021-05-10 ニューラルネットワーク処理装置およびニューラルネットワーク処理方法 Pending JP2021108230A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2018192021 2018-10-10
JP2018192021 2018-10-10
JP2020504046A JP6886747B2 (ja) 2018-10-10 2019-09-10 ニューラルネットワーク処理装置、ニューラルネットワーク処理方法、およびニューラルネットワーク処理プログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2020504046A Division JP6886747B2 (ja) 2018-10-10 2019-09-10 ニューラルネットワーク処理装置、ニューラルネットワーク処理方法、およびニューラルネットワーク処理プログラム

Publications (1)

Publication Number Publication Date
JP2021108230A true JP2021108230A (ja) 2021-07-29

Family

ID=70163789

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2020504046A Active JP6886747B2 (ja) 2018-10-10 2019-09-10 ニューラルネットワーク処理装置、ニューラルネットワーク処理方法、およびニューラルネットワーク処理プログラム
JP2021079516A Pending JP2021108230A (ja) 2018-10-10 2021-05-10 ニューラルネットワーク処理装置およびニューラルネットワーク処理方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2020504046A Active JP6886747B2 (ja) 2018-10-10 2019-09-10 ニューラルネットワーク処理装置、ニューラルネットワーク処理方法、およびニューラルネットワーク処理プログラム

Country Status (4)

Country Link
US (1) US20210232894A1 (ja)
JP (2) JP6886747B2 (ja)
CN (1) CN112930543A (ja)
WO (1) WO2020075433A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200139909A (ko) 2019-06-05 2020-12-15 삼성전자주식회사 전자 장치 및 그의 연산 수행 방법
US11360822B2 (en) * 2019-09-12 2022-06-14 Bank Of America Corporation Intelligent resource allocation agent for cluster computing
US11562235B2 (en) * 2020-02-21 2023-01-24 International Business Machines Corporation Activation function computation for neural networks
CN115702426A (zh) * 2020-06-30 2023-02-14 利普麦德株式会社 神经网络生成装置、神经网络生成方法以及神经网络生成程序

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006154992A (ja) * 2004-11-26 2006-06-15 Akita Prefecture ニューロプロセッサ
JP2010041457A (ja) * 2008-08-06 2010-02-18 Mitsubishi Electric Corp 超高感度撮像装置
JP2010134697A (ja) * 2008-12-04 2010-06-17 Canon Inc コンボリューション演算回路、階層的コンボリューション演算回路及び物体認識装置
US20160179434A1 (en) * 2014-12-19 2016-06-23 Intel Corporation Storage device and method for performing convolution operations
US20160328647A1 (en) * 2015-05-08 2016-11-10 Qualcomm Incorporated Bit width selection for fixed point neural networks
US20180032866A1 (en) * 2016-07-28 2018-02-01 Samsung Electronics Co., Ltd. Neural network method and apparatus
WO2018101275A1 (ja) * 2016-12-02 2018-06-07 国立大学法人東京工業大学 ニューラルネットワーク回路装置、ニューラルネットワーク、ニューラルネットワーク処理方法およびニューラルネットワークの実行プログラム
US20180211152A1 (en) * 2017-01-20 2018-07-26 Nvidia Corporation Automated methods for conversions to a lower precision data format
CN108364061A (zh) * 2018-02-13 2018-08-03 北京旷视科技有限公司 运算装置、运算执行设备及运算执行方法
JP2018135069A (ja) * 2017-02-23 2018-08-30 パナソニックIpマネジメント株式会社 情報処理システム、情報処理方法及びプログラム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06259585A (ja) * 1993-03-10 1994-09-16 Toyota Central Res & Dev Lab Inc ニューラルネットワーク装置
JPH07248841A (ja) * 1994-03-09 1995-09-26 Mitsubishi Electric Corp 非線形関数発生装置およびフォーマット変換装置
JP3438537B2 (ja) * 1997-07-18 2003-08-18 株式会社デンソー ニューラルネットワークの演算装置
JP2002342308A (ja) * 2001-05-21 2002-11-29 Ricoh Co Ltd 演算装置、プログラム及び関数値算出方法
JP2006301894A (ja) * 2005-04-20 2006-11-02 Nec Electronics Corp マルチプロセッサシステム、及びマルチプロセッサシステムのメッセージ伝達方法
JP4880316B2 (ja) * 2006-02-08 2012-02-22 株式会社エヌ・ティ・ティ・ドコモ 無線通信装置及び無線通信方法
US10373050B2 (en) * 2015-05-08 2019-08-06 Qualcomm Incorporated Fixed point neural network based on floating point neural network quantization
JP6525912B2 (ja) * 2016-03-23 2019-06-05 富士フイルム株式会社 画像分類装置、方法およびプログラム
US20180046903A1 (en) * 2016-08-12 2018-02-15 DeePhi Technology Co., Ltd. Deep processing unit (dpu) for implementing an artificial neural network (ann)
CN108345939B (zh) * 2017-01-25 2022-05-24 微软技术许可有限责任公司 基于定点运算的神经网络
CN108230277B (zh) * 2018-02-09 2020-09-11 中国人民解放军战略支援部队信息工程大学 一种基于卷积神经网络的双能ct图像分解方法
US10740432B1 (en) * 2018-12-13 2020-08-11 Amazon Technologies, Inc. Hardware implementation of mathematical functions
US11475285B2 (en) * 2019-01-28 2022-10-18 Samsung Electronics Co., Ltd. Neural network accelerator and operating method thereof
CN113570033B (zh) * 2021-06-18 2023-04-07 北京百度网讯科技有限公司 神经网络处理单元、神经网络的处理方法及其装置
JP2023076026A (ja) * 2021-11-22 2023-06-01 ルネサスエレクトロニクス株式会社 半導体装置

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006154992A (ja) * 2004-11-26 2006-06-15 Akita Prefecture ニューロプロセッサ
JP2010041457A (ja) * 2008-08-06 2010-02-18 Mitsubishi Electric Corp 超高感度撮像装置
JP2010134697A (ja) * 2008-12-04 2010-06-17 Canon Inc コンボリューション演算回路、階層的コンボリューション演算回路及び物体認識装置
US20160179434A1 (en) * 2014-12-19 2016-06-23 Intel Corporation Storage device and method for performing convolution operations
US20160328647A1 (en) * 2015-05-08 2016-11-10 Qualcomm Incorporated Bit width selection for fixed point neural networks
US20180032866A1 (en) * 2016-07-28 2018-02-01 Samsung Electronics Co., Ltd. Neural network method and apparatus
WO2018101275A1 (ja) * 2016-12-02 2018-06-07 国立大学法人東京工業大学 ニューラルネットワーク回路装置、ニューラルネットワーク、ニューラルネットワーク処理方法およびニューラルネットワークの実行プログラム
US20180211152A1 (en) * 2017-01-20 2018-07-26 Nvidia Corporation Automated methods for conversions to a lower precision data format
JP2018135069A (ja) * 2017-02-23 2018-08-30 パナソニックIpマネジメント株式会社 情報処理システム、情報処理方法及びプログラム
CN108364061A (zh) * 2018-02-13 2018-08-03 北京旷视科技有限公司 运算装置、运算执行设备及运算执行方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
平賀由利亜、三谷剛正、福岡久和、中田 尚、中島康彦: "エッジコンピューティングによる分散ニューラルネットワークの構想", 電子情報通信学会技術研究報告, vol. 117, no. 44, JPN6022044460, 15 May 2017 (2017-05-15), JP, pages 63 - 67, ISSN: 0005022243 *
廣瀬一俊、植松瞭太、安藤洸太、折茂健太郎、植吉晃大、高前田伸也、池辺将之、浅井哲也、本村真人: "対数量子化による深層ニューラルネットワークのメモリ量削減", 電子情報通信学会技術研究報告, vol. 117, no. 45, JPN6022011131, 15 May 2017 (2017-05-15), JP, pages 39 - 44, ISSN: 0004737874 *

Also Published As

Publication number Publication date
CN112930543A (zh) 2021-06-08
US20210232894A1 (en) 2021-07-29
JPWO2020075433A1 (ja) 2021-02-15
JP6886747B2 (ja) 2021-06-16
WO2020075433A1 (ja) 2020-04-16

Similar Documents

Publication Publication Date Title
JP6886747B2 (ja) ニューラルネットワーク処理装置、ニューラルネットワーク処理方法、およびニューラルネットワーク処理プログラム
US11003736B2 (en) Reduced dot product computation circuit
CN110610237A (zh) 模型的量化训练方法、装置及存储介质
WO2022078002A1 (zh) 一种图像处理方法、装置、设备及可读存储介质
CN110738235B (zh) 肺结核判定方法、装置、计算机设备及存储介质
CN108875519B (zh) 对象检测方法、装置和系统及存储介质
CN111240746B (zh) 一种浮点数据反量化及量化的方法和设备
CN110717585A (zh) 神经网络模型的训练方法、数据处理方法和相关产品
CN113642711B (zh) 一种网络模型的处理方法、装置、设备和存储介质
WO2022028147A1 (zh) 图像分类模型训练方法、装置、计算机设备及存储介质
WO2020168754A1 (zh) 基于预测模型的绩效预测方法、装置及存储介质
WO2020249085A1 (zh) 基于神经网络计算的数据处理方法和装置
CN110874627A (zh) 数据处理方法、数据处理装置及计算机可读介质
CN113642710B (zh) 一种网络模型的量化方法、装置、设备和存储介质
CN114139693A (zh) 神经网络模型的数据处理方法、介质和电子设备
CN112465050A (zh) 一种图像模板选择方法、装置、设备及存储介质
JP7040771B2 (ja) ニューラルネットワーク処理装置、通信装置、ニューラルネットワーク処理方法、およびプログラム
US20220004857A1 (en) Neural network processing apparatus, neural network processing method, and neural network processing program
US20220391676A1 (en) Quantization evaluator
US20230058500A1 (en) Method and machine learning system to perform quantization of neural network
US11861452B1 (en) Quantized softmax layer for neural networks
TWI837298B (zh) 類神經網路處理裝置、類神經網路處理方法及類神經網路處理程式
CN112634938A (zh) 基于音频的人员积极性分析方法、装置、设备及存储介质
CN107735800B (zh) 一种图像处理方法以及相关装置
CN112070144A (zh) 图像聚类方法、装置、电子设备以及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210510

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220309

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220329

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20220527

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220727

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221101

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230104

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20230328

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230627

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20230705

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20230929