JP6998968B2 - ディープニューラルネットワークの実行方法、実行装置、学習方法、学習装置及びプログラム - Google Patents

ディープニューラルネットワークの実行方法、実行装置、学習方法、学習装置及びプログラム Download PDF

Info

Publication number
JP6998968B2
JP6998968B2 JP2019549546A JP2019549546A JP6998968B2 JP 6998968 B2 JP6998968 B2 JP 6998968B2 JP 2019549546 A JP2019549546 A JP 2019549546A JP 2019549546 A JP2019549546 A JP 2019549546A JP 6998968 B2 JP6998968 B2 JP 6998968B2
Authority
JP
Japan
Prior art keywords
feature map
layer
deep neural
neural network
binary
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
JP2019549546A
Other languages
English (en)
Other versions
JP2020532777A (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.)
Panasonic Intellectual Property Corp of America
Original Assignee
Panasonic Intellectual Property Corp of America
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 Panasonic Intellectual Property Corp of America filed Critical Panasonic Intellectual Property Corp of America
Publication of JP2020532777A publication Critical patent/JP2020532777A/ja
Application granted granted Critical
Publication of JP6998968B2 publication Critical patent/JP6998968B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • G06N3/084Backpropagation, e.g. using gradient descent
    • 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
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Neurology (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

本開示はディープニューラルネットワークの実行方法等に関する。
画像分類、物体検出などを含むコンピュータビジョンの応用分野では、ディープニューラルネットワーク(Deep Neural Networks、以下ではDNNと表記する)が、優れた成績を挙げて魅力的な選択とされつつある。しかしながら、DNNに必要なメモリ使用量及び計算量の大きさは、低消費電力が望まれる実行環境では過剰な負荷となり得る。
このような処理負荷を抑える試みとして提案又は示唆されている手法には、中間特徴マップをメモリに書き出さずに複数のレイヤを融合的に計算をするレイヤフュージョン、量子化した特徴マップの値の非線形次元削減レイヤでの圧縮が挙げられる(非特許文献1及び2参照)。
M. Alwani, H. Chen, M. Ferdman, and P. A. Milder; Fused-layer CNN accelerators; MICRO; pages 1-12; October 2016 F. N. Iandola, S. Han, M. W. Moskewicz, K. Ashraf, W. J. Dally, and K. Keutzer; Squeezenet: Alexnet-level accuracy with 50x fewer parameters and <0.5MB model size; arXiv preprint arXiv:1602.07360, 2016
しかしながら、上記の手法で得られるDNNの処理負荷の抑制の程度は小さく、精度の低下も懸念される。また、処理速度の改善が十分とはいえない。
本開示は、精度の低下を抑えながら、低負荷かつ高速な処理が可能な実行方法、実行装置等を提供する。
上記課題を解決するために、本開示の一形態に係るDNNの実行方法は、ディープニューラルネットワークによる推論において、浮動小数点又は固定小数点で表現される中間特徴マップを、第一変換モジュールを用いてバイナリベクトルに変換することでバイナリ表現化したバイナリ中間特徴マップを取得し、前記バイナリ中間特徴マップを、非線形次元削減レイヤで圧縮することで圧縮特徴マップを生成し、前記圧縮特徴マップをメモリに書き込み、前記メモリから読み出した前記圧縮特徴マップを、前記非線形次元削減レイヤに対応する再構築レイヤで伸長することで前記バイナリ中間特徴マップを再構築し、再構築された前記バイナリ中間特徴マップを、第二変換モジュールを用いて浮動小数点又は固定小数点で表現される中間特徴マップに変換する。
なお、これらの包括的または具体的な態様は、システム、装置、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、装置、集積回路、方法、コンピュータプログラムまたは記録媒体の任意な組み合わせで実現されてもよい。
本開示のDNNの実行方法等によれば、精度の低下を抑えながら、低負荷かつ高速な処理が可能である。
図1は、実施の形態に係る推論時のDNNの実行方法を説明するためのモデル図である。 図2は、上記の推論時におけるフォワードパスのモデル図である。 図3は、上記の実行方法に対応するバックプロパゲーションにおけるバックワードパスのモデル図である。 図4は、実施例1における、SqueezeNetに上記の実行方法を適用して行ったImageNetでの推論精度の評価結果を示す図である。 図5は、実施例1における、MobileNetV2に上記の実行方法を適用して行ったImageNetでの推論精度の評価結果を示す図である。 図6は、実施例2における、SSD512に上記の実行方法を適用して行ったVOC2007での推論精度の評価結果を示す図である。 図7は、実施例2におけるSSD512でのメモリ使用量を示す図である。 図8は、上記の方法を実行する情報処理装置のハードウェア構成例を示すブロック図である。
本開示の一形態に係るDNNの実行方法では、ディープニューラルネットワークによる推論において、浮動小数点又は固定小数点で表現される中間特徴マップを、第一変換モジュールを用いてバイナリベクトルに変換することでバイナリ表現化したバイナリ中間特徴マップを取得し、前記バイナリ中間特徴マップを、非線形次元削減レイヤで圧縮することで圧縮特徴マップを生成し、前記圧縮特徴マップをメモリに書き込み、前記メモリから読み出した前記圧縮特徴マップを、前記非線形次元削減レイヤに対応する再構築レイヤで伸長することで前記バイナリ中間特徴マップを再構築し、再構築された前記バイナリ中間特徴マップを、第二変換モジュールを用いて浮動小数点又は固定小数点で表現される中間特徴マップに変換する。
これにより、従来に比べて、少ないメモリ使用量でDNNを実行することができ、メモリバンド幅が削減されるため処理が高速化される。
ここで、例えば前記非線形次元削減レイヤは、1又は連続する複数の投影畳み込みレイヤであり、前記再構築レイヤは、1又は連続する複数の再構築畳み込みレイヤであってもよい。
また、上記の実行方法を用いて実行されたDNNのバックプロパゲーションによる学習方法では、前記第一変換モジュール及び前記第二変換モジュールの分析導関数を前記ディープニューラルネットワークが含むレイヤのうち後段レイヤの勾配に適用することで先段レイヤの勾配を生成し、生成された前記先段レイヤの勾配に基づいて重みとバイアスを更新し、恒等写像関数に基づいて前記非線形次元削減レイヤの重み及び前記再構築レイヤの重みを初期化する。
推論においてバイナリ表現化の処理が加わったことに対応して、学習でもバイナリレベルの処理を含めることが可能になる。したがって、従来に比べて少ないメモリ使用量の実行及び処理が高速化される。
なお、これらの包括的または具体的な態様は、システム、装置、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、装置、集積回路、方法、コンピュータプログラムまたは記録媒体の任意な組み合わせで実現されてもよい。
以下、実施の形態について、図面を参照しながら具体的に説明する。
なお、以下で説明する実施の形態は、包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは一例であり、本開示に係る発明を限定する趣旨ではない。また、以下の実施の形態における構成要素のうち、独立請求項に記載されていない構成要素については任意の構成要素として説明される。
(実施の形態)
[DNN]
まず、一般的なDNNについて説明する。
DNNで一般に用いられる第l畳み込み層に入力される特徴マップXl-1は、入力チャンネルの個数を
Figure 0006998968000001
、高さをH、幅をWとして、(式1)のように表すことができる。
Figure 0006998968000002
は実数全体を示す。
Figure 0006998968000003
入力されたXl-1は、出力チャンネルの個数をC、フィルタのカーネルの高さ及び幅をそれぞれH、Wとして、(式2)で表す重みテンソルWで畳み込まれる。
Figure 0006998968000004
なお、(式3)で表されるバイアスベクトルbが畳み込み演算の結果に加算される。
Figure 0006998968000005
いったんC個の全チャンネルの演算が実行されれば、要素ごとの非線形関数が畳み込み演算の結果に適用されている。そして、(式4)で表される出力テンソルXのC番目のチャンネルが、(式5)に示す計算式を用いて算出される。
Figure 0006998968000006
Figure 0006998968000007
なお、(式5)における*は、畳み込み演算を示す。また、g()は、何らかの非線形関数を示し、例えば全てのアクティベーションが非負となるようなg(x)=max(0,x)のように定義される正規化線形関数(ReLU)である。
ここまで、以下の説明で用いる図面に含まれる表記の理解のために適宜参照されたい。
[DNNの実行方法]
次に、本実施の形態に係る、推論時のDNNの実行方法を説明する。図1は、実施の形態に係るDNNによる実行方法を説明するためのモデル図である。理解されやすいよう、図中の(a)に従来の方法を示し、対比的に(b)に示す本実施の形態に係る方法を説明する。
(a)及び(b)に示す各モデルは、左から右に進む多段の畳み込みレイヤを含むニューラルネットワークを模式的に示す。なお、表示を簡潔にするために、いずれでもバイアスの記載は省略している。
まず、(a)に示される従来の方法では、N個の連続するレイヤでの演算は、中間特徴マップXl-N+1からXl-1をメモリに書き出すことなく、「融合(Fusion)」的に実行して(ステップS100)、特徴マップXを得る。この融合的な演算は、特徴マップ全体よりもはるかに小さいメモリバッファを用いてチャンネル単位で実行可能である。
次に、特徴マップXは、非線形関数q()を用いて量子化される(ステップS110)。量子化前の特徴マップXは実数の集合
Figure 0006998968000008
の要素であるが、量子化後の特徴マップ
Figure 0006998968000009
は整数上の有限体の集合
Figure 0006998968000010
の要素である。ただし、この量子化のステップで、近似の不完全さのために精度が落ちることがある。量子化の後のネットワークアーキテクチャはここまでと変わることなく、準最適なビット幅分解能が得られる程度まで特徴マップが圧縮される。
次に、追加的な畳み込みレイヤを用いて非線形次元削減が実行される(ステップS120)。ここでは、(式6)で表されるマッピングが(式7)で表される投影重みPを用いて実行される。
Figure 0006998968000011
Figure 0006998968000012
なお、(式6)及び(式7)における
Figure 0006998968000013
は、出力チャンネルの次元数であり、Cより小さい。ここでは、メモリバッファで保持される必要があるのは、圧縮特徴マップ
Figure 0006998968000014
のみである(ステップS130)。
以降、ここまでとは逆の手順を辿るように、圧縮特徴マップ
Figure 0006998968000015
は、重みRを用いてより高次元のテンソルに逆投影される(ステップS140)。最後に、逆量子化関数q-1()を用いた逆変換(ステップS150)を実行して、実数の集合の要素である特徴マップXl+1を得る。
次に、(b)に示される本実施の形態に係るDNNの実行方法を説明する。この方法は、中間特徴マップをバイナリベクトルを用いて表現するための変換を含む点が従来の方法と異なる。この変換について先に説明しておく。
まず、実数の集合の要素である特徴マップXから取り出されるスカラxがあるとする。この場合、スカラ対スカラのマッピング又は非線形関数q(x)で表すと、従来の量子化は(式8)で表される。
Figure 0006998968000016
なお、
Figure 0006998968000017
は、量子化されたスカラを、
Figure 0006998968000018
は、固定小数点表現のための有限体GF(2)を、Bはビット数を示す。
ここで、本実施の形態においては、(式9)のように定義される線形二値化関数b()による新たな
Figure 0006998968000019
の表現形式を導入する。
Figure 0006998968000020
ここで、
Figure 0006998968000021
は、ビット単位のAND演算を示す。また、ベクトルbは[2,2,...,2B-1であり、
Figure 0006998968000022
は有限体GF(2)である。
また、線形二値化関数b()の逆関数は、(式10)のように表される。
Figure 0006998968000023
(式9)及び(式10)は、高濃度の有限体上のスカラと、要素が2個の有限体上のベクトルとの間での相互に線形変換が可能であることを示す。
このような展開に基づく特徴マップの圧縮を含む本実施の形態に係るDNNの実行方法を、図1の(b)に沿って以下に説明する。
特徴マップXを得るレイヤまでは(a)のS100までと共通であり(ステップS200)、その手前までは説明及び図示を省略する。
次のレイヤでは、アクティベーションである特徴マップXを量子化して特徴マップ
Figure 0006998968000024
を得る(ステップS210)。さらに次のレイヤでは、特徴マップ
Figure 0006998968000025
に(式9)の変換を適用する(ステップS215)。この変換の成果物である特徴マップ
Figure 0006998968000026
は、(式11)のように表される。
Figure 0006998968000027
このようにバイナリ表現化された特徴マップ
Figure 0006998968000028
を、以下ではバイナリ中間特徴マップともいう。
また、実装の便宜上、(式11)の新たに加わったビットの次元は、チャンネルの次元に連結される結果、バイナリ中間特徴マップ
Figure 0006998968000029
は(式12)のようになる。
Figure 0006998968000030
なお、ステップS210及びS215における処理を実行するレイヤで構成されるモジュールは、本実施の形態における第一変換モジュールの例である。
このバイナリ中間特徴マップ
Figure 0006998968000031
に、投影重み
Figure 0006998968000032
の単一の非線形次元削減レイヤ又は投影重み
Figure 0006998968000033
の連続する複数の非線形次元削減レイヤを適用することで、バイナリ中間特徴マップ
Figure 0006998968000034
の、有限体GF(2)上のバイナリベクトルでの圧縮表現(以下、圧縮特徴マップ
Figure 0006998968000035
ともいう)が得られる(ステップS220)。
推論処理中にメモリで保持される必要があるのは、集合
Figure 0006998968000036
の要素である圧縮特徴マップ
Figure 0006998968000037
のみとなる(ステップS230)。非圧縮特徴マップは、例えば連続的なチャンネル単位等の小さいバッファでの処理が可能なためメモリでの保持は不要である。
その後、畳み込みレイヤ
Figure 0006998968000038
による処理の次のレイヤで、上述の圧縮が元に戻されたバイナリ中間特徴マップが再構築される(ステップS240)。再構築されたバイナリ中間特徴マップは、さらに次のレイヤに入力されると、逆関数b-1()である(式10)によってバイナリ表現化が解除されて(ステップS245)整数の要素の集合の要素である中間特徴マップに変換され、さらに逆量子化関数q-1()が適用されて実数の集合の要素である特徴マップに変換される(ステップS250)。
なお、ステップS245及びS250における処理を実行するレイヤで構成されるモジュールは、本実施の形態における第二変換モジュールの例である。
以上が本実施の形態に係るDNNの実行方法である。この方法でのメモリ使用量、精度等に関する性能評価は、後述の実施例で従来の方法と比較しながら紹介する。
[DNNの学習方法]
次に、上記の方法を用いて実行されたディープニューラルネットワークのバックプロパゲーションによる学習方法について説明する。図2は、上記の実行方法での推論時におけるフォワードパスのモデル図である。また、図3は、上記の実行方法に対応するバックプロパゲーションにおけるバックワードパスのモデル図である。図2の推論パスは(式9)に、図3の推論パスは(式10)に対応する。
本実施の形態に係るDNNの実行方法で新たに導入された関数b-1()は、ReLUと類似の硬判定をするゲートとして表すことができる。関数b-1()の勾配は、(式13)を用いて求めることができる。
Figure 0006998968000039
最終的に、関数b()の勾配は、(式14)を用いて算出した勾配ベクトルのスケーリング合計である。
Figure 0006998968000040
なお、(式14)における
Figure 0006998968000041
は、
Figure 0006998968000042
の中の非ゼロ要素の個数を示す勾配スケーリング係数である。実用上は、スケーリング係数は統計的情報に基づいて一回のみ算出し、勾配の正規化のための静的なハイパーパラメータとして用いられる。
本実施の形態に係るニューラルネットワークの目的は、学習を行って最小の
Figure 0006998968000043
のみを保持するところにあるため、P及びRの初期値の選択は重要である。これらの重みテンソルを、非圧縮特徴マップの圧縮特徴マップへのマッピング、及びその逆も行う恒等関数を用いて初期化することで、学習に適した開始点を得ることができる。また、何らかの分布から抽出したノイズを用いた初期化も可能である。
[概要]
実施の形態で述べたバイナリ表現化を行うレイヤ及び量子化を行うレイヤを、ベースとなる浮動小数点ネットワークアーキテクチャとしてSqueezeNet V1.1及びMobilenet V2を用いて実行した。
[SqueezeNet V1.1の場合]
本実施例では、「squeeze」レイヤの中で空間次元の最も高い方から選択した「fire2/squeeze」レイヤ及び「fire3/squeeze」レイヤを圧縮した。ネットワークへの入力の解像度は227×227であり、重みはすべて浮動小数点数であった。
量子化及び圧縮済みのモデルに対し、ImageNet(ILSVRC2012)の訓練データセットでの1024のサイズを単位とするミニバッチ学習を10万回のイテレーション、さらに2万回のイテレーションごとに、1e-3/10から始まる段階的な学習率で確率的勾配降下法のソルバーによる再学習を実行した。このような大型のミニバッチが当初のモデルによって使用されたが、量子化及び圧縮済みのモデルが勾配を予測するのにも役立った。圧縮モデルは8ビットの量子化済みモデルから繰り返し導出して再学習した。図4は、ImageNetの評価データセットからの5万件の画像に対する推論精度の評価結果を示す。各欄のうち、最も左はモデルの型(fp32:単精度浮動小数点数、uint8:符号なし8ビット整数、等)を示し、右へ順に、重みのデータサイズ、アクティベーションである特徴マップのデータサイズ、最高スコアの回答(top-1)の正答率、上位5位までのスコアの回答(top-5)の正答率を示す表である。正答率でカッコの外の数字は再学習あり、カッコ内の数字は再学習なしでの結果を示す。
この評価結果によれば、畳み込みにサイズが1×1のカーネルを用いたバイナリ表現化ありの場合では、バイナリ表現化をしない場合と比較して重みは微増したものの、同じ型のモデルでも精度が向上した(top-1、6ビットで1.0%、4ビットで2.4%)。また、畳み込みに3×3のカーネルをストライド2で用いた場合では、6ビットの型で重みのサイズが約47%の増加を示した。これにより、特徴マップの空間次元が、局所的な空間的量子化の冗長性を利用して削減された。そしてアクティベーションとしての特徴マップのサイズはバイナリ表現化をしない場合と比較して4分の1に減少し、その一方で正答率は、fp32の場合との比較でtop-1の8ビットで4.3%、6ビットで4.6%落ちた。
[MobileNetV2の場合]
「conv2_1/linear」特徴マップを圧縮した。この特徴マップは他の特徴マップより3倍以上サイズが大きいものであった。訓練に関するハイパーパラメータは上記のSqueezeNetの場合のものと共通である。イテレーション数は5万回で、学習率は比例変化させた。また、「conv2_1/linear」の後にReLUレイヤを追加して圧縮方法の現状の実装に適合させた。これにより、「conv2_1/linear」特徴マップは、当初は符号付き整数を含み、変更後には符号なし整数を含む。なお、バッチ正規化層によって訓練処理が不安定になることがあったため、正規化パラメータ及びスケーリングパラメータは固定して畳み込み層の重み及びバイアスにマージした。このようにして変更されたモデルに対し、当初のものから再学習を行った。図5は、MobileNetV2を用いたImageNetでの推論精度の評価結果の表である。各欄の項目の内容は図4の表とほぼ共通である。ただし、「量子化あり、バイナリ表現化なし」で用いたモデルの型は、上述の符号付き整数を含むもの(int9:符号付き9ビット整数等)である。
ReLUが追加されていない量子化ありの場合では、再学習後のtop-1の正答率で、fp32と比較して、9ビット及び7ビットでそれぞれ0.3%上昇し、5ビットで0.3%低下した。なお、MobileNetV2での量子化ありの場合には、9ビットと5ビットでの正答率の差が0.6ポイントと、ビット幅を下げても精度の悪化がわずかであった。一方、ReLUを追加した量子化ありの場合では、この表に示されるケースで最も高い精度を示した。
畳み込みにサイズ1×1のカーネルを用いたバイナリ表現化ありの場合では、バイナリ表現化なしの従来の方法とほぼ同等の成績を得た。また、畳み込みに2×2のカーネルをストライド2で用いた場合では、特徴マップはさらにその半分のサイズに圧縮され、正答率は約4.5%の低下、重みのサイズは約5%の増加を示した。
なお、表には含まれないが、物体検知について、畳み込みに2×2のカーネルをストライド2で用いた場合と、3×3のカーネルをストライド2で用いた場合とで比較した結果、前者の方が精度及びデータサイズの点で良好な成績を挙げた。
[概要]
本実施例では、Pascal VOCのデータセットを利用して物体検知を実施し、その精度評価をした。より具体的には、VOC2007の4952点の画像と、VOC2007及びVOC2012を併せた16551点の画像からなる訓練データセットとを用いた。また、上記実施の形態における方法の実行には、SSD(Single Shot Detector)512モデルを用い、特徴抽出には、本来のVGG-16に変えて、ImageNetで事前訓練をしたSqueezeNetを用いた。これにより、パラメータの個数は4分の1に、全体推論時間は3分の1に減らすことができた。
また、VOCの元画像を512×512の解像度にリサイズした。ImageNetでの実施例と同様に、浮動小数点数、量子化のみ、圧縮まであり、の複数種類のモデルを用意して比較した。融合的演算を実行すれば、空間次元の高さゆえに全特徴マップメモリの80%を超える割合を占める「fire2/squeeze」レイヤ及び「fire3/squeeze」レイヤに、量子化及び圧縮を適用した。深さ次元の線形的な増加に比べると、空間次元の減少は、最大プーリング層があるために、通常は二次元的である。圧縮モデルは8ビットの量子化済みモデルから導出し、いずれも256のサイズを単位とするミニバッチ学習を1万回のイテレーション、さらに2500回のイテレーションごとに、1e-3/10から始まる段階的な学習率で確率的勾配降下法のソルバーによる再学習を実行した。
[結果]
図6は、本実施例における推論精度の評価結果の表を示す。各欄は左から、モデルの型、重みのデータサイズ、アクティベーションである特徴マップのデータサイズ、mAP(mean Average Precision)を示す。
量子化あり、バイナリ表現化なしのモデル(再学習あり)では、浮動小数点数のモデルに比べてmAPが8ビットで0.04%、6ビットで約0.5%、4ビットで約2.2%、2ビットで約12.3%下回った。なお、カッコ内の数値は、再学習なしの場合の参考値である。
畳み込みにサイズが1×1のカーネルを用いたバイナリ表現化ありの場合、mAPはバイナリ表現化なしのモデルに比べて6ビットで約0.5%上回り、4ビットで約0.5%下回った。
また、畳み込みに3×3のカーネルをストライド2で用いた場合、また、畳み込みに2×2のカーネルをストライド2で用いた場合では、後者の方がパラメータも計算量も少ない上に、より1%近く高いmAPを示した。
[メモリ使用量]
図7は、上記のSSDモデルでのメモリ使用量をまとめた表である。なお、ここでは、全アクティベーションのメモリ使用量の80%以上を占める最も大きい特徴マップのみを計測の対象とした。
入力フレームは別途保持されると想定して、融合的演算のみでも特徴マップのサイズは19分の1に圧縮された。
また、融合的演算と量子化とを実行する固定小数点モデルでは、8ビットの場合でその約4分の1、4ビットの場合で約8分の1まで圧縮された。
さらに、上記実施の形態に係るバイナリ表現化を含む方法(カーネルサイズ:2×2、ストライド:2)を適用すると、上記の4ビットの場合からさらに半分のサイズにまで圧縮されたものの、mAPの低下は1.5%に留まった。
また、特徴抽出のために必要なメモリ使用量は、全体で二桁削減された。
[総括]
上記の様に、本開示におけるDNNの実行方法では、複数のレイヤの融合的演算及び量子化を含む従来のDNNの方法に、GF(2)上で推論及び学習を行う技術を加えて実行する。GF(2)のバイナリ表現を用いることで、特徴マップを、DNNに埋め込まれたオートエンコーダ的なレイヤを用いてより高次な空間で圧縮することができる。この圧縮-伸長レイヤは従来の畳み込みレイヤにビット単位の演算を加えて用いることで実装することができる。より正確には、本開示に係る方法は、有限体の濃度と引き換えにベクトル空間の次元性を得ることで、特徴をバイナリレベルで学習することを可能にするものである。本開示の推論のための圧縮の手法は、GPU(Graphics Processing Unit)、CPU(Central Processing Unit)、その他個別に設計されるアクセラレータにも適用することができる。また、バイナリを扱う既存のニューラルネットワークの適用範囲を、物体検知などの新たな応用分野に拡大して精度の高い成果を得ることが期待される。
[他の実施形態]
以上、一つまたは複数の態様に係るDNNの実行方法及び学習方法について、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものも、これらの態様のひとつとして含まれてもよい。
また、本開示ではDNNの実施方法及び学習方法として実施形態を説明したが、本発明は、各レイヤによる処理を実行する機能的な構成要素を備えるDNNの実行装置又は学習装置としても実現可能である。これらのような装置は、例えば上記の方法を実行するプロセッサ及び上記の非圧縮特徴マップを格納するためのメモリを備える、1台以上の情報処理装置で実現される。図8は、この実施の形態に係る情報処理装置のハードウェア構成例を示すブロック図である。
図8に示すように、情報処理装置100は、CPU101(Central Processing Unit)と、メインメモリ102と、ストレージ103と、通信I/F(Interface)104と、GPU(Graphics Processing Unit)105とを備える。これらの構成要素はバスに接続され、相互にデータをやり取りすることができる。
CPU101は、ストレージ103等に記憶された制御プログラム及び、例えば上記のDNNの実行方法を実現するためのプログラムを実行するプロセッサである。
メインメモリ102は、CPU101が上記の各プログラムを実行するためのワークエリアとして用いられる揮発性の記憶領域である。
ストレージ103は、上記の各プログラム等を保持する不揮発性の記憶領域である。
通信I/F104は、通信ネットワーク(図示なし)を介して外部の機器と通信する通信インタフェースである。例えばDNNの実行装置が複数台の情報処理装置100で実現される場合は、情報処理装置100間のデータのやり取りが、通信I/F104によって通信ネットワークを介して行われる。通信I/F104は、例えば、有線LANインタフェースである。なお、通信I/F104は、無線LANインタフェースであってもよい。また、通信I/F104は、LANインタフェースに限らずに、通信ネットワークとの通信接続を確立できる通信インタフェースであればどのような通信インタフェースであってもよい。
GPU105は、例えば上記のDNNの学習方法を実現するためのプログラムを実行するプロセッサである。
また本発明は、プロセッサ及びメモリを備える情報処理装置に、上記の実施の形態に係るDNNの実施方法又は学習方法を実行させるためのプログラムとして、また、このようなプログラムを保持する非一時的な記録媒体としても実現可能である。
本開示は、画像分類、物体検出などのコンピュータビジョンの分野に利用可能である。
100 情報処理装置
101 CPU
102 メインメモリ
103 ストレージ
104 通信I/F
105 GPU

Claims (7)

  1. ディープニューラルネットワークによる推論において、浮動小数点又は固定小数点で表現される中間特徴マップを、第一変換モジュールを用いてバイナリベクトルに変換することでバイナリ表現化したバイナリ中間特徴マップを取得し、
    前記バイナリ中間特徴マップを、非線形次元削減レイヤで圧縮することで圧縮特徴マップを生成し、
    前記圧縮特徴マップをメモリに書き込み、
    前記メモリから読み出した前記圧縮特徴マップを、前記非線形次元削減レイヤに対応する再構築レイヤで伸長することで前記バイナリ中間特徴マップを再構築し、
    再構築された前記バイナリ中間特徴マップを、第二変換モジュールを用いて浮動小数点又は固定小数点で表現される中間特徴マップに変換する
    ディープニューラルネットワーク実行方法。
  2. 前記非線形次元削減レイヤは、1又は連続する複数の投影畳み込みレイヤであり、
    前記再構築レイヤは、1又は連続する複数の再構築畳み込みレイヤである
    請求項1に記載のディープニューラルネットワーク実行方法。
  3. 請求項1又は2に記載の方法を用いて実行されたディープニューラルネットワークのバックプロパゲーションによる学習方法であって、
    前記第一変換モジュール及び前記第二変換モジュールの分析導関数を前記ディープニューラルネットワークが含むレイヤのうち後段レイヤの勾配に適用することで先段レイヤの勾配を生成し、
    生成された前記先段レイヤの勾配に基づいて重みとバイアスを更新し、
    恒等写像関数に基づいて前記非線形次元削減レイヤの重み及び前記再構築レイヤの重みを初期化する
    ディープニューラルネットワーク学習方法。
  4. ディープニューラルネットワークによる推論を実行する、プロセッサを備える装置であって、
    前記プロセッサは、
    浮動小数点又は固定小数点で表現される中間特徴マップを、第一変換モジュールを用いてバイナリベクトルに変換することでバイナリ表現化したバイナリ中間特徴マップを取得し、
    前記バイナリ中間特徴マップを、非線形次元削減レイヤで圧縮することで圧縮特徴マップを生成し、
    前記圧縮特徴マップをメモリに書き込み、
    前記メモリから読み出した前記圧縮特徴マップを、前記非線形次元削減レイヤに対応する再構築レイヤで伸長することで前記バイナリ中間特徴マップを再構築し、
    再構築された前記バイナリ中間特徴マップを、第二変換モジュールを用いて浮動小数点又は固定小数点で表現される中間特徴マップに変換する
    ディープニューラルネットワーク実行装置。
  5. 請求項1又は2に記載の方法を用いて実行されたディープニューラルネットワークのバックプロパゲーションによる学習を実行する、プロセッサを備える装置であって、
    前記プロセッサは、
    前記第一変換モジュール及び前記第二変換モジュールの分析導関数を前記ディープニューラルネットワークが含むレイヤのうち後段レイヤの勾配に適用することで先段レイヤの勾配を生成し、
    生成された前記先段レイヤの勾配に基づいて重みとバイアスを更新し、
    恒等写像関数に基づいて前記非線形次元削減レイヤの重み及び前記再構築レイヤの重みを初期化する
    ディープニューラルネットワーク学習装置。
  6. 請求項1に記載のディープニューラルネットワーク実行方法をコンピュータに実行させるためのプログラム。
  7. 請求項3に記載のディープニューラルネットワーク学習方法をコンピュータに実行させるためのプログラム。
JP2019549546A 2017-09-05 2018-08-30 ディープニューラルネットワークの実行方法、実行装置、学習方法、学習装置及びプログラム Active JP6998968B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762554224P 2017-09-05 2017-09-05
US62/554,224 2017-09-05
PCT/US2018/048867 WO2019050771A1 (en) 2017-09-05 2018-08-30 EXECUTION METHOD, EXECUTION DEVICE, LEARNING METHOD, LEARNING DEVICE, AND PROGRAM FOR DEEP NEURAL NETWORK

Publications (2)

Publication Number Publication Date
JP2020532777A JP2020532777A (ja) 2020-11-12
JP6998968B2 true JP6998968B2 (ja) 2022-01-18

Family

ID=65634935

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019549546A Active JP6998968B2 (ja) 2017-09-05 2018-08-30 ディープニューラルネットワークの実行方法、実行装置、学習方法、学習装置及びプログラム

Country Status (5)

Country Link
US (1) US11481613B2 (ja)
EP (1) EP3679524A4 (ja)
JP (1) JP6998968B2 (ja)
CN (1) CN110663048B (ja)
WO (1) WO2019050771A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190068255A (ko) * 2017-12-08 2019-06-18 삼성전자주식회사 고정 소수점 뉴럴 네트워크를 생성하는 방법 및 장치
CN108256644B (zh) * 2018-01-05 2021-06-22 上海兆芯集成电路有限公司 微处理器电路以及执行神经网络运算的方法
CN110163370B (zh) * 2019-05-24 2021-09-17 上海肇观电子科技有限公司 深度神经网络的压缩方法、芯片、电子设备及介质
CN112085181B (zh) * 2019-06-12 2024-03-29 上海寒武纪信息科技有限公司 神经网络量化方法及装置以及相关产品
CN110738141A (zh) * 2019-09-26 2020-01-31 五邑大学 一种静脉识别的方法、装置、设备及存储介质
CN111489739B (zh) * 2020-04-17 2023-06-16 嘉楠明芯(北京)科技有限公司 音素识别方法、装置及计算机可读存储介质
US11829376B2 (en) * 2020-05-06 2023-11-28 Intel Corporation Technologies for refining stochastic similarity search candidates
US20220067529A1 (en) * 2020-08-25 2022-03-03 Microsoft Technology Licensing, Llc Compressing and Decompressing Data for Language Models
US20210241025A1 (en) * 2020-10-28 2021-08-05 Beijing More Health Technology Group Co. Ltd. Object recognition method and apparatus, and storage medium
JP2022077466A (ja) * 2020-11-11 2022-05-23 日立Astemo株式会社 情報処理装置およびニューラルネットワーク縮約方法
CN112884123B (zh) * 2021-02-23 2024-03-01 杭州海康威视数字技术股份有限公司 神经网络优化方法、装置、电子设备及可读存储介质
CN113593538B (zh) * 2021-09-02 2024-05-03 北京声智科技有限公司 语音特征的分类方法、相关设备及可读存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013020638A (ja) 2005-11-15 2013-01-31 Garner Bernadette 入力ベクトルがニューロンによって既知であるか未知であるかを決定する方法

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0734546B2 (ja) * 1989-03-13 1995-04-12 彰 岩田 データ圧縮装置
US5161204A (en) * 1990-06-04 1992-11-03 Neuristics, Inc. Apparatus for generating a feature matrix based on normalized out-class and in-class variation matrices
JPH08153081A (ja) * 1994-11-30 1996-06-11 Matsushita Electric Ind Co Ltd 信号認識方法
US6832006B2 (en) * 2001-07-23 2004-12-14 Eastman Kodak Company System and method for controlling image compression based on image emphasis
US6608924B2 (en) * 2001-12-05 2003-08-19 New Mexico Technical Research Foundation Neural network model for compressing/decompressing image/acoustic data files
US20070233477A1 (en) * 2006-03-30 2007-10-04 Infima Ltd. Lossless Data Compression Using Adaptive Context Modeling
CN101094402A (zh) * 2007-07-13 2007-12-26 青岛大学 基于神经网络与svm的图像编码方法
US8503539B2 (en) * 2010-02-26 2013-08-06 Bao Tran High definition personal computer (PC) cam
US8527276B1 (en) * 2012-10-25 2013-09-03 Google Inc. Speech synthesis using deep neural networks
CA3078075C (en) * 2012-12-05 2022-02-08 Applied Brain Research Inc. Methods and systems for artificial cognition
US9904889B2 (en) * 2012-12-05 2018-02-27 Applied Brain Research Inc. Methods and systems for artificial cognition
WO2014210368A1 (en) * 2013-06-28 2014-12-31 D-Wave Systems Inc. Systems and methods for quantum processing of data
JP6192010B2 (ja) * 2013-09-05 2017-09-06 国立大学法人 東京大学 重み設定装置および方法
US20160026912A1 (en) * 2014-07-22 2016-01-28 Intel Corporation Weight-shifting mechanism for convolutional neural networks
GB2530990A (en) * 2014-10-06 2016-04-13 Ibm Decimal and binary floating point arithmetic calculations
US9721190B2 (en) * 2014-12-19 2017-08-01 Google Inc. Large-scale classification in neural networks using hashing
US10223635B2 (en) * 2015-01-22 2019-03-05 Qualcomm Incorporated Model compression and fine-tuning
US10846589B2 (en) * 2015-03-12 2020-11-24 William Marsh Rice University Automated compilation of probabilistic task description into executable neural network specification
JP2016197389A (ja) * 2015-04-03 2016-11-24 株式会社デンソーアイティーラボラトリ 学習システム、学習プログラムおよび学習方法
US10034005B2 (en) * 2015-06-05 2018-07-24 Sony Corporation Banding prediction for video encoding
US10509765B2 (en) * 2015-10-08 2019-12-17 Via Alliance Semiconductor Co., Ltd. Neural processing unit that selectively writes back to neural memory either activation function output or accumulator value
CN105979201A (zh) * 2016-04-11 2016-09-28 上海大学 一种基于并行处理器的智能可穿戴设备
WO2018093796A1 (en) * 2016-11-15 2018-05-24 Magic Leap, Inc. Deep learning system for cuboid detection
CN106909970B (zh) * 2017-01-12 2020-04-21 南京风兴科技有限公司 一种基于近似计算的二值权重卷积神经网络硬件加速器计算装置
US10586344B2 (en) * 2018-02-21 2020-03-10 Beijing Jingdong Shangke Information Technology Co., Ltd. System and method for feature screening in SLAM
WO2020080827A1 (en) * 2018-10-19 2020-04-23 Samsung Electronics Co., Ltd. Ai encoding apparatus and operation method of the same, and ai decoding apparatus and operation method of the same
US10922573B2 (en) * 2018-10-22 2021-02-16 Future Health Works Ltd. Computer based object detection within a video or image
US10853670B2 (en) * 2018-11-21 2020-12-01 Ford Global Technologies, Llc Road surface characterization using pose observations of adjacent vehicles

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013020638A (ja) 2005-11-15 2013-01-31 Garner Bernadette 入力ベクトルがニューロンによって既知であるか未知であるかを決定する方法

Also Published As

Publication number Publication date
CN110663048A (zh) 2020-01-07
WO2019050771A1 (en) 2019-03-14
US20200097802A1 (en) 2020-03-26
EP3679524A4 (en) 2020-10-28
CN110663048B (zh) 2023-10-24
JP2020532777A (ja) 2020-11-12
US11481613B2 (en) 2022-10-25
EP3679524A1 (en) 2020-07-15

Similar Documents

Publication Publication Date Title
JP6998968B2 (ja) ディープニューラルネットワークの実行方法、実行装置、学習方法、学習装置及びプログラム
JP7029321B2 (ja) 情報処理方法、情報処理装置およびプログラム
JP6794593B2 (ja) 多階層ニューラルネットワークモデルを最適化して適用する方法及び装置、及び記憶媒体
JP6574503B2 (ja) 機械学習方法および装置
CN107977704B (zh) 权重数据存储方法和基于该方法的神经网络处理器
US10552944B2 (en) Image upscaling with controllable noise reduction using a neural network
JP2020009444A (ja) ニューラルネットワークにおいてパラメータを処理する方法及び装置
CN109002889B (zh) 自适应迭代式卷积神经网络模型压缩方法
US20180082181A1 (en) Neural Network Reordering, Weight Compression, and Processing
KR102562320B1 (ko) 비트 연산 기반의 뉴럴 네트워크 처리 방법 및 장치
CN111488986A (zh) 一种模型压缩方法、图像处理方法以及装置
CN112292816A (zh) 处理核心数据压缩和存储系统
WO2020154083A1 (en) Neural network activation compression with non-uniform mantissas
CN115129386A (zh) 用于神经网络部署和执行的有效优化
JP2019028746A (ja) ネットワーク係数圧縮装置、ネットワーク係数圧縮方法およびプログラム
JP2020149156A (ja) データ圧縮装置、データ処理装置、データ圧縮方法、プログラム、及び学習済みモデル
CN112651485A (zh) 识别图像的方法和设备以及训练神经网络的方法和设备
CN114402596A (zh) 神经网络模型压缩
KR20220042455A (ko) 마이크로-구조화된 가중치 프루닝 및 가중치 통합을 이용한 신경 네트워크 모델 압축을 위한 방법 및 장치
CN115080139A (zh) 用于神经网络部署和执行的有效量化
CN112189216A (zh) 数据处理方法及设备
CN117063183A (zh) 激活函数的高效压缩
US20220076122A1 (en) Arithmetic apparatus and arithmetic method
CN115080138A (zh) 用于神经网络部署和执行的有效存储器使用优化
JP7297286B2 (ja) 最適化方法、最適化プログラム、推論方法、および推論プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210310

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211208

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211221

R150 Certificate of patent or registration of utility model

Ref document number: 6998968

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150