Andreas Veit, Serge Belongie
arxiv, pdf
#1.どんなもの?
クラス数が増えるにしたがって層の数もどんどん増えていっているが,異なるクラスにとっては必要のない層を多く含んでいる.
そこでこのネットワークはクラスの認識に必要な層のみを使用する.
#2.先行研究と比べてどこがすごいの?
クラスの認識に必要な層のみを実行することで計算時間も短縮でき,不要な層を介さないので精度も向上している.
#3.技術や手法のキモはどこにあるか?
一般的なレイヤーの関係は次式のように表せる.
$$X_l=F_l(X_{l-1})$$
ResNetはレイヤーをスキップするパスを持っていて次式のように表すことができる.
$$X_l=X_{l-1}+F_l(X_{l-1})$$
提案するレイヤーは次のような式で表せる構造になっている.
$$
X_l=X_{l-1}+z(X_{l-1})\cdot F_l(X_{l-1})\
where z(X_{l-1})\in {0,1}
$$
$z(X_{l-1})$は次のレイヤを実行するかを決定するゲートで,離散的である必要があるが学習時には勾配が必要になるので,Gumbel-Max trickとsoftmax relaxationを用いて実現する.
特徴マップに最大値プーリングを行い得られたものを2層のFC層を通すことで関連性スコアを推定する.
順伝播の時は推定されたスコアのargmaxから離散的な結果を得ます.
逆伝播の時はsoftmaxによって勾配を得ることができる.
#4.どうやって有用だと検証した?
##ImageNetを使用してResNetと比較
結果より,同じ構造のResNet以上の性能を出していることがわかる.
また,レイヤーの使用率を下げることで処理速度が向上していることがわかる.
上図はカテゴリごとにどのようにレイヤーを使用しているかを視覚化したものである.
カテゴリごとに特徴があることがわかる.
図の左側から,入力側の初めの層はカテゴリとの関係性がないことが判明したので,101層モデルでは入力側の層は常に使用するようにしている.
##少ない層で済んだ画像とたくさんの層を使用した画像の例
画像に全体がうまく写っているものは少ない層で推定が行えている.
逆に対象が小さかったり一部しか写っていないとたくさんの層を必要とした.
##adversarial attacksに対する検証
左のグラフは敵の強さ横軸に対する精度縦軸を表したもので,ResNetと比較して頑健であることがわかる.
右のグラフは層の使用率を表したもので,あまり差が見られなかった,これはもともとノイズを付与しているので追加のノイズの影響が少なかったと考えられる.
#5.議論はあるか?
敵対的攻撃に強いことがわかったが,ゲートを対象とした攻撃について調べると面白いかもしれない.