JPWO2018198454A1 - 情報処理装置、および情報処理方法 - Google Patents

情報処理装置、および情報処理方法 Download PDF

Info

Publication number
JPWO2018198454A1
JPWO2018198454A1 JP2019505277A JP2019505277A JPWO2018198454A1 JP WO2018198454 A1 JPWO2018198454 A1 JP WO2018198454A1 JP 2019505277 A JP2019505277 A JP 2019505277A JP 2019505277 A JP2019505277 A JP 2019505277A JP WO2018198454 A1 JPWO2018198454 A1 JP WO2018198454A1
Authority
JP
Japan
Prior art keywords
information processing
processing apparatus
input
information
inner product
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
JP2019505277A
Other languages
English (en)
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Publication of JPWO2018198454A1 publication Critical patent/JPWO2018198454A1/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
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • 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
    • 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

Landscapes

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

Abstract

【課題】内積演算に係る処理負担をより軽減すると共に、重み係数の量子化粒度を保証する。【解決手段】複数の入力値と前記入力値にそれぞれ対応する複数の重み係数とに基づく内積演算を行い出力値を算出する演算部、を備え、前記演算部は、N次元超球表面におけるベクトル方向の粒度に基づいて量子化された前記重み係数に基づいて前記出力値を算出する、情報処理装置が提供される。また、複数の入力値と前記入力値にそれぞれ対応する複数の重み係数とに基づく積和演算を実行する積和演算回路を備え、前記積和演算回路は、値の小さい順番に並び替えられた複数の前記重み係数と対応する前記入力値のアドレス情報を保持する記憶回路と、前記アドレス情報により取得される前記入力値と前記重み係数に基づく演算を実行する乗算回路と、を備える、情報処理装置が提供される。【選択図】図8

Description

