shimopino / papers-challenge

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

Defective Convolutional Layers Learn Robust CNNs #2

Open shimopino opened 4 years ago

shimopino commented 4 years ago

論文へのリンク

著者・所属機関

Tiange Luo, Tianle Cai, Mengxiao Zhang, Siyu Chen, Di He, Liwei Wang

投稿日時(YYYY-MM-DD)

2019-11-19

1. どんなもの?

従来のCNNモデルはテクスチャ情報を重視して学習しているため、テクスチャにノイズを導入した敵対的攻撃手法に弱い。そこで出力されるニューロンを学習時にもテスト時にも一定の割合で0にするDefective Convolution Layerを提案。 各敵対的攻撃手法に対して頑強性を発揮することを確かめた。

image

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

CNNモデルに対する敵対的攻撃手法に、サンプルにノイズを導入してテキスチャの構造を崩し、誤った予測をさせる手法がある。

最近の研究ではCNNは物体の形状よりもテクスチャ情報を重視して学習してしまうため、人間の目では同じように見える物体に対しても誤った予測を行うことが判明している。

本研究では、局所的なテクスチャ情報をあえて崩壊させることでCNNがテキスチャ情報ではなく形状を学習できるDefective Convolution Layerを提案した。

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

3.1 Defective畳み込み層の設計

通常の畳み込み演算は、入力される画像に畳み込みKernelを適用した後にバイアス項を足し上げ、活性化関数を適用しているため以下の数式で表現できる。

image

本研究で提案しているDefective畳み込み層は以下の数式で表される。活性化関数から得られた出力に対してマスク画像Mを適用しており、出力されるニューロンをランダムにゼロに落とす役割を持っている。

image

このマスク画像は学習パラメータではなく、ベルヌーイ分布からサンプリングしたものを学習時にもテスト時にも使用する。

出力されるニューロンをランダムに0にすることで、次の畳み込み層はより周期の短い高周波な成分(つまりテクスチャ成分)を学習することが難しくなり、より物体の形状を学習して識別を行うことが期待される。

image

次に本手法とDropoutとの違いを見ていく。数式を見るとほとんど同じように感じるが、異なる点は以下の3つになる。

  1. Dropoutは過剰適合防止のために使用するため学習時にのみ適用するが、Defective畳み込みは学習時にもテスト時にも適用する。
  2. Dropoutの2値マスクは学習時にランダムにサンプリングされるが、Defective畳み込みでは学習前に事前に定義している。
  3. Dropoutは出力に近い層で高い確率(p=0.9など)で設定することが多いが、Defective畳み込みでは入力に近い層で低い確率(p=0.1など)で設定する。

image

以下にResNet-18でのDefective畳み込み層を適用する領域を確認しておく。

image

3.2 Defective畳み込みはテクスチャよりも形状を重視

Defective畳み込み層が物体のテクスチャよりも形状を重視して学習することを示すために、画像を複数のパッチに分解してシャッフルさせた画像に対し、既存の畳み込み層と性能を比較した。

image

多くのパッチに分解してしまっている画像に対しては、Defective畳み込み層は十分な性能を発揮しておらず、テクスチャではなく形状を重視して物体を認識していることがわかる。

image

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

ブラックボックステストを行いサンプルに対して正しく識別が可能か検証を行った。実世界でのモデルに対する攻撃は、直接パラメータをいじることではなく、サンプルをモデルに与えて識別結果を受け取り、その結果から誤って判断してしまうサンプルを生成するものが主になる。

FGSMとPGDという攻撃手法に対する性能を比較すると、Defective畳み込み層が高い性能を発揮していることがわかる。またこのモデルは他のモデルとは異なり、cleanなデータのみで学習させているものである。

image

次にPGDで敵対的サンプルの生成に使用したソースモデルに対する性能を比較した。0.5-Bottomと0.3-Bottomはそれぞれ入力に近い層に対して確率0.5と0.3のDefective畳み込み層を適用していることを意味する。

どのモデルに対してもDefective畳み込み層を導入することで性能向上が確認できる。

image

次にモデルのどの部分にどの程度Defectice畳み込み層を導入することが最適なのか検証した。以下に高い性能を発揮したパラーンを記載する。

image

Defective畳み込み層を適用する場合、出力されるニューロン値を0にする割合に関して防御率と精度はトレードオフの関係にある。

image

ガウシアンノイズに対する頑強性も検証しており、低い確率でDefective畳み込み層のマスクを適用することで高い汎化性能を達成している。

image

5. 議論はあるか?

6. 次に読むべき論文はあるか?

論文情報・リンク

shimopino commented 4 years ago

https://github.com/tiangeluo/DefectiveCNN