self-critical sequence training for image captioning (関東cv勉強会 cvpr 2017 読み会)
TRANSCRIPT
CVPR 2017 読み会
Self-Critical Sequence Trainingfor Image Captioning
牛久祥孝
losnuevetoros
自己紹介
~2014.3 博士(情報理工学)、東京大学
• 画像説明文の自動生成
• 大規模画像分類
2014.4~2016.3 NTT コミュニケーション科学基礎研究所
2016.4~ 東京大学大学院情報理工学系研究科
知能機械情報学専攻講師 (原田・牛久研究室)
大学の夏
教員が大学院入試や学会で忙しいのはともかく
大学院生にとっての夏:インターン
弊専攻の学生のよくある進路
• B4の夏は大学院入試を受験
• M1の夏にインターン
• M2で就職活動
–主に大手メーカーやIT系
–ベンチャー?博士進学?
• 典型的な行動を集団でトレースしてる?
–途中までは皆似たような進路
–後々典型的な行動が消失したら…?
–中長期的なキャリアプランを考えた方が…
画像キャプション生成のよくある手法
• CNNで画像特徴量を抽出
• LSTMにつっこむ
• 生成中の単語列から次の単語を推定
• 局所的な単語列をトレースしてる?
–途中までは皆似たようなキャプション
–学習した単語列から逸脱しだすと…?
–中長期的な単語列の評価を最適化した方が…
本日の論文
強化学習を用いた画像キャプション生成
• 中長期的な系列生成モデルの最適化が目的
• 強化学習+キャプションはこの論文が初ではない
• デファクトスタンダードとなりつつあるので、この論文を中心に紹介
ディープ某なのでとりあえずネットワークの図を出しておけばいいだろう…
本日の論文にあるネットワークの図
わからん
本日の論文にあるネットワークの図
このスライドでは
• 新たな潮流:強化学習×系列生成
–本日の論文をピボットとして解説
• 3つの問題点が克服されつつある
– Exposure bias → 強化学習
– Non-differentiable task metric → policy gradient
– Reward variance → self-critical sequence training(本論文の貢献)
• 実験結果から…
–精度として state-of-the-art
–おかしな画像にもキャプションを生成できる
その前に:キャプション生成のおさらい
通常のキャプション生成手法
Google NIC [Vinyals+, CVPR 2015]
• GoogLeNet [Szegedy+, CVPR 2015]
• LSTM生成モデル [Sutskever+, NIPS 2014]
を直列させて文生成
画像𝐼への文(単語列)𝑆0…𝑆𝑁は
𝑆0:スタートを意味する単語
𝑆1 = LSTM CNN 𝐼
𝑆𝑡 = LSTM St−1 , 𝑡 = 2…𝑁 − 1
𝑆𝑁:ストップを意味する単語
注視モデルの利用 [Xu+, ICML 2015]
• 画像認識と自然言語処理の融合
–各単語の推定でどの領域を注目すべきかを算出
–画像+キャプションから注視モデルも学習!
生成されたキャプションの評価方法
機械翻訳では…
• テスト文に複数の参照訳が付随(通常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の画像と参照キャプションの例
定量評価指標
• Precisionに基づく評価
–システムが出力したキャプション中のn-gramが参照キャプション中に含まれる割合
– BLEU [PapineniL, ACL 2002]
– NIST [Doddington, HLT 2002]
短い文へのペナルティ
短い文へのペナルティ
N-gramのPrecisionの累積積
N-gramのPrecisionの累積和
定量評価指標
• Recallに基づく評価
–参照キャプション中のn-gramがシステムが、出力したキャプション中に含まれる割合
– Rouge [Lin, 2004]
• METEOR [Elliott+Keller, EMNLP 2013]
– RecallとPrecision両方を重視
定量評価指標
• CIDEr [Vedantam+, CVPR 2015]
– METEORを参考に設計
–画像キャプション生成の評価用に考案
TF-IDF(実はNISTとよく似ている)
n-gramでのCIDErの累積和
n-gramでのPrecisionとRecallの調和平均(F値)
3つの問題点
問題点1: Exposure bias
通常のRNNによる系列生成モデル学習では…
• 学習時:Teacher forcing
–入力は𝑡 − 1番目までの教師データ
• テスト時:Free running
–入力は𝑡 − 1番目までで自信が推定したデータ
テスト時の生成系列が学習時から外れだすと
エラーが蓄積し続けるCf. キャリアパスが人と違ってくると困りだす
既存の解決アプローチ
• Scheduled sampling [Bengio+, NIPS 2015]
–毎回コイントスして
• 教師系列から次を推定
• 生成中の系列から次を推定
のどちらかを選ぶ
–次第に生成中の系列のみを選ぶスケジュール
• Professor forcing [Lamb+, NIPS 2016]
– RNNの隠れ変数の
• Teacher forcing後
• Free runnning後
を近づける敵対的学習
–ドメイン適応の一種
本論文の解決策: 強化学習
• 通常のRNN:Teacher forcing
– 𝑡番目単語の Cross entropy を最小化
→生成したキャプションを直接評価するべきでは
–評価指標を報酬とする強化学習の導入
• 評価指標の直接最適化
–機械翻訳ではディープ以前からある [Och, ACL 2003]
stateRNNの状態変数
action次の単語の推定
reward評価指標
environment画像特徴と生成中のキャプション
問題点2: Non-differentiable task metric
• 損失関数は期待報酬の最大化
• 実用的にはミニバッチの各画像で生成したキャプションの評価指標で近似
• よし、報酬を𝜃で偏微分…できないぞ?
学習パラメータ𝜃による損失関数
𝜃による方策 生成中の単語列(キャプション)
報酬
Policy Gradient by REINFORCE
• REINFORCE [Williams, 1992]
–実は報酬の勾配の期待値は確率の(対数の)偏微分と報酬の積の期待値
–先ほどと同様に、ミニバッチの画像の報酬から近似できる
–適当なベースライン𝑏を導入してもよい
問題点3: Reward variance
• ここまでの話は既存研究でもやっている
cf. MIXER [Ranzato+, ICLR 2016]
• ただしこのままでは報酬 の分散が大→学習が不安定
SCST: Self-critical sequence training
• メインアイディア:現時点のパラメータでテスト画像に生成した最良キャプション の評価 を使用
• Self-critical sequence = を閾値として正負が逆転
– より良いキャプションが増え
– より劣るキャプションが減る
定量的・定性的な実験結果
定量的な実験結果
• データセット:MSCOCO
–約10万枚の画像に5つずつキャプションが付与
• CIDErを報酬として学習
–まずCross Entropyで学習→CIDErで追加学習
• 表が8つほどあるが…
結論:投稿時には本論文がstate-of-the-art
[Yao+, arXiv 2016]
定性的な実験結果
• 単にベンチマークでちょっと勝っただけ?
– MSCOCOにはデータセットとして偏りがある
• Objects out-of-context (OOOC) [Choi+, 2012]
–物体と背景の間には大きな相関がある→物体を認識している?背景を認識している?
– OOOC:物体と背景が大きく異なるデータセット
MSCOCOで学習してOOOCを記述できるか?
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
ちなみにMSCOCOのテストデータだと
Cross Entropy
A white bird flying over a body of water
SCST
A white bird flying over a body of water
その他の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
まとめとして再掲
• 新たな潮流:強化学習×系列生成
–本日の論文をピボットとして解説
• 3つの問題点が克服されつつある
– Exposure bias → 強化学習
– Non-differentiable task metric → policy gradient
– Reward variance → self-critical sequence training(本論文の貢献)
• 実験結果から…
–精度として state-of-the-art
–おかしな画像にもキャプションを生成できる
まとめとして再掲
• 新たな潮流:強化学習×系列生成
–本日の論文をピボットとして解説
• 3つの問題点が克服されつつある
– Exposure bias → 強化学習
– Non-differentiable task metric → policy gradient
– Reward variance → self-critical sequence training(本論文の貢献)
• 実験結果から…
–精度として state-of-the-art
–おかしな画像にもキャプションを生成できる
実はその後…
既に更なるstate-of-the-artが出現
• 7月下旬以降で記録更新が相次ぐ
• CVPRオーラルセッションでも言及
• Policy gradientはより上位の手法でも利用されていると思われる
• ICCVにアクセプトされていたら読むかも…?
本日の論文
最後に
関東の夏が暑すぎてCVの事を考えられない?
ぜひご参加ご検討ください!特に若手プログラムへ
https://sites.google.com/view/miru2018sapporo/