JP7122041B2 - ニューラルネットワークに用いられる混合粒度に基づく共同スパース方法 - Google Patents

ニューラルネットワークに用いられる混合粒度に基づく共同スパース方法 Download PDF

Info

Publication number
JP7122041B2
JP7122041B2 JP2021174307A JP2021174307A JP7122041B2 JP 7122041 B2 JP7122041 B2 JP 7122041B2 JP 2021174307 A JP2021174307 A JP 2021174307A JP 2021174307 A JP2021174307 A JP 2021174307A JP 7122041 B2 JP7122041 B2 JP 7122041B2
Authority
JP
Japan
Prior art keywords
sparsity
vector
sparsification
grained
pruning
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
JP2021174307A
Other languages
English (en)
Other versions
JP2022101461A (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.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
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 Zhejiang University ZJU filed Critical Zhejiang University ZJU
Publication of JP2022101461A publication Critical patent/JP2022101461A/ja
Application granted granted Critical
Publication of JP7122041B2 publication Critical patent/JP7122041B2/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/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/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)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Image Analysis (AREA)
  • Complex Calculations (AREA)

Description

本発明は、構造化スパース、軽量化ネットワーク構造、畳み込みニューラルネットワークなどの工学技術分野に関し、特にニューラルネットワークに用いられる混合粒度に基づく共同スパース方法に関する。
近年、深層学習、特に畳み込みニューラルネットワーク(CNN)は、コンピュータ視覚、音声識別と言語処理分野の高精度で大きな成功を収めている。データ量は増大する一方であるので、汎用的な特徴抽出能力を備えるように、ディープニューラルネットワークの規模が大きくなっている。一方、ディープニューラルネットワークのハイパーパラメータ化に伴い、通常、大型モデルはトレーニングと推論プロセスにおいて大量の計算と記憶リソースを必要とする。これらの課題に直面して、最小化計算コスト削減と加速ニューラルネットワーク技術、例えば、テンソル分解、データ量化とネットワークスパース化がますます注目されている。
スパース化では、異なるトリミングデータオブジェクトに対して、そのスパースパターンは、細粒度と粗粒度のスパースパターンに分けてもよく、重要でない要素又はリンクを消却することを目的としている。細粒度のスパースパターンは、さらにより高いモデル精度を保留する可能性がある。しかしながら、計算複雑性によって、実際に、ニューラルネットワークにおける重み要素の重要性を直接評価することは困難である。そのため、細粒度の重みトリミング手法は、通常、振幅基準に基づいているが、それは重み構造のランダム再構築を招くことが多く、汎用加速器(例えば、GPU)のこれに対するサポートが悪い。換言すれば、プルーニング後の重み構造のランダム性、不規則性により、細粒度スパースパターンはメモリ占用空間しか節約できず、GPU上の推論をほとんど加速させることができない。
細粒度のスパースパターンとは異なり、粗粒度のスパースパターンは、ハードウェア実現効率の向上に役立つことに有益な代替案であると考えられ、粗粒度スパースパターンは、単一要素ではなく一つ特定の領域を単位としてプルーニングを行うことが多い。それは、ニューラルネットワーク語義(例えば、カーネル、フィルタとチャンネル)をCNNに統合し、トリミング後にコンパクトなサブ構造を保留することができる。最近、構造スパーストレーニングがGPU加速に有用であることが観察された。しかし、関連研究は、一般的に、正規化制約項に関し、例えば、高価な除法と平方根で、L1とL2ノルムを演算する必要がある。このような方法は、さらに、最終的に達成されるスパース性レベルが制御できないように、各層において異なるスパース性比率を自動生成する。
十分なスパース性レベルを優先的に保証するために、研究者は、ユーザが指定又は計算した目標スパース性閾値に依存し、ネットワークを繰り返し方式でプルーニングする別の構造化スパースパターンを提案した。例えば、ブロックスパースパターンとバランススパースパターンが挙げられる。しかし、許容可能なモデル精度を持つブロックスパースパターンは、通常、スパース性が比較的低い重み構造のみを生成することができる。
そのため、高いモデル精度と速いハードウェア実行速度を同時に得るために、常に構造均一性とスパース性との間にバランスを得ることが望ましい。直感的な観察は、よりバランスの動作負荷とより細粒度のスパースパターンを採用することである。そのため、本発明は、畳み込みニューラルネットワークにおける高効率的なGPU推論を実現する鍵となる混合粒度に基づく共同スパース方法を提案する。
本発明は、現在の構造化スパース方法における上記欠点に対して、ニューラルネットワーク畳み込み層と完全連結層に用いられ、スパース粒度可変、汎用ハードウェア推論加速、モデル推論精度が高いという利点がある混合粒度に基づく共同スパース方法を提供することを目的とする。
本発明の目的は、以下の技術的解決手段によって達成される。ニューラルネットワークに用いられる混合粒度に基づく共同スパース方法であって、この方法は、画像識別に用いられ、まず、複数の画像データを収集して人為的にラベルを付与し、画像データセットを生成し、画像データセットをトレーニングセットとして畳み込みニューラルネットワークに入力し、畳み込みニューラルネットワーク各層の重み行列をランダムに初期化し、繰り返しの方式でトレーニングし、共同スパースプロセスを採用して、畳み込みニューラルネットワークをプルーニングし、
前記共同スパースプロセスは、具体的には、ユーザが目標スパース性(target sparsity)と粒度混合比率(mixing ratio)を予め設定することにより、異なるプルーニング粒度のプルーニングマスクを得ることができる。独立したベクトルレベル細粒度スパース化(vector-wise fine-grained sparsity)とブロックレベル粗粒度スパース化(block-wise coarse-grained sparsity)とを含み、ベクトルレベル細粒度スパース化とブロックレベル粗粒度スパース化の夫々のスパース性は、ユーザが予め設定した目標スパース性と粒度混合比率に基づいて、スパース性補償方法によって推定し、
前記ベクトルレベル細粒度スパース化は、行数が#rowであり、列数が#colである重み行列を、補間後の最小行列列数がちょうどKにより割り切れるように該重み行列の右端にゼロ列を充填し、行数が1であり、列数がKである複数のベクトル行に分割され、且つベクトル行毎に対して、ベクトル行内要素を大きさに基づくプルーニングを行い、プルーニングマスク1上で対応する要素位置の1を0にセットし、プルーニングマスク1上の0の個数がベクトルレベル細粒度スパース化のスパース性要求を満たすようにし、
前記ブロックレベル粗粒度スパース化は、行数が#rowであり、列数が#colである重み行列を、補間後の最小行列がちょうどR行、S列サイズのブロックにより割り切れるように該重み行列の下端及び/又は右端にゼロ行及び/又はゼロ列を充填し、行数がRであり、列数がSである複数のベクトルブロックに分割され、充填されたゼロ行又はゼロ列を含まない各ベクトルブロックの重要性スコア和(psum)を計算し、重要性スコア和の計算に用いた全てのベクトルブロックに対し、重要性スコア和大きさに応じてプルーニングを行い、プルーニングマスク2上の重要性スコア和の計算に用いたベクトルブロックの対応する要素位置の1を0にセットし、プルーニングマスク2上の0の個数がブロックレベル粗粒度スパース化のスパース性要求を満たすようにし、
ベクトルレベル細粒度スパース化して得られたプルーニングマスク1とブロックレベル粗粒度スパース化して得られたプルーニングマスク2をビット論理積演算し、最終的なプルーニングマスク3を得、最終的なプルーニングマスク3と行数が#rowであり、列数が#colである行列とをビット論理積演算し、スパース化された重み行列を得、
畳み込みニューラルネットワーク各層の重み行列をスパース化して、トレーニングを完了させた後、識別対象画像を畳み込みニューラルネットワークに入力し、画像識別を行う。
さらに、前記ベクトルレベル細粒度スパース化は、ベクトル行内要素の絶対値の大きさに応じて大きさに基づくプルーニングを行うことである。
さらに、前記ベクトルブロックの重要性スコア和は、ベクトルブロック内各要素の2乗の総和である。
さらに、前記ベクトルレベル細粒度スパース化とブロックレベル粗粒度スパース化のプルーニングマスク1とプルーニングマスク2行列における要素の初期は、いずれも1である。
さらに、ベクトルレベル細粒度スパース化とブロックレベル粗粒度スパース化の大きさに基づくプルーニングは、プルーニングマスク1とプルーニングマスク2上で、ベクトル行又はベクトルブロックにおけるスパース性閾値未満の対応する位置の要素を0にセットすることである。
さらに、ベクトルレベル細粒度スパース化とブロックレベル粗粒度スパース化の夫々のスパース性は、ユーザが予め設定した目標スパース性と粒度混合比率に基づいて、スパース性補償方法によって推定するプロセスは、以下のとおりであり、
Figure 0007122041000001
Figure 0007122041000002
ここで、s、sとsは、それぞれ、ユーザが予め設定した目標スパース性、ベクトルレベル細粒度スパース性とブロックレベル粗粒度スパース性であり、pは、0~1との間の数である粒度混合比率である。
本発明の有益効果は、以下のとおりである。
1)本発明は、正規制約項を必要とせず、混合したスパース粒度を実現することができ、それによって、推論オーバヘッドを低減し、モデル精度を保証する混合粒度に基づく共同スパース方法を提案する。
2)本発明は、達成されるスパース率を最適化及び保証するためのスパース補償方法を提案する。同じ目標スパース性下で実現されるスパース性は、応用されるハイパーパラメータによって調整することができ、それによって、モデル精度とスパース比との間でトレードオフを行う。
3)共同スパース性は、ベクトルレベル細粒度スパース化のベクトル行サイズとブロックレベル粗粒度スパース化のベクトルブロックサイズによらず、ブロックスパース(block sparsity)とバランススパース(balanced sparsity)パターンとの間の推論速度を常に得る。
図1(a)は、ベクトルレベル細粒度スパース化のプルーニングマスクである。 図1(b)は、共同スパース方法のプルーニングマスクである。 図1(c)は、ブロックレベル粗粒度スパース化のプルーニングマスクである。 図2は、ベクトルレベル細粒度スパース化の実施例である。 図3は、スパース性補償方法を採用した後、達成できる実際スパース性である。
以下、添付の図面及び具体的な実施例を結び付けながら、本発明をより詳しく説明する。
図1(a)、図1(b)と図1(c)に示すように、本発明に提案されているニューラルネットワークに用いられる混合粒度に基づく共同スパース方法であって、この方法は、画像識別、例えば機械リーダカード解答用紙自動採点に用いられ、まず、複数の画像データを収集して人為的にラベルを付与し、画像データセットを生成し、トレーニングデータセットとテストデータセットとに分けられ、トレーニングデータセットを畳み込みニューラルネットワークに入力し、畳み込みニューラルネットワーク各層の重み行列をランダムに初期化し、繰り返しの方式でトレーニングし、共同スパースプロセスを採用して、畳み込みニューラルネットワークをプルーニングし、テストデータセットを用いてトレーニング効果を交差検証し、トレーニングが完了するまで、逆伝播アルゴリズムにより各層重み行列を更新し、この時、ニューラルネットワークは、入力された機械リーダカード解答用紙に対して、正解と照合することで、正誤試験問題を判断することができ、前記共同スパースプロセスは、具体的には、ユーザが目標スパース性と粒度混合比率を予め設定することにより、異なるプルーニング粒度のプルーニングマスクを得、独立したベクトルレベル細粒度スパース化とブロックレベル粗粒度スパース化とを含み、ベクトルレベル細粒度スパース化とブロックレベル粗粒度スパース化の夫々のスパース性は、ユーザが予め設定した目標スパース性と粒度混合比率に基づいて、スパース性補償方法によって推定し、以下のステップを含む。
(1)ベクトルレベル細粒度スパース化:前記ベクトルレベル細粒度スパース化は、行数が#rowであり、列数が#colである重み行列を、補間後の最小行列列数がちょうどKにより割り切れるように重み行列の右端にゼロ列を充填し、行数が1であり、列数がKである複数のベクトル行に分割され、且つベクトル行毎に対して、ベクトル行内要素を絶対値の大きさに応じて、大きさに基づくプルーニングを行い、プルーニングマスク1上で対応する要素位置の1を0にセットし、プルーニングマスク1上の0の個数がベクトルレベル細粒度スパース化のスパース性要求を満たすようにする。
ベクトルレベル細粒度スパース化は、細粒度の利点があり、疎構造に制約をほとんどかけないため、共同スパース方法のモデル精度の保持が重要である。また、ネットワーク全体においてランキング、プルーニングを行う非構造化スパース性とは異なり、ベクトルレベル細粒度スパース化方式は、ネットワークの特定領域(例えば、行内のベクトル)で重みに対してランキング、プルーニングを行う方が、より直接的で、有効である。図2は、重み行列行におけるベクトルレベル細粒度スパース化の例を示す図である。重み行列における各行は、サイズが等しく、行数が1であり、列数がKである複数のベクトル行に分割され、且つ現在繰り返しラウンドのスパース閾値に基づいて、絶対値が最小となる重みをプルーニングする。そのため、プルーニング後の重みは、ベクトルレベル(vector-wise)とチャンネルレベル(channel-wise)で同じスパース性を実現することができる。
ネットワークの特定領域で高効率に実施でき、モデル正確性を保持するとともに重み要素ランキング複雑度を簡略化にすることができるほか、ベクトルレベル細粒度スパース化の利点は、等化動作負荷を有し、並列GPUスレッド間の共有メモリに適用されている。様々なGPUプラットフォームの場合、パラメータKは、共有メモリ中の最大容量として指定してもよい。
(2)ブロックレベル粗粒度スパース化:前記ブロックレベル粗粒度スパース化は、行数が#rowであり、列数が#colである重み行列を、補間後の最小行列がちょうどR行、S列サイズのブロックにより割り切れるように重み行列の下端及び/又は右端にゼロ行及び/又はゼロ列を充填し、行数がRであり、列数がSである複数のベクトルブロックに分割され、充填されたゼロ行又はゼロ列を含まない各ベクトルブロックの重要性スコア和を計算し、前記ベクトルブロックの重要性スコア和は、ベクトルブロック内の各要素の二乗の和であり、重要性スコア和の計算に用いた全てのベクトルブロックに対し、重要性スコア和大きさに応じてプルーニングを行い、プルーニングマスク2上の重要性スコア和の計算に用いたベクトルブロックの対応する要素位置の1を0にセットし、プルーニングマスク2上の0の個数がブロックレベル粗粒度スパース化のスパース性要求を満たすようにし、
細粒度プルーニングに比べて、粗粒度プルーニングは、通常、よりハードウェア友好型のサブ構造の構築方面でより良い表現を有するが、その代価が通常、モデル精度を低下している。ブロックレベル粗粒度スパース化の目的は、GPUの計算並列性のために、適切な行列サブ構造を提供することである。従来の深層学習応用シナリオに配備された商用GPU(例えば、Volta、TuringとNvidia A100 GPU)は、Tensor Coreと呼ばれる専用ハードウェアを一般的に採用し、このハードウェアは、迅速行列乗算方面において優勢を有し、新規のデータタイプをサポートする。これにより、深層ニューラルネットワークのために利点をもたらし、深層ニューラルネットワークでは、基本算術計算は、畳み込み層と完全連結層における大量基準行列乗算であり、メモリではなく、その乗算計算速度が性能表現を制限している。
解決策の一つは、パーティションされたブロックのサイズをGPU tileサイズとストリーミングマルチプロセッサ(SM)の個数に適合させることである。理想的には、行列サイズは、ブロックサイズにより割り切れることが可能であり、構築されたGPU tile数は、SM個数により割り切れることが可能である。一つの特定のニューラルネットワークモデルを所与すると、通常、SM個数は、割り切れることができるため、本発明はGPU tileに適用されるブロックサイズに重点を置く。GPU tileと同じサイズの粗粒度スパース性のブロック化サイズを選択することで、GPU tileを完全に占用することができる。なお、加算は乗算よりもはるかに小さい時間と面積オーバヘッドを占用し、且つ重み勾配は逆伝播において既存且つ利用可能であるため、本発明は、プルーニングベクトルブロックの基準として、一次テイラーを応用して局部和を近似する。
(3)混合粒度に基づく共同スパース方法:混合粒度に基づく共同スパース方法を実現するための全体的な考え方は、独立生成された細粒度スパース化プルーニングマスク1と粗粒度スパース化プルーニングマスク2でビット論理積演算により、最終的なプルーニングマスク3を形成することである。最終的なプルーニングマスク3と行数が#rowであり、列数が#col的である行列をビット論理積演算し、スパース化後の重み行列を得る。
本発明は、行列における要素の初期がいずれも1であるプルーニングマスク1とプルーニングマスク2を独立生成し、プルーニングマスク1とプルーニングマスク2上で、プルーニングマスクに対してベクトルレベル細粒度スパース化とブロックレベル粗粒度スパース化を順次に適用するのではなく、ベクトル行又はベクトルブロックにおけるスパース性閾値未満の対応する位置の要素を0にセットする。あるチャンネルが別のチャンネルよりも重要である可能性があるので、これらのより価値のあるチャンネルでは、大量の重要重みは、順次トリミングにおいてトリミングされ、それによって、モデル精度の低下を招く可能性がある。
畳み込みニューラルネットワーク各層の重み行列をスパース化して、トレーニングを完了させた後、採点が必要な機械リーダカード解答用紙の画像データを採集し、識別対象画像データを畳み込みニューラルネットワークに入力し、画像識別を行い、各機械リーダカード解答用紙の点数を出力する。
共同スパース方法の混合スパース粒度を得るために、本発明は、ベクトルレベル細粒度スパース化が目標スパース性に貢献するスパース性比率を制御するように、粒度混合比率pとして表される人為的に設定されたハイパーパラメータを設定する。例えば、畳み込み層の目標スパース性が0.7(すなわち、プルーニング後の畳み込み層重み行列におけるゼロの比率は70%に達する)であり、且つ粒度混合比率pが0.8であれば、ベクトルレベル細粒度スパース化とブロックレベル粗粒度スパース化が貢献するスパース性は、それぞれ0.56と0.14であるはずである。畳み込み層における実際に達成されるスパース性を調べることによって、本件出願者が細粒度スパース化プルーニングマスク1と粗粒度スパース化プルーニングマスク2が何らかの重み要素上で重畳している可能性があるため、スパース性は目標スパース性より低いことが発現された。これは、何らかの重みが二つのプルーニング基準において価値があると評価されていることとして解釈され得る。そのため、本発明は、スパース性補償方法を提案し、ベクトルレベル細粒度スパース化とブロックレベル粗粒度スパース化の夫々のスパース性を再近似し、
Figure 0007122041000003
Figure 0007122041000004
ここで、s、sとsは、それぞれ、ユーザが予め設定した目標スパース性、ベクトルレベル細粒度スパース性とブロックレベル粗粒度スパース性であり、pは、0~1との間の数である粒度混合比率である。このようなスパース性補償方法は、別の見方をすれば、混合比pが0.5より大きい場合、目標スパース性を再近似したベクトルレベル細粒度スパース化は、目標スパース性の主な貢献者とみることができ、ブロックレベルの粗粒度スパース化は、別の重みプルーニング基準に基づいて、さらに多くのゼロを生成することができる。pが0.5より小さい場合、逆に同様である。図3に示すように、スパース性補償方法を採用する場合、その値に関わらず、所定の目標スパース性を完全に実現することができる。また、pが0又は1に近い場合、より顕著なメインプルーニング方案が出現し、そのスパース性比は目標スパース性に近い。又は、pが約0.5である場合、余裕のスパース性は初期集中トレーニングの時間を調整することにより、実現可能なスパース性とモデル精度との間でトレードオフを行うことができる。
細粒度スパース化プルーニングマスク1と粗粒度スパース化プルーニングマスク2を生成する時に、本発明は、重み行列を繰り返してトリミングし、且つ毎回のトリミング後に、ネットワークに対して複数の時期の再トレーニングを行う。トリミング後再トレーニングは、1回の繰り返しとして定義される。実際に、通常、繰り返しトリミングは、モデルの正確性を保持しながら、より多くの重み要素をトリミングすることができる。本発明は、一次導関数が正であるが逓減する指数関数を使用して、現在のスパース性閾値を計算し、
Figure 0007122041000005
Figure 0007122041000006
ここで、sfthresとscthresは、それぞれ、現在時期(epoch)ecのベクトルレベル細粒度スパース化閾値とブロックレベル粗粒度スパース化閾値である。eiは最初のプルーニング時期であり、早期の集中トレーニングは、モデルの正確性を保持するために非常に重要であるからである。一方、rは閾値の指数に従う増加の遅速を制御する。本発明は、全トレーニングプロセスにおいて、目標スパース性を達成するために、トリミングを繰り返し、及びプロセスをトレーニングし、その後、生成された細粒度スパース化プルーニングマスク1と粗粒度スパース化プルーニングマスク2をビット論理積演算することによって、最終的なプルーニングマスク3を形成する。特に、p=1によってバランススパースパターンを実現することができ、p=0によってブロックスパースパターンとチャンネルレベルの構造のスパースパターンを実現することができる。
本出願は、上記の好ましい実施形態に限定されるものではない。当業者であれば、本出願の示唆下で、他の様々な形態の混合粒度に基づく共同スパースパターン及びその実現方法を得ることができ、本出願の特許請求の範囲から逸脱することなく行われる他の変更及び修正は、いずれも本発明の特許請求の範囲内として保護されるべきものである。
(付記)
(付記1)
ニューラルネットワークに用いられる混合粒度に基づく共同スパース方法であって、
この方法は、画像識別に用いられ、まず、複数の画像データを収集して人為的にラベルを付与し、画像データセットを生成し、画像データセットをトレーニングセットとして畳み込みニューラルネットワークに入力し、畳み込みニューラルネットワーク各層の重み行列をランダムに初期化し、繰り返しの方式でトレーニングし、共同スパースプロセスを採用して、畳み込みニューラルネットワークをプルーニングし、
前記共同スパースプロセスは、具体的には、ユーザが目標スパース性と粒度混合比率を予め設定することにより、異なるプルーニング粒度のプルーニングマスクを得、独立したベクトルレベル細粒度スパース化とブロックレベル粗粒度スパース化とを含み、ベクトルレベル細粒度スパース化とブロックレベル粗粒度スパース化の夫々のスパース性は、ユーザが予め設定した目標スパース性と粒度混合比率に基づいて、スパース性補償方法によって推定し、
前記ベクトルレベル細粒度スパース化は、行数が#rowであり、列数が#colである重み行列を、補間後の最小行列列数がちょうどKにより割り切れるように該重み行列の右端にゼロ列を充填し、行数が1であり、列数がKである複数のベクトル行に分割され、且つベクトル行毎に対して、ベクトル行内要素を大きさに基づくプルーニングを行い、プルーニングマスク1上で対応する要素位置の1を0にセットし、プルーニングマスク1上の0の個数がベクトルレベル細粒度スパース化のスパース性要求を満たすようにし、
前記ブロックレベル粗粒度スパース化は、行数が#rowであり、列数が#colである重み行列を、補間後の最小行列がちょうどR行、S列サイズのブロックにより割り切れるように該重み行列の下端及び/又は右端にゼロ行及び/又はゼロ列を充填し、行数がRであり、列数がSである複数のベクトルブロックに分割され、充填されたゼロ行又はゼロ列を含まない各ベクトルブロックの重要性スコア和を計算し、重要性スコア和の計算に用いた全てのベクトルブロックに対し、重要性スコア和大きさに応じてプルーニングを行い、プルーニングマスク2上の重要性スコア和の計算に用いたベクトルブロックの対応する要素位置の1を0にセットし、プルーニングマスク2上の0の個数がブロックレベル粗粒度スパース化のスパース性要求を満たすようにし、
ベクトルレベル細粒度スパース化して得られたプルーニングマスク1とブロックレベル粗粒度スパース化して得られたプルーニングマスク2をビット論理積演算し、最終的なプルーニングマスク3を得、最終的なプルーニングマスク3と行数が#rowであり、列数が#colである行列とをビット論理積演算し、スパース化された重み行列を得、
畳み込みニューラルネットワーク各層の重み行列をスパース化して、トレーニングを完了させた後、識別対象画像を畳み込みニューラルネットワークに入力し、画像識別を行う、
ことを特徴とするニューラルネットワークに用いられる混合粒度に基づく共同スパース方法。
(付記2)
前記ベクトルレベル細粒度スパース化は、ベクトル行内要素の絶対値の大きさに応じて大きさに基づくプルーニングを行うことである、
ことを特徴とする付記1に記載のニューラルネットワークに用いられる混合粒度に基づく共同スパース方法。
(付記3)
前記ベクトルブロックの重要性スコア和は、ベクトルブロック内各要素の2乗の総和である、
ことを特徴とする付記1に記載のニューラルネットワークに用いられる混合粒度に基づく共同スパース方法。
(付記4)
前記ベクトルレベル細粒度スパース化とブロックレベル粗粒度スパース化のプルーニングマスク1とプルーニングマスク2行列における要素の初期は、いずれも1である、
ことを特徴とする付記1に記載のニューラルネットワークに用いられる混合粒度に基づく共同スパース方法。
(付記5)
ベクトルレベル細粒度スパース化とブロックレベル粗粒度スパース化の大きさに基づくプルーニングは、プルーニングマスク1とプルーニングマスク2上で、ベクトル行又はベクトルブロックにおけるスパース性閾値未満の対応する位置の要素を0にセットすることである、
ことを特徴とする付記1に記載のニューラルネットワークに用いられる混合粒度に基づく共同スパース方法。
(付記6)
ベクトルレベル細粒度スパース化とブロックレベル粗粒度スパース化の夫々のスパース性は、ユーザが予め設定した目標スパース性と粒度混合比率に基づいて、スパース性補償方法によって推定するプロセスは、以下のとおりであり、
Figure 0007122041000007
ここで、s、sとsは、それぞれ、ユーザが予め設定した目標スパース性、ベクトルレベル細粒度スパース性とブロックレベル粗粒度スパース性であり、pは、0~1との間の数である粒度混合比率である、
ことを特徴とする付記1に記載のニューラルネットワークに用いられる混合粒度に基づく共同スパース方法。