本開示は、情報処理装置、および情報処理方法に関する。
近年、脳神経系の仕組みを模した数学モデルであるニューラルネットワークが注目されている。また、ニューラルネットワークにおける演算の処理負担を軽減するための種々の手法が提案されている。例えば、非特許文献1には、重み係数を2値化することで、処理負担を軽減する手法が記載されている。また、非特許文献2には、入力信号をログドメインに変換することにより、乗算を加算に変換する手法が記載されている。
MatthieuCourbariaux、外2名、"BinaryConnect: Training Deep NeuralNetworks with binary weights during propagations"、[online]、2015年11月2日、arXiv、[平成29年3月22日検索]、インターネット〈URL: https://arxiv.org/pdf/1511.00363.pdf〉 Daisuke Miyashita、外2名、"Convolutional Neural Networks using Logarithmic Data Representation"、[online]、2016年3月3日、arXiv、[平成29年3月22日検索]、インターネット〈URL: https://arxiv.org/pdf/1603.01025.pdf〉
しかし、非特許文献1に記載の手法では、+1または−1を用いた2値化を行っているため、重み係数の次元数が増加するにつれて量子化の粒度が荒くなることが想定される。また、非特許文献2に記載の手法では、乗算の回避において所定の効果を有するものの、処理負担の軽減については、さらなる余地があるものと想定される。
そこで、本開示では、内積演算に係る処理負担をより軽減すると共に、重み係数の量子化粒度を保証することが可能な、新規かつ改良された情報処理装置および情報処理方法を提案する。
本開示によれば、複数の入力値と前記入力値にそれぞれ対応する複数の重み係数とに基づく内積演算を行い出力値を算出する演算部、を備え、前記演算部は、N次元超球表面におけるベクトル方向の粒度に基づいて量子化された前記重み係数に基づいて前記出力値を算出する、情報処理装置が提供される。
また、本開示によれば、複数の入力値と前記入力値にそれぞれ対応する複数の重み係数とに基づく積和演算を実行する積和演算回路を備え、前記積和演算回路は、値の小さい順番に並び替えられた複数の前記重み係数と対応する前記入力値のアドレス情報を保持する記憶回路と、前記アドレス情報により取得される前記入力値と前記重み係数に基づく演算を実行する乗算回路と、を備える、情報処理装置が提供される。
また、本開示によれば、プロセッサが、複数の入力値と前記入力値にそれぞれ対応する複数の重み係数とに基づく積和演算を行い出力値を算出すること、を含み、前記算出することは、N次元超球表面におけるベクトル方向の粒度に基づいて量子化された前記重み係数に基づいて前記出力値を算出すること、をさらに含む、情報処理方法が提供される。
以上説明したように本開示によれば、内積演算に係る処理負担をより軽減すると共に、重み係数の量子化粒度を保証することが可能となる。
なお、上記の効果は必ずしも限定的なものではなく、上記の効果とともに、または上記の効果に代えて、本明細書に示されたいずれかの効果、または本明細書から把握され得る他の効果が奏されてもよい。
本開示の関連技術に係るニューラルネットワークにおける基本演算の概要について説明するための概念図である。 本開示の関連技術に係る入力ベクトルと重みベクトルとの内積演算について説明するための概要図である。 本開示の関連技術に係る2次元空間において2値量子化した重みベクトルについて説明するための図である。 本開示の関連技術に係る2次元空間において4値量子化した重みベクトルについて説明するための図である。 本開示の関連技術に係る3次元空間における重みベクトルの粒度のばらつきについて説明するための図である。 本開示の関連技術に係るN次元空間における重みベクトルの粒度のばらつきについて説明するための図である。 本開示の一実施形態に係る情報処理装置の機能ブロック図の一例である。 同実施形態に係る情報処理装置が備える積和演算回路の回路ブロック図の一例である。 同実施形態に係るアドレステーブルが保持するアドレス情報に係るオフセット表記の一例である。 同実施形態に係る情報処理方法の処理イメージを示す図である。 同実施形態に係る量子化粒度Δθについて説明するための図である。 同実施形態に係るαに応じた量子化粒度Δθの最大値を示すグラフである。 同実施形態に係る最大べき乗数について説明するための図である。 同実施形態に係る入力数Nに対する乗算回数の例を示す図である。 同実施形態に係る入力数Nに対する乗算回数の例を示す図である。 本開示の一実施形態に係るハードウェア構成例を示す図である。
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
なお、説明は以下の順序で行うものとする。
1.実施形態
1.1.背景
1.2.情報処理装置10の機能構成例
1.3.重みベクトルの量子化
1.4.積和演算回路の構成例
1.5.学習時における量子化
1.6.効果
2.ハードウェア構成例
3.まとめ
<1.実施形態>
<<1.1.背景>>
近年、深層学習(Deep Learning)などニューラルネットワークを用いた学習手法が広く研究されている。ニューラルネットワークを用いた学習手法は高い精度を有する一方、演算に係る処理負担が大きいことから、当該処理負担を効果的に軽減する演算方式が求められている。
このため、近年においては、例えば、Binary weight networkや、XNOR netなどの、演算量や情報量の軽減を目的とする演算方式も提案されている。
ここで、一般的なニューラルネットワークにおける基本演算の概要について説明する。図1は、ニューラルネットワークにおける基本演算の概要について説明するための概念図である。図1には、ニューラルネットワークを構成する2つの層と、当該2つの層にそれぞれ属するセルc1〜c1とセルc2とが示されている。
この際、セルC2に入力される入力信号(以下、入力ベクトル、とも称する)は、下層に属するセルc1〜c1に係る入力ベクトルと重み係数(以下、重みベクトル、とも称する)とに基づいて決定される。より詳細には、セルc2に入力される入力ベクトルは、セルc1〜c1に係る入力ベクトルと重みベクトルとの内積演算結果にバイアスbを加算し、さらに活性化関数hにより処理した値となる。
すなわち、セルc1〜c1に係る入力ベクトルと重みベクトルとをそれぞれ、x=(x,x,x,...x)、w=(w,w,w,...w)とした場合、セルc2に入力される入力ベクトルzは、下記の数式(1)により定義される。
Figure 2018198454
この際、重みベクトルwを法線とする超平面hを想定すると、N次元で表現される入力ベクトルxと重みベクトルwとの内積は、図2に示すように、超平面hを基準とした入力ベクトルxを重みベクトルwへ射影した射影距離dに||w||を掛けた値により表現することができる。ここで、上記の||w||は、ベクトルwのノルムである。図2は、入力ベクトルxと重みベクトルwとの内積演算について説明するための概要図である。
ここで、入力ベクトルxと重みベクトルwとが2次元である場合、非特許文献1のように、重みベクトルwを+1または−1の2値で量子化すると、重みベクトルwは、図3のように表すことができる。図3は、2次元空間において2値量子化した重みベクトルwについて説明するための図である。この際、重みベクトルwの粒度は、平面における回転角度θで表現することができ、当該粒度は、図3に示すように、90度となる。
続いて、重みベクトルwを{0,1/4,1/2,1}の4値で量子化する場合を考察する。図4は、2次元空間において4値量子化した重みベクトルwについて説明するための図である。この場合、重みベクトルwの粒度、すなわち回転角度θは、約15度となり、2値量子化した場合と比較してより細かい粒度を保証することが可能となる。
一方、重みベクトルwの粒度は、次元数が増加するにつれ、ばらつきが大きくなることが想定される。図5は、3次元空間における重みベクトルwの粒度のばらつきについて説明するための図である。例えば、図5に示すように、(1,1,0)と(0,0,1)とで定義される面における重みベクトルwの量子化を考えた場合、(1,1,0)方向の辺の長さは、(0,0,1)方向の辺の長さの√2倍となるため、量子化時における粒度のばらつきが大きくなることがわかる。
また、上記のような粒度のばらつき、すなわち不均一性は、次元数が増加するほど顕著となる。図6は、N次元空間における重みベクトルwの粒度のばらつきについて説明するための図である。図6には、N次元空間において、(1,1,...,1,0)と(0,0,...,0,1)で定義される面が示されている。この際、(1,1,...,1,0)方向の辺の長さは、(0,0,...,0,1)方向の辺の長さの√(N−1)倍により表すことができる。例えば、N=100である場合には、1,1,...,1,0)方向の辺の長さは、(0,0,...,0,1)方向の辺の√99倍(≒10倍)となる。
上記のような重みベクトルwに係る粒度の不均一性は、ニューラルネットワークの性能低下の要因となり得ることから、より精度の高い量子化手法が望まれていた。本開示に係る技術思想は、上記の点に着目して発想されたものであり、N次元空間における重みベクトルの高い近似精度を維持しながらも効果的に処理負担を軽減することを可能とする。このために、本開示の一実施形態に係る情報処理装置および情報処理方法は、N次元超球平面におけるベクトル方向の粒度に基づいて量子化された重みベクトルを用いて内積演算を行うことを特徴の一つとする。本開示の一実施形態に係る情報処理装置および情報処理方法は、重みベクトルを、細かすぎず、かつ粗すぎない粒度で量子化することで、高い近似精度と処理負担の軽減を両立することが可能である。より詳細には、本開示の一実施形態に係る情報処理装置および情報処理方法は、べき乗により表現された重みベクトルを用いた内積演算を行ってよい。以下、本開示の一実施形態に係る情報処理装置および情報処理方法の有する上記の特徴について詳細に説明する。
<<1.2.情報処理装置10の機能構成例>>
続いて、本実施形態に係る情報処理方法を実現する情報処理装置10の機能構成例について述べる。図7は、本実施形態に係る情報処理装置10の機能ブロック図の一例である。図7を参照すると、本実施形態に係る情報処理装置10は、入力部110、演算部120、記憶部130、および出力部140を備える。以下、上記構成について、当該構成が有する機能を中心に説明する。
(入力部110)
本実施形態に係る入力部110は、操作者による種々の入力操作を検出する機能を有する。このために、本実施形態に係る入力部110は、操作者による入力操作を検出するための各種の装置を含んでよい。入力部110は、例えば、各種のボタン、キーボード、タッチパネル、マウス、スイッチなどにより実現され得る。
(演算部120)
本実施形態に係る演算部120は、複数の入力値と当該入力値にそれぞれ対応する複数の重み係数とに基づく内積演算を行い出力値を算出する機能を有する。本実施形態に係る演算部120は、特に、ニューラルネットワークの順伝播に係る内積演算を行う。この際、本実施形態に係る演算部120は、N次元超球表面におけるベクトル方向の粒度に基づいて量子化された重み係数に基づいて出力値を算出することを特徴の一つとする。より具体的には、本実施形態に係る演算部120は、べき乗により表現された重み係数に基づいて出力値を算出してよい。本実施形態に内積演算の特徴については、別途詳細に説明する。
(記憶部130)
記憶部130は、情報処理装置10が備える各構成で用いられるプログラムやデータなどを記憶する機能を有する。本実施形態に係る記憶部130は、例えば、ニューラルネットワークに用いられる種々のパラメータなどを記憶する。
(出力部140)
出力部140は、操作者に対し種々の情報出力を行う機能を有する。このために、本実施形態に係る出力部140は、視覚情報を出力するディスプレイ装置を含んで構成され得る。ここで、上記のディスプレイ装置は、例えば、CRT(Cathode Ray Tube)ディスプレイ装置、液晶ディスプレイ(LCD:Liquid Crystal Display)装置、OLED(Organic Light Emitting Diode)装置などにより実現され得る。
以上、本実施形態に係る情報処理装置10の機能構成例について説明した。なお、上記で説明した機能構成例はあくまで一例であり、本実施形態に係る情報処理装置10の機能構成例は係る例に限定されない。本実施形態に係る情報処理装置10は、図1に示す以外の構成をさらに備えてもよい。情報処理装置10は、例えば、他の情報処理端末との情報通信を行う通信部などをさらに備えてもよい。本実施形態に係る情報処理装置10の機能構成は、柔軟に設計変更され得る。
<<1.3.重みベクトルの量子化>>
次に、本実施形態に係る重みベクトルの量子化について詳細に説明する。上述したように、本実施形態に係る情報処理装置10は、べき乗により表現された重みベクトルwによる量子化を行うことで、粒度の均一性を高く保つことができる。この際、本実施形態に係る演算部120は、複数の重みベクトルwを値の小さい順番に並び替え、また当該複数の重みベクトルwを最も値の大きい重み係数wで正規化することを特徴の一つとする。ここで、並び替えて正規化された重みベクトルをwとすると、重みベクトルwは、下記の数式(2)〜(4)により表される。
Figure 2018198454
但し、この際、上記の数式(2)におけるαは、0<α<1、であり、sは、s∈{−1,1}であり、nは、n∈{0,1,2,...}、であってよい。すなわち、本実施形態に係る演算部120は、nを整数として量子化を行う。この際、演算部120が実行する内積演算は、下記の数式(5)により表される。なお、下記の数式(5)におけるKは、正規化定数を示す。また、上記αの値については、下記の数式(5)を適宜変形した場合であっても、内積演算において最終的に上記の範囲に定まればよい。本開示に示す数式は、あくまで一例であり、柔軟に変形され得る。
Figure 2018198454
このため、本実施形態に係る演算部120による内積演算は、N回の加算演算と、−1/2log(N−1)/logαのオーダーの乗算回数により処理が可能であることが予想される。
このように、本実施形態に係る情報処理方法では、重みベクトルwをαのべき乗表現により近似し、値の小さい順番に重みベクトルwを並び替えることを特徴の一つとする。この際、本実施形態に係る情報処理方法では、Nに応じてαの指数をk値化することで、重みベクトルwの量子化が行われる。
例えば、N=100である場合、本実施形態に係る情報処理方法では、k=4(2bit),8(3bit),16(4bit)などが採用されてもよい。上記のようにkを設定することで、上記の数式(5)におけるn1−,n2−,n3−...の多くは、同一の値により量子化されることで0となるため、乗算の回数を大幅に削減することが可能となる。より具体的な例を挙げると、N=100に対し、k=4である場合、nj−1−nが0以外の値を取り得るのは4回のみとなる。このため、本例の場合、内積演算に係る乗算回数は4回で済み、残りはすべて加算となるため、処理負担を効果的に軽減することができる。
<<1.4.積和演算回路の構成例>>
次に、本実施形態に係る演算方式を実現する積和演算回路について説明する。上述のように、重みベクトルwをべき乗表現により量子化し、また並び替えを行った場合、重みベクトルwに対応する入力ベクトルxの並び替えも併せて行う必要がある。
このため、本実施形態に係る情報処理装置10は、値の小さい順番に並び替えられた複数の重みベクトルwと対応する入力ベクトルxのアドレス情報を保持するテーブルを有する積和演算回路を備えてよい。
図8は、本実施形態に係る情報処理装置10が備える積和演算回路200の回路ブロック図の一例である。図8に示すように、本実施形態に係る積和演算回路は、重みベクトルwと対応する入力ベクトルxのアドレス情報を保持するテーブルWTを保持する記憶回路と、RAM210、加算回路220、アキュムレータ230、αに係る乗算を行う第1の乗算回路240、および正規化定数に係る乗算を行う第2の乗算回路250を備える。
(アドレステーブルWT)
本実施形態に係るアドレステーブルWTは、値の小さい順番に並び替えられた複数の重みベクトルwと対応する入力ベクトルxのアドレス情報、符号情報、および乗算指示情報を保持する。なお、上記のアドレス情報は、図8に示すように、Null Pointerを含んでもよい。この場合、アキュムレータ230には0が加算されることとなり、アキュムレータ230の値を単純にα倍することが可能となる。また、上記の符号情報は、上述した数式(5)におけるSに対応する値を示す情報である。
また、上記の乗算指示情報は、第1の乗算回路240による処理内容を指示する情報である。本実施形態に係る乗算指示情報は、例えば、乗算の要否を指定する情報を含んでよい。図8には、乗算指示情報が0である場合には、第1の乗算回路240は乗算を行わず、乗算指示情報が1である場合には、第1の乗算回路240はαを乗算する場合の一例が示されている。
なお、本実施形態に係る乗算指示情報は、上記の例に限定されず、種々の処理内容を指定する情報を含んでよい。本実施形態に係る乗算指示情報は、例えば、乗算の回数やシフト演算を指定する情報などを含み得る。
(RAM210)
本実施形態に係るRAM210は、アドレステーブルWTから入力されたアドレス情報に基づいて重みベクトルwに対応する入力ベクトルxを加算回路220に出力する。
(加算回路220)
本実施形態に係る加算回路220は、RAM210から入力される入力ベクトルxと第1の乗算回路240から出力される値に基づいて加算を実行する。この際、本実施形態に係る加算回路220は、アドレステーブルWTが保持する符号情報に基づいて上記の加算を行う。
(アキュムレータ230)
本実施形態に係るアキュムレータ230は、加算回路220から出力される演算結果を累積する。アキュムレータ230は、累積した値を第1の乗算回路240および第2の乗算回路250に出力する。また、アキュムレータ230には、累積した値を0にリセットするためのリセット信号が適宜入力される。
(第1の乗算回路240)
本実施形態に係る第1の乗算回路240は、アキュムレータ230が累積する値に対し、αを乗算する。この際、第1の乗算回路240は、上述したように、アドレステーブルWTが保持する乗算指示情報に基づいて上記の乗算を実行する。第1の乗算回路240は、演算結果を加算回路220に出力する。
(第2の乗算回路250)
本実施形態に係る第2の乗算回路250は、アキュムレータ230から出力される値に対し、正規化定数Kを乗算する。
以上、本実施形態に係る積和演算回路200の構成例について説明した。本実施形態に係る積和演算回路200によれば、内積演算における乗算回数を効果的に削減し、処理負担を軽減することが可能となる。
一方、本実施形態に係るアドレステーブルWTは、入力ベクトルxのアドレス情報を保持することで容量が大きくなるため、消費電力が増加することも想定される。このため、本実施形態に係るアドレステーブルWTは、図9に示すように、アドレス間の相対位置を示すオフセットを含んでもよい。図9は、本実施形態に係るアドレステーブルWTが保持するアドレス情報に係るオフセット表記の一例である。
図9に示すように、本実施形態に係るアドレステーブルWTは、上述した数式(5)においてnj−1−nの値が連続して0である区間、すなわち乗算が行われない区間のアドレスをアドレス順にソートし、当該アドレス間のオフセットをアドレス情報として保持してもよい。本実施形態に係る上記のアドレステーブルWTによれば、アドレス情報に係る情報量を大幅に削減し、消費電力を効果的に低減することが可能となる。
なお、本実施形態に係るアドレステーブルWTは、図8および図9に示した形式以外にも種々の形態を取り得る。本実施形態に係るアドレステーブルWTは、例えば、符号情報と乗算指示情報とを明確に分離して保持しなくてもよいし、上記以外のアドレス圧縮方法を採用してもよい。本実施形態に係るアドレステーブルWTは、ニューラルネットワークの構成や情報処理装置10の性能などに応じて柔軟に変形され得る。
<<1.5.学習時における量子化>>
次に、本実施形態に係る学習時における重みベクトルwの量子化について説明する。本実施形態に係る情報処理方法において、学習時における重みベクトルwの更新については、下記の数式(6)により計算することが可能である。
Figure 2018198454
但し、上記の数式(6)におけるwmaxは、wの最大値を示す。また、整数化intについては、切り上げ、または切り捨てのうちいずれか近い方を選んでもよい。本実施形態に係る情報処理方法では、最終学習時に、nを並び替えることで、上述したアドレステーブルWTを生成することができる。
なお、1に近いαを設定した場合においては、通常の浮動小数点演算を用いたDNN(Deep Neural Network)による学習アルゴリズムを用いて演算を行い、学習終了後のwを量子化する手法を採択することも可能である。すなわち、重みベクトルwに係る量子化粒度が小さい場合には、ネットワーク構造を変形しなくても、認識精度が低下しない効果が期待される。
<<1.6.効果>>
次に、本実施形態に係る重みベクトルの量子化により奏される効果について詳細に説明する。上述したように、本実施形態に係る情報処理方法では、べき乗表現により量子化したwを値の小さい順番に並び替え正規化を行うことでwと定義する。この際、並び替えられた基底ベクトルをqとすると、重みベクトルwは、下記の数式(7)により表される。
Figure 2018198454
すなわち、本実施形態に係る情報処理方法は、図10に示すように、q,q,...qj−1で張られる空間に投影された重みベクトルとqとにより形成される平面にベクトルを作成し、当該ベクトルをαnj−nj+1倍する処理を繰り返す、と意味を有する。図10は、本実施形態に係る情報処理方法の処理イメージを示す図である。
このため、本実施形態に係る情報処理方法では、重みベクトルをq,q,...qj−1空間に投影した軸とqとで張られる平面において、重みベクトルの量子化粒度Δθは、図11に示すように、反時計回転および時計回転方向にそれぞれ下記の数式(8)および(9)により表すことができる。但し、この際、数式(8)および(9)におけるlは、数式(10)により定義される。図11は、本実施形態に係る量子化粒度Δθについて説明するための図である。なお、図11では、第1象限に射影された重みベクトルが示されている。
Figure 2018198454
また、量子化粒度ΔθおよびΔθをlで微分して0とおいた場合、それぞれの最大値は、下記の数式(11)により定義される。
Figure 2018198454
図12は、本実施形態に係るαに応じた量子化粒度Δθの最大値を示すグラフである。このように、本実施形態に係る情報処理方法によれば、N次元空間において、すべての直交する回転方向に量子化粒度が保証される。
なお、べき乗演算を途中で停止した場合、図13に示すように、量子化粒度Δθが残されることとなる。図13は、本実施形態に係る最大べき乗数について説明するための図である。なお、図13では、第1象限に射影された重みベクトルが示されている。この際、量子化粒度Δθを保証する最大べき乗数は、下記の数式(12)を満たす最小なmに対し、下記の数式(13)を加算すればよい。従って、本実施形態に係る情報処理装置10が実行する乗算回数は、下記の数式(14)により求めることができる。
Figure 2018198454
例えば、α=3/4である場合、入力数Nに対する乗算回数は、図14に示すグラフのように決定される。また、例えば、α=7/8である場合には、入力数Nに対する乗算回数は、図15に示すグラフのように決定される。すなわち、本実施形態に係る演算部120による内積演算において、乗算回数は、重みベクトルの底の値に基づいて定まるといえる。図14および図15は、本実施形態に係る入力数Nに対する乗算回数の例を示す図である。
以上説明したように、本実施形態に情報処理方法を実現する情報処理装置によれば、ニューラルネットワークの順伝播に係る内積演算において、乗算回数を大幅に削減することができ、積和演算回路200による消費電力を効果的に低減することが可能となる。また、本実施形態に情報処理方法を実現する情報処理装置によれば、重みベクトルの量子化精度を向上させることができ、同一のビット数による従来の量子化手法と比較して、ニューラルネットワークによる認識精度および近似精度を向上させる効果が期待される。
<2.ハードウェア構成例>
次に、本開示の一実施形態に係る情報処理装置10のハードウェア構成例について説明する。図16は、本開示の一実施形態に係る情報処理装置10のハードウェア構成例を示すブロック図である。図16を参照すると、情報処理装置10は、例えば、CPU871と、ROM872と、RAM873と、ホストバス874と、ブリッジ875と、外部バス876と、インターフェース877と、入力装置878と、出力装置879と、ストレージ880と、ドライブ881と、接続ポート882と、通信装置883と、を有する。なお、ここで示すハードウェア構成は一例であり、構成要素の一部が省略されてもよい。また、ここで示される構成要素以外の構成要素をさらに含んでもよい。
(CPU871)
CPU871は、例えば、演算処理装置又は制御装置として機能し、ROM872、RAM873、ストレージ880、又はリムーバブル記録媒体901に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。
(ROM872、RAM873)
ROM872は、CPU871に読み込まれるプログラムや演算に用いるデータ等を格納する手段である。RAM873には、例えば、CPU871に読み込まれるプログラムや、そのプログラムを実行する際に適宜変化する各種パラメータ等が一時的又は永続的に格納される。
(ホストバス874、ブリッジ875、外部バス876、インターフェース877)
CPU871、ROM872、RAM873は、例えば、高速なデータ伝送が可能なホストバス874を介して相互に接続される。一方、ホストバス874は、例えば、ブリッジ875を介して比較的データ伝送速度が低速な外部バス876に接続される。また、外部バス876は、インターフェース877を介して種々の構成要素と接続される。
(入力装置878)
入力装置878には、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、及びレバー等が用いられる。さらに、入力装置878としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラ(以下、リモコン)が用いられることもある。また、入力装置878には、マイクロフォンなどの音声入力装置が含まれる。
(出力装置879)
出力装置879は、例えば、CRT(Cathode Ray Tube)、LCD、又は有機EL等のディスプレイ装置、スピーカ、ヘッドホン等のオーディオ出力装置、プリンタ、携帯電話、又はファクシミリ等、取得した情報を利用者に対して視覚的又は聴覚的に通知することが可能な装置である。また、本開示に係る出力装置879は、触覚刺激を出力することが可能な種々の振動デバイスを含む。
(ストレージ880)
ストレージ880は、各種のデータを格納するための装置である。ストレージ880としては、例えば、ハードディスクドライブ(HDD)等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイス等が用いられる。
(ドライブ881)
ドライブ881は、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体901に記録された情報を読み出し、又はリムーバブル記録媒体901に情報を書き込む装置である。
(リムーバブル記録媒体901)
リムーバブル記録媒体901は、例えば、DVDメディア、Blu−ray(登録商標)メディア、HD DVDメディア、各種の半導体記憶メディア等である。もちろん、リムーバブル記録媒体901は、例えば、非接触型ICチップを搭載したICカード、又は電子機器等であってもよい。
(接続ポート882)
接続ポート882は、例えば、USB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)、RS−232Cポート、又は光オーディオ端子等のような外部接続機器902を接続するためのポートである。
(外部接続機器902)
外部接続機器902は、例えば、プリンタ、携帯音楽プレーヤ、デジタルカメラ、デジタルビデオカメラ、又はICレコーダ等である。
(通信装置883)
通信装置883は、ネットワークに接続するための通信デバイスであり、例えば、有線又は無線LAN、Bluetooth(登録商標)、又はWUSB(Wireless USB)用の通信カード、光通信用のルータ、ADSL(Asymmetric Digital Subscriber Line)用のルータ、又は各種通信用のモデム等である。
<3.まとめ>
以上説明したように、本実施形態に係る情報処理装置は、N次元超球表面におけるベクトル方向の粒度に基づいて量子化された重みベクトルを用いて、当該重みベクトルと対応する入力ベクトルとの内積演算を行うことを特徴の一つとする。係る構成によれば、内積演算に係る処理負担をより軽減すると共に、重み係数の量子化粒度を保証することが可能となる。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
なお、以下のような構成も本開示の技術的範囲に属する。
(1)
複数の入力値と前記入力値にそれぞれ対応する複数の重み係数とに基づく内積演算を行い出力値を算出する演算部、
を備え、
前記演算部は、N次元超球表面におけるベクトル方向の粒度に基づいて量子化された前記重み係数に基づいて前記出力値を算出する、
情報処理装置。
(2)
前記演算部は、べき乗により表現された前記重み係数に基づいて前記出力値を算出する、
前記(1)に記載の情報処理装置。
(3)
前記重み係数の底は、前記演算部による内積演算において、0より大きく1未満の値に定まる、
前記(2)に記載の情報処理装置。
(4)
前記内積演算における乗算回数は、前記重み係数の底の値に基づいて定まる、
前記(2)または(3)に記載の情報処理装置。
(5)
前記演算部は、値の小さい順番に並び替えられた複数の前記重み係数に基づいて内積演算を行う、
前記(1)〜(4)のいずれかに記載の情報処理装置。
(6)
前記演算部は、最も値の大きい前記重み係数で正規化された複数の前記重み係数に基づいて内積演算を行う、
前記(5)に記載の情報処理装置。
(7)
前記演算部は、値の小さい順番に並び替えられた複数の前記重み係数と対応する前記入力値のアドレス情報を保持するテーブルに基づいて前記入力値を取得し内積演算を行う、
前記(5)または(6)に記載の情報処理装置。
(8)
前記アドレス情報は、アドレス間の相対位置を示すオフセットを含む、
前記(7)に記載の情報処理装置。
(9)
前記テーブルは、前記アドレス情報と対応付いた乗算指示情報をさらに保持する、
前記(7)または(8)に記載の情報処理装置。
(10)
前記乗算指示情報は、少なくとも乗算の要否を指定する情報を含む、
前記(9)に記載の情報処理装置。
(11)
前記テーブルは、前記アドレス情報と対応付いた符号情報をさらに保持する、
前記(7)〜(10)のいずれかに記載の情報処理装置。
(12)
前記演算部は、ニューラルネットワークの順伝播に係る内積演算を行う、
前記(1)〜(11)のいずれかに記載の情報処理装置。
(13)
複数の入力値と前記入力値にそれぞれ対応する複数の重み係数とに基づく積和演算を実行する積和演算回路を備え、
前記積和演算回路は、値の小さい順番に並び替えられた複数の前記重み係数と対応する前記入力値のアドレス情報を保持する記憶回路と、
前記アドレス情報により取得される前記入力値と前記重み係数に基づく演算を実行する乗算回路と、
を備える、
情報処理装置。
(14)
プロセッサが、複数の入力値と前記入力値にそれぞれ対応する複数の重み係数とに基づく積和演算を行い出力値を算出すること、
を含み、
前記算出することは、N次元超球表面におけるベクトル方向の粒度に基づいて量子化された前記重み係数に基づいて前記出力値を算出すること、
をさらに含む、
情報処理方法。
10 情報処理装置
110入力部
120演算部
130記憶部
140出力部
200 積和演算回路
210 RAM
220 加算回路
230 アキュムレータ
240 第1の乗算回路
250 第2の乗算回路
WT アドレステーブル

