[論文レビュー] ShaResNet: reducing residual network parameter number by sharing weights
本稿では、同じ空間スケールにおける残差ブロック間で3×3畳み込み重みを共有することでパラメータ数を削減する、残差ネットワークの変種、ShaResNetを提案する。同じ空間スケールの複数のブロックで共有畳み込みを再利用しつつ、ブロック固有の層を維持することで、ShaResNetは最大39%のパラメータ削減を達成する—例えば、152層のResNetを106層に削減—ImageNet上でトップ1精度を0.2%未満の損失で維持する。
Deep Residual Networks have reached the state of the art in many image processing tasks such image classification. However, the cost for a gain in accuracy in terms of depth and memory is prohibitive as it requires a higher number of residual blocks, up to double the initial value. To tackle this problem, we propose in this paper a way to reduce the redundant information of the networks. We share the weights of convolutional layers between residual blocks operating at the same spatial scale. The signal flows multiple times in the same convolutional layer. The resulting architecture, called ShaResNet, contains block specific layers and shared layers. These ShaResNet are trained exactly in the same fashion as the commonly used residual networks. We show, on the one hand, that they are almost as efficient as their sequential counterparts while involving less parameters, and on the other hand that they are more efficient than a residual network with the same number of parameters. For example, a 152-layer-deep residual network can be reduced to 106 convolutional layers, i.e. a parameter gain of 39\%, while loosing less than 0.2\% accuracy on ImageNet.
研究の動機と目的
- 精度を損なわせることなく、深層残差ネットワークのパラメータ数を削減すること。
- 残差ブロック間で冗長な空間演算が共有可能かどうかを調査し、パラメータ効率を向上させること。
- 同等のパラメータ予算のもとで、共有畳み込み層がより深い逐次ネットワークを上回る性能を示すかどうかを評価すること。
- 人工ニューラルネットワークにおける再帰的のような重み共有の生物学的妥当性を検討すること。
- 標準の残差ネットワークが持つ最適化の利点を維持しつつ、トレーニングに適したアーキテクチャを開発すること。
提案手法
- 残差ネットワークの同一ステージ(空間スケール)内のすべての残差ブロックで3×3畳み込みフィルタを共有する。
- アイデンティティマッピングおよび特徴変換のためのブロック固有の畳み込み層を維持する。
- 同じ共有畳み込み層を複数の残差ブロックで使用し、信号が複数回その層を通るようにする。
- 標準のバックプロパゲーションおよび確率的勾配降下法を用いて、標準ResNetsと同一の方法で全アーキテクチャを学習する。
- バッチ正則化や全結合層を除き、主な畳み込み層でのみ重み共有を適用し、学習安定性を保つ。
- 空間次元の低減は図中に赤でマークされた専用ブロックでのみ行われるが、共有畳み込み(緑)は複数のブロックにわたって動作するようにアーキテクチャを設計する。
実験結果
リサーチクエスチョン
- RQ1残差ブロック間で共有された畳み込み重みにより、顕著な精度損失なしにパラメータ数を削減できるか?
- RQ2同じパラメータ数のもとで、ShaResNetと標準ResNetsのパラメータ効率を比較するとどうなるか?
- RQ3重み共有は、より深いがパラメータ効率が低いアーキテクチャと比較して、深層ネットワークにおける精度対パラメータ比を向上させるか?
- RQ4重み共有による性能向上は、ネットワークの深さやデータセット規模に依存するか?
- RQ5生物学的脳構造が示唆するように、共有畳み込みはブロック間で冗長な空間演算を効果的にモデル化できるか?
主な発見
- 152層のResNetでは、パラメータ数が39%削減され(106Mから64Mに)、ImageNet上でのトップ1精度損失は0.2%未満である。
- CIFAR-10では、共有畳み込みを適用した164層のResNet(0.93Mパラメータ)が93.8%の精度を達成し、浅い92層のResNet(0.96Mパラメータ)の93.9%と同等の性能を示した。
- CIFAR-10におけるWide ResNet-28-4では、共有バージョン(5.85Mパラメータ)が94.9%の精度を達成し、非共有バージョン(5.85Mパラメータ)の95.0%をわずかに下回るが、ほぼ同等の性能を示した。
- CIFAR-100では、共有WRN-28-10(26.86Mパラメータ)が79.8%の精度を達成し、非共有WRN-22-10(26.85Mパラメータ)の79.55%を上回った。
- 同じパラメータ数のもとで、ShaResNetのトップ1誤差率は、標準ResNetsよりも常に低く、特にImageNetのような大規模データセットでは顕著である。
- 重み共有による性能向上は、より深いネットワークで顕著であり、空間演算の冗長性が高いため、共有層がパラメータをより効果的に活用できる。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。