[論文メモ] ViT2Hash: Unsupervised Information-Preserving Hashing
教師なしで画像を情報を保存したバイナリコードにハッシュ化する
問題
既存の学習済みモデルを使う教師なしのハッシュ化手法は圧縮率は高いが、意味ある情報を保持するかはしっかり調査していない。
手法
学習済みモデルとしてViTを使ったInformation-Preserving Hashing (IPHash)を提案。
既存の学習済みモデルを使ってハッシュ化する手法では「画像から特徴量への変換」と「特徴量からバイナリハッシュへの変換」の2ステージがあり、このそれぞれのステージでの情報ロスを減らすことを考える。
ラベルの無い学習用データセットをとする。
IPHashは2つのジュールからなる。
Feature-Preserving Module
「画像から特徴量への変換」の部分で図2のStage 1。
masked autoencoder(MAE)は画像のかなりの部分をマスクし、残された情報から画像を復元するタスクを学習する教師なし学習の手法。
MAEではかなりの部分をマスクしても復元できる、つまり残された僅かな部分でも空間情報が十分に含まれることがわかった。
これは今回のハッシュ化のように情報を保存しつつ圧縮するのに適しているので、MAEに倣ってマスクした特徴を学習する。
はランダムマスク関数、はマスクレート。
特徴量抽出関数を使って次元の特徴を取り出す。
バックボーンとしてViTを採用しており、はクラストークンを採用(なのでの固定長)。は学習済みViTのパラメータでこれをより良いハッシュ化ができるようにfine-tuneする。
fine-tuneする前のパラメータによる特徴量から大きく離れない(画像の情報を保持する)ようにロスを設ける。
はfine-tuneする前の学習済みパラメータによる特徴量。
マスクされたが入力なので少ない情報から元の特徴を復元するタスクになり、より意味のある情報を取り出せるようになる。
Hashing-Preserving Module
「特徴量からバイナリハッシュへの変換」の部分で図2のStage 2。
得られた画像特徴を低次元に射影する。
で、は圧縮したいビット数。
このの学習には、Feature-Preserving Moduleと同様に元のViTの出力を利用する。
マスクしていない画像をViTに入力して得られた出力のクラス分類の分布をターゲットとする。
は元のViTのクラス分類部分のパラメータ。
IPHashはクラス分類への出力部分を持っていないので、このを利用してクラス分類の分布を出力する。
とはKLダイバージェンスで最適化する。
学習済みのViTのクラス分類のモジュールの出力にはサンプル間の類似度情報も含まれており、それを利用するためにこのKLのロスを追加した。
このを変換してハッシュ化する。
バイナリ化時の誤差をへらすために、をバイナリ後したに対してコサイン類似度の正則化を加える。
はペアの数。
また量子化誤差自体も最小化する必要がある。
最終的なロスは以下の式(10)
は重みで、実験では。
なおテスト時の流れ(実際に画像をハッシュ化するとき)は図3を参照。
実験・結果
例のごとく省略。詳しくは論文参照。
圧縮率の高い16bitでも情報をしっかり埋め込んでいる。