Claims (14)

  1. 複数の入力値と前記入力値にそれぞれ対応する複数の重み係数とに基づく内積演算を行い出力値を算出する演算部、
    を備え、
    前記演算部は、N次元超球表面におけるベクトル方向の粒度に基づいて量子化された前記重み係数に基づいて前記出力値を算出する、
    情報処理装置。
  2. 前記演算部は、べき乗により表現された前記重み係数に基づいて前記出力値を算出する、
    請求項1に記載の情報処理装置。
  3. 前記重み係数の底は、前記演算部による内積演算において、0より大きく1未満の値に定まる、
    請求項2に記載の情報処理装置。
  4. 前記内積演算における乗算回数は、前記重み係数の底の値に基づいて定まる、
    請求項2に記載の情報処理装置。
  5. 前記演算部は、値の小さい順番に並び替えられた複数の前記重み係数に基づいて内積演算を行う、
    請求項1に記載の情報処理装置。
  6. 前記演算部は、最も値の大きい前記重み係数で正規化された複数の前記重み係数に基づいて内積演算を行う、
    請求項5に記載の情報処理装置。
  7. 前記演算部は、値の小さい順番に並び替えられた複数の前記重み係数と対応する前記入力値のアドレス情報を保持するテーブルに基づいて前記入力値を取得し内積演算を行う、
    請求項5に記載の情報処理装置。
  8. 前記アドレス情報は、アドレス間の相対位置を示すオフセットを含む、
    請求項7に記載の情報処理装置。
  9. 前記テーブルは、前記アドレス情報と対応付いた乗算指示情報をさらに保持する、
    請求項7に記載の情報処理装置。
  10. 前記乗算指示情報は、少なくとも乗算の要否を指定する情報を含む、
    請求項9に記載の情報処理装置。
  11. 前記テーブルは、前記アドレス情報と対応付いた符号情報をさらに保持する、
    請求項7に記載の情報処理装置。
  12. 前記演算部は、ニューラルネットワークの順伝播に係る内積演算を行う、
    請求項1に記載の情報処理装置。
  13. 複数の入力値と前記入力値にそれぞれ対応する複数の重み係数とに基づく積和演算を実行する積和演算回路を備え、
    前記積和演算回路は、値の小さい順番に並び替えられた複数の前記重み係数と対応する前記入力値のアドレス情報を保持する記憶回路と、
    前記アドレス情報により取得される前記入力値と前記重み係数に基づく演算を実行する乗算回路と、
    を備える、
    情報処理装置。
  14. プロセッサが、複数の入力値と前記入力値にそれぞれ対応する複数の重み係数とに基づく積和演算を行い出力値を算出すること、
    を含み、
    前記算出することは、N次元超球表面におけるベクトル方向の粒度に基づいて量子化された前記重み係数に基づいて前記出力値を算出すること、
    をさらに含む、
    情報処理方法。
