JP2021044783A - 情報処理装置,情報処理方法および情報処理プログラム - Google Patents

情報処理装置,情報処理方法および情報処理プログラム Download PDF

Info

Publication number
JP2021044783A
JP2021044783A JP2019167608A JP2019167608A JP2021044783A JP 2021044783 A JP2021044783 A JP 2021044783A JP 2019167608 A JP2019167608 A JP 2019167608A JP 2019167608 A JP2019167608 A JP 2019167608A JP 2021044783 A JP2021044783 A JP 2021044783A
Authority
JP
Japan
Prior art keywords
quantization
information processing
distribution
variable elements
variable
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.)
Ceased
Application number
JP2019167608A
Other languages
English (en)
Inventor
靖文 坂井
Yasubumi Sakai
靖文 坂井
創作 森木
Sosaku Moriki
創作 森木
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2019167608A priority Critical patent/JP2021044783A/ja
Priority to EP20186055.8A priority patent/EP3792836A1/en
Priority to US16/930,356 priority patent/US11811427B2/en
Priority to CN202010788818.XA priority patent/CN112508165A/zh
Publication of JP2021044783A publication Critical patent/JP2021044783A/ja
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3059Digital compression and data reduction techniques where the original information is represented by a subset or similar information, e.g. lossy compression
    • 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/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/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic 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/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/70Type of the data to be coded, other than image and sound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Neurology (AREA)
  • Image Analysis (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

【課題】量子化されたニューラルネットワークで学習した場合の認識精度を向上させる。【解決手段】量子化対象データを構成する複数の変数要素の出現頻度の分布を取得する統計処理部102と、複数の変数要素の出現頻度の分布に基づき、複数の変数要素のうち最大値の変数要素よりも小さい変数要素に量子化位置の最上位ビット(MSB)位置を合わせる量子化位置設定部103とを備える。【選択図】図2

Description

本発明は、情報処理装置,情報処理方法および情報処理プログラムに関する。
ニューラルネットワークは、生物学的脳をモデリングしたコンピュータ科学的アーキテクチャを参照する。最近、ニューラルネットワーク技術の発展により、多種の電子システムにおいて、ニューラルネットワークを活用して入力データを分析し、有効な情報を抽出する研究が活発に進められている。
ニューラルネットワークの処理装置は、複雑な入力データに対する多量の演算を必要とする。
画像処理などで顕著な成果を示しているニューラルネットワークは、その演算処理を複雑にすることで高い性能を実現している。また、ニューラルネットワークの演算処理は複雑化の傾向にある。このような演算処理の複雑化により、ニューラルネットワーク向け計算機の演算回数や必要となるメモリ量が増加している。
このように複雑化の傾向にあるニューラルネットワークの実行時間を短縮する手法として、重みや勾配などの、ニューラルネットワークに使用される変数を固定小数点に量子化する手法が知られている。
特開2018−124681号公報 特開2019−32833号公報 特開2019−79531号公報
しかしながら、このような従来手法で量子化されたニューラルネットワークで学習した場合の画像等の認識精度が、量子化しない場合の認識精度よりも劣化してしまうという課題がある。
1つの側面では、本発明は、量子化されたニューラルネットワークで学習した場合の認識精度を向上させることを目的とする。
このため、この情報処理装置は、量子化対象データの量子化を行なう情報処理装置であって、前記量子化対象データを構成する複数の変数要素の出現頻度の分布を取得する統計処理部と、前記複数の変数要素の出現頻度の分布に基づき、前記複数の変数要素のうち最大値の変数要素よりも小さい変数要素に量子化位置の最上位ビット位置を合わせる量子化位置設定部とを備える。
一実施形態によれば、量子化されたニューラルネットワークで学習した場合の認識精度を向上させることができる。
実施形態の一例としての計算機システムのハードウェア構成を例示する図である。 実施形態の一例としての計算機システムの機能構成を例示する図である。 ニューラルネットワークの概要を示す図である。 固定小数点による数値を説明するための図である。 実施形態の一例としての計算機システムにおける量子化位置を説明するための図である。 従来の計算機システムにおける量子化位置を説明するための図である。 実施形態の一例としての計算機システムの量子化位置設定部による処理を説明するためのフローチャートである。 実施形態の一例としての計算機システムの量子化手法による画像認識率を例示する図である。 実施形態の一例としての計算機システムの量子化手法による画像認識率を説明するための図である。
以下、図面を参照して本情報処理装置,情報処理方法および情報処理プログラムに係る実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。また、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
(A)構成
図1は実施形態の一例としての計算機システム1のハードウェア構成を例示する図である。
計算機システム1は、情報処理装置であって、固定小数点に量子化されたニューラルネットワークを実現する。計算機システム1は、図1に示すように、CPU(Central Processing Unit)10,メモリ11およびアクセラレータ12を備える。これらのCPU10,メモリ11およびアクセラレータ12は、通信バス13を介して相互に通信可能に接続されている。通信バス13は、本計算機システム1内のデータ通信を行なう。
メモリ11は、ROM(Read Only Memory)およびRAM(Random Access Memory)を含む記憶メモリである。メモリ11のROMには、量子化処理に係るソフトウェアプログラムやこのプログラム用のデータ類が書き込まれている。メモリ11上のソフトウェアプログラムは、CPU10に適宜読み込まれて実行される。また、メモリ11のRAMは、一次記憶メモリあるいはワーキングメモリとして利用される。メモリ11のRAMには、重みなどの量子化に用いられるパラメータも格納される。
アクセラレータ12は、行列演算などのニューラルネットワークの計算に必要な演算処理を実行する。
CPU10は、種々の制御や演算を行なう処理装置(プロセッサ)であり、実装されたプログラムに基づき、計算機システム1全体を制御する。そして、このCPU10がメモリ11等に格納された深層学習処理プログラム(図示省略)を実行することで、後述する深層学習処理部100としての機能を実現する。
また、深層学習処理プログラムは量子化処理プログラムを含んで構成されてもよい。CPU10がメモリ11等に格納された量子化処理プログラム(図示省略)を実行することで、後述する量子化処理部101としての機能を実現する。
そして、計算機システム1のCPU10が、深層学習処理プログラム(量子化処理プログラム,情報処理プログラム)を実行することにより、深層学習処理部100(量子化処理部101)として機能する。
なお、深層学習処理部100(量子化処理部101,情報処理プログラム)としての機能を実現するためのプログラム(深層学習処理プログラム,量子化処理プログラム)は、例えばフレキシブルディスク,CD(CD−ROM,CD−R,CD−RW等),DVD(DVD−ROM,DVD−RAM,DVD−R,DVD+R,DVD−RW,DVD+RW,HD DVD等),ブルーレイディスク,磁気ディスク,光ディスク,光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータ(計算機システム1)はその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。また、そのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
深層学習処理部100(量子化処理部101)としての機能を実現する際には、内部記憶装置(本実施形態ではメモリ11のRAMやROM)に格納されたプログラムがコンピュータのマイクロプロセッサ(本実施形態ではCPU10)によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
図2は実施形態の一例としての計算機システム1の機能構成を例示する図である。
計算機システム1は、図2に示すように、深層学習処理部100としての機能を備える。深層学習処理部100は、ニューラルネットワークにおける深層学習を実施する。
ニューラルネットワークは、ハードウェア回路であってもよいし、CPU10等によりコンピュータプログラム上で仮想的に構築される階層間を接続するソフトウェアによる仮想的なネットワークであってもよい。
図3にニューラルネットワークの概要を示す。図3に示すニューラルネットワークは、入力層と出力層との間に複数の隠れ層を含むディープニューラルネットワークである。例えば、隠れ層は、畳み込み層、プーリング層または全結合層等である。各層に示す丸印は、所定の計算をそれぞれ実行するノードを示す。
ニューラルネットワークは、例えば、画像や音声などの入力データを入力層に入力し、畳み込み層やプーリング層などで構成される隠れ層にて所定の計算を順次実行することで、演算により得られる情報を入力側から出力側に順次伝えるフォーワッド方向の処理(順伝播処理)を実行する。フォーワッド方向の処理の実行後、出力層から出力される出力データと正解データから得られる誤差関数の値を小さくするために、フォーワッド方向の処理で使用するパラメータを決定するバックワード方向の処理(逆伝播処理)とを実行する。そして、逆伝播処理の結果に基づいて重み等の変数を更新する更新処理が実行される。例えば、逆伝播処理の計算に使用される重みの更新幅を決定するアルゴリズムとして、勾配降下法が使用される。
重みの更新式を以下の式(1)に示す。
t+1 ← W−η・Δw ・・・(1)
なお、wt+1は更新後の重みであり、Wは更新前の重みである。ηはニューラルネットワークの学習率である。Δwは勾配である。
深層学習処理部100は、量子化処理部101を備える。
量子化処理部101は、ニューラルネットワークに使用される変数を量子化する。例えば、量子化処理部101は、上述した勾配Δwを量子化する。
また、量子化処理部101は、変数を表現するデータ型を変更して量子化を行なう機能を備える。量子化処理部101は、浮動小数点タイプの変数を固定小数点タイプの変数に変換してもよい。
例えば、量子化処理部101は、例えば、32ビット浮動小数点数から8ビット固定小数点数に変更してもよい。
また、本計算機システム1において、量子化処理部101は、統計処理部102および量子化位置設定部103としての機能を備える。
統計処理部102は、量子化対象のデータのビットの分布について統計情報を取得する。例えば、統計処理部102は、量子化対象である勾配Δwの値の出現頻度を計数する。統計処理部102は、固定小数点による勾配Δwの値の出現頻度を計数する。
統計処理部102は、量子化対象データを構成する複数の変数要素の出現頻度の分布を取得する。なお、量子化対象データを構成する複数の変数要素の出現頻度の分布は既知の手法で取得することができ、その説明は省略する。
量子化位置設定部103は、量子化位置を設定する。
図4は固定小数点による数値を説明するための図である。
この図4においてはビット幅が8ビットであり、小数点ビット幅が3ビットの固定小数点<8,3>の構成を例示する。
この図4に例示する固定小数点<8,3>は、以下の式(2)で表される。
Figure 2021044783
上記式(2)において、最後尾にある“2^(-3)”の指数部分である“-3”が小数点ビット幅に相当し、量子化の分解能を示す。そして、この小数点ビット幅で決まる“-3”が量子化位置に相当する。量子化位置を量子化範囲といってもよい。
図5は実施形態の一例としての計算機システム1における量子化位置を説明するための図である。図5においては、量子化前の変数の分布を線グラフで示す。この図5に例示する分布図において、横軸は量子化対象の変数要素(底を2とする対数値)を表し、図中右側が上位のビット位置(大きい値)を示す。すなわち、図5においては、量子化対象データを構成する複数の変数要素の出現頻度の分布を示し、横軸は量子化対象である勾配Δwの変数要素(底を2とする対数値)を表す。また、縦軸は出現頻度(度数)を表す。
量子化位置設定部103は、学習率ηが所定の閾値Tよりも小さい場合に、勾配Δwについての量子化範囲を、当該量子化範囲のMSB(Most Significant Bit:最上位ビット)が、量子化前の変数要素の分布における最大値(量子化最大値)よりも小さい値に合わせる(設定する)。なお、学習率ηの閾値Tは、システム管理者等により予め設定され、メモリ11の所定の記憶領域に予め記憶させてもよい。
図5に示す例においては、量子化位置設定部103は、量子化範囲を、当該量子化範囲のMSB(図5中の符号P1参照)が、量子化前の変数要素の分布における最大値(量子化最大値:図5中の符号P2参照)よりも8ビット小さい値になるように(ずらして)設定している。
この図5に示す量子化前の変数要素の分布において、量子化位置よりも右側の領域(図5中の斜線を付した領域)は、量子化範囲から外れる値(量子化範囲外)を示す。量子化位置設定部103は、量子化範囲から外れる値を量子化後の最上位ビット位置となるように量子化位置を設定する。
量子化位置設定部103がこのように量子化位置を設定することにより、量子化処理部101による量子化を行なうことで、量子化前の変数要素のうちMSBを先頭とする少なくとも1つの値が量子化範囲外となる。すなわち、量子化前の変数要素のうち大きい方から数えて一つ以上の値が量子化範囲外となる。
なお、量子化前の変数要素の分布に対する量子化位置をずらす量は適宜変更して実施することができる。また、この量子化位置をずらす量はメモリ11等の所定の記憶領域に予め記憶されている。
また、この量子化範囲外となった変数要素については、例えば、四捨五入を行なうことで量子化範囲にその一部を含めるよう丸めてもよい。これにより、量子化前の変数要素のうち大きい値が量子化範囲の値に丸められる。
なお、量子化位置設定部103は、Δw以外のニューラルネットワーク内の変数(例えば、重み,活性や重み更新に用いない勾配)の小数部は、量子化前の値の最大値が量子化位置のMSBとなるように設定してもよい。
ここで、従来の量子化手法における量子化位置を説明する。
図6は従来の計算機システムにおける量子化位置を説明するための図である。図6においても、量子化前の変数の分布を線グラフで示す。この図6に例示する分布図において、横軸は量子化対象の変数要素(底を2とする対数値)を表し、図中右側が上位のビット位置(大きい値)を示す。すなわち、図6においては、横軸は量子化対象である勾配Δwの変数要素(底を2とする対数値)を表す。また、縦軸は出現頻度(度数)を表す。
従来の量子化手法においては、量子化範囲を、当該量子化範囲のMSBが、量子化前の変数要素の分布におけるMSBに合わせる(設定する)。
図6に示す例においては、量子化範囲が、当該量子化範囲のMSB(図6中の符号P3参照)が、量子化前の変数要素の分布における最大値(量子化最大値:図6中の符号P4参照)となるように設定している。
これにより、量子化を行なうことで、量子化前の変数要素のうち値が小さい方から少なくとも1つの値が量子化範囲外となる。すなわち、量子化前の変数要素のうち小さい方から数えて一つ以上の値が量子化範囲外となる。
また、この量子化範囲外となった変数要素については、例えば、四捨五入を行なうことで量子化範囲にその一部を含めるよう丸めてもよい。これにより、量子化前の変数要素のうち小さい値が量子化範囲の値に丸められる。
(B)動作
上述の如く構成された実施形態の一例としての計算機システム1の量子化位置設定部103による処理を、図7に示すフローチャート(ステップS1〜S3に従って説明する)。以下の処理は、量子化処理部101が勾配Δwを固定小数点に量子化する際に行なわれる。
ニューラルネットワークの学習時、すなわち、重みの更新時において、量子化位置設定部103は、学習率ηが予め規定された閾値T以上であるかを確認する(ステップS1)。
確認の結果、学習率ηが予め規定された閾値T以上である場合には(ステップS1のYESルート参照)、量子化位置設定部103は、量子化範囲を、当該量子化範囲のMSBが量子化最大値に一致するように設定する(ステップS2)。
一方、ステップS1の確認の結果、学習率ηが予め規定された閾値T未満である場合には(ステップS1のNOルート参照)、量子化位置設定部103は、量子化範囲を、当該量子化範囲のMSBが量子化最大値よりも小さな値に設定する(ステップS3)。
その後、量子化処理部101は、量子化位置設定部103によって設定された量子化位置に対して量子化を実行する。なお、量子化処理部101による量子化処理は既知の手法により実現することができ、その説明は省略する。
(C)効果
このように、実施形態の一例としての計算機システム1によれば、量子化位置設定部103が、量子化対象データを構成する複数の変数要素の出現頻度の分布において、最大値の変数要素よりも小さい変数要素に量子化位置の最上位ビット(MSB)位置を合わせる。これにより、ニューラルネットワークを量子化して学習させても、量子化しない場合に比べて、画像等の認識率の劣化量が低減される。
図8は実施形態の一例としての計算機システム1の量子化手法による画像認識率を例示する図である。
この図8においては、量子化しない場合(fp32),従来手法を用いて量子化した場合と、本計算機システム1の量子化手法を用いて量子化した場合との、各場合について学習結果(認識率)をそれぞれ図示している。
ここで、従来手法とは、量子化範囲を、当該量子化範囲のMSBが量子化最大値に一致するように設定する手法であり、本計算機システム1の量子化手法とは、量子化範囲を、当該量子化範囲のMSBが量子化最大値よりも小さな値に設定する手法である。特に、この図8に例示する比較結果において、量子化した場合(本発明)は、量子化位置のMSBが量子化最大値よりも8ビット小さな値となるように量子化位置を設定した場合を示す。
この図に示すように、従来手法を用いて量子化した場合の認識率は、量子化しない場合に比べて著しく低下している。これに対して、本計算機システム1の量子化手法においては、量子化しない場合に比べて認識率が同等となっていることがわかる。
すなわち、本計算機システム1によれば、ニューラルネットワークを量子化して学習させても、認識率は量子化しない場合と同等にすることができ、信頼性を向上させることができる。
図9は実施形態の一例としての計算機システム1の量子化手法による画像認識率を説明するための図である。
この図9においては、学習率が大きい場合における認識率と、学習率が小の場合における認識率とを示している。学習率が大きい場合は、前述した閾値Tよりも大きい状態を含み、学習率が小さいは、前述した閾値T以上であることを含む。
本計算機システム1は、学習率が閾値Tよりも小さい場合に、Δwの小数部を小さくする(図9中の右側参照)。すなわち、量子化範囲を、当該量子化範囲のMSBが量子化最大値よりも小さな値に設定する。これにより、学習率が小である場合において、量子化しない場合と同等の認識率を得ることができる。
また、本計算機システム1は、学習率が閾値Tよりも大きい場合には、Δwの小数部を小さくする(図9の左側参照)。すなわち、学習率が大きい場合には、量子化範囲を、当該量子化範囲のMSBが量子化最大値に一致するように設定する。これにより、認識率は従来手法と同等となる。
(D)その他
開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。本実施形態の各構成および各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
上述した実施形態では、量子化処理部101(量子化位置設定部103,統計処理部102)としての機能をCPU10がプログラムを実行することで実現しているが、これに限定されるものではない。量子化処理部101(量子化位置設定部103,統計処理部102)の少なくとも一部の機能を電子回路によって実現してもよく、種々変形して実施することができる。
上述した実施形態においては、量子化位置設定部103が、学習率ηが閾値T未満であることを検知したタイミングで、量子化範囲を当該量子化範囲のMSBが量子化最大値よりも小さな値に設定しているが、これに限定されるものではない。量子化位置設定部103は、学習率ηが閾値T未満であることを検知した後、少し遅れたタイミングで(例えば、1または2エポック後)に、量子化範囲の位置決めを行なってもよい。これにより学習速度を向上させることができるという効果を奏することができる。
また、上述した実施形態においては、量子化処理部101が、フォーワッド方向における演算に用いる重みの勾配wの量子化を行なう例を示したが、これに限定されるものではなく、種々変更して実施することができる。例えば、バックワード方向における演算に用いる勾配の量子化に適用してもよく、これにより、実装が容易になるという効果を奏することができる。
上述した実施形態においてはニューラルネットワークを画像認識に用いる例について示したが、これに限定されるものではなく、適宜変更して実施することができる。
また、上述した開示により本実施形態を当業者によって実施・製造することが可能である。
(E)付記
以上の実施形態に関し、さらに以下の付記を開示する。
(付記1)
量子化対象データの量子化を行なう処理を実行するプロセッサを有する情報処理装置であって、
前記プロセッサは、
前記量子化対象データを構成する複数の変数要素の出現頻度の分布を取得し、
前記複数の変数要素の出現頻度の分布に基づき、前記複数の変数要素のうち最大値の変数要素よりも小さい変数要素に量子化位置の最上位ビット位置を合わせる、処理を行なうことを特徴とする、情報処理装置。
(付記2)
前記合わせる処理が、
量子化範囲から外れる値を量子化後の最上位ビット位置となるように処理する
ことを特徴とする、付記1記載の情報処理装置。
(付記3)
前記量子化対象データが、ニューラルネットワークの重みの更新に使用する勾配である
ことを特徴とする、付記1または2記載の情報処理装置。
(付記4)
ニューラルネットワークの学習率が所定の閾値よりも小さい場合に、前記複数の変数要素のうち最大値の変数要素よりも小さい変数要素に量子化位置の最上位ビット位置を合わせる
ことを特徴とする、付記1〜3のいずれか1項に記載の情報処理装置。
(付記5)
情報処理装置が、量子化対象データの量子化を行なうに際して、
前記量子化対象データを構成する複数の変数要素の出現頻度の分布を取得する処理と、
前記複数の変数要素の出現頻度の分布に基づき、前記複数の変数要素のうち最大値の変数要素よりも小さい変数要素に量子化位置の最上位ビット位置を合わせる処理と
を備えることを特徴とする、情報処理方法。
(付記6)
量子化範囲から外れる値を量子化後の最上位ビット位置となるように処理する
ことを特徴とする、付記5記載の情報処理方法。
(付記7)
前記量子化対象データが、ニューラルネットワークの重みの更新に使用する勾配である
ことを特徴とする、付記5または6記載の情報処理方法。
(付記8)
ニューラルネットワークの学習率が所定の閾値よりも小さい場合に、前記複数の変数要素のうち最大値の変数要素よりも小さい変数要素に量子化位置の最上位ビット位置を合わせる
ことを特徴とする、付記5〜7のいずれか1項に記載の情報処理方法。
(付記9)
量子化対象データの量子化を行なう情報処理装置のプロセッサに、
前記量子化対象データを構成する複数の変数要素の出現頻度の分布を取得し、
前記複数の変数要素の出現頻度の分布に基づき、前記複数の変数要素のうち最大値の変数要素よりも小さい変数要素に量子化位置の最上位ビット位置を合わせる
処理を実行させる、情報処理プログラム。
(付記10)
量子化範囲から外れる値を量子化後の最上位ビット位置となるように
前記プロセッサに処理を実行させる、付記9記載の情報処理プログラム。
(付記11)
前記量子化対象データが、ニューラルネットワークの重みの更新に使用する勾配である
ことを特徴とする、付記9または10記載の情報処理プログラム。
(付記12)
ニューラルネットワークの学習率が所定の閾値よりも小さい場合に、前記複数の変数要素のうち最大値の変数要素よりも小さい変数要素に量子化位置の最上位ビット位置を合わせる
処理を実行させる、付記9〜11のいずれか1項に記載の情報処理プログラム。
1 計算機システム
10 CPU
11 メモリ
12 アクセラレータ
13 通信バス
100 深層学習処理部
101 量子化処理部
102 統計処理部
103 量子化位置設定部

Claims (6)

  1. 量子化対象データの量子化を行なう処理を実行するプロセッサを有する情報処理装置であって、
    前記プロセッサは、
    前記量子化対象データを構成する複数の変数要素の出現頻度の分布を取得し、
    前記複数の変数要素の出現頻度の分布に基づき、前記複数の変数要素のうち最大値の変数要素よりも小さい変数要素に量子化位置の最上位ビット位置を合わせる、処理を行なうことを特徴とする、情報処理装置。
  2. 前記合わせる処理が、
    量子化範囲から外れる値を量子化後の最上位ビット位置となるように処理する
    ことを特徴とする、請求項1記載の情報処理装置。
  3. 前記量子化対象データが、ニューラルネットワークの重みの更新に使用する勾配である
    ことを特徴とする、請求項1または2記載の情報処理装置。
  4. ニューラルネットワークの学習率が所定の閾値よりも小さい場合に、前記量子化位置設定部が、前記複数の変数要素のうち最大値の変数要素よりも小さい変数要素に量子化位置の最上位ビット位置を合わせる
    ことを特徴とする、請求項1〜3のいずれか1項に記載の情報処理装置。
  5. 量子化対象データの量子化を行なうに際して、
    前記量子化対象データを構成する複数の変数要素の出現頻度の分布を取得する処理と、
    前記複数の変数要素の出現頻度の分布に基づき、前記複数の変数要素のうち最大値の変数要素よりも小さい変数要素に量子化位置の最上位ビット位置を合わせる処理と
    を備えることを特徴とする、情報処理方法。
  6. 量子化対象データの量子化を行なう情報処理装置のプロセッサに、
    前記量子化対象データを構成する複数の変数要素の出現頻度の分布を取得し、
    前記複数の変数要素の出現頻度の分布に基づき、前記複数の変数要素のうち最大値の変数要素よりも小さい変数要素に量子化位置の最上位ビット位置を合わせる
    処理を実行させる、情報処理プログラム。
JP2019167608A 2019-09-13 2019-09-13 情報処理装置,情報処理方法および情報処理プログラム Ceased JP2021044783A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2019167608A JP2021044783A (ja) 2019-09-13 2019-09-13 情報処理装置,情報処理方法および情報処理プログラム
EP20186055.8A EP3792836A1 (en) 2019-09-13 2020-07-15 Information processing apparatus, method of processing information, and information processing program
US16/930,356 US11811427B2 (en) 2019-09-13 2020-07-16 Information processing apparatus, method of processing information, and non-transitory computer-readable storage medium for storing information processing program
CN202010788818.XA CN112508165A (zh) 2019-09-13 2020-08-07 用于信息处理的设备、方法及非暂态计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019167608A JP2021044783A (ja) 2019-09-13 2019-09-13 情報処理装置,情報処理方法および情報処理プログラム

Publications (1)

Publication Number Publication Date
JP2021044783A true JP2021044783A (ja) 2021-03-18

Family

ID=71620356

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019167608A Ceased JP2021044783A (ja) 2019-09-13 2019-09-13 情報処理装置,情報処理方法および情報処理プログラム

Country Status (4)

Country Link
US (1) US11811427B2 (ja)
EP (1) EP3792836A1 (ja)
JP (1) JP2021044783A (ja)
CN (1) CN112508165A (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018155232A1 (ja) * 2017-02-23 2018-08-30 ソニー株式会社 情報処理装置、情報処理方法、並びにプログラム
US20180322391A1 (en) * 2017-05-05 2018-11-08 Nvidia Corporation Loss-scaling for deep neural network training with reduced precision

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6540725B2 (ja) 2017-01-30 2019-07-10 富士通株式会社 演算処理装置、方法、およびプログラム
US10467795B2 (en) * 2017-04-08 2019-11-05 Intel Corporation Sub-graph in frequency domain and dynamic selection of convolution implementation on a GPU
KR102601604B1 (ko) 2017-08-04 2023-11-13 삼성전자주식회사 뉴럴 네트워크의 파라미터들을 양자화하는 방법 및 장치
KR102564456B1 (ko) 2017-10-19 2023-08-07 삼성전자주식회사 뉴럴 네트워크의 파라미터를 양자화하는 장치 및 방법
US20190171927A1 (en) * 2017-12-06 2019-06-06 Facebook, Inc. Layer-level quantization in neural networks
JP2019139338A (ja) * 2018-02-07 2019-08-22 富士通株式会社 情報処理装置、情報処理方法、およびプログラム
CN108875924A (zh) * 2018-02-09 2018-11-23 北京旷视科技有限公司 基于神经网络的数据处理方法、装置、***及存储介质
CN110222821B (zh) * 2019-05-30 2022-03-25 浙江大学 基于权重分布的卷积神经网络低位宽量化方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018155232A1 (ja) * 2017-02-23 2018-08-30 ソニー株式会社 情報処理装置、情報処理方法、並びにプログラム
US20180322391A1 (en) * 2017-05-05 2018-11-08 Nvidia Corporation Loss-scaling for deep neural network training with reduced precision

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
WEI WEN, CONG XU, FENG YAN, CHUNPENG WU, YANDAN WANG, YIRAN CHEN, HAI LI: "TernGrad: Ternary Gradients to Reduce Communication in Distributed Deep Learning", 31ST CONFERENCE ON NEURAL INFORMATION PROCESSING SYSTEMS (NIPS 2017), JPN6023019569, 29 December 2017 (2017-12-29), ISSN: 0005058142 *

Also Published As

Publication number Publication date
EP3792836A1 (en) 2021-03-17
US20210081783A1 (en) 2021-03-18
CN112508165A (zh) 2021-03-16
US11811427B2 (en) 2023-11-07

Similar Documents

Publication Publication Date Title
US11043962B2 (en) Information processing apparatus, information processing method, and recording medium
JP2017097585A (ja) 学習装置、プログラム及び学習方法
US20190244097A1 (en) Information processing apparatus and information processing method
CN112687266B (zh) 语音识别方法、装置、计算机设备和存储介质
JP2021111143A (ja) 学習プログラム,学習方法および推定装置
EP3796233A1 (en) Information processing device and method, and program
KR102505946B1 (ko) 인공신경망 모델 학습 방법 및 시스템
US12033658B2 (en) Acoustic model learning apparatus, acoustic model learning method, and program
EP3792748A1 (en) Information processing device and method, and program
US20220405561A1 (en) Electronic device and controlling method of electronic device
JP2019211985A (ja) 学習プログラム、学習方法、及び情報処理装置
US20180114141A1 (en) Planning method for learning and planning system for learning with automatic mechanism of generating personalized learning path
JP2021044783A (ja) 情報処理装置,情報処理方法および情報処理プログラム
WO2022134946A1 (zh) 模型训练方法、装置、存储介质及设备
US20200356850A1 (en) Fusion of neural networks
CN114049539B (zh) 基于去相关二值网络的协同目标识别方法、***及装置
JP7243498B2 (ja) 演算処理装置、制御プログラム、及び制御方法
KR20220082618A (ko) 준합성 데이터 생성 장치 및 데이터 생성 방법
CN112598108A (zh) 信息处理设备、处理信息的方法和计算机可读记录介质
WO2022009433A1 (ja) 情報処理装置,情報処理方法および情報処理プログラム
JP2020190896A (ja) 情報処理装置、情報処理プログラム及び制御方法
JP6992864B1 (ja) ニューラルネットワーク軽量化装置、ニューラルネットワーク軽量化方法およびプログラム
JP7436830B2 (ja) 学習プログラム、学習方法、および学習装置
CN113924578A (zh) 搜索神经网络架构的方法和装置
JP7507172B2 (ja) 情報処理方法、情報処理システム及び情報処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220609

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230509

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230516

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230707

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20230707

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20231017

A045 Written measure of dismissal of application [lapsed due to lack of payment]

Free format text: JAPANESE INTERMEDIATE CODE: A045

Effective date: 20240227