- redditで見かけた
- one-shot learning系に関心がある
事前知識
- one-shot learningではモノ・概念の類似度推定がよく関わる
- 例えば、画像の分類器のone-shot learningの場合、ネコの画像セットが数枚与えられ、新しい画像がネコであるかを判断するとき、最初に与えられた画像セットと類似していれば、この画像もネコだと判断できる
論文の概要
- 最近deepでone-shot learning系の論文が出ており、その中で結構Siameseアプローチが多い
- Siameseでは、2つ(普通2つ)の入力だと、各入力で独立に特徴抽出し、互いの特徴/埋め込みベクトルの類似を計算する
- 例:画像Aと画像Bを比べる場合、画像をVGGに通して得る埋め込みベクトルをx(A)としたら、AとBの類似度はx(A)とx(B)の内積で計算したりできる
- しかし人間は、サヴァンでない限り、そのようにAを見て記憶し、Bを見て記憶し、最後にAとBを頭の中で比較するよりは、AとBを何度も見渡しながら判断するだろう
- 例えば、左と右の画像の間違い探しをするとき、左と右を何度も見て違いを探していくだろう
- よりボトムアップ
- 簡単に言うと、この様なメカニズムをこの論文で実現している
- RNNベース
- AttentionはSpatial Transformer Networkのようなもの
- 入力を各タイムステップでA、B、A、B...と入れ替えていく
NNの図
Attentionを可視化した出力の例
Attentionのパターンを見ると、最初全体像を確認してから細かいところを比べているのがわかる。
- 結果:OmniglotやWebFaceデータセットなどのone-shot learningの精度で記録を出している
論文でアピールしている通り、今までよく見る手法と一味違って面白いと思った。
工夫の理由も納得する。
No comments:
Post a Comment