Claims (5)

  1. コンピュータにより実行される、ニューラルネットワークに用いられる混合粒度に基づく共同スパース方法であって、
    この方法は、画像識別に用いられ、まず、複数の画像データを収集して人為的にラベルを付与し、画像データセットを生成し、画像データセットをトレーニングセットとして畳み込みニューラルネットワークに入力し、畳み込みニューラルネットワーク各層の重み行列をランダムに初期化し、繰り返しの方式でトレーニングし、共同スパースプロセスを採用して、畳み込みニューラルネットワークをプルーニングし、
    前記共同スパースプロセスは、具体的には、ユーザが目標スパース性と粒度混合比率を予め設定することにより、異なるプルーニング粒度のプルーニングマスクを得、独立したベクトルレベル細粒度スパース化とブロックレベル粗粒度スパース化とを含み、ベクトルレベル細粒度スパース化とブロックレベル粗粒度スパース化の夫々のスパース性は、ユーザが予め設定した目標スパース性と粒度混合比率に基づいて、スパース性補償方法によって推定し、
    前記ベクトルレベル細粒度スパース化は、行数が#rowであり、列数が#colである重み行列を、補間後の最小行列列数がちょうどKにより割り切れるように該重み行列の右端にゼロ列を充填し、行数が1であり、列数がKである複数のベクトル行に分割され、且つベクトル行毎に対して、ベクトル行内要素の絶対値の大きさに基づくプルーニングを行い、プルーニングマスク1上で対応する要素位置の1を0にセットし、プルーニングマスク1上の0の個数がベクトルレベル細粒度スパース化のスパース性要求を満たすようにし、
    前記ブロックレベル粗粒度スパース化は、行数が#rowであり、列数が#colである重み行列を、補間後の最小行列がちょうどR行、S列サイズのブロックにより割り切れるように該重み行列の下端及び/又は右端にゼロ行及び/又はゼロ列を充填し、行数がRであり、列数がSである複数のベクトルブロックに分割され、充填されたゼロ行又はゼロ列を含まない各ベクトルブロックの重要性スコア和を計算し、重要性スコア和の計算に用いた全てのベクトルブロックに対し、重要性スコア和大きさに応じてプルーニングを行い、プルーニングマスク2上の重要性スコア和の計算に用いたベクトルブロックの対応する要素位置の1を0にセットし、プルーニングマスク2上の0の個数がブロックレベル粗粒度スパース化のスパース性要求を満たすようにし、
    ベクトルレベル細粒度スパース化して得られたプルーニングマスク1とブロックレベル粗粒度スパース化して得られたプルーニングマスク2をビット論理積演算し、最終的なプルーニングマスク3を得、最終的なプルーニングマスク3と行数が#rowであり、列数が#colである行列とをビット論理積演算し、スパース化された重み行列を得、
    畳み込みニューラルネットワーク各層の重み行列をスパース化して、トレーニングを完了させた後、識別対象画像を畳み込みニューラルネットワークに入力し、画像識別を行う、
    ことを特徴とするニューラルネットワークに用いられる混合粒度に基づく共同スパース方法。
  2. 前記ベクトルブロックの重要性スコア和は、ベクトルブロック内各要素の2乗の総和である、
    ことを特徴とする請求項1に記載のニューラルネットワークに用いられる混合粒度に基づく共同スパース方法。
  3. 前記ベクトルレベル細粒度スパース化とブロックレベル粗粒度スパース化のプルーニングマスク1とプルーニングマスク2行列における要素の初期は、いずれも1である、
    ことを特徴とする請求項1に記載のニューラルネットワークに用いられる混合粒度に基づく共同スパース方法。
  4. ベクトルレベル細粒度スパース化とブロックレベル粗粒度スパース化の大きさに基づくプルーニングは、プルーニングマスク1とプルーニングマスク2上で、ベクトル行又はベクトルブロックにおけるスパース性閾値未満の対応する位置の要素を0にセットすることである、
    ことを特徴とする請求項1に記載のニューラルネットワークに用いられる混合粒度に基づく共同スパース方法。
  5. ベクトルレベル細粒度スパース化とブロックレベル粗粒度スパース化の夫々のスパース性は、ユーザが予め設定した目標スパース性と粒度混合比率に基づいて、スパース性補償方法によって推定するプロセスは、以下のとおりであり、
    Figure 0007122041000008
    ここで、s、sとsは、それぞれ、ユーザが予め設定した目標スパース性、ベクトルレベル細粒度スパース性とブロックレベル粗粒度スパース性であり、pは、0~1との間の数である粒度混合比率である、
    ことを特徴とする請求項1に記載のニューラルネットワークに用いられる混合粒度に基づく共同スパース方法。
JP2021174307A 2020-12-24 2021-10-26 ニューラルネットワークに用いられる混合粒度に基づく共同スパース方法 Active JP7122041B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202011553635.6A CN112288046B (zh) 2020-12-24 2020-12-24 一种用于神经网络的基于混合粒度的联合稀疏方法
CN202011553635.6 2020-12-24

Publications (2)

Publication Number Publication Date
JP2022101461A JP2022101461A (ja) 2022-07-06
JP7122041B2 true JP7122041B2 (ja) 2022-08-19

Family

ID=74426136

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021174307A Active JP7122041B2 (ja) 2020-12-24 2021-10-26 ニューラルネットワークに用いられる混合粒度に基づく共同スパース方法

Country Status (3)

Country Link
US (1) US20220207374A1 (ja)
JP (1) JP7122041B2 (ja)
CN (1) CN112288046B (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114627342A (zh) * 2022-03-03 2022-06-14 北京百度网讯科技有限公司 基于稀疏度的图像识别模型的训练方法、装置和设备
CN117270476B (zh) * 2023-10-24 2024-03-08 清远欧派集成家居有限公司 基于智慧工厂的生产控制方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180046915A1 (en) 2016-08-12 2018-02-15 Beijing Deephi Intelligence Technology Co., Ltd. Compression of deep neural networks with proper use of mask
US20200104717A1 (en) 2018-10-01 2020-04-02 Neuralmagic Inc. Systems and methods for neural network pruning with accuracy preservation

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10528864B2 (en) * 2016-08-11 2020-01-07 Nvidia Corporation Sparse convolutional neural network accelerator
US11645529B2 (en) * 2018-05-01 2023-05-09 Hewlett Packard Enterprise Development Lp Sparsifying neural network models
CN110147834A (zh) * 2019-05-10 2019-08-20 上海理工大学 基于稀疏化双线性卷积神经网络的细粒度图像分类方法
CN111079781B (zh) * 2019-11-07 2023-06-23 华南理工大学 基于低秩与稀疏分解的轻量化卷积神经网络图像识别方法
CN110874631B (zh) * 2020-01-20 2020-06-16 浙江大学 一种基于特征图稀疏化的卷积神经网络剪枝方法
CN111401554B (zh) * 2020-03-12 2023-03-24 交叉信息核心技术研究院(西安)有限公司 支持多粒度稀疏与多模式量化的卷积神经网络的加速器

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180046915A1 (en) 2016-08-12 2018-02-15 Beijing Deephi Intelligence Technology Co., Ltd. Compression of deep neural networks with proper use of mask
US20200104717A1 (en) 2018-10-01 2020-04-02 Neuralmagic Inc. Systems and methods for neural network pruning with accuracy preservation

Also Published As

Publication number Publication date
JP2022101461A (ja) 2022-07-06
CN112288046A (zh) 2021-01-29
CN112288046B (zh) 2021-03-26
US20220207374A1 (en) 2022-06-30

Similar Documents

Publication Publication Date Title
US11521068B2 (en) Method and system for neural network synthesis
Liu et al. Learning efficient convolutional networks through network slimming
US10832120B2 (en) Systems and methods for a multi-core optimized recurrent neural network
JP7122041B2 (ja) ニューラルネットワークに用いられる混合粒度に基づく共同スパース方法
US8700552B2 (en) Exploiting sparseness in training deep neural networks
US20210133540A1 (en) System and method for compact, fast, and accurate lstms
US11657285B2 (en) Methods, systems, and media for random semi-structured row-wise pruning in neural networks
US20220222534A1 (en) System and method for incremental learning using a grow-and-prune paradigm with neural networks
CN112508190A (zh) 结构化稀疏参数的处理方法、装置、设备及存储介质
Li et al. Efficient bitwidth search for practical mixed precision neural network
Lopes et al. Deep belief networks (DBNs)
Qi et al. Learning low resource consumption cnn through pruning and quantization
Li et al. An accelerating convolutional neural networks via a 2D entropy based-adaptive filter search method for image recognition
Johnson et al. WeightMom: Learning Sparse Networks using Iterative Momentum-based pruning
Maji et al. 1D-FALCON: Accelerating deep convolutional neural network inference by co-optimization of models and underlying arithmetic implementation
Sun et al. Computation on sparse neural networks and its implications for future hardware
Mishra et al. Wrpn & apprentice: Methods for training and inference using low-precision numerics
Zhang et al. Optimization method of residual networks of residual networks for image classification
Theodorakopoulos et al. Parsimonious Inference on Convolutional Neural Networks: Learning and applying on-line kernel activation rules
Giffon et al. Psm-nets: compressing neural networks with product of sparse matrices
Li et al. Memory saving method for enhanced convolution of deep neural network
Jiang et al. Class-Aware Pruning for Efficient Neural Networks
Hossain et al. Computational Complexity Reduction Techniques for Deep Neural Networks: A Survey
Bhalgaonkar et al. Model compression of deep neural network architectures for visual pattern recognition: Current status and future directions
Qu et al. A Coordinated Model Pruning and Mapping Framework for RRAM-based DNN Accelerators

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211108

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20211108

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220301

A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20220506

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220801

R150 Certificate of patent or registration of utility model

Ref document number: 7122041

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150