JavaScriptを有効にしてください

【論文メモ】On the Versatile Uses of Partial Distance Correlation in Deep Learning

 ·  ☕ 3 min read

はじめに

概要

  • 二つのモデルの挙動を比較することは極めて重要

    • しかし, それぞれが異なるアーキテクチャにおけるモデルの比較方法は依然として研究が不十分.
  • そこで, この論文では(Partial) Distance Correlationを機械学習に応用する手法を提案.

  • (Partial) Distance Correlationを用いることで様々な応用が期待される.

  • 論文中では以下の3つが提案されている.

    1. モデルの条件付け
    2. 敵対的サンプルへの防御
    3. Disentangledな表現の学習
  • (Partial) Distance Correlationについては


  • 輪講スライド

敵対的サンプルへの防御

  • あるモデルXにおいて有効な敵対的サンプル x~が存在する場合, 同じ構造のモデルYにおいても x~が有効であることが多い.
  • したがって, 二つのモデル f1,f2に対して, ある中間層をそれぞれ g1,g2とすると, g1,g2の相関を下げれば, 敵対的サンプルへの防御につながると考えられる.
  • そこで, 以下のような損失を定義

Losstotal=LossCE(f2(x),y)+αLossDC(g1(x),g2(x))

  • ここで, g1,g2の次元は一致しなくても良いことに注意

  • 結果は以下の通り.


モデルにおける情報量の比較

  • Distance Correlationは出力の次元に依存しないので, 異なるアーキテクチャのモデル同士を比較することが可能


  • さらに, Partial Distance Correlation(PCD)を用いることで, 「モデルYが学習した情報」以外にモデルXが何を学習しているのかを推測することができる.

    • 例えば, R2((X|Y),GT)を計算すれば, Yで条件付けされたXとGTの相関を計算することができる

    • ここで, 「Yで条件付けされたX」とは「Yを前提とするX」に等しいので, 要はモデル X|Yは「モデルYが学習した情報」を除いたモデルXの情報のことを指す.

    • GTにはclass名をBERTに通した出力を使用.

      • one-hotベクトル等でも良かったが, ベクトル同士の関係性が皆無なのでBERTを採用.
    • モデルYが学習した情報とは異なる情報をモデルXに学習させるために, 以下のような損失を定義

      • X, Yをpretrainした後に, Xのみ以下の損失でfine-tuning

LossCE(f1(x),y)αLossPDC((g1(x)|g2(x)),gt)

  • その結果が下図
    • 結果から, ViTResNetと異なる情報を学習している可能性が示唆される.


  • 以下の図はGradCamを用いてモデル X|Yの注目領域を可視化した結果
    • ViT \ ResNet を見ると, より被写体に注目していることから, ViTはResNetでは捉えられない細かい領域を捉えている可能性が示唆される.

Disentanglement

  • GeneratorにStyleGAN2を使い, (Gabbay+, NeurIPS21)の要領で学習
    • データセットはFFHQ
  • (Gabbay+, NeurIPS21)での本来の損失 LresLres=i=1n||ri||2だが,
  • 本論文では属性 f1,f2,,fkに対して, Lres=dCor([f1;f2;;fk],r)を使用



(Gabbay+, NeurIPS21)


共有

YuWd (Yuiga Wada)
著者
YuWd (Yuiga Wada)
機械学習・競プロ・iOS・Web