JP2021006980A - スパース性制約及び知識の蒸留に基づくスパースかつ圧縮されたニューラルネットワーク - Google Patents

スパース性制約及び知識の蒸留に基づくスパースかつ圧縮されたニューラルネットワーク Download PDF

Info

Publication number
JP2021006980A
JP2021006980A JP2019174987A JP2019174987A JP2021006980A JP 2021006980 A JP2021006980 A JP 2021006980A JP 2019174987 A JP2019174987 A JP 2019174987A JP 2019174987 A JP2019174987 A JP 2019174987A JP 2021006980 A JP2021006980 A JP 2021006980A
Authority
JP
Japan
Prior art keywords
neural network
weights
network
subset
sparse
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.)
Granted
Application number
JP2019174987A
Other languages
English (en)
Other versions
JP6959308B2 (ja
Inventor
スリニディ・ヘッジ
Hegde Srinidhi
ラムヤ・ヘバラグッペ
Hebbalaguppe Ramya
ランジタ・プラサド
Prasad Ranjitha
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.)
Tata Consultancy Services Ltd
Original Assignee
Tata Consultancy Services 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 Tata Consultancy Services Ltd filed Critical Tata Consultancy Services Ltd
Publication of JP2021006980A publication Critical patent/JP2021006980A/ja
Application granted granted Critical
Publication of JP6959308B2 publication Critical patent/JP6959308B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • 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
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (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)
  • Machine Translation (AREA)
  • Traffic Control Systems (AREA)

Abstract

【課題】深層ニューラルネットワークにおいて、モデル精度の妥協を最小限にしながら、メモリ及び計算効率が高い、組み込みプラットフォームにおけるネットワークモデルを提供する。【解決手段】コンパクトかつスパースなネットワークを学習するための方法であって、精確な一方で複雑な事前訓練済み教師ネットワークにより学習された知識及び生徒ネットワークにおいて変分パラメータにより引き起こされるスパース性を用いて、ベイジアン生徒ネットワークを構築する。さらに、生徒ネットワークにスパース性を引き起こす教師ネットワークの能力は、教師及び生徒ネットワークの重みの連結されたテンソルに、ブロックスパース正則化を用いることにより学習される。具体的には、生徒ネットワークは、変分下限に基づく損失関数を用いて、教師からのヒント、及び重みのブロックスパース性の制約のもとで訓練される。【選択図】図3

Description

本開示は、概してニューラルネットワークに関し、特に、よりスパースかつ圧縮されたニューラルネットワークに係るスパース性の制約と知識の蒸留に基づく学習に関する。
過去10年にわたる機械学習のカンブリア爆発は、音声、視覚及びテキストの領域において、劇的な性能改善に寄与している深層ニューラルネットワーク(DNN)によるところが大きい。深層学習における活発な関心にも関わらず、デバイス(スマートフォン、ドローン、ヘッドマウント等)の小型化と拡張/仮想現実デバイスの著しい進歩は、CPU/GPU、メモリ及びバッテリ寿命に制約をもたらし、リソースが制限されたポータブルデバイスにこれらの深層学習モデルを展開することを困難にしている。こうした要請に応えるため、DNNを圧縮すること、及び前述のような制限された環境においてDNNの性能を強化することは、受け入れられる基準に必須であると考えられる。
本開示の実施形態は、従来のシステムにおいて発明者らが認識した上記の技術的課題の1つまたは複数に対する解決手段として、技術的改善を開示する。例えば、1つの観点において、よりスパースかつ圧縮された訓練済みニューラルネットワークを学習するための、スパース性の制約と知識の蒸留を利用する、プロセッサにより実施される方法が提供される。当該方法は、1つまたは複数のハードウェアプロセッサにより複数の重みを有するニューラルネットワークを初期化するステップと、1つまたは複数のハードウェアプロセッサにより、第1のニューラルネットワークを訓練するステップとを備える。当該訓練するステップは、第1のニューラルネットワークに(i)特定のドメインに対応して受け取った入力データの部分集合と(ii)当該入力データの部分集合に対応する正解情報とを渡すステップ、当該入力データの部分集合に関して、第1のニューラルネットワークにより生成された出力と、対応する正解情報との第1の差異に基づき、1つまたは複数のハードウェアプロセッサにより第1のニューラルネットワークの複数の重みを動的に更新するステップ、当該部分集合に関して(i)第1のニューラルネットワークにより生成された出力と(ii)第2のニューラルネットワークにより生成された出力との第2の差異(例えば、別の差異)に基づき、1つまたは複数のハードウェアプロセッサにより第1のニューラルネットワークの複数の重みを動的に更新するステップ、及びブロックスパース正則化と変分ドロップアウト技術を利用することにより、第2のニューラルネットワークの重みの集合に関して、第1のニューラルネットワークの複数の重みにおいて1つまたは複数の重みを無効化する、または維持することを決定するように、第1のニューラルネットワークの複数の重みに1つまたは複数のスパース性制約を適用するステップを、訓練され、圧縮され、かつスパース性が高いニューラルネットワークを得るように、最終的な損失関数が予め定義された閾値に収束するまで繰り返し実行することにより訓練を行う。
一実施形態において、入力データの部分集合に関する出力と、対応する正解情報との第1の差異は、交差エントロピー損失関数を用いて推定される。
一実施形態において、入力データの部分集合に関して(i)第1のニューラルネットワークにより生成された出力と(ii)第2のニューラルネットワークにより生成された出力との第2の差異は、カルバックライブラー(KL)情報量関数により推定される。
一実施形態において、1つまたは複数の重みが無効化されるか、または維持されるかは、最終的な損失関数を解くことにより決定される。
一実施形態において、最終的な損失関数は、訓練され、圧縮され、スパース性の高いニューラルネットワークを得るように最適化され、当該ニューラルネットワークは、第2のニューラルネットワークにおける複数の重み未満の、1つまたは複数の決定された重みを有し、第1のニューラルネットワークの選択は、ニューラルネットワークにおける1つまたは複数の層のパラメータ数に基づく。
一実施形態において、第2のニューラルネットワークは、事前訓練済みのニューラルネットワークである。
1つの観点において、よりスパースかつ圧縮された訓練済みニューラルネットワークを学習するためにスパース性の制約と知識の蒸留を利用する、プロセッサにより実施されるシステムが提供される。当該システムは、命令を記憶するメモリと、1つまたは複数の通信インタフェースと、メモリに1つまたは複数の通信インタフェースを介して連結された1つまたは複数のハードウェアプロセッサと、を備える。1つまたは複数のハードウェアプロセッサは、複数の重みを有する第1のニューラルネットワークを初期化するステップと、第1のニューラルネットワークを訓練するステップとを実行するための命令により構成される。第1のニューラルネットワークは、メモリに含まれ、1つまたは複数のハードウェアプロセッサにより実行される。訓練するステップは、第1のニューラルネットワークに(i)特定のドメインに対応して受け取った入力データの部分集合と(ii)当該入力データの部分集合に対応する正解情報とを渡すステップ、当該入力データの部分集合に関して第1のニューラルネットワークにより生成された出力と、対応する正解情報との第1の差異に基づき、第1のニューラルネットワークの複数の重みを動的に更新するステップ、当該部分集合に関して(i)第1のニューラルネットワークにより生成された出力と(ii)メモリに含まれて1つまたは複数のハードウェアプロセッサにより実行される第2のニューラルネットワークにより生成された出力との第2の差異(例えば、別の差異)に基づき、第1のニューラルネットワークの複数の重みを動的に更新するステップ、及びブロックスパース正則化と変分ドロップアウト技術を利用することで、1つまたは複数のハードウェアプロセッサにより、第2のニューラルネットワークの重みの集合に関して第1のニューラルネットワークの複数の重みにおいて1つまたは複数の重みを無効化する、または維持することを決定するように、第1のニューラルネットワークの複数の重みに1つまたは複数のスパース性制約を適用するステップを、訓練され、圧縮され、かつスパース性が高いニューラルネットワークを得るように、最終的な損失関数が予め定義された閾値に収束するまで、繰り返し実行することにより訓練を行う。
一実施形態において、入力データの部分集合に関する出力と、対応する正解情報との第1の差異は、交差エントロピー損失関数を用いて推定される。
一実施形態において、入力データの部分集合に関して(i)第1のニューラルネットワークにより生成された出力と(ii)第2のニューラルネットワークにより生成された出力との第2の差異は、カルバックライブラー(KL)情報量関数により推定される。
一実施形態において、1つまたは複数の重みが無効化されるか、または維持されるかは、最終的な損失関数を解くことにより決定される。
一実施形態において、最終的な損失関数は、訓練され、圧縮され、スパース性の高いニューラルネットワークを得るように最適化され、当該ニューラルネットワークは、第2のニューラルネットワークにおける複数の重み未満の、1つまたは複数の決定された重みを有し、第1のニューラルネットワークの選択は、ニューラルネットワークにおける1つまたは複数の層のパラメータ数に基づく。
一実施形態において、第2のニューラルネットワークは、事前訓練済みのニューラルネットワークである。
また別の観点において、1つまたは複数の命令を備える、1つまたは複数の非一時的機械可読情報記憶媒体が提供される。当該命令は、1つまたは複数のハードウェアプロセッサにより実行されると、よりスパースかつ圧縮された訓練済みニューラルネットワークを学習するために、スパース性制約と知識の蒸留を利用する以下のステップを行う。当該ステップは、1つまたは複数のハードウェアプロセッサにより複数の重みを有するニューラルネットワークを初期化するステップと、1つまたは複数のハードウェアプロセッサにより第1のニューラルネットワークを訓練するステップとを含む。当該訓練するステップは、第1のニューラルネットワークに(i)特定のドメインに対応して受け取った入力データの部分集合と(ii)当該入力データの部分集合に対応する正解情報とを渡すステップ、当該入力データの部分集合に関して、第1のニューラルネットワークにより生成された出力と、対応する正解情報との第1の差異に基づき、1つまたは複数のハードウェアプロセッサにより第1のニューラルネットワークの複数の重みを動的に更新するステップ、当該部分集合に関して(i)第1のニューラルネットワークにより生成された出力と(ii)第2のニューラルネットワークにより生成された出力との第2の差異(例えば、別の差異)に基づき、1つまたは複数のハードウェアプロセッサにより第1のニューラルネットワークの複数の重みを動的に更新するステップ、及びブロックスパース正則化と変分ドロップアウト技術を利用することにより、第2のニューラルネットワークの重みの集合に関して、第1のニューラルネットワークの複数の重みにおいて1つまたは複数の重みを無効化する、または維持することを決定するように、第1のニューラルネットワークの複数の重みに1つまたは複数のスパース性制約を適用するステップを、訓練され、圧縮され、かつスパース性が高いニューラルネットワークを得るように、最終的な損失関数が予め定義された閾値に収束するまで繰り返し実行することにより訓練を行う。
一実施形態において、入力データの部分集合に関する出力と、対応する正解情報との第1の差異は、交差エントロピー損失関数を用いて推定される。
一実施形態において、入力データの部分集合に関して(i)第1のニューラルネットワークにより生成された出力と(ii)第2のニューラルネットワークにより生成された出力との第2の差異は、カルバックライブラー(KL)情報量関数により推定される。
一実施形態において、1つまたは複数の重みが無効化されるか、または維持されるかは、最終的な損失関数を解くことにより決定される。
一実施形態において、最終的な損失関数は、訓練され、圧縮され、スパース性の高いニューラルネットワークを得るように最適化され、当該ニューラルネットワークは、第2のニューラルネットワークにおける複数の重み未満の、1つまたは複数の決定された重みを有し、第1のニューラルネットワークの選択は、ニューラルネットワークにおける1つまたは複数の層のパラメータ数に基づく。
一実施形態において、第2のニューラルネットワークは、事前訓練済みのニューラルネットワークである。
前述の一般的記載、及び以下の詳細な記載は、ともに特許請求の範囲に記載された発明に関して、単に例示的、説明的なものであり、限定的なものではないと解されるべきである。
添付の図面は、本開示に含まれ、本開示の一部を構成するものであり、例示的な実施形態を示して明細書とともに本開示を説明するものである。
本開示の実施形態に従って、圧縮されスパースな訓練済みネットワークを得るように深層ニューラルネットワークを訓練するためのシステムに関する例示的なブロック図 本開示のネットワーク構造に係る実施形態に従って、コンパクトかつスパースなネットワークを学習するための訓練手順を示す例示的なブロック図 本開示のネットワーク構造に係る実施形態に従って、コンパクトかつスパースなネットワークを学習するための方法を示す例示的なフロー図 本開示の例示的実施形態に従って、生徒の重み分布にスパース性をもたらす変分推論を示すグラフィカル表現 本開示の例示的実施形態に従って、生徒の重み分布にスパース性をもたらす変分推論を示すグラフィカル表現 本開示の実施形態に従って、種々の生徒モデルのメモリフットプリントを示すグラフィカル表現 本開示の実施形態に従って、種々の生徒モデルのメモリフットプリントを示すグラフィカル表現 本開示の例示的実施形態に従って、ブロックスパース正則化(BSR)技術により生徒の重み分布にもたらされるスパース性を示すグラフィカル表現 本開示の例示的実施形態に従って、畳み込みネットワーク(CNN)の種々の変種に関する速度向上を示すグラフィカル表現
例示的な実施形態が、添付の図面を参照して説明される。図面において、参照符号の最も左の数字は、当該参照符号が最初に現れる図面を特定する。利便性がある場合には、図面を通して同一または類似の部分を示すために同一の参照符号が用いられる。開示された原理の例及び特徴が本明細において説明されるが、開示された実施形態の範囲を逸脱することなく、修正、適用、及び他の実施が可能である。以下の詳細な説明は、単に例示としてのみ考慮されるべきであり、真の範囲は続く特許請求の範囲によって示されることが意図される。
深層ニューラルネットワークにおいて、研究は、モデル精度の妥協を最小限にしながら、メモリ及び計算効率が良い、組み込みプラットフォームにおけるネットワークモデルを志向している。この目的のために、本開示は「変分生徒」(“Variational Student”)と称するアプローチを実施する。当該アプローチにおいて、知識の蒸留(KD)フレームワークの圧縮性による利点、及び変分推論(VI)技術のスパース性をもたらす性能が議論される。
過去にモデル圧縮のためのいくつかのアプローチが実施されてきた。当該アプローチは、例えばパラメータの枝刈り及び共有、低ランク分解、コンパクトな畳み込みフィルタ、並びに知識の蒸留(KD)である。本開示は、KDに注目する。KDに関連したシステムは、大きく複雑なニューラルネットワーク(例えば、場合により事前訓練済みの教師モデル)から、別のニューラルネットワーク(例えば、小さな生徒ネットワーク)に、生徒ネットワークを訓練するために教師ネットワークのクラス分布を用いて知識を蒸留する手法を実施する。KDに基づくアプローチは、教師に関して再訓練の労力を省くだけでなく、より小さな圧縮された生徒を得られるため魅力的である。KDは、最初は浅いモデルのために提案され、後に深層モデルに拡張された。例えば、顔認識タスクにおけるモデル圧縮に対する、幅が広く層が深いネットワークの圧縮のためのFitNets等のように、モデル圧縮の改善を達成するようなKDアプローチの派生がいくつか提案されてきた。
並行して、DNNにおけるスパース性を達成するためのアプローチは、ベイジアンの途を辿ってきた。ベイジアンニューラルネットワーク(BNN)は、過学習に頑健であり、小規模なデータセットから学習し、重みあたりの確率分布のパラメータを通して不確実性の推定を提供する。さらに変分推論の定式化は、予測精度とモデルの複雑性との分離を明確にすることができ、DNNの分析と最適化の両方に役立つことから、説明可能なAI手法に寄与する。ニューラルネットワークのためのベイズ推論の文脈における最も初期の貢献の一つは、ネットワークの重みの事後確率を推論するために、これらの重みをドロップアウト率と結合的に学習することを目的として提案された変分ドロップアウト(VD)技術である。他には、VDの目的関数においてKL情報量の項の近似を提供するスパース変分ドロップアウト(SVD)技術が提案され、これは全結合及び畳み込み層においてスパースな重み行列を実現することが示されている。別のアプローチは、重みの事前分布に加えて、事前分布のパラメータ上で超事前分布(hyperprior)が仮定される変分ベイジアンドロップアウト(VBD)技術を含む。さらに他のアプローチは、固定小数点精度に基づく重みの符号化を用い、構造化されたスパース性を利用するためにニューラルネットワークの計算構造を考慮して、スパース性を超えた圧縮を達成する技術を含む。
本開示の実施形態は、原型のKDフレームワークにおいて、二値化ニューラルネットワーク(BNN)に基づく生徒を考える。そのようなアプローチの利点は、2つの要素から成る。第1のニューラルネットワーク(例えば、生徒ネットワーク)は、KDにより第2のニューラルネットワーク(例えば、教師ネットワーク)と比べてコンパクトであることに加えて、生徒のベイズ的性質により、SVDまたはVBDといったスパース性を利用するいくつかの技術を用いることができ、したがってスパースな生徒を得られる。特に、教師ネットワークからのヒント(または生成された出力)は、教師によって達成された精度と同程度の精度を保ちながら、コンパクトかつスパースな生徒ネットワークを得ることに役立つ。しかしながら、依然として1つの疑問が残る。すなわち、生徒におけるスパース性をより大きくするために、教師ネットワークからの情報を利用することができるか、ということである。本開示は、教師ネットワークの重みに対して、生徒ネットワークの重みにブロックスパース正則化(BSR)の制約を用いることにより、この技術的問題に対処する。
ブロックスパース制約は、スパースなニューラルネットワークを実現するために利用されてきた。例えば、BSRに基づくグループラッソ(Group−Lasso)正則化が、CNN及びRNNにおいて性能を向上するようなスパースな構造を学習するために利用された。マルチタスク学習(MTL)の文脈においては、既存のアプローチは、異なるタスクのための共有されたパラメータ集合を学習するために、グループラッソ、l/l形式の混合ノルムの一種を用いたスパース性を導入した。さらに、BSRは、関連したタスクがMTLフレームワークで学習される必要があるとき、スパースな重みをもたらす。同様の方針で、生徒及び教師ネットワークが関連したタスクに用いられることから、本開示は、BSRがKDフレームワークにおいて、教師ネットワークの重みを使って生徒ネットワークの重みをスパースにする能力を調査する。すなわち、本開示におけるシステム及び手法は、KDの観点またはベイジアンのフレームワークにおいて、スパース性を導くためにBSRを用いるように実施される。
以下、図面、具体的には図1から図7を参照する。図面において類似の参照符号は、図面を通して対応する特徴を示す。好適な実施形態が提示され、これらの実施形態は、例示的なシステム及び/または手法という観点において説明される。
図1は、本開示の実施形態に従って、圧縮され、スパース性が高い訓練済みネットワークを得るように、深層ニューラルネットワークを訓練するためのシステムの例示的なブロック図を示す。システム100は、「訓練システム」とも称され、以降交換可能に使用される。一実施形態において、システム100は、1つまたは複数のハードウェアプロセッサ104、通信インタフェース装置または入力/出力(I/O)インタフェース106(インタフェースとも称される)、及び1つまたは複数のハードウェアプロセッサ104に動作的に結合された1つまたは複数のデータ記憶装置またはメモリ102を含む。1つまたは複数のプロセッサ104は、1つまたは複数のソフトウェア処理コンポーネント及び/またはハードウェアプロセッサでもよい。一実施形態において、ハードウェアプロセッサは、1つまたは複数のマイクロプロセッサ、マイクロコンピュータ、マイクロコントローラ、デジタル信号処理装置、中央処理装置、状態機械、ロジック回路、及び/または操作命令に基づき信号を操作する任意の装置として実装可能である。プロセッサは、各種機能の中でも特に、メモリに記憶されたコンピュータ可読命令を取得して実行するように構成される。一実施形態において、装置100は、ラップトップコンピュータ、ノートブック、携帯端末、ワークステーション、メインフレームコンピュータ、サーバ、ネットワーククラウド等の種々の計算機システムとして実装される。
I/Oインタフェース装置106は、種々のソフトウェアおよびハードウェアインタフェースを含み、例えば、ウェブインタフェース、グラフィカルユーザインタフェース等であり、例えばLANケーブル等の有線ネットワーク及びWLAN、セルラ、衛星等の無線ネットワークを含む多様なネットワークN/W及びプロトコルタイプ内で多重通信を容易化できる。一実施形態において、I/Oインタフェース装置は、いくつかのデバイスを相互に、または別のサーバに接続するための1つまたは複数のポートを含む。
メモリ102は、当業者に知られた任意のコンピュータ可読媒体、例えばスタティックRAM(SRAM)及びダイナミックRAM(DRAM)のような揮発性メモリ、並びに/または読み出し専用メモリ(ROM)、消去可能プログラマブルROM、フラッシュメモリ、ハードディスク、光学ディスク、及び磁気テープのような不揮発性メモリを含む。一実施形態において、データベース108がメモリ102に格納され、データベース108は、情報を含む。当該情報は、ドメイン情報、特定のドメインに関する入力データ、正解情報、ニューラルネットワーク(例えば、生徒ネットワークのような第1の(深層)ニューラルネットワーク、教師ネットワークのような第2の(深層)ネットワーク)における層に関する重み、重み更新情報、スパース性制約、変分ドロップアウトパラメータ、交差エントロピー損失関数、予め定義された閾値等である。一実施形態において、メモリ102は、1つまたは複数の技術(例えば、変分推論、ブロックスパース正則化技術等)その他同種のものを格納する。上述の技術は、1つまたは複数のハードウェアプロセッサ104によって実行されると、本明細書において説明される手法を実行する。メモリ102はさらに、本開示のシステムと方法によって実行される各ステップの入力/出力に関する情報を含む。より具体的には、重み更新に関する情報、生徒及び教師ネットワークの出力、入力データからのサンプルの各部分集合に対するネットワークの出力の差異、入力データからのサンプルの各部分集合に対する生徒ネットワークの出力と正解情報との差異などがメモリ102に記憶される。すなわち、各ステップで与えられる入力と、生成される出力がメモリ102に含まれ、さらなる処理と分析に利用される。
図2は、図1に関連して、本開示のネットワーク構造に係る実施形態に従って、コンパクトかつスパースなネットワークを学習するための訓練手順を図示する例示的なブロック図を示す。図3は、図1−図2と関連して、本開示のネットワーク構造に係る実施形態に従って、コンパクトかつスパースなネットワークを学習するための方法を示す例示的なフロー図である。一実施形態において、システム100は、1つまたは複数のデータ記憶装置またはメモリ102を備える。データ記憶装置またはメモリ102は、1つまたは複数のハードウェアプロセッサ104に動作的に結合され、1つまたは複数のプロセッサ104により当該方法の各ステップを実行するための命令を格納する。本開示に係る方法のステップは、図1のシステム100の構成要素、図2の例示的な訓練手順、及び図3に示されたフロー図を参照して以下に説明される。本開示の一実施形態において、ステップ202では、1つまたは複数のハードウェアプロセッサ104は、複数の重みを備える第1のニューラルネットワークを初期化する。一実施形態において、第1のニューラルネットワークは、深層ニューラルネットワークである。別の実施形態においては、第1のニューラルネットワークは、生徒ネットワークである。
ハードウェアプロセッサ104は、さらに、下記のステップを繰り返し実行することにより、第1のニューラルネットワークを訓練する。ステップ202において、1つまたは複数のハードウェアプロセッサ104は、第1のニューラルネットワークに、(i)特定のドメインに応じて受け取った入力データの部分集合、及び(ii)当該入力データの部分集合に応じた正解情報を渡す。同様に、「教師ネットワーク」と称される第2のニューラルネットワークも、ドメイン特有の入力データが渡され、初期化される。本明細書において、「第2のニューラルネットワーク」、「第2の深層ニューラルネットワーク」及び「教師ネットワーク」という表現は、交換可能に使用される。同様に、本明細書において、「第1のニューラルネットワーク」、「第1の深層ニューラルネットワーク」及び「生徒ネットワーク」という表現は、交換可能に使用される。本開示の一実施形態において、教師ネットワークは、事前訓練済みニューラルネットワークである。
本開示は、スパースなネットワークを学習するため、または生徒ネットワークを訓練するために使用される知識の蒸留フレームワーク及び変分推論技術を説明する。以降、まず、N個のサンプルからなるデータセット
において、任意のニューラルネットワークモデルが訓練される。
知識の蒸留:
上記のように、知識の蒸留(KD)フレームワークにおいて、関連のある情報が、教師ネットワークと称される複雑で層がより深いネットワークまたはネットワークのアンサンブルから、よりシンプルで層が浅い生徒ネットワークと称されるネットワークに転移される。従って推論の間に、精度での妥協を最小にしながら、より少数のパラメータを有する圧縮されたネットワークが得られる。KDフレームワークにおいて生徒MLPを訓練するために用いられる損失関数LKDは、次式となる。
ここで、x=[x,...,x]及びy=[y,...,y]は、それぞれ入力及び対応するラベルであり、λTはラグランジュ乗数である。さらに、
においてLs及びLtは、それぞれ生徒及び教師ネットワークにおける層の数を表し、
は、それぞれ生徒及び教師ネットワークの重みテンソルである。関数fs(.,.;.)及びft(.,.;.)は、各々のロジット
及び
を生成する生徒及び教師モデルを表す。さらに、項Ls(.,.)は生徒に関する損失関数を表し、L(.,.)は、教師から得られるヒントを表す。一実施形態において、本明細書でのヒントは、教師ネットワークにより生成される出力を意味する。特に、項L(.,.)は、両ネットワークの出力における差を最小化し、生徒が教師ネットワークを模倣することに寄与する。
この解析は、MLPネットワークにおいて行われたが、生徒及び教師ネットワークの重みが4次元テンソル、すなわち
及び
である場合において、容易にCNNに拡張可能である。
ステップ206において、1つまたは複数のハードウェアプロセッサ104は、入力データの部分集合に関する第1のニューラルネットワークにより生成される出力と、対応する正解情報との差に基づき、第1のニューラルネットワークの複数の重みを動的に更新する。例えば、第1のニューラルネットワークの出力は、長さ「n」のベクトル(例えば、nはクラス数)であり、各要素は、(全要素の和は1であるため)入力がnクラスの1つに所属する確率を表す。予測の正解は、長さ「n」の別のベクトルであり、入力に関して真のクラスが1で、残り全てが0であることに対応するインデックスを有する。
ステップ208において、1つまたは複数のハードウェアプロセッサ104は、当該部分集合に対する(i)第1のニューラルネットワーク及び(ii)第2のニューラルネットワークにより生成された出力における第2の差(例えば、別の差)に基づき、第1のニューラルネットワークの複数の重みを動的に更新する。例えば、第1のニューラルネットワークの出力(例えば、生徒ネットワークの出力)及び第2のニューラルネットワークの出力(例えば、教師ネットワークの出力)の両出力は、長さ「n」のベクトル(例えば、nはクラス数)であり、各要素は、(全要素の和は1であるため)入力がnクラスの1つに所属する確率を表す。ステップ206及び208によると、各々のニューラルネットワークにより出力が生成される。解くべき手元のタスクが分類問題であると仮定すると、本明細書において生徒及び教師の両ニューラルネットワークにより生成される出力は、ベクトルとみなされる。当該ベクトル中の値は、特定のクラスに入力が所属する確率を表し、クラスは、当該ベクトルにおけるその番号によって示される。重みは、確率分布(例えば、本開示と、その関連システム及び方法で利用される一様分布)からのサンプリングによって初期化される。その後、重みは、確率的勾配降下法及び/またはAdam最適化手法(例えば、https://ruder.io/optimizing-gradient-descent/index.html#adamを参照)を用いて更新される。
図2のように、第1のニューラルネットワーク(生徒ネットワーク)の訓練手順の概要が図示される。KDフレームワークにおいて用いられる訓練手法に従って、教師ネットワークがまず訓練され、その重みが保存される。これらの重みは、生徒ネットワークの訓練中に必要なヒントを生成するために用いられる。生徒ネットワークは、上記の式(1)において、
である損失関数を用いて訓練される。
上式において、
は、正解クラスのワンホット表現であり、
及び
は、式(1)に与えられるように、それぞれ生徒及び教師ネットワークからの出力ロジットである。ここで、Lsは、N個のデータサンプルに渡る交差エントロピー損失であり、DKLは、KL情報量を表し、σ´(.)は、ソフトマックス関数を表す。さらに、Tは、温度パラメータと呼ばれ、当技術分野において知られるように、クラスに渡る確率分布の「柔らかさ」を制御する。
ステップ210において、1つまたは複数のハードウェアプロセッサ104は、1つまたは複数のスパース性制約(例えば、本開示において、及び本開示により用いられるブロックスパース正則化及び変分ドロップアウトのようなスパース性制約)を、第1のニューラルネットワークの複数の重みに適用する。当該適用は、ブロックスパース正則及び変分ドロップアウト技術の利用により、第2のニューラルネットワークの重みの集合に関して、第1のニューラルネットワークの複数の重みから、または重みにおいて、1つまたは複数の重みを無効化するか、または維持するかを決定するように行う。
変分推論を通したスパース性:
重みW、及び重みに関する事前分布p(W)を有するBNNを考える。BNNの訓練は、次式で与えられる変分下限の最適化を含むことが示されている。
ここで、
は、ネットワークの重みに関する真の事後分布の近似であり、
は、事後分布とパラメータ分布のKL情報量である。期待対数尤度(expected log-likelihood)
は、次式で与えられる。
すなわち、入力データの部分集合についての出力と、対応する正解情報との差が、上記の尤度損失関数を用いて推定される。上記の尤度損失関数は、「交差エントロピー損失関数」とも称され、本明細書において交換可能に使用される。
上記から、事前分布p(W)と、近似分布
における異なる仮定に基づき、異なる変分ベイズ的定式化が得られることは明らかである。そのような定式化の中で、スパース性を促進するベイズ推論手法が、当技術分野において知られるスパース変分ドロップアウト(SVD)技術である。SVDは、重み行列
の要素に対数スケールの変則一様事前分布を仮定し、
は連続ガウス分布であるように導かれる。SVDは、VD技術に基づくため、対応するBNNの訓練は、重みあたりの変分ドロップアウトパラメータαk,h、及び重みwk,hの分布を表現するパラメータθk,hの学習を含む。すなわち変分パラメータは、
である。さらに、VBDは、SVD技術の拡張であるため、重み行列Wの要素に関して対数スケールの一様事前分布を維持する。加えて、VBDは、
の最適化と一致する重み分布のパラメータに関する階層的な事前分布を用いる。本開示では、生徒BNNはSVD及びVBD技術を用いて訓練され、当該技術の相対的な長所及び短所が説明される。
生徒ネットワークにおいてスパース性を適用するため、本開示は、損失関数における変分正則化(VR)として、SVD及びVBDの両定式化を用いる。これらの定式化における主な違いは、式(4)において用いられるKL情報量の近似に起因する。SVDのために提案されたKL情報量の項の近似は、次式となる。
ここで、k=0.63576,k=1.87320,及びk=1.48695である。さらに、σ(.)はシグモイド関数を表し、θk,hはwk,hの確率分布をパラメータ化する。すなわち、(i)第1のニューラルネットワーク及び(ii)第2のニューラルネットワークにより生成される出力における別の差が、上式に表される上記のカルバック−ライブラー(KL)情報量関数を用いて推定される。
事前分布の階層的な設計に起因して、VBDでは、式(2)における変分下限のKL情報量項が
に帰着する。
VRを通してスパース性制約を導入すると、損失関数は次式のように得られる。
ここで、λvは、KL情報量項の正則化定数であり、LKLは、使用される変分ドロップアウトの種類に応じて
または
となる。
ブロックスパース正則化を通したスパース性の導入:
本開示の修正されたKDフレームワークにおいてBSRの制約を利用する背景にある意図を、以下に説明する。
T個の別のタスクを解くためにT個のモデルが使用される状況を想定する。i番目のモデルTは、学習可能なパラメータベクトルPと関連付けられ、全体のパラメータ行列Pは、P=[P,...P]、すなわち、タスクごとのパラメータベクトルpを連結することにより形成される。したがって、典型的なMTLの状況では、このようなパラメータ行列Pを同時学習する(jointly learn)ことが目的となる。いくつかの従来手法では、タスクが関連すると考え、全モデルがパラメータの小さな集合を共有すると仮定する。単一タスクの学習設定ではpに関するlノルムが用いられる一方、マルチタスクの設定ではBSRを用いる必要がある。さらに既存の従来アプローチは、関連するタスクが学習されるとき、BSRによりスパースなパラメータ行列Pに帰着すること、すなわち関連するタスクは、関連しないタスクに比べ活発な(fever)特徴量を学習しやすいことを示してきた。
マルチタスク学習(MTL)の文脈におけるBSRの有効性は明白であるが、本開示は、本開示に係るシステム及び方法により、本明細書において議論されるような状況にBSRのアイデアを如何に適用するかを説明する。本開示により実施されるような設定において、教師ネットワーク及び生徒ネットワークの重みは、行列Pと類似してテンソルとして積み重ねられる。WT:Sは、WとWとの層の次元に沿った連結として定義される。BSR(1つまたは複数の制約)がWT:Sに適用され、教師及び生徒モデルによって実行されるタスクは同一であることから、統合されたテンソルにおいてスパース性を促進する。教師の重みが固定されるため、WT:Sにおける生徒のある重みは、訓練に伴ってよりスパースとなるように変化する。
として、ここで、b(.)及びh(.)は、1≦l≦max(Lt,Ls)であってi∈{s,t}であるような重み行列、すなわち
の幅及び高さを返す。BSRは、WT:Sの関数として、次式のようにRg(.)として定義される。
この表記は、l/l形式の混合ノルムの一般形である。特に、l/lノルム正則化項は、下記の形式となる。
同様に、CNNの場合、
は、5次元テンソルであり、M,N,K,H,Lが各々の次元における最大サイズをとる。したがって、この場合Rg(WT:S)は、
となる。本開示は、式(8)に正則化項としてRg(WT:S)を導入し、最終的な損失関数(「最適化関数」とも称される)は、次式として与えられる。
ここで、λgは、式(8)と比較して追加の正則化定数である。上式(12)は、本開示と本明細書で説明される方法において生徒ネットワークの訓練に使用される最終的な損失関数を示す。最終的な損失関数は、訓練済みの、圧縮され、かつスパース性が高いニューラルネットワークを得るように最適化される。当該訓練済みニューラルネットワークは、第2のニューラルネットワークにおける複数の重みより少ない1つまたは複数の決定された重みを有する。一実施形態において、第1のニューラルネットワークは、ニューラルネットワークにおける1つまたは複数の層でのパラメータ数に基づいて選択される。さらに、第1のニューラルネットワークの選択は、圧縮及び精度に寄与する。ニューラルネットワークが深層になるほど、圧縮の難易度は増す。ニューラルネットワークの1つまたは複数の層におけるパラメータは、例えば、関数の勾配、数学関数等であるが、これに限られない。
本明細書において、l/l及びl/l(group−lasso)正則化を用いて訓練された生徒ネットワークのスパース性及び精度が比較される。式(12)から、本開示は、VR及びBSRを独立に利用し、生徒ネットワークの重みにスパース性をもたらすことは明白である。これにより、直観的に、以下の2つの場合が起こり得る。
1.VRが枝刈りを促進し、BSRが枝刈りを抑える:このような場合には、BSRは特定の重みwk,hを非ゼロに維持する。しかしながら推論時に、これらの重みは、VRを通して学習されたドロップアウトパラメータαk,hを通じてフィルタされる。したがって、重みは非ゼロであるにも関わらず枝刈りされる。
2.VRが枝刈りを抑え、BSRが枝刈りを促進する:ドロップアウトパラメータはαk,hを通して重みwk,hを活性化させる。しかしながら、BSRは重みがゼロになるように制限し、結果的に枝刈りが生じる。
ステップ204から210は、式12に示された最終的な損失関数が、予め定義された閾値に収束するまで繰り返し実行される。当該閾値は、訓練済みの、圧縮され、かつスパース性が高いニューラルネットワーク(スパース性が高く訓練済みの圧縮されたニューラルネットワークとも称され、本明細書において同義に使用される)を得るように設定される。事前定義の閾値が、早期終了と呼ばれる技術により検証損失を用いて推定され、設定される。閾値の値は、検証損失が増加し始める時点の訓練損失である。当技術分野において既知の早期終了技術は、https://machinelearningmastery.com/early-stopping-to-avoid-overtraining-neuralnetwork-models/から参照可能である。
さらに、データセットからの異なる入力サンプルに対応して、教師ネットワークから出力される特徴量は、予め計算され、再利用のために記憶される。したがって、本開示は、システム100がバッチサイズを大きくすることができ、これにより訓練時間が減少する。
実験及び結果:
実験設定、評価基準、並びにネットワーク及びデータセットの異なるクラスにおいて実行された種々の実験が、本明細書において説明される。
実験設定及び用語:
本開示は、8コアのIntel(登録商標) Core(TM) i7−7820HK CPU、32GBメモリ、及びNvidia(登録商標)GeForce GTX 1080 GPUを搭載する計算機を実験に用いた。モデルは、PyTorch v0.4.1を用いて訓練される。MLP及びCNNの訓練及び評価には、既知のデータセット、すなわちMNIST及びCIFAR−10データセットが使用された。訓練データと評価データは、MNIST及びCIFAR−10において、それぞれ1:6及び1:5の比率で分割された。MLPでの全実験について、MNISTデータセットにおいて、Adam最適化手法が学習率10−3で100−150エポックに対して用いられた。CNNでの全実験について、CIFARデータセットにおいて、Adam最適化手法が学習率10−4で100−150エポックに対して用いられた。早期枝刈りの問題に対処するため、当技術分野において知られるウォームアップ技術が本開示及び先行技術アプローチによって利用され、λvの値が設定された。全実験において、λ=2及びλg=0.01が用いられた。本開示を通して、ネットワーク構造の表記a−b−cは、ネットワークの異なる層のノード数を示す。MLPに基づく実験において、構造1200−1200を有する教師T1、及び構造500−50を有する生徒S1が利用された。さらに、CNNに基づく実験において、教師TC1は、VGG−19ネットワークが用いられた。CNNの教師に対する生徒は、LeNet−5−Caffeの構造を有するLe−Cである。Simpleは、独立に訓練されたネットワークを示し、Dは、二値ドロップアウト率0.4で訓練されたネットワークを示し、KDは、教師からのヒントを用いて訓練され、STは、KDフレームワークにおいてBSRを用いて訓練されたネットワークを示す。
評価基準:
モデル圧縮性能が評価され、ネットワークが以下の基準、すなわち、圧縮率、層ごとのスパース性、及びメモリフットプリント圧縮(RAMにおいて占有されたスペース)を用いて比較される。圧縮率Rcは、Rc=p/pacとして定義され、p及びpacは、それぞれ圧縮前及び圧縮後の訓練され得るパラメータ数である。本開示は、また、スパース性がもたらす圧縮率Rsを報告する。Rsは、Rs=|W|/|W≠0|として定義され、|W|及び|W≠0|は、それぞれDNNの重みの数、及び非ゼロの重みの数を示す。さらに、本開示は、種々のモデルのメモリフットプリントの圧縮を報告する。また、本開示はNNを分類タスクに用いるので、DNNモデルのトップ1エラー率(推論時)での分類性能も評価された。計算性能を評価するため、種々のモデルの推論時間が計測された。
ネットワーク圧縮及びスパース化:
上述のニューラルネットワークモデル及びデータセットに関する、ネットワーク圧縮及びスパース化の結果を以下に示す。
MNISTにおけるMulti−Layer Perceptron:MLPはMNISTデータセットにおいて、本開示の技術/方法を用いて訓練された。これらのネットワークは、特にデータ拡張を用いず、ランダム初期化を用いて訓練された。スパース性を利用する性能を比較するため、本開示に係る方法は、既知の従来手法であるVD[Molchanov et al., 2017]及びVBD[Liu et al., 2018]が、KDフレームワークと併せて使用される場合において比較された。以下の表1は、KDフレーワークにおける他の変種(variants)と比べて、本開示の方法により達成される圧縮及びスパース性の比較を示す。
本開示の方法、すなわちST及びSTBは、スパース性及び精度の両方の観点において、VD、VBD及びKDの変種を上回ることがわかる。これは、VRに加えて、BSRにより引き起こされるスパース性のためである。VBDの変種は、全ての場合において、スパース性の観点ではSVDの変種を上回っている。これは、VBDの階層的な事前分布が、SVDにおいて用いられSVDの正則化性能を制限している[Liu et al., 2018]対数スケール一様事前分布に対して、効果的なためである。さらに、図5A−図5Bは、図1から図4Bと関連して、本開示の一実施形態に応じた種々の生徒モデルのメモリフットプリントを図示するグラフィカル表現を示す。ST及びSTBの変種は、BSRにより引き起こされる高いスパース性のために、圧縮の観点において他を上回る。
CIFAR10における教師としてのVGG19(CNN):
下記の表2は、CIFARデータセットにおけるCNNの評価を示す。生徒ネットワークのLe−C類は、657,080個のパラメータを有し、212.47倍の圧縮をもたらす。表中の*は、VGG19の全層の代表値である。
表2から、スパース性圧縮は、CNNにおいて僅かに増加しているが、パラメータ数は、上記のように212.47倍に削減されている。したがってメモリフットプリントにおける利得もまた大きい。VGG19である教師は、メモリのスペースの532.52MBを占有し、圧縮された生徒は2.50MBのみを占有するため、約213倍の圧縮を達成している。このことは、本開示のシステム及び方法により説明された圧縮戦略の有効性を示す。教師のヒントがあるため、よりスパースな生徒の変種は、Simpleの生徒と比べて性能が良い。さらに、よりスパースな生徒の変種は、VR及びBSR両方の正則化の効力により、KD−Simple及びKD−Dの両変種を上回る。
変分推論の効果
図4Aから図4B、及び表1は、図1から図3と関連して、KDフレームワークに変分法を導入することにより、8倍から17倍のスパース性を誘起することを示す。より具体的には、図4Aから図4Bは、図1から図3と関連して、本開示の例示的な実施形態に従い、生徒の重み分布にスパース性を引き起こす変分推論を図示するグラフィカル表現を示す。図4A−図4Bは、種々のネットワークの重み分布(y軸は対数スケール)を表す。図4Aの(a),(b)は、教師及び生徒ネットワークが独立に訓練された場合の各々の重みを示し、図4Aの(c)は、教師ネットワークのヒントを用いて訓練された生徒ネットワークを示し、図4Bの(d)及び(e)は、SVD、VBDがそれぞれ生徒ネットワークに適用され、KDフレームワークにおいて訓練された場合の変分生徒を示す。
重みが0付近に集中していることに注目されたい。教師及び生徒ネットワークが独立に訓練されると、それらはスパースではない重みを学習することがわかる。生徒ネットワークが教師ネットワークからのヒントを用いて訓練されると、生徒ネットワークは、スパース性が僅かに増した重みを学習する。予期されたように、スパース性の劇的な増加は、SVD及びVBDが生徒ネットワークに適用された場合に得られる。
ブロックスパース正則化の効果
表1は、BSRの適用が、変分手法によりスパース性を増加させることを示す。しかしながら、このスパース性が、単に生徒ネットワークの重みに関する変分正則化により生じるのか、または教師ネットワークからのスパース性転移の効果によるのかは、明確ではない。図6から、教師ネットワークの重みがBSRを介して考慮されると、0付近の重みの密度が減少することがわかる。このことは、教師の重みが考慮されると、スパース性が生じることを正当化する。より具体的には、図6は、図1から図5Bまでと関連して、本開示の例示的な実施形態に従い、生徒の重み分布におけるブロックスパース正則化(BSR)技術により引き起こされるスパース性を図示したグラフィカル表現を示す。図6は、(a)生徒及び教師の両ネットワークからの重みからなる連結テンソルにBSRが適用された場合(図6(a)参照)、(b)生徒ネットワークの重みのみにBSRが適用された場合(図6(b)参照)に、結果として得られた生徒MLPの重み分布(y軸は対数スケール)を示す。重みが0付近に集中することに注目されたい。
実行時間分析
教師MLPの推論時間は、0.29ミリ秒であり、生徒の変種の推論時間は、0.257−0.470ミリ秒の範囲であった。MLPにおいては、変分生徒及びBSRの変種は、類似する推論時間を有することが観察された。両変種は、訓練時には異なる計算処理を有するが、類似した生徒の構造であるため推論時には同じ操作を有する。さらに、simpleの変種は、αに対する閾値処理、及び結果として得られるマスクに重みを乗じる処理を含む追加の計算処理が必要な他の変種に比べて推論時間が短い。図7から明らかであるように、CNNにおいても同様の傾向がみられる。特に、図7は、図1から図6と関連して、本開示の例示的な実施形態に従った畳み込みニューラルネットワーク(CNN)の種々の変種に関して、速度の向上を図示するグラフィカル表現を示す。
本開示は、KDフレームワークにおける変分推論とブロックスパース正則化の組み合わせを通してニューラルネットワークをスパース化する、変分生徒を導入した。本開示はまた、テストエラーの増加を最小限に抑えながら、MLP及びCNNのメモリフットプリントを64倍及び213倍に圧縮することを示した。実験結果及び評価に基づき、本開示は、変分ベイジアンドロップアウト及びスパース変分ドロップアウト技術のようなベイズ的手法が、KDフレームワークにおける生徒の構造に利用されると、圧縮とそれによる速度向上に寄与することを述べた。さらに、本開示は、KD及びVI技術を併せて用いることにより、モデル精度を最小限の悪化に、または全く悪化しないようにしながら、KDフレームワークから圧縮の特性を受け継ぎ、かつVIアプローチによりスパース性の度合いを引き上げることを示した。MLPとCNNにおける実験結果が上記の表(表1と表2)、及び図4Aから図7に図示されたグラフィカル表現に示された。実験結果はメモリフットプリントに関して、教師ネットワークの再訓練を要することなくMLPとCNNにおいて各々約64倍と約213倍の削減を示す。本開示により実施される技術または方法は、例えば多層パーセプトロン及び畳み込みニューラルネットワークのような順伝搬型ニューラルネットワークに適用可能である。一般的には、既存の従来システム及び方法において、ニューラルネットワークの完全にベイズ的な訓練手順としてSVDとVBDが提案されている。本開示の実施形態を通じて、本開示に係る方法は、ニューラルネットワークの訓練の準ベイズ的な技術の実施が可能である。
本明細書は、当業者が本実施形態を作成して使用できるように、本明細書における主題を記載する。主題の実施形態の範囲は、特許請求の範囲により定められ、当業者が想到する他の修正を含んでもよい。そのような他の修正は、当該修正が特許請求の範囲の文言と異ならない類似の要素を有する場合、または特許請求の範囲の文言と実質的な違いが無い均等の要素を含む場合には、特許請求の範囲に含まれることが意図される。
保護の範囲は、下記のような内部にメッセージを有するプログラム及びコンピュータ可読手段に拡張されると解される。そのようなコンピュータ可読記憶手段は、当該プログラムがサーバ若しくはモバイル機器または任意の適したプログラム可能機器において実行されると本方法の1つまたは複数のステップを実施するための、プログラムコード手段を含む。ハードウェア機器は、例えば、サーバまたはパーソナルコンピュータ等、或いはそれらの組み合わせのような任意の種類のコンピュータを含む、任意の種類のプログラム可能な機器であってもよい。当該機器は、例えば特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、或いは、例えばASICとFPGA、またはソフトウェア処理コンポーネントを内部に有する少なくとも1つのマイクロプロセッサ及び少なくとも1つのメモリといった、ハードウェア及びソフトウェア手段の組み合わせ等の手段を含んでもよい。したがって、当該手段は、ハードウェア手段とソフトウェア手段の両方を含む。本明細書に記載された方法の実施形態は、ハードウェア及びソフトウェアにおいて実施可能である。機器は、ソフトウェア手段を含んでもよい。代替的に、当該実施形態は、例えば複数のCPUを使用するような種々のハードウェア機器において実施されてもよい。
本明細書の実施形態は、ハードウェア及びソフトウェア要素を備える。ソフトウェアにおいて実施される実施形態は、ファームウェア、常駐ソフトウェア、マイクロコード等を含むが、これらに限らない。本明細書に記載された各種構成要素により実行される機能は、他の構成要素またはそれらの組み合わせにおいて実施されてもよい。本明細書の目的のために、コンピュータ利用可能またはコンピュータ可読媒体は、指示実行システム、装置または機器により、或いは関連して使用するためのプログラムを含み、記憶し、通信し、伝搬し、または
転送することができる任意の装置であってもよい。
例示されたステップは、例示的な実施形態を説明するように提示され、特定の機能が実行される態様は進行中の技術的発展により変化すると予期される。これらの例は、本明細書において例示の目的のために示され、制限の目的はない。さらに、機能的構成ブロックの境界は、本明細書において、説明の利便性のために任意に定められたものである。特定の機能及びそれらの関係を適切に実行する限り、代替的な境界が定義可能である。代替案(本明細書の記載の均等物、拡張、変形、派生等を含む)は、本明細書に含まれる教示に基づき、関連した技術に熟練した者にとって明白である。そのような代替案は、開示された実施形態の範囲に含まれる。また、「備える」、「有する」、「含有する」、「含む」及び他の類似した形態の用語は、均等の意味が意図され、これらの用語のいずれかに続く項目は、これらの項目の網羅的列挙を意味しない、または列挙される項目のみに限定されることを意味しない点において、非限定的であることが意図される。本明細書及び添付の特許請求の範囲において使用されるように、単数形が記載されていても、前後関係から明らかでない限り、複数の場合も含めて意味する。
さらに、1つまたは複数のコンピュータ可読記憶媒体が、本開示と一致する実施形態を実施する際において利用される。コンピュータ可読記憶媒体は、プロセッサにより可読な情報またはデータが記憶される任意の種類の物理メモリを示す。したがって、コンピュータ可読記憶媒体は、1つまたは複数のプロセッサにより実行される命令を記憶することができる。当該命令は、本明細書における実施形態と一致するステップまたはステージを、プロセッサに実行させるための命令を含む。用語「コンピュータ可読媒体」は、有形物を含み、搬送波及び過渡信号を除く、すなわち非一時的であると解される。例として、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、揮発性メモリ、不揮発性メモリ、ハードドライブ、CDROM、フラッシュドライブ、ディスク、及び他の既知の物理記憶媒体が含まれる。
本開示及び例は、例示としてのみ考慮されるべきであり、開示された実施形態の真の範囲は、以下の特許請求の範囲によって示される。

Claims (12)

  1. プロセッサにより実施される方法であって、
    1つまたは複数のハードウェアプロセッサにより、複数の重みを有する第1のニューラルネットワークを初期化するステップ(202)と、
    1つまたは複数のハードウェアプロセッサにより、第1のニューラルネットワークを訓練するステップと、を備え、
    当該訓練するステップは、
    第1のニューラルネットワークに、(i)特定のドメインに対応して受け取った入力データの部分集合と(ii)当該入力データの部分集合に対応する正解情報とを渡すステップ(204)、
    当該入力データの部分集合に関して、第1のニューラルネットワークにより生成された出力と、対応する正解情報と、の第1の差異に基づき、1つまたは複数のハードウェアプロセッサにより、第1のニューラルネットワークの複数の重みを動的に更新するステップ(206)、
    当該部分集合に関して(i)第1のニューラルネットワークにより生成された出力と、(ii)第2のニューラルネットワークにより生成された出力と、の第2の差異に基づき、1つまたは複数のハードウェアプロセッサにより、第1のニューラルネットワークの複数の重みを動的に更新するステップ(208)、及び
    ブロックスパース正則化と変分ドロップアウト技術を利用することで、1つまたは複数のハードウェアプロセッサにより、第2のニューラルネットワークの重みの集合に関して、第1のニューラルネットワークの複数の重みにおいて1つまたは複数の重みを無効化する、または維持することを決定するように、第1のニューラルネットワークの複数の重みに1つまたは複数のスパース性制約を適用するステップ(210)
    を、訓練され、圧縮され、かつスパース性が高いニューラルネットワークを得るように、最終的な損失関数が予め定義された閾値に収束するまで、繰り返し実行することにより訓練を行う、方法。
  2. 入力データの部分集合に関する出力と、対応する正解情報と、の第1の差異は、交差エントロピー損失関数を用いて推定される、請求項1に記載の方法。
  3. 入力データの部分集合に関して(i)第1のニューラルネットワークにより生成された出力と、(ii)第2のニューラルネットワークにより生成された出力と、の第2の差異は、カルバックライブラー(KL)情報量関数により推定される、請求項1に記載の方法。
  4. 1つまたは複数の重みが無効化されるか、または維持されるかは、最終的な損失関数を解くことにより決定される、請求項1に記載の方法。
  5. 最終的な損失関数は、訓練され、圧縮され、かつスパース性の高いニューラルネットワークを得るように最適化され、当該ニューラルネットワークは、第2のニューラルネットワークにおける複数の重み未満の、1つまたは複数の決定された重みを有し、第1のニューラルネットワークの選択は、ニューラルネットワークにおける1つまたは複数の層のパラメータ数に基づく、請求項1に記載の方法。
  6. 第2のニューラルネットワークは、事前訓練済みのニューラルネットワークである、請求項1に記載の方法。
  7. 命令を記憶するメモリ(102)と、
    1つまたは複数の通信インタフェース(106)と、
    メモリ(102)に、1つまたは複数の通信インタフェース(106)を介して連結された、1つまたは複数のハードウェアプロセッサ(104)と、を備えるシステム(100)であって、
    1つまたは複数のハードウェアプロセッサ(104)は、当該命令により、
    メモリに含まれて1つまたは複数のハードウェアプロセッサ(104)により実行される、複数の重みを有する第1のニューラルネットワークを初期化するステップと、
    第1のニューラルネットワークを訓練するステップと、
    を実行するように構成され、
    当該訓練するステップは、
    第1のニューラルネットワークに、(i)特定のドメインに対応して受け取った入力データの部分集合と(ii)当該入力データの部分集合に対応する正解情報とを渡すステップ、
    当該入力データの部分集合に関して第1のニューラルネットワークにより生成された出力と、対応する正解情報と、の第1の差異に基づき、第1のニューラルネットワークの複数の重みを動的に更新するステップ、
    当該部分集合に関して(i)第1のニューラルネットワークにより生成された出力と、(ii)メモリに含まれて1つまたは複数のハードウェアプロセッサにより実行される第2のニューラルネットワークにより生成された出力と、の第2の差異に基づき、第1のニューラルネットワークの複数の重みを動的に更新するステップ、及び
    ブロックスパース正則化と変分ドロップアウト技術を利用することで、1つまたは複数のハードウェアプロセッサにより、第2のニューラルネットワークの重みの集合に関して、第1のニューラルネットワークの複数の重みにおいて1つまたは複数の重みを無効化する、または維持することを決定するように、第1のニューラルネットワークの複数の重みに1つまたは複数のスパース性制約を適用するステップ
    を、訓練され、圧縮され、かつスパース性が高いニューラルネットワークを得るように、最終的な損失関数が予め定義された閾値に収束するまで、繰り返し実行することにより訓練を行う、システム(100)。
  8. 入力データの部分集合に関する出力と、対応する正解情報と、の第1の差異は、交差エントロピー損失関数を用いて推定される、請求項7に記載のシステム。
  9. 入力データの部分集合に関して(i)第1のニューラルネットワークにより生成された出力と、(ii)第2のニューラルネットワークにより生成された出力と、の第2の差異は、カルバックライブラー(KL)情報量関数により推定される、請求項7に記載のシステム。
  10. 1つまたは複数の重みが無効化されるか、または維持されるかは、最終的な損失関数を解くことにより決定される、請求項7に記載のシステム。
  11. 最終的な損失関数は、圧縮され、かつスパース性の高い訓練済みニューラルネットワークを得るように最適化され、当該ニューラルネットワークは、第2のニューラルネットワークにおける複数の重み未満の、1つまたは複数の決定された重みを有し、第1のニューラルネットワークの選択は、ニューラルネットワークにおける1つまたは複数の層のパラメータ数に基づく、請求項7に記載のシステム。
  12. 第2のニューラルネットワークは、事前訓練済みのニューラルネットワークである、請求項7に記載のシステム。
JP2019174987A 2019-06-07 2019-09-26 スパース性制約及び知識の蒸留に基づくスパースかつ圧縮されたニューラルネットワーク Active JP6959308B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IN201921022724 2019-06-07
IN201921022724 2019-06-07

Publications (2)

Publication Number Publication Date
JP2021006980A true JP2021006980A (ja) 2021-01-21
JP6959308B2 JP6959308B2 (ja) 2021-11-02

Family

ID=67809244

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019174987A Active JP6959308B2 (ja) 2019-06-07 2019-09-26 スパース性制約及び知識の蒸留に基づくスパースかつ圧縮されたニューラルネットワーク

Country Status (5)

Country Link
US (1) US11403523B2 (ja)
EP (1) EP3748545A1 (ja)
JP (1) JP6959308B2 (ja)
AU (1) AU2019232899B2 (ja)
CA (1) CA3056098C (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230034655A (ko) * 2021-09-03 2023-03-10 연세대학교 산학협력단 n차원 텐서 곱 연산을 이용한 합성곱 신경망 압축 방법 및 장치

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3963474A4 (en) 2019-05-01 2022-12-14 Microsoft Technology Licensing, LLC METHOD AND SYSTEM FOR USING UNSUPERVISED LEARNING TO IMPROVE TEXT ON SUGGESTED CONTENT
CN110991613B (zh) * 2019-11-29 2022-08-02 支付宝(杭州)信息技术有限公司 一种训练神经网络的方法及系统
US11461645B2 (en) * 2019-12-02 2022-10-04 International Business Machines Corporation Initialization of memory networks
CN111178036B (zh) * 2019-12-06 2023-08-29 云知声智能科技股份有限公司 一种知识蒸馏的文本相似度匹配模型压缩方法及系统
CN111080123A (zh) * 2019-12-14 2020-04-28 支付宝(杭州)信息技术有限公司 用户风险评估方法及装置、电子设备、存储介质
CN111027870A (zh) * 2019-12-14 2020-04-17 支付宝(杭州)信息技术有限公司 用户风险评估方法及装置、电子设备、存储介质
KR20210092575A (ko) * 2020-01-16 2021-07-26 에스케이하이닉스 주식회사 목표 성능에 따라 신경망을 압축하는 반도체 장치
US11727270B2 (en) * 2020-02-24 2023-08-15 Microsoft Technology Licensing, Llc Cross data set knowledge distillation for training machine learning models
CN111312271B (zh) * 2020-02-28 2023-03-21 云知声智能科技股份有限公司 一种提高收敛速度和处理性能的模型压缩方法和系统
US20210357739A1 (en) * 2020-05-14 2021-11-18 Micron Technology, Inc. Memory device to train neural networks
GB2595236A (en) * 2020-05-18 2021-11-24 Advanced Risc Mach Ltd Optimising a neural network
CN114091665A (zh) * 2020-07-30 2022-02-25 北京四维图新科技股份有限公司 一种训练深度神经网络的方法及这种网络
CN112215353B (zh) * 2020-09-29 2023-09-01 电子科技大学 一种基于变分结构优化网络的通道剪枝方法
CN112148577B (zh) * 2020-10-09 2024-05-07 平安科技(深圳)有限公司 数据异常检测方法、装置、电子设备及存储介质
CN112508062A (zh) * 2020-11-20 2021-03-16 普联国际有限公司 一种开集数据的分类方法、装置、设备及存储介质
CN112508120B (zh) * 2020-12-18 2023-10-10 北京百度网讯科技有限公司 学生模型训练方法、装置、设备、介质和程序产品
US11200497B1 (en) * 2021-03-16 2021-12-14 Moffett Technologies Co., Limited System and method for knowledge-preserving neural network pruning
US20220343205A1 (en) * 2021-04-21 2022-10-27 Microsoft Technology Licensing, Llc Environment-specific training of machine learning models
CN113110550B (zh) * 2021-04-23 2022-09-23 南京大学 一种基于强化学习与网络模型蒸馏的无人机飞行控制方法
US11587291B2 (en) * 2021-06-30 2023-02-21 Tencent America LLC Systems and methods of contrastive point completion with fine-to-coarse refinement
CN113554169B (zh) * 2021-07-28 2023-10-27 杭州海康威视数字技术股份有限公司 模型优化方法、装置、电子设备及可读存储介质
US11429864B1 (en) * 2021-08-16 2022-08-30 Moffett International Co., Limited System and method for bank-balanced sparse activation and joint-activation-weight-sparse training of neural networks
CN113704688B (zh) * 2021-08-17 2023-05-05 南昌航空大学 基于变分贝叶斯平行因子分解的缺失振动信号的恢复方法
CN113837308B (zh) * 2021-09-29 2022-08-05 北京百度网讯科技有限公司 基于知识蒸馏的模型训练方法、装置、电子设备
CN114168709B (zh) * 2021-12-03 2022-06-03 中国人民解放军国防科技大学 一种基于轻量化预训练语言模型的文本分类方法
CN114627342A (zh) * 2022-03-03 2022-06-14 北京百度网讯科技有限公司 基于稀疏度的图像识别模型的训练方法、装置和设备
CN117236409B (zh) * 2023-11-16 2024-02-27 中电科大数据研究院有限公司 基于大模型的小模型训练方法、装置、系统和存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190130271A1 (en) * 2017-10-27 2019-05-02 Baidu Usa Llc Systems and methods for block-sparse recurrent neural networks

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9015092B2 (en) * 2012-06-04 2015-04-21 Brain Corporation Dynamically reconfigurable stochastic learning apparatus and methods
US9798751B2 (en) * 2013-10-16 2017-10-24 University Of Tennessee Research Foundation Method and apparatus for constructing a neuroscience-inspired artificial neural network
US20150324686A1 (en) * 2014-05-12 2015-11-12 Qualcomm Incorporated Distributed model learning
US9916522B2 (en) * 2016-03-11 2018-03-13 Kabushiki Kaisha Toshiba Training constrained deconvolutional networks for road scene semantic segmentation
US10565500B2 (en) * 2016-12-20 2020-02-18 Intel Corporation Unsupervised learning using neuromorphic computing
CN108334934B (zh) 2017-06-07 2021-04-13 赛灵思公司 基于剪枝和蒸馏的卷积神经网络压缩方法
CN107688850B (zh) * 2017-08-08 2021-04-13 赛灵思公司 一种深度神经网络压缩方法
US11144812B2 (en) * 2017-09-01 2021-10-12 Facebook, Inc. Mixed machine learning architecture
US10366322B2 (en) 2017-10-06 2019-07-30 DeepCube LTD. System and method for compact and efficient sparse neural networks
US11836610B2 (en) * 2017-12-13 2023-12-05 Advanced Micro Devices, Inc. Concurrent training of functional subnetworks of a neural network
US11429862B2 (en) * 2018-03-20 2022-08-30 Sri International Dynamic adaptation of deep neural networks
US10832139B2 (en) * 2018-06-22 2020-11-10 Moffett Technologies Co. Limited Neural network acceleration and embedding compression systems and methods with activation sparsification
CN108921294A (zh) 2018-07-11 2018-11-30 浙江大学 一种用于神经网络加速的渐进式块知识蒸馏方法
US11138334B1 (en) * 2018-10-17 2021-10-05 Medallia, Inc. Use of ASR confidence to improve reliability of automatic audio redaction
US11137894B1 (en) * 2020-05-27 2021-10-05 Microsoft Technology Licensing, Llc Optimizing content layout on a foldable device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190130271A1 (en) * 2017-10-27 2019-05-02 Baidu Usa Llc Systems and methods for block-sparse recurrent neural networks

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LIU WENRAN ET AL.: "TRANSFER KNOWLEDGE FOR HIGH SPARSITY IN DEEP NEURAL NETWORKS", PROCEEDINGS OF 2017 IEEE GLOBAL CONFERENCE ON SIGNAL AND INFORMATION PROCESSING, JPN6021037402, 14 November 2017 (2017-11-14), pages 1354 - 1358, XP033327784, ISSN: 0004601139, DOI: 10.1109/GlobalSIP.2017.8309182 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230034655A (ko) * 2021-09-03 2023-03-10 연세대학교 산학협력단 n차원 텐서 곱 연산을 이용한 합성곱 신경망 압축 방법 및 장치
KR102597079B1 (ko) 2021-09-03 2023-10-31 연세대학교 산학협력단 n차원 텐서 곱 연산을 이용한 합성곱 신경망 압축 방법 및 장치

Also Published As

Publication number Publication date
AU2019232899A1 (en) 2020-12-24
US20200387782A1 (en) 2020-12-10
JP6959308B2 (ja) 2021-11-02
CA3056098A1 (en) 2019-11-22
CA3056098C (en) 2022-05-17
US11403523B2 (en) 2022-08-02
EP3748545A1 (en) 2020-12-09
AU2019232899B2 (en) 2021-06-24

Similar Documents

Publication Publication Date Title
JP6959308B2 (ja) スパース性制約及び知識の蒸留に基づくスパースかつ圧縮されたニューラルネットワーク
CN110929164B (zh) 一种基于用户动态偏好与注意力机制的兴趣点推荐方法
Xu et al. Ternary compression for communication-efficient federated learning
Bouboulis et al. Online distributed learning over networks in RKH spaces using random Fourier features
Onken et al. Ot-flow: Fast and accurate continuous normalizing flows via optimal transport
Alain et al. Variance reduction in sgd by distributed importance sampling
Dao et al. Pixelated butterfly: Simple and efficient sparse training for neural network models
EA035114B1 (ru) Нейронная сеть и способ обучения нейронной сети
Atkinson et al. Structured Bayesian Gaussian process latent variable model: Applications to data-driven dimensionality reduction and high-dimensional inversion
CN116261731A (zh) 基于多跳注意力图神经网络的关系学习方法与系统
CN110598207A (zh) 一种词向量获取方法、装置及存储介质
CN115587633A (zh) 一种基于参数分层的个性化联邦学习方法
Ju et al. Dynamic early exit scheduling for deep neural network inference through contextual bandits
Vallapuram et al. Hidenseek: Federated lottery ticket via server-side pruning and sign supermask
Pradier et al. Projected BNNs: Avoiding weight-space pathologies by learning latent representations of neural network weights
Usmanova et al. Federated continual learning through distillation in pervasive computing
Tieleman et al. Shaping representations through communication
Su et al. Sampling-free learning of Bayesian quantized neural networks
Grigas et al. Stochastic in-face frank-wolfe methods for non-convex optimization and sparse neural network training
Tan et al. Learning sparse confidence-weighted classifier on very high dimensional data
Belbahri et al. Foothill: A quasiconvex regularization for edge computing of deep neural networks
CN114445692A (zh) 图像识别模型构建方法、装置、计算机设备及存储介质
Xia et al. VI-DGP: A variational inference method with deep generative prior for solving high-dimensional inverse problems
Kim et al. Optimized quantization for convolutional deep neural networks in federated learning
Dong et al. Graph learning for regularized low-rank matrix completion

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201006

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210908

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211007

R150 Certificate of patent or registration of utility model

Ref document number: 6959308

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150