JP2019505277A 2017-04-28 2018-01-26 情報処理装置、および情報処理方法 Pending JPWO2018198454A1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2017089144 2017-04-28
JP2017089144 2017-04-28
PCT/JP2018/002404 WO2018198454A1 (ja) 2017-04-28 2018-01-26 情報処理装置、および情報処理方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2019156062A Division JP6690765B2 (ja) 2017-04-28 2019-08-28 情報処理装置、および情報処理方法

Publications (1)

Publication Number Publication Date
JPWO2018198454A1 true JPWO2018198454A1 (ja) 2019-06-27

Family

ID=63919552

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2019505277A Pending JPWO2018198454A1 (ja) 2017-04-28 2018-01-26 情報処理装置、および情報処理方法
JP2019156062A Active JP6690765B2 (ja) 2017-04-28 2019-08-28 情報処理装置、および情報処理方法
JP2020021018A Active JP6958652B2 (ja) 2017-04-28 2020-02-10 情報処理装置、および情報処理方法

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2019156062A Active JP6690765B2 (ja) 2017-04-28 2019-08-28 情報処理装置、および情報処理方法
JP2020021018A Active JP6958652B2 (ja) 2017-04-28 2020-02-10 情報処理装置、および情報処理方法

Country Status (5)

Country Link
US (1) US11030524B2 (ja)
EP (1) EP3617904A4 (ja)
JP (3) JPWO2018198454A1 (ja)
CN (1) CN110574024A (ja)
WO (1) WO2018198454A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019080232A (ja) * 2017-10-26 2019-05-23 株式会社Preferred Networks 勾配圧縮装置、勾配圧縮方法及びプログラム
US11138505B2 (en) * 2017-12-21 2021-10-05 Fujitsu Limited Quantization of neural network parameters

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006180093A (ja) * 2004-12-21 2006-07-06 Nec Electronics Corp キャンセラ装置及びデータ伝送システム

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5651090A (en) * 1994-05-06 1997-07-22 Nippon Telegraph And Telephone Corporation Coding method and coder for coding input signals of plural channels using vector quantization, and decoding method and decoder therefor
JP3357829B2 (ja) * 1997-12-24 2002-12-16 株式会社東芝 音声符号化/復号化方法
US6665646B1 (en) * 1998-12-11 2003-12-16 At&T Corp. Predictive balanced multiple description coder for data compression
US6356213B1 (en) * 2000-05-31 2002-03-12 Lucent Technologies Inc. System and method for prediction-based lossless encoding
US7120587B2 (en) * 2000-11-03 2006-10-10 Koninklijke Philips Electronics N.V. Sinusoidal model based coding of audio signals
US20030220889A1 (en) * 2002-05-21 2003-11-27 Bingxue Shi Analog accumulator for neural networks
CN1989548B (zh) * 2004-07-20 2010-12-08 松下电器产业株式会社 语音解码装置及补偿帧生成方法
US8332216B2 (en) * 2006-01-12 2012-12-11 Stmicroelectronics Asia Pacific Pte., Ltd. System and method for low power stereo perceptual audio coding using adaptive masking threshold
US8392176B2 (en) * 2006-04-10 2013-03-05 Qualcomm Incorporated Processing of excitation in audio coding and decoding
CN101589623B (zh) * 2006-12-12 2013-03-13 弗劳恩霍夫应用研究促进协会 对表示时域数据流的数据段进行编码和解码的编码器、解码器以及方法
US7958071B2 (en) * 2007-04-19 2011-06-07 Hewlett-Packard Development Company, L.P. Computational nodes and computational-node networks that include dynamical-nanodevice connections
US8248660B2 (en) * 2007-12-14 2012-08-21 Qualcomm Incorporated Efficient diffusion dithering using dyadic rationals
CN101771477B (zh) * 2008-12-29 2013-06-05 深圳富泰宏精密工业有限公司 手机射频发射功率校正系统及方法
EP2259214B1 (en) * 2009-06-04 2013-02-27 Honda Research Institute Europe GmbH Implementing a neural associative memory based on non-linear learning of discrete synapses
US8990132B2 (en) * 2010-01-19 2015-03-24 James Ting-Ho Lo Artificial neural networks based on a low-order model of biological neural networks
WO2012093290A1 (en) * 2011-01-05 2012-07-12 Nokia Corporation Multi-channel encoding and/or decoding
CN103325373A (zh) * 2012-03-23 2013-09-25 杜比实验室特许公司 用于传送和接收音频信号的方法和设备

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006180093A (ja) * 2004-12-21 2006-07-06 Nec Electronics Corp キャンセラ装置及びデータ伝送システム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MACHADO, EMERSON ET AL.: "FPGA Implementation of a Feedforward Neural Network-Based Classifier Using the xQuant Technique", PROCEEDINGS OF 2017 IEEE 8TH LATIN AMERICAN SYMPOSIUM ON CIRCUITS AND SYSTEMS, JPN6018013104, 20 February 2017 (2017-02-20), pages 1 - 4, XP033106363, ISSN: 0003986165, DOI: 10.1109/LASCAS.2017.7948082 *

Also Published As

Publication number Publication date
JP2020004433A (ja) 2020-01-09
EP3617904A1 (en) 2020-03-04
JP2020074240A (ja) 2020-05-14
JP6690765B2 (ja) 2020-04-28
EP3617904A4 (en) 2020-04-29
JP6958652B2 (ja) 2021-11-02
CN110574024A (zh) 2019-12-13
US11030524B2 (en) 2021-06-08
WO2018198454A1 (ja) 2018-11-01
US20200387781A1 (en) 2020-12-10

Similar Documents

Publication Publication Date Title
JP6504331B1 (ja) 情報処理装置、および情報処理方法
CN110363279B (zh) 基于卷积神经网络模型的图像处理方法和装置
WO2019141193A1 (zh) 对视频帧数据进行处理的方法和装置
JP6958652B2 (ja) 情報処理装置、および情報処理方法
JP7287388B2 (ja) 情報処理装置および情報処理方法
US10262680B2 (en) Variable sound decomposition masks
US20220334802A1 (en) Information processing apparatus, information processing system, and information processing method
WO2021057926A1 (zh) 一种神经网络模型训练方法及装置
US20240061646A1 (en) Information processing apparatus, information processing method, and information processing program
WO2023248305A1 (ja) 情報処理装置、情報処理方法、及びコンピュータ読み取り可能な記録媒体
CN116188875B (zh) 图像分类方法、装置、电子设备、介质和产品
US20230128220A1 (en) Information processing apparatus, information processing terminal, method, program, and model
US20230409868A1 (en) Neural Network Activation Scaled Clipping Layer
JP2023031367A (ja) 閾値決定プログラム及び閾値決定方法
CN114861901A (zh) 神经网络模型的运行方法、可读介质和电子设备
CN116976403A (zh) 一种网络训练方法、装置、计算机设备和存储介质
JP2024029434A (ja) 情報処理装置、情報処理方法及び記録媒体
JP2024026993A (ja) 情報処理装置、情報処理方法
CN117688287A (zh) 基于自注意力的数据处理方法、装置、介质及终端

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190130

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190130

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20190130

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20190215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190305

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190329

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190416

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20190515

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190516

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20190522

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190528