shimopino / papers-challenge

Paper Reading List I have already read
30 stars 2 forks source link

Do We Need Fully Connected Output Layers in Convolutional Networks? #107

Open shimopino opened 4 years ago

shimopino commented 4 years ago

論文へのリンク

[arXiv:2004.13587] Do We Need Fully Connected Output Layers in Convolutional Networks?

著者・所属機関

Zhongchao Qian, Tyler L. Hayes, Kushal Kafle, Christopher Kanan

投稿日時(YYYY-MM-DD)

2020-04-28

1. どんなもの?

画像分類で使用されるモデルは、畳み込み層とPooling層、そしてクラス分類を行うための線型結合層で構成されており、分類するクラス数が多い場合にはこの線型結合層が多くのパラメータを有している。

本研究では最終層に線型結合層を導入せずに、得られた特徴量をそのままクラス分類用いることで線型結合層を導入したモデルと同等の精度を達成した。

2. 先行研究と比べてどこがすごいの?

従来のモデルの軽量化の研究は特徴抽出を行う畳み込み層とPooling層に焦点が当てられていた。最終層の線型結合層のパラメータ数は分類するクラス数に依存するパラメータであり、ImageNetなどの多くの分類クラスを有するデータセットでは、そのパラメータ数の影響は無視できないものとなる。

実際にMobileNetやShuffleNetなどの軽量モデルでは線型結合層が多くのパラメータを担っている。

image

本研究では線型結合層を恒等関数として初期化し、重みを固定した上でクラス分類タスクを学習させ、最終的に線型結合層を取り除くことで十分な精度が得られることを示した。

3. 技術や手法の"キモ"はどこにある?

本手法では線型結合層に直交射影・アダマール射影・恒等射影を適用した場合の結果を比較している。

3.1 Learned Fully Connected Classifier

通常のCNNモデルでは最終層への入力xに対して、学習パラメータである重みWとバイアスbを使用して以下の計算を行いクラス分類を行っている。

image

3.2 Fixed Orthogonal Classifier

直交射影を行う手法では、最終層の線型結合層にランダムに初期化した直交行列を使用する。初期化にはランダムで取得した2次元の行列をQR分解して取得する。逆伝播時には学習を行わない。

3.3 Fixed Hadamard Classifier

アダマール射影を行う手法では、最終層の線型結合層をアダマール行列で初期化を行い、逆伝播時にも学習を行わない。

この手法は出力の次元数が入力の次元数よりも多い場合には効率的に計算することができない。

3.4 Fixed Identity Classifier

本研究で提案する恒等射影では、特徴抽出器からの出力をGlobalAveragePooling層にかけてその出力をそのまま分類タスクに使用することであり、これは最終層の線型結合層に単位行列を使用することと同等である。

また以下の図のように最終となるCNN層のチャンネルがそのままクラスに関する表現として可視化することが可能となる。

image

なお本手法も出力の次元数が入力の次元数よりも遥かに多い場合には、効率的に計算することが難しい。

4. どうやって有効だと検証した?

4.1 実験環境

使用するモデルにはPyTorchの以下の実装を使用している。

実装の詳細は以下になる。

image

4.2 結果

CIFAR100のデータセットに対してResNet32とDenseNetを使用して、クラス数を100にした場合と64にした場合の結果を検証する。結果としては性能が多少悪化するか多少改善するかであり、それほど元のモデルと性能は変わらない。

image

ImageNetデータセットでも実験を行っているが、1000クラスの場合にはアダマール射影と恒等射影は効率的に計算できないため、512クラスの分類の場合にのみ比較を行っている。

結果から恒等射影は元のモデルよりも精度は悪化しているが、他の手法よりも高い精度を達成していることがわかる。

image

次にImageNetデータセットに対して軽量モデルであるMobileNetとShuffleNetの場合に比較した。これらのモデルは線形結合層が多くのパラメータを占めている。

結果を見ると1000クラスの分類の際には性能が悪化しているが、これは本手法の影響よりも大幅にパラメータが減少したことにより、モデルの表現能力の低下に起因すると考えられる。

実際に100クラスを分類した場合には本手法が元のモデルよりも高い精度を達成している。

image

次に他のデータセットを使用して精度の比較とパラメータの減少率を比較した。パラメータの減少率が高いほど精度の悪化が比例して見られるが、これは本手法の影響よりもパラメータの大幅な現象に起因すると考えられる。

image

5. 議論はあるか?

著者らは本手法をあくまでもクラス分類を行う際に代替手段の1つとして提案を行っている。また軽量なモデルでは本手法は非常に有効であり、パラメータ数を大幅に減少しながらも精度の悪化を抑えることができている。

SoftAttentionPooling層や直交正則化を使用すれば改善できる可能性はある。

shimopino commented 4 years ago