[DL輪読会]Zero-shot Recognition via Semantic Embeddings and Knowledge Graphs (CVPR 2018)

>100 Views

August 03, 18

スライド概要

2018/08/03
Deep Learning JP:
http://deeplearning.jp/seminar-2/

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

(ダウンロード不可)

関連スライド

各ページのテキスト
1.

Zero-shot Recognition via Semantic Embeddings and Knowledge Graphs PSI B3 近藤生也

2.

軽く自己紹介 - 工学部シス創C B3 (一応)工学部推薦入学 - VTuberにはまってます ふだん→

3.

アジェンダ ● ● ● ● ● ● ● ● 書誌情報 モチベーション コンセプト Zero-shot GCN GCN 余談:GCNはどう実装するの 実験 所感 3

4.

書誌情報 ● Zero-shot Recognition via Semantic Embeddings and Knowledge Graphs (CVPR 2018) ○ ● The Robotics Institute, Carnegie Mellon University ○ ● ● ポイント ○ WordNet等、グラフ構造を持つカテゴリ間の関係性のデータを知識としてうまく 活用し、0-shotな認識で大幅に精度向上 ○ 選定理由 ○ なんとなくグラフ系に興味 4

5.

モチベーション ● 一般的なNNによる分類モデルでは、新しいカテゴリの追加が困難 ○ ○ ● ● ● 数千のサンプルを収集 出力層を変えて再学習 ヒトは初めて見た動物でも(知識があれば)カテゴリの特定は容易 オカピ:『褐色の胴と鹿のような顔をしたゼブラストライプ4つの脚の動物』 5

6.

既存手法 ● 画像からカテゴリの単語分散表現へのマッピングを学習する ○ ● クラス分類の出力の確率分布を使って、単語分散表現の加重平均を取る ○ ● オカピの画像を入力して、オカピの単語分散表現が出るようにする オカピの分散表現 = 鹿らしさ*鹿の分散表現 + しま馬らしさ*しま馬の分散表現 + ... 画像から有限個の形容詞を予測するモデルを作り、すべてのカテゴリを形容詞の 真偽で予測する ○ オカピ ⇐⇒ シマシマ ∧ 4足歩行 ∧ 茶色 ∧ … 色々あったけど、これらと比べて大幅に精度を向上させた 6

7.

コンセプト ● ● ● 意味的に近いカテゴリを参考にしたい ○ しかし単語分散表現に頼るのには限界がある 形容詞等でカテゴリをいくつかの一般的な要素で記述したい ○ 形容詞に限らず複雑な要素でも記述されるべきである 両方使おう - 明示的かつ疎な関係性データ(知識グラフ) - 暗黙的かつ密な知識表現(単語分散表現) 7

8.

コンセプト - 特徴1 - 特徴2 - 特徴2048 ● 事前学習済みのCNNで特徴量を得る [Features]× W_{鹿} = 鹿らしさ [Features]× W_{しま馬} = しま馬らしさ [Features]× W_{オカピ} = オカピらしさ ● となるような、各カテゴリのW(== 各カテゴリのロジスティック回帰パラメータ)を『知 識グラフ』と『単語分散表現』で求める 8

9.

Zero-shot GCN [Features]× W_{オカピ} = オカピらしさ カテゴリ『オカピ』についての ロジスティック回帰パラメータ 9

10.

Zero-shot GCN ● 両方使って各Wを求めよう - 明示的かつ疎な関係性データ(知識グラフ) - 暗黙的かつ密な知識表現(単語分散表現) ● ● 単語分散表現からロジスティック回帰パラメータを求める さらにGCNを使って、暗黙的に関係性の高いカテゴリ同士がより相互作用するよう なモデルを作る ● 両方賢く使えそう 10

11.

Zero-shot GCN GCN GCNが関係 する部分 11

12.

GCN (DL_Hacks東さんのスライドから拝借) ● ● 今回は下側のタイプで、隣接行列を直接使っている GCNは、隣接行列等を使って局所的な要素だけが出力に関係してくるから Convolutionって名前についているのだとい個人的に解釈している(一般的なCNN とは様相が違う) 12

13.

GCN ● GC一層の処理 Z :出力層 A_hat:隣接行列を正規化したもの X’ :前の層の出力 W :パラメータ 13

14.

GCN ● ● この論文では ○ ノード:(未知を含む)すべてのカテゴリ ○ エッジ:WordNet等でn-hopまで離れた単語同士をエッジで結ぶ(n=7) ○ 入力:(未知を含む)すべてのカテゴリの単語分散表現 ○ 出力:各カテゴリでのロジスティック回帰パラメータ 各ノードの隣接関係は保たれたまま、特徴量の次元数だけ変わっていく 14

15.

GCN ● この論文では ○ 入力:(未知を含む)すべてのカテゴリの単語分散表現 ○ 出力:各カテゴリでのロジスティック回帰パラメータW ○ 損失:既知のカテゴリの最適なW(事前学習時に得られる)との差 Loss 15

16.

余談:GCNはどう実装するの ● TensorFlow等で書ける 16

17.

GCN ● ● 論文では、6層のGCN すべてのカテゴリを一括で変換していき、既知のWが正しくなるよう学習 ○ 既知のカテゴリのみの損失を最小化すると未知のカテゴリでも精度が上がる (汎化) 17

18.

GCN 18

19.

実験 ● SOTA(ConSE) ○ ○ ● クラス分類の出力の確率分布を使って 単語分散表現の加重平均(オカピの分 散表現 = 鹿らしさ*鹿の分散表現 + しま 馬らしさ*しま馬の分散表現 + ..) カッコの中は、加重平均に上位何個の カテゴリまで使うか 最大+28ポイント 19

20.

実験 ● ● Embeddingの手法を変 えた実験 異なる手法で埋め込み を行っても問題ない 20

21.

実験 ● 2,3割ランダムにエッジを刈っても問 題ない ○ かなりグラフデータに対してロバ スト ○ 刈りすぎると精度が下がってい るので、しっかりグラフ情報を使 えていることがわかる 21

22.

所感 ● ● GCNの威力は凄い 普通の分類に比べたら以前かなり低い精度 ○ ● (モデルが勝手に賢くggってくれないかな) 辞書に乗ってないようなものには GCN使えないし、 逆にグラフの知識で embeddingを修正すればいい んじゃないのかと個人的に思った。 https://www.slideshare.net/ren4yu/ss-84282514 22