Curriculum Learning (関東CV勉強会)

43
Curriculum Learning 牛牛 牛牛 losnuevet oros

Transcript of Curriculum Learning (関東CV勉強会)

Curriculum Learning

牛久 祥孝losnuevetoros

お前は誰だ?~ 2014.3 博士 ( 情報理工学 ) 、東京大学• 画像説明文の自動生成

• 大規模画像分類

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

大規模な画像の分類といえばDeep で深イイ深層学習の独壇場

[Krizhevsky+, NIPS 2013]

[Mahendran+Vedaldi, CVPR 2015]

2012 年~:猫も杓子も Deep Learning 祭り

2012 年の画像認識タスクでディープ勢が2 位以下に圧

勝 !

2012 年の画像認識タスクでディープ勢が2 位以下に圧

勝 !

2012 年の画像認識タスクでディープ勢が2 位以下に圧

勝 !

2012 年~:猫も杓子も Deep Learning 祭り[Tomohiro Mito, Deep learning, slideshare, 2013]

2012 年~:猫も杓子も Deep Learning 祭り[Tomohiro Mito, Deep learning, slideshare, 2013]

ISI ってなんだよどこのチームだよ

同 web サイトをみると・・・

ぼくら

Deep 勢

ISI ここだよ!( この勉強会の建物 )

8F あたり

Deep Learning 勢Geoffrey Hinton, Yann LeCun, Yoshua Bengio

今日紹介する論文Geoffrey Hinton, Yann LeCun, Yoshua Bengio

以下の疑問にお応えします。• Curriculum Learning って?

• どうやって学習するの?

• どんな応用例があるの?• どうせ Deep Learning 用の研究なんでしょ?

家庭教師ツルとカメが合わせて 10 匹います。足の数は合計 24 本でした。ツルとカメはそれぞれ何匹ずついるでしょうか?

こんな家庭教師は嫌だツルとカメが合わせて 10 匹います。足の数は合計 24 本でした。ツルとカメはそれぞれ何匹ずついるでしょうか?

ツルを匹、カメを匹とすれば、

だから、逆行列を左からかけて

と解けるよね。

Curriculum Learning とは

10-☐=5△÷3=4

Curriculum Learning とは

(2 −1 34 1 92 3 1)(

𝑥1𝑥2𝑥3

)=(231)

人間の学習では• 最初は簡単な問題を解く。• 時の経過とともに難しい問題も学ぶ。

計算機も見習うべきでは ?!

Curriculum Learning[Bengio+, ICML 2009]

ケース 1 :図形分類• 自動生成された三角形、楕円、長方形の分類

• カリキュラム:簡単なデータも自動生成– 正三角形、円、正方形– グレーの濃さの種類も減らす

• 5 層ニューラルネットで学習– 最初は簡単なデータで学習– ある周 (switch epoch) から難しいデータで学習

ケース 1 :図形分類の実験結果最初は簡単な図形を学ぶというカリキュラムの効果を確認した。

• 最初から難しいのも簡単なのも両方学習したらいいのでは?→  そうした場合、 switch epoch が 16 のときと同程度の性能 (つまり、そこまで識別性能が高くならない)• 簡単なやつだけ学習すればいい性能が出るというオチ?→  簡単なやつだけだと poor な結果でした。(論文より)

ケース 2 :言語モデル• ある単語列から次の

単語を推定する• カリキュラム:語彙

を増やしていく– 最頻 5000 単語から

。– 5000 単語ずつ増やし、

20000 単語のモデルを学習。

• 右のニューラルネットで学習

次の単語を the と仮定したときのスコア

word2vec の様なもの

ケース 2 :言語モデルの実験結果Wikipedia から 6 億文節を抽出して学習→ curriculum なしに比べて有意に優れた性能

Curriculum Learning

• 最初は簡単なサンプルのみを学習し、次第に難しいものを学習する枠組み。– 最適解への収束が早くなる!– 非凸でもより良い局所最適解に到達できる!

かもしれない。

• ICML での発表(実験重視と言われること多し)にしては conceptual な論文。– Boosting と関連してそう。– Active Learning と関連してそう。– Transfer Learning と関連してそう。

以下の疑問にお応えします。• Curriculum Learning って?

• どうやって学習するの?

• どんな応用例があるの?• どうせ Deep Learning 用の研究なんでしょ?

最初は簡単なサンプルのみを学習し、次第に難しいものを学習する枠組み

カリキュラムってどうやって定義するの?先程の例はやたらハンドメイドだったけど・・・?→ 実際、お手製のカリキュラムも多い• [Basu+Christensen, AAAI 2013]– 機械の識別面を人に教示する手法– カリキュラム=識別面からの距離

• [Spitkovsky+, NIPS 2009]– 構文解析(自然言語処理)– カリキュラム=短文ほど簡単

• [Lapedriza+, arXiv 2013]– 物体検出やシーン認識– カリキュラム= Exemplar-SVM

問題ごとに適切なカリキュラム考えるのが面倒だ・・・

Self-Paced Learning [Kumar+, NIPS 2010]

カリキュラム:ある年齢で番目のサンプルを学習するかどうかを示す 0/1 の値

