1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Unsupervised Learning of Visual Features by Contrasting Cluster Assignments のメモ

Posted at

Mathilde Caron, Ishan Misra, Julien Mairal, Priya Goyal, Piotr Bojanowski, Armand Joulin

概要

  • SwAV という手法を提案 - 教師なし学習の一種
  • Swapping Assignments between multiple Views of the same image の略
  • pairwise の比較を用いないContrastive learning
  • 同じ絵の異なるaugmentationがクラスタになるようにする
  • 大規模データでもうまくうごく
  • メモリバンクやモメンタムエンコーダを使わない
  • 関係ないけどmulti-cropというaugmentation手法も提案、複数の解像度の画像を使う

手法

image.png

  • latent $z_t$ と $z_s$ から code $q_t$と$q_s$を作る。$q_t$と$q_s$ をクラスタのプロトタイプ{$c_1$ .. $c_k$}とマッチさせる。

  • ロスは下記。つまり、$z_t$から$q_s$を予測、$z_s$から$q_t$を予測する。
    $L(z_t, z_s) = l(z_t, q_s)+l(z_s, q_t)$

ここで$l(z, q)$ は下のように定義される。

image.png

$p_t^{(k)}$ は個々のクラスタプロトタイプと$z$の内積のsoftmaxになっている。

コードのクラスタリング

zからqをつくるところで、クラスタプロトタイプにマッチさせるのだが、そのときに、偏りがないようにすべてのクラスタタイプにバッチ内のデータを均等に割り当てる。こうすることで、collaptがおきないようにしている。

所感

まったくよくわかっていないのだけど、方向性としてはBOYLとよく似ている。BYOLがモメンタムエンコーダを使うことで、Collaptを防ごうとしているのに対して、こちらはクラスタ割当に制約を与えることで回避している、ということなのだろうか。
構造は簡単だが、クラスタリングのところでかなり凝ったことをしているようだ。計算量が見当つかないが、GPUで高速に計算できる、と書いてあるので問題ないのか。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?