24
Learning by Association A versatile semi-supervised training method for neural networks 東京大学大学院 中山研究室 横田匡史

[DL輪読会]Learning by Association - A versatile semi-supervised training method for neural networks[CVPR2017]

Embed Size (px)

Citation preview

Page 1: [DL輪読会]Learning by Association - A versatile semi-supervised training method for neural networks[CVPR2017]

Learning by Association

A versatile semi-supervised training

method for neural networks

東京大学大学院中山研究室 横田匡史

Page 2: [DL輪読会]Learning by Association - A versatile semi-supervised training method for neural networks[CVPR2017]

Semi-Supervised Learning

‣ グラフベースデータの類似グラフを作りラベルを伝搬

‣ 決定境界をデータから遠ざける(擬似データetc)

1.学習したモデルを用いてラベルなしデータをラベル付け(pseudo-label etc.)

2.または、ラベル付きデータにノイズを入れる(VAT)

‣ 多様体学習多様体の推定にラベル無しデータ用いる(Tanget Manifold Classifier)

‣ 生成モデルラベルなしデータを特徴量学習に用いるか不完全データとして学習に用いる(VAE etc.)

→今回のテーマは、”グラフベース”と”決定境界をデータから遠ざける”の中間

(参考: https://www.slideshare.net/beam2d/semisupervised-learning-with-deep-generative-models)

Page 3: [DL輪読会]Learning by Association - A versatile semi-supervised training method for neural networks[CVPR2017]

Idea記憶

イヌ!

人間は、学習サンプルに関連付けて考えることができるので少数サンプルでも正確に回答できる。→学習サンプルとラベルなしデータを紐付けながら学習する事で同じことができないか?

Page 4: [DL輪読会]Learning by Association - A versatile semi-supervised training method for neural networks[CVPR2017]

Idea

Labeled Unlabeled Labeled

同じクラスの2つのラベル付きデータの間に適切なラベルなしデータを紐付けられるように学習する。

Page 5: [DL輪読会]Learning by Association - A versatile semi-supervised training method for neural networks[CVPR2017]

Overview

Unlabeled

Label X

Label Y

walkerが「ラベル付き→ラベルなし→ラベル付き」と遷移させた時にスタートとゴールのクラスが同じになるように学習させる。この時のwalkerは類似度から算出される遷移確率に従い行動する。

Page 6: [DL輪読会]Learning by Association - A versatile semi-supervised training method for neural networks[CVPR2017]

Method

Page 7: [DL輪読会]Learning by Association - A versatile semi-supervised training method for neural networks[CVPR2017]

Method

• A: ラベル付きデータ

• B: ラベルなしデータ

• AiのデータとBjのデータの類似度Mij: 内積

• この類似度Mを元にwalkerの遷移確率を求める

Page 8: [DL輪読会]Learning by Association - A versatile semi-supervised training method for neural networks[CVPR2017]

Method• Transaction Probability

• Round Trip Probability

Page 9: [DL輪読会]Learning by Association - A versatile semi-supervised training method for neural networks[CVPR2017]

Walker Loss

同じクラス間のPathの確率は一様分布に、異なるクラス間のPathの遷移確率が0にさせる。しかし、これだけだと難しいラベルなしデータ(Ex. MNISTの1に似た7のラベルなし画像)の遷移確率も0に近づいてしまい、簡単なデータだけが残ってしまう。

(※H: cross entropy)

Page 10: [DL輪読会]Learning by Association - A versatile semi-supervised training method for neural networks[CVPR2017]

Visit Loss

Unlabeled

Label X

Label Y

ここの微妙なポイントも有効に活用したい。

Page 11: [DL輪読会]Learning by Association - A versatile semi-supervised training method for neural networks[CVPR2017]

Visit Loss

Aiから全てのBに対する遷移確率が一様分布にさせる→明らかなデータだけでなく難しいデータも遷移確率が上がるようにする。

(※H: cross entropy)

Page 12: [DL輪読会]Learning by Association - A versatile semi-supervised training method for neural networks[CVPR2017]

Loss Function

• は、通常の教師ありで用いる softmax

cross entropy。• 実際にはVisit Lossには正則化の力が大きいので重みをかけた方が良い結果が得られている(後述)。

Total Loss Function

Page 13: [DL輪読会]Learning by Association - A versatile semi-supervised training method for neural networks[CVPR2017]

Experiment

Page 14: [DL輪読会]Learning by Association - A versatile semi-supervised training method for neural networks[CVPR2017]

Experiment

- 検証項目

‣ 提案手法を用いて性能が上がるかどうか

‣ 上手くラベルなしデータを関連付けできているか

‣ Domain Adaptation(SVHN→MNIST)への応用

- Dataset

‣ MNIST: (labeled: 100 or 1000 or All,

unlabeled: labeledで使ってないデータ)

‣ STL-10: (labeled: 5k, unlabeled: 100k)

‣ SVHN: (labeled: 0 or 1000 or 2000 or All,

unlabeled: labeledで使ってないデータ)

✓ 訓練用データの中のラベル付きデータを一部だけ使い、残りはラベル無しとして学習を行う。

Page 15: [DL輪読会]Learning by Association - A versatile semi-supervised training method for neural networks[CVPR2017]

Setting

• Batch Size: 100

• Optimizer: Adam

• 出力層以外の活性化関数: elu

• 正則化項: L2 norm (重み:10-4)

Page 16: [DL輪読会]Learning by Association - A versatile semi-supervised training method for neural networks[CVPR2017]

MNIST Result

Page 17: [DL輪読会]Learning by Association - A versatile semi-supervised training method for neural networks[CVPR2017]

遷移確率の変化(MNIST)

学習前

学習後

Page 18: [DL輪読会]Learning by Association - A versatile semi-supervised training method for neural networks[CVPR2017]

MNIST エラー分析

筆者らの主張では、ラベル付きデータにない特徴がテストに存在したため(Ex. 4の上が閉じていて9に似ている)間違えてしまっている。

全ラベルデータ

テストデータの間違えた部分

テストデータのConfusion Matrix

Page 19: [DL輪読会]Learning by Association - A versatile semi-supervised training method for neural networks[CVPR2017]

SLT-10

学習データにないクラスのデータを入力しても、比較的近いラベルなしデータの関連付けができている。

Page 20: [DL輪読会]Learning by Association - A versatile semi-supervised training method for neural networks[CVPR2017]

SVHN Result

少ないサンプルにおいては、先行研究よりかは精度良い。

Page 21: [DL輪読会]Learning by Association - A versatile semi-supervised training method for neural networks[CVPR2017]

SVHN

ラベルなしデータの効果検証

ラベルなしデータが多くなるにつれて、精度は良くなっている。

Page 22: [DL輪読会]Learning by Association - A versatile semi-supervised training method for neural networks[CVPR2017]

Visit Lossの効果検証Labeled Data Size: 1000

Visit Lossが大きすぎるとモデルへの正則化が強すぎて、上

手く学習できない。データのバリアンスに応じて重みを調整すべき。(Ex. labeledとunlabeledが似ていない場合、Visit

Lossは小さくする。)

Page 23: [DL輪読会]Learning by Association - A versatile semi-supervised training method for neural networks[CVPR2017]

Domain Adaptation

DA: Domain-Adversarial Training of Neural Network[2016 Ganin et. al.]

DS: Domain separation networks [2016 Bousmalis et. al.]

教師あり学習

教師あり学習

Domain

Adaptation

Page 24: [DL輪読会]Learning by Association - A versatile semi-supervised training method for neural networks[CVPR2017]

まとめ

• ラベルなしデータとラベルありデータに関連付けるように学習する。

• ラベル付きデータが少なくても、比較的上手く学習ができる。

• Visit Lossは、データのバリアンスを見て設定する。

• Domain Adaptationに応用しても上手くいった