Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SNIP: Single-shot Network Pruning based on Connection Sensitivity #12

Open
ryoherisson opened this issue Jan 28, 2021 · 0 comments
Open
Assignees

Comments

@ryoherisson
Copy link
Contributor

一言でいうと

学習前の初期化時に一度だけネットワークを剪定する手法を提案.

論文リンク

https://openreview.net/pdf?id=B1VZqjAcYX

著者/所属機関

Namhoon Lee, Thalaiyasingam Ajanthan & Philip H. S. Torr
(University of Oxford)

投稿日付(yyyy/MM/dd)

2019/2/23

概要

既存の剪定手法は,再学習や,追加のハイパーパラメータの設定を含むヒューリスティックな設計が必要であり,新しいアーキテクチャやタスクに拡張することが困難という問題がある.
本手法は,学習前に,データに依存した方法で,与えられたタスクにとって重要なネットワーク内の接続を識別するための重要度基準を導入し,その重要度に基づいて剪定を行ってから,標準的な学習を行うもの.これにより事前学習と複雑な剪定スケジュールの両方が不要となる.
実験の結果,ベースラインと同じ精度で高いスパース性を持つネットワークを得ることができた.

新規性・差分

  • 単純(Simplicity):ネットワークは訓練前に一度剪定されるため,事前訓練や複雑な剪定スケジュールは不要である.追加のハイパーパラメータ設定も不要.
  • 汎用(Versatility):構造的に重要な接続を選択するため,アーキテクチャの違いによらず汎用的に使用可能.
  • 解釈可能(Interpretability):ミニバッチを用いて,シングルショットで重要な接続を判定可能.

手法

  • 分散スケーリング初期化における損失関数への影響に基づいて重要な接続を発見.
  • 所望の疎度が与えられると,学習前に冗長な接続を一度だけ除去し(つまりシングルショット),その後,疎に除去されたネットワークを標準的な方法で学習.
  • ネットワークの重みの初期化には,variance scaling手法を使うことを提唱.
    スクリーンショット 2021-01-28 22 12 25

結果

スクリーンショット 2021-01-28 22 16 16
スクリーンショット 2021-01-28 22 16 11

コメント

@ryoherisson ryoherisson self-assigned this Jan 28, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants