self-critical sequence training for image captioning (関東cv勉強会 cvpr 2017 読み会)

37
CVPR 2017 読み会 Self-Critical Sequence Training for Image Captioning 牛久 祥孝 losnuevetoros

Upload: -

Post on 21-Jan-2018

1.304 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)

CVPR 2017 読み会

Self-Critical Sequence Trainingfor Image Captioning

牛久祥孝

losnuevetoros

Page 2: Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)

自己紹介

~2014.3 博士(情報理工学)、東京大学

• 画像説明文の自動生成

• 大規模画像分類

2014.4~2016.3 NTT コミュニケーション科学基礎研究所

2016.4~ 東京大学大学院情報理工学系研究科

知能機械情報学専攻講師 (原田・牛久研究室)

Page 3: Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)

大学の夏

教員が大学院入試や学会で忙しいのはともかく

大学院生にとっての夏:インターン

Page 4: Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)

弊専攻の学生のよくある進路

• B4の夏は大学院入試を受験

• M1の夏にインターン

• M2で就職活動

–主に大手メーカーやIT系

–ベンチャー?博士進学?

• 典型的な行動を集団でトレースしてる?

–途中までは皆似たような進路

–後々典型的な行動が消失したら…?

–中長期的なキャリアプランを考えた方が…

Page 5: Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)

画像キャプション生成のよくある手法

• CNNで画像特徴量を抽出

• LSTMにつっこむ

• 生成中の単語列から次の単語を推定

• 局所的な単語列をトレースしてる?

–途中までは皆似たようなキャプション

–学習した単語列から逸脱しだすと…?

–中長期的な単語列の評価を最適化した方が…

Page 6: Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)

本日の論文

強化学習を用いた画像キャプション生成

• 中長期的な系列生成モデルの最適化が目的

• 強化学習+キャプションはこの論文が初ではない

• デファクトスタンダードとなりつつあるので、この論文を中心に紹介

ディープ某なのでとりあえずネットワークの図を出しておけばいいだろう…

Page 7: Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)

本日の論文にあるネットワークの図

Page 8: Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)

わからん

本日の論文にあるネットワークの図

Page 9: Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)

このスライドでは

• 新たな潮流:強化学習×系列生成

–本日の論文をピボットとして解説

• 3つの問題点が克服されつつある

– Exposure bias → 強化学習

– Non-differentiable task metric → policy gradient

– Reward variance → self-critical sequence training(本論文の貢献)

• 実験結果から…

–精度として state-of-the-art

–おかしな画像にもキャプションを生成できる

Page 10: Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)

その前に:キャプション生成のおさらい

Page 11: Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)

通常のキャプション生成手法

Google NIC [Vinyals+, CVPR 2015]

• GoogLeNet [Szegedy+, CVPR 2015]

• LSTM生成モデル [Sutskever+, NIPS 2014]

を直列させて文生成

画像𝐼への文(単語列)𝑆0…𝑆𝑁は

𝑆0:スタートを意味する単語

𝑆1 = LSTM CNN 𝐼

𝑆𝑡 = LSTM St−1 , 𝑡 = 2…𝑁 − 1

𝑆𝑁:ストップを意味する単語

Page 12: Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)

注視モデルの利用 [Xu+, ICML 2015]

• 画像認識と自然言語処理の融合

–各単語の推定でどの領域を注目すべきかを算出

–画像+キャプションから注視モデルも学習!

Page 13: Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)

生成されたキャプションの評価方法

機械翻訳では…

• テスト文に複数の参照訳が付随(通常5文)

• これらの参照訳と近い訳文が「良い」

One jet lands at an airport while another takes off next to it.

Two airplanes parked in an airport.

Two jets taxi past each other.

Two parked jet airplanes facing opposite directions.

two passenger planes on a grassy plain

キャプション生成の評価でも同様の流れ

PASCAL Sentenceの画像と参照キャプションの例

Page 14: Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)

定量評価指標

• Precisionに基づく評価

–システムが出力したキャプション中のn-gramが参照キャプション中に含まれる割合

– BLEU [PapineniL, ACL 2002]

– NIST [Doddington, HLT 2002]

短い文へのペナルティ

短い文へのペナルティ

N-gramのPrecisionの累積積

N-gramのPrecisionの累積和

Page 15: Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)

定量評価指標

• Recallに基づく評価

–参照キャプション中のn-gramがシステムが、出力したキャプション中に含まれる割合

– Rouge [Lin, 2004]

• METEOR [Elliott+Keller, EMNLP 2013]

– RecallとPrecision両方を重視

Page 16: Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)

定量評価指標

• CIDEr [Vedantam+, CVPR 2015]

– METEORを参考に設計

–画像キャプション生成の評価用に考案

TF-IDF(実はNISTとよく似ている)

n-gramでのCIDErの累積和

n-gramでのPrecisionとRecallの調和平均(F値)

Page 17: Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)

3つの問題点

Page 18: Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)

問題点1: Exposure bias

通常のRNNによる系列生成モデル学習では…

• 学習時:Teacher forcing

–入力は𝑡 − 1番目までの教師データ

• テスト時:Free running

–入力は𝑡 − 1番目までで自信が推定したデータ

テスト時の生成系列が学習時から外れだすと

エラーが蓄積し続けるCf. キャリアパスが人と違ってくると困りだす

Page 19: Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)

既存の解決アプローチ

• Scheduled sampling [Bengio+, NIPS 2015]

–毎回コイントスして

• 教師系列から次を推定

• 生成中の系列から次を推定

のどちらかを選ぶ

–次第に生成中の系列のみを選ぶスケジュール

• Professor forcing [Lamb+, NIPS 2016]

– RNNの隠れ変数の

• Teacher forcing後

• Free runnning後

を近づける敵対的学習

–ドメイン適応の一種

Page 20: Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)

本論文の解決策: 強化学習

• 通常のRNN:Teacher forcing

– 𝑡番目単語の Cross entropy を最小化

→生成したキャプションを直接評価するべきでは

–評価指標を報酬とする強化学習の導入

• 評価指標の直接最適化

–機械翻訳ではディープ以前からある [Och, ACL 2003]

stateRNNの状態変数

action次の単語の推定

reward評価指標

environment画像特徴と生成中のキャプション

Page 21: Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)

問題点2: Non-differentiable task metric

• 損失関数は期待報酬の最大化

• 実用的にはミニバッチの各画像で生成したキャプションの評価指標で近似

• よし、報酬を𝜃で偏微分…できないぞ?

学習パラメータ𝜃による損失関数

𝜃による方策 生成中の単語列(キャプション)

報酬

Page 22: Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)

Policy Gradient by REINFORCE

• REINFORCE [Williams, 1992]

–実は報酬の勾配の期待値は確率の(対数の)偏微分と報酬の積の期待値

–先ほどと同様に、ミニバッチの画像の報酬から近似できる

–適当なベースライン𝑏を導入してもよい

Page 23: Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)

問題点3: Reward variance

• ここまでの話は既存研究でもやっている

cf. MIXER [Ranzato+, ICLR 2016]

• ただしこのままでは報酬 の分散が大→学習が不安定

Page 24: Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)

SCST: Self-critical sequence training

• メインアイディア:現時点のパラメータでテスト画像に生成した最良キャプション の評価 を使用

• Self-critical sequence = を閾値として正負が逆転

– より良いキャプションが増え

– より劣るキャプションが減る

Page 25: Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)

定量的・定性的な実験結果

Page 26: Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)

定量的な実験結果

• データセット:MSCOCO

–約10万枚の画像に5つずつキャプションが付与

• CIDErを報酬として学習

–まずCross Entropyで学習→CIDErで追加学習

• 表が8つほどあるが…

結論:投稿時には本論文がstate-of-the-art

[Yao+, arXiv 2016]

Page 27: Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)

定性的な実験結果

• 単にベンチマークでちょっと勝っただけ?

– MSCOCOにはデータセットとして偏りがある

• Objects out-of-context (OOOC) [Choi+, 2012]

–物体と背景の間には大きな相関がある→物体を認識している?背景を認識している?

– OOOC:物体と背景が大きく異なるデータセット

MSCOCOで学習してOOOCを記述できるか?

Page 28: Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)
Page 29: Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)

Cross Entropy のみでキャプション生成を学習した場合

A blue of a building with a blue umbrella on it

SCST でキャプション生成を学習した場合

A blue boat is sitting on the side of a building

Page 30: Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)

ちなみにMSCOCOのテストデータだと

Cross Entropy

A white bird flying over a body of water

SCST

A white bird flying over a body of water

Page 31: Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)

その他のOOOCで生成した例Cross Entropy

A person is holding a small animal in their hand

SCST

A person holding a giraffe in a field

Cross Entropy

A man in a red shirt standing in front of a green field

SCST

A man standing in front of a street with a television

Cross Entropy

A red car parked on the side of a body of water

SCST

A red car is in the water with a city

Page 32: Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)

まとめとして再掲

• 新たな潮流:強化学習×系列生成

–本日の論文をピボットとして解説

• 3つの問題点が克服されつつある

– Exposure bias → 強化学習

– Non-differentiable task metric → policy gradient

– Reward variance → self-critical sequence training(本論文の貢献)

• 実験結果から…

–精度として state-of-the-art

–おかしな画像にもキャプションを生成できる

Page 33: Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)

まとめとして再掲

• 新たな潮流:強化学習×系列生成

–本日の論文をピボットとして解説

• 3つの問題点が克服されつつある

– Exposure bias → 強化学習

– Non-differentiable task metric → policy gradient

– Reward variance → self-critical sequence training(本論文の貢献)

• 実験結果から…

–精度として state-of-the-art

–おかしな画像にもキャプションを生成できる

Page 34: Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)

実はその後…

既に更なるstate-of-the-artが出現

• 7月下旬以降で記録更新が相次ぐ

• CVPRオーラルセッションでも言及

• Policy gradientはより上位の手法でも利用されていると思われる

• ICCVにアクセプトされていたら読むかも…?

本日の論文

Page 35: Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)

最後に

関東の夏が暑すぎてCVの事を考えられない?

Page 36: Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)
Page 37: Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)

ぜひご参加ご検討ください!特に若手プログラムへ

https://sites.google.com/view/miru2018sapporo/