ImageNet事前学習モデルのプルーニングは下流タスクでどのように機能するか?
3つの要点
✔️ プルーニングを行ったImageNet事前学習済みモデルの転移学習性能を調査
✔️ 漸進的スパース化・正則化・LTHなどのプルーニング手法について分析
✔️ 様々なPruning手法が転移学習時に異なる挙動を示すことを実証
How Well Do Sparse Imagenet Models Transfer?
written by Eugenia Iofinova, Alexandra Peste, Mark Kurtz, Dan Alistarh
(Submitted on 26 Nov 2021 (v1), last revised 21 Apr 2022 (this version, v5))
Comments: CVPR2022.
Subjects: Computer Vision and Pattern Recognition (cs.CV); Artificial Intelligence (cs.AI); Machine Learning (cs.LG)
code:
本記事で使用している画像は論文中のもの、紹介スライドのもの、またはそれを参考に作成したものを使用しております。
はじめに
深層学習モデルの計算コストは大きく、これを軽減するためのモデル圧縮技術は急速に発展している分野です。
本記事で紹介する論文では、ImageNetで学習した畳み込みニューラルネットワーク(CNN)を下流タスク上に適応させるという一般的な転移学習設定において、重みの一部を0にするPruning手法がどのように機能するのかについて調査しました。
この研究の結果、疎なモデルが密なモデルの転移学習性能と同等以上の性能を示し、推論・学習を大幅に高速化できること、様々なPruning手法の挙動の違いが示されました。
実験設定
実験では、様々なモデル圧縮技術を適用した場合の転移学習性能について調査を行います。実験設定は以下の通りです。
転移学習の設定
転移学習時には、full fine-tuningとlinear fine-tuningの二つの設定について検討します。full fine-tuningでは特徴量全体を最適化し、linear fine-tuningでは最終層の線形分類器のみを最適化します。
前者の場合、最終層を除き、オリジナルモデルの非ゼロの重みのみ最適化を行い、マスクは固定されたままとします。また、ゼロからの学習(from-scratch)は一般的に転移学習より性能が低いため、from-scratch設定での実験は行っていません。また、下流タスク上でモデルのpruningを行うことも実験では行いません。
ネットワークアーキテクチャ
実験では主にResNet50を用いて、疎なモデルの転移学習についての分析を行います。
スパース化手法(Sparsification Methods)
実験で検討するPruning手法は、以下の三つに大きく分けられます。
- 漸進的スパース化手法(Progressive Sparsification):高精度のベースラインモデルから開始し、fine-tuning期間によって区切られたいくつかのステップで、少しずつ重みの削除を行います。
- 正則化手法(Regularization Methods):モデル学習時にスパース性を向上させるメカニズムが適用されます。
- Lottery Ticket Hypothesis (LTH)法:完全な学習済みモデルから開始して、1回または複数回の増分ステップで重みの疎なマスクを得て、そのマスク上に限定して再学習を行います。
これら三つについて、具体的には以下の手法を利用します。
漸進的スパース化手法
正則化手法
- Soft Threshold Weight Reparametrization(STR)
- Alternating Compression/Decompression(AC/DC)
- The Rigged Lottery(RigL)
LTH法
下流タスクについて
転移学習に用いる下流タスクは以下の通りです。
表に記されている通り、性能指標には各タスクのTop-1精度またはクラスごとの平均Validation精度を使用します。
また、各下流タスクとモデルについて、密なモデルのベースラインに対する誤差の相対的な増加量や、各手法の高速化の度合いについても計算し、性能の指標として利用します。
実験結果
ImageNetにおけるValidation精度
はじめに、Pruningによりスパース化したモデルの、ImageNetにおけるValidation精度について確認します。結果は以下の通りです。
スパース度とValidationセットのバージョンによって差異がありますが、総じてWoodFisherとRigL ERK 5xが特に優れた結果を示しています。
線形ファインチューニング
次に、線形分類器のみを下流タスクで微調整する場合における、様々なPruning手法の性能調査を行います。結果は以下の通りです。
なお、LTH-T法はフルファインチューニング用に設計されているため、この分析では除外されています。また、図ではスパース度が80%の場合についての結果が示されています(Linear Finetuningの部分を参照ください)。
総じて、上流タスクでのPruning手法の選択が、下流タスク性能に大きな差異をもたらしていることがわかります。
この差は細かいクラスを持つ特殊な下流タスクでより顕著であり、例えばAircraftでは、最も性能がいいAC/DCやRigL ERK 5xと、最も性能が悪かったWoodFisherとの間で、Top-1精度にして15%の差が見られます。
この結果に基づき、密なバックボーンとPruningされたモデルとのTop1-精度の差を各下流タスクの難易度の指標として利用した場合の、各手法の挙動は次のようになります。
この図を見ると、正則化手法(AC/DC、STR、RigL)は、タスクの難易度が上がるにつれ、密なバックボーンを用いたベースラインより性能が向上する傾向があります。これはスパース度が高い90%のときにより顕著となっています。
一方、漸進的スパース化手法(GMP、WoodFisher)はこのような挙動を示していません。このことから、線形ファインチューニングにおいて、下流タスクが専門的または困難な場合、正則化ベースのPruning手法が適しているとみられます。
また、スパース度は下流タスクの性能とあまり相関がないことも特徴的です。例えば、AC/DCとRigLは、スパース度80%と90%のモデル間でImageNet精度に1~2%の差があるのに対し、密なベースラインに対する相対誤差は平坦に保たれています。ただし、極端なスパース度(98%)の場合は性能が低下する傾向があります。
総じて、以下の結果がみられました。
- スパース化手法の中には、密なモデルと一貫して一致した性能を示すものや、密なモデルを時に凌駕するものも存在します。
- 正則化手法の転移学習性能と下流タスク難易度間には相関がみられます。
- スパース性が高いことは、必ずしも転移性能にとって不利になるとは限りません。
フルファインチューニング
次に、モデル全体の微調整を行う場合の結果は以下の通りです。
線形ファインチューニングの場合と同様、Pruning手法によってかなりの性能差が見られました。
まず、スパース度を上げると品質が下がるという一貫した傾向がみられています。また、漸進的スパース化手法(WoodFisher、GMP)がその他の手法と比べて優れた転移学習性能を示す傾向がみられました。特に、スパース度80%、90%の場合は密なモデルとほぼ同等の下流タスク性能を発揮しており、線形ファインチューニングの場合と正反対の結果となりました。
さらに、下流タスク性能を見てみると、WoodFisherとGMPは一貫して上位の性能を示している一方、その他の手法はタスクによって大きく性能が変化する傾向が見られました。
総じて、下流タスク上でフルファインチューニングを行う場合、漸進的スパース化手法が良い選択であると見られます。これらの手法は、80%または90%のスパース度では、密なバックボーンと同等の性能を示しています。
さらなる考察
線形・フルファインチューニングのどちらを選択するかにより、最適なプルーニング手法が異なることは興味深い結果であると言えます。この結果について調査するため、ResNet50バックボーンのうち、完全にプルーニングされた畳み込みフィルタの割合を測定しました。(元論文付録E参照)
その結果、AC/DCは完全に除去されるチャンネル数が、平均して他の手法より2~4多いことがわかりました。この結果は、フルファインチューニング中にトレーニングできる特徴が少なくなることに繋がっているとみられます。
一方、GMPとWoodFisherのスパース性は構造化されておらず、これがフルファインチューニング時に表現できる特徴を増加させていると思われます。
線形ファインチューニングの場合には、正則化手法がよりロバストな特徴を生成することにより、漸進的スパース化手法との関係が逆転していると見られます。
線形ファインチューニングにおける学習速度向上について
線形ファインチューニングでは、疎なバックボーンが固定されるため、トレーニング時間の高速化に繋がります。この効果を調べるため、学習時間の向上とテスト精度変化の関係を調査した結果は以下の通りです。
総じて、精度に悪影響を与えることなく、学習時間を2~3倍高速化できることがわかりました。
追加実験
論文の付録では、ResNet18、ResNet34、MobileNetを用いた場合や、YOLOv3とYOLOv5を用いて物体検出タスク性能を測定した場合について実験を行っており、これまでの分析を裏付ける結果が得られています。
また、構造化スパースモデルを使用したフルファインチューニングを行った結果、非構造化手法と比べて転移学習性能が低下する傾向がみられました。
まとめ
プルーニング手法によりImageNet事前学習済みモデルのスパース化を行ったときの転移学習性能について広範な分析を行った結果、ImageNet分類精度が同等でも、下流タスクや学習設定によって異なる性能が得られることが示されました。
特に、正則化ベースの手法は線形ファインチューニング時に、漸進的スパース化手法はフルファインチューニングで最も良い性能を発揮する傾向が明らかとなりました。
これらの分析は、モデル圧縮技術のうちプルーニングに焦点を当てていること、転移学習性能の指標が精度のみであること、ドメインシフトを含むより複雑な転移学習シナリオは含まれていないなどの制限があり、今後のさらなる調査が待ち望まれます。
この記事に関するカテゴリー