カリキュラムの下での学習:によって選択されたサンプルのみで、モデルのパラメータを学習する

サンプル数

損失関数

SPL によるカリキュラムなら、だけじゃなくても最適化すればいいじゃない。

SPL によるカリキュラムなら、だけじゃなくても最適化すればいいじゃない。

負の正則化項:の各要素を次々と 1 にしようとする

SPL によるカリキュラムなら、だけじゃなくても最適化すればいいじゃない。

での各要素が 1 になるほどこっちが大きくなる→ 値が少ない ( =簡単な ) サンプル選ばれる!

負の正則化項:の各要素を次々と 1 にしようとする

SPL による学習アルゴリズム1. 初期化。なおはランダムに 0/1 で初期化。2. 次の 3 ステップを収束するまで繰り返す。

1. カリキュラムを固定してパラメータを更新。

2. パラメータを固定してカリキュラムを更新。

3. 年齢を定数倍して大人の階段のぼる。

SPL with Diversity [Jiang+, NIPS 2014]

簡単かどうかだけじゃなくて、Diverse な (色々な ) タイプのサンプルを学習すべき。

動画認識コンペ TRECVID内の「ロッククライミング」データによる例

SPLD での diversity の定義特徴量はグループに分割可能とする。• クラスタリング(本論文)• 階層型分類ならサブクラスもあり?

Diversity: ブロック毎のによる負の

で値が 1 をとる要素の数が一定の多くのグループにバラけるほど値が小さくなる!

SPLD の定式化

min𝒘 ,𝒗

ℒ (𝒘 ,𝒗 ; 𝜆 ,𝛾 )=∑𝑖=1

𝑛

𝑣 𝑖𝐿 (𝑦 𝑖 , 𝑓 ( 𝒙𝑖 ,𝒘 ) )− 𝜆∑𝑖=1

𝑛

𝑣 𝑖−𝛾∑𝑗=1

𝑏

‖𝒗 ( 𝑗 )‖2実際に選ばれた動画の例3パターン

元の

SPL

SPLD

Div

ersi

tyの

SPLD のアルゴリズム

• ほとんど SPL と同じ!– カリキュラムとパラメータを交互に更新。– パラメータの更新は全く変化なし。

• カリキュラムの更新はちょっと変わる。

SPLD のカリキュラム選択

ココ ( だけ ) が新規!

以下の疑問にお応えします。• Curriculum Learning って?

• どうやって学習するの?

• どんな応用例があるの?• どうせ Deep Learning 用の研究なんでしょ?

最初は簡単なサンプルのみを学習し、次第に難しいものを学習する枠組み

問題ごとにお手製のカリキュラムを用意するか、Self-Paced Learning やその亜種を適用する。

Curriculum Learning 適用例: SPL原著• 各種機械学習問題に適用–名詞句同一指示解析– DNA の特定配列パターンの検索– 手書き文字認識– 物体検出

比較

CCCP

SPL

1 周目 3 周目 4 周目

最初は簡単な左側のゾウのみ学習している どちらも学習するようになり、どちらもうまく検出できている。

最初から両方の画像を学習しているが、最後まで右側の物体をうまく検出できていない

2 周目

Curriculum Learning 適用例: SPLD原著• 動画認識問題に適用– TRECVID Multimedia Event Detection (MED) タスク

Curriculum Learning 適用例: SPLD原著• 動画認識問題に適用– Hollywood2 、 Olympic Sports データセット

[Wang+, ICCV 2013] と特徴量は同じ。機械学習手法の SVM も同じ。SPLD によるサンプル選択の有無だけが違い。

Curriculum Learning 適用例:再掲先程のスライドの再掲。

• [Basu+Christensen, AAAI 2013]– 機械の識別面を人に教示する手法– カリキュラム=識別面からの距離

• [Spitkovsky+, NIPS 2009]– 構文解析(自然言語処理)– カリキュラム=短文ほど簡単

• [Lapedriza+, arXiv 2013]– 物体検出やシーン認識– カリキュラム= Exemplar-SVM

Curriculum Learning 適用例:マルチメディア

• [Xiao+, ACM MM 2014]– Deep Learning による

画像認識– データが増えた際の新

規クラス学習に着目• [Jiang+, ACM MM 2014]– SPLD と同じ研究室、同

じ主著者が SPLD より1ヶ月ほど前に発表

– SPL と rank SVM によるマルチメディア検索のリランキング

各種機械学習手法への適用例• 識別面の教示 [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

以下の疑問にお応えしたハズ。• Curriculum Learning って?

• どうやって学習するの?

• どんな応用例があるの?• どうせ Deep Learning 用の研究なんでしょ?

最初は簡単なサンプルのみを学習し、次第に難しいものを学習する枠組み

問題ごとにお手製のカリキュラムを用意するか、Self-Paced Learning やその亜種を適用する。

最近でも動画認識などの応用例が報告されている。Deep Learning に限らない、一般的なフレームワーク!

付録: SPLD のグルーピング方法による影響

• クラスタリング方法• クラスタ数によらず、 SPL を上回る性能を得ている。