Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Curriculum Learning (関東CV勉強会)

5,980 views

Published on

2015年5月30日第29回コンピュータビジョン勉強会@関東「有名論文を読む会」発表用資料。
Curriculum Learning [Bengio+, ICML 2009] とその後続を紹介。

Published in: Technology
  • Be the first to comment

Curriculum Learning (関東CV勉強会)

  1. 1. Curriculum Learning 牛久 祥孝 losnuevetoros
  2. 2. お前は誰だ? ~2014.3 博士(情報理工学)、東京大学 • 画像説明文の自動生成 • 大規模画像分類 2014.4~ NTT コミュニケーション科学基礎研究所
  3. 3. 大規模な画像の分類といえば Deepで深イイ深層学習の独壇場 [Krizhevsky+, NIPS 2013] [Mahendran+Vedaldi, CVPR 2015]
  4. 4. 2012年~:猫も杓子も Deep Learning 祭り 2012年の画像 認識タスクで ディープ勢が 2位以下に圧勝! 2012年の画像 認識タスクで ディープ勢が 2位以下に圧勝! 2012年の画像 認識タスクで ディープ勢が 2位以下に圧勝!
  5. 5. 2012年~:猫も杓子も Deep Learning 祭り [Tomohiro Mito, Deep learning, slideshare, 2013]
  6. 6. 2012年~:猫も杓子も Deep Learning 祭り [Tomohiro Mito, Deep learning, slideshare, 2013] ISIってなんだよどこのチームだよ 同webサイトをみると・・・ ぼくら Deep勢
  7. 7. ISIここだよ! (この勉強会の建物) 8Fあたり
  8. 8. Deep Learning 勢 Geoffrey Hinton, Yann LeCun, Yoshua Bengio
  9. 9. 今日紹介する論文 Geoffrey Hinton, Yann LeCun, Yoshua Bengio
  10. 10. 以下の疑問にお応えします。 • Curriculum Learning って? • どうやって学習するの? • どんな応用例があるの? • どうせ Deep Learning 用の研究なんでしょ?
  11. 11. 家庭教師 ツルとカメが合わせて10匹います。 足の数は合計24本でした。 ツルとカメはそれぞれ何匹ずついるでしょうか?
  12. 12. こんな家庭教師は嫌だ ツルとカメが合わせて10匹います。 足の数は合計24本でした。 ツルとカメはそれぞれ何匹ずついるでしょうか? ツルを𝑥1匹、カメを𝑥2匹とすれば、 1 1 2 4 𝑥1 𝑥2 = 10 24 だから、逆行列を左からかけて 𝑥1 𝑥2 = 1 1 2 4 −1 10 24 = 8 2 と解けるよね。
  13. 13. Curriculum Learning とは 10-☐=5 △÷3=4
  14. 14. Curriculum Learning とは 3𝑥 + 2𝑦 = 21 −4𝑥 + 𝑦 = 5
  15. 15. 2 −1 3 4 1 9 2 3 1 𝑥1 𝑥2 𝑥3 = 2 3 1
  16. 16. 人間の学習では • 最初は簡単な問題を解く。 • 時の経過とともに難しい問題も学ぶ。 計算機も見習うべきでは?! Curriculum Learning [Bengio+, ICML 2009]
  17. 17. ケース1:図形分類 • 自動生成された三角形、楕円、長方形の分類 • カリキュラム:簡単なデータも自動生成 – 正三角形、円、正方形 – グレーの濃さの種類も減らす • 5層ニューラルネットで学習 – 最初は簡単なデータで学習 – ある周 (switch epoch) から難しいデータで学習
  18. 18. ケース1:図形分類の実験結果 最初は簡単な図形を学ぶというカリキュラムの効果を確認した。 • 最初から難しいのも簡単なのも両方学習したらいいのでは? → そうした場合、switch epochが16のときと同程度の性能 (つまり、そこまで識別性能が高くならない) • 簡単なやつだけ学習すればいい性能が出るというオチ? → 簡単なやつだけだと poor な結果でした。(論文より)
  19. 19. ケース2:言語モデル • ある単語列から次の 単語を推定する • カリキュラム:語彙 を増やしていく – 最頻5000単語から 。 – 5000単語ずつ増やし、 20000単語のモデルを 学習。 • 右のニューラルネッ トで学習 次の単語をtheと仮定したときのスコア word2vecの 様なもの
  20. 20. ケース2:言語モデルの実験結果 Wikipedia から6億文節を抽出して学習 → curriculumなしに比べて有意に優れた性能
  21. 21. Curriculum Learning • 最初は簡単なサンプルのみを学習し、次第に難 しいものを学習する枠組み。 – 最適解への収束が早くなる! – 非凸でもより良い局所最適解に到達できる! かもしれない。 • ICMLでの発表(実験重視と言われること多し) にしてはconceptualな論文。 – Boosting と関連してそう。 – Active Learning と関連してそう。 – Transfer Learning と関連してそう。
  22. 22. 以下の疑問にお応えします。 • Curriculum Learning って? • どうやって学習するの? • どんな応用例があるの? • どうせ Deep Learning 用の研究なんでしょ? 最初は簡単なサンプルのみを学習し、 次第に難しいものを学習する枠組み
  23. 23. カリキュラムってどうやって定義するの? 先程の例はやたらハンドメイドだったけど・・・? →実際、お手製のカリキュラムも多い • [Basu+Christensen, AAAI 2013] – 機械の識別面を人に教示する手法 – カリキュラム=識別面からの距離 • [Spitkovsky+, NIPS 2009] – 構文解析(自然言語処理) – カリキュラム=短文ほど簡単 • [Lapedriza+, arXiv 2013] – 物体検出やシーン認識 – カリキュラム=Exemplar-SVM
  24. 24. 問題ごとに適切なカリキュラム考えるのが面倒だ・・・
  25. 25. Self-Paced Learning [Kumar+, NIPS 2010] カリキュラム𝒗:ある年齢𝜆で𝑖番目のサンプル(𝒙𝑖, 𝑦𝑖)を 学習するかどうかを示す0/1の値 𝒗 ∈ 0,1 𝑛 カリキュラム𝒗の下での学習: 𝒗によって選択されたサンプルのみで、モデルのパラ メータ𝒘を学習する min 𝒘 ℒ 𝒘 = 𝑖=1 𝑛 𝑣𝑖 𝐿 𝑦𝑖, 𝑓 𝒙𝑖, 𝒘 サンプル数 損失関数
  26. 26. SPL によるカリキュラム なら、 𝒘 だけじゃなくて 𝒗 も最適化すればいいじゃない。 min 𝒘,𝒗 ℒ 𝒘, 𝒗; 𝜆 = 𝑖=1 𝑛 𝑣𝑖 𝐿 𝑦𝑖, 𝑓 𝒙𝑖, 𝒘 − 𝜆 𝑖=1 𝑛 𝑣𝑖
  27. 27. SPL によるカリキュラム なら、 𝒘 だけじゃなくて 𝒗 も最適化すればいいじゃない。 min 𝒘,𝒗 ℒ 𝒘, 𝒗; 𝜆 = 𝑖=1 𝑛 𝑣𝑖 𝐿 𝑦𝑖, 𝑓 𝒙𝑖, 𝒘 − 𝜆 𝑖=1 𝑛 𝑣𝑖 負のℓ1正則化項:𝒗の各要素を次々と1にしようとする
  28. 28. SPL によるカリキュラム なら、 𝒘 だけじゃなくて 𝒗 も最適化すればいいじゃない。 min 𝒘,𝒗 ℒ 𝒘, 𝒗; 𝜆 = 𝑖=1 𝑛 𝑣𝑖 𝐿 𝑦𝑖, 𝑓 𝒙𝑖, 𝒘 − 𝜆 𝑖=1 𝑛 𝑣𝑖 でも𝒗の各要素が1になるほどこっちが大きくなる →𝐿の値が少ない(=簡単な)サンプル(𝒙𝑖, 𝑦𝑖)が選ばれる! 負のℓ1正則化項:𝒗の各要素を次々と1にしようとする
  29. 29. SPL による学習アルゴリズム 1. 初期化。なお𝒗はランダムに0/1で初期化。 2. 次の3ステップを収束するまで繰り返す。 1. カリキュラム𝒗を固定してパラメータ𝒘を更新。 min 𝒘 ℒ 𝒘; 𝜆 = 𝑖=1 𝑛 𝑣𝑖 𝐿 𝑦𝑖, 𝑓 𝒙𝑖, 𝒘 2. パラメータ𝒘を固定してカリキュラム𝒗を更新。 𝑣𝑖 = 1, 𝐿 𝑦𝑖, 𝑓 𝒙𝑖, 𝒘 < 𝜆 0, otherwise 3. 年齢𝜆を定数𝜇倍して大人の階段のぼる。
  30. 30. SPL with Diversity [Jiang+, NIPS 2014] 簡単かどうかだけじゃなくて、 Diverseな(色々な)タイプのサンプルを学習すべき。 動画認識コンペTRECVID内の「ロッククライミング」データによる例
  31. 31. SPLDでのdiversityの定義 特徴量𝑋 = (𝑥1, … , 𝑥 𝑛)は𝑏個のグループに分割可能とする。 • クラスタリング(本論文) • 階層型分類ならサブクラスもあり? Diversity: ブロック毎の𝒗(𝑗)による負のℓ2,1ノルム − 𝒗 2,1 = − 𝑗=1 𝑏 𝒗 𝑗 2 𝒗で値が1をとる要素の数が一定のとき: 多くのグループにバラけるほど値が小さくなる!
  32. 32. SPLDの定式化 min 𝒘,𝒗 ℒ 𝒘, 𝒗; 𝜆, 𝛾 = 𝑖=1 𝑛 𝑣𝑖 𝐿 𝑦𝑖, 𝑓 𝒙𝑖, 𝒘 − 𝜆 𝑖=1 𝑛 𝑣𝑖 − 𝛾 𝑗=1 𝑏 𝒗 𝑗 2 実際に選ばれた動画の例 3パターン 元のSPLSPLDDiversityのみ
  33. 33. SPLDのアルゴリズム • ほとんどSPLと同じ! – カリキュラム𝒗とパラメータ𝒘を交互に更新。 – パラメータ𝒘の更新は全く変化なし。 • カリキュラム𝒗の更新はちょっと変わる。
  34. 34. SPLDのカリキュラム選択 ココ(だけ)が新規!
  35. 35. 以下の疑問にお応えします。 • Curriculum Learning って? • どうやって学習するの? • どんな応用例があるの? • どうせ Deep Learning 用の研究なんでしょ? 最初は簡単なサンプルのみを学習し、 次第に難しいものを学習する枠組み 問題ごとにお手製のカリキュラムを用意するか、 Self-Paced Learningやその亜種を適用する。
  36. 36. Curriculum Learning 適用例:SPL原著 • 各種機械学習問題に適用 – 名詞句同一指示解析 – DNAの特定配列パターンの検索 – 手書き文字認識 – 物体検出 比較 CCCPSPL 1周目 3周目 4周目 最初は簡単な左側のゾウのみ学習している どちらも学習するようになり、 どちらもうまく検出できている。 最初から両方の画像を学習しているが、 最後まで右側の物体をうまく検出できていない 2周目
  37. 37. Curriculum Learning 適用例:SPLD原著 • 動画認識問題に適用 – TRECVID Multimedia Event Detection (MED) タスク
  38. 38. Curriculum Learning 適用例:SPLD原著 • 動画認識問題に適用 – Hollywood2、Olympic Sports データセット [Wang+, ICCV 2013]と特徴量は同じ。 機械学習手法のSVMも同じ。 SPLDによるサンプル選択の有無だけが違い。
  39. 39. Curriculum Learning 適用例:再掲 先程のスライドの再掲。 • [Basu+Christensen, AAAI 2013] – 機械の識別面を人に教示する手法 – カリキュラム=識別面からの距離 • [Spitkovsky+, NIPS 2009] – 構文解析(自然言語処理) – カリキュラム=短文ほど簡単 • [Lapedriza+, arXiv 2013] – 物体検出やシーン認識 – カリキュラム=Exemplar-SVM
  40. 40. Curriculum Learning 適用例:マルチメディア • [Xiao+, ACM MM 2014] – Deep Learning による画 像認識 – データが増えた際の新 規クラス学習に着目 • [Jiang+, ACM MM 2014] – SPLDと同じ研究室、同 じ主著者がSPLDより 1ヶ月ほど前に発表 – SPLとrank SVMによる マルチメディア検索の リランキング
  41. 41. 各種機械学習手法への適用例 • 識別面の教示 [Basu+Christensen, AAAI 2013] 線形分類 • 構文解析 [Spitkovsky+, NIPS 2009] EMアルゴリズム • 物体検出やシーン認識 [Lapedriza+, arXiv 2013] LDA、線形/非線形SVM • 新規クラスを含む物体認識 [Xiao+, ACM MM 2014] Deep Convolutional Neural Network • マルチメディア検索 [Jiang+, ACM MM 2014] SVM • SPL原著 [Kumar+, NIPS 2010] Latent SSVM • SPLD原著 [Jiang+, NIPS 2014] SVM
  42. 42. 以下の疑問にお応えしたハズ。 • Curriculum Learning って? • どうやって学習するの? • どんな応用例があるの? • どうせ Deep Learning 用の研究なんでしょ? 最初は簡単なサンプルのみを学習し、 次第に難しいものを学習する枠組み 問題ごとにお手製のカリキュラムを用意するか、 Self-Paced Learningやその亜種を適用する。 最近でも動画認識などの応用例が報告されている。 Deep Learning に限らない、一般的なフレームワーク!
  43. 43. 付録:SPLDのグルーピング方法による影響 • クラスタリング方法 • クラスタ数 によらず、SPLを上回る性能を得ている。

×