多層nnの教師なし学習 コンピュータビジョン勉強会@関東 2014/5/26

21
多多 NN 多多多多多多多 多多多多多多多多多多多多多 多多 (2014/5/26) 多多 多 @tabe2314 Preferred Infrastructure, Inc.

Upload: takashi-abe

Post on 28-Nov-2014

5.838 views

Category:

Documents


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: 多層NNの教師なし学習 コンピュータビジョン勉強会@関東 2014/5/26

多層 NN の教師なし学習コンピュータビジョン勉強会@関東

(2014/5/26)

阿部 厳 @tabe2314Preferred Infrastructure, Inc.

Page 3: 多層NNの教師なし学習 コンピュータビジョン勉強会@関東 2014/5/26

はじめに• オートエンコーダによるプレトレーニングが主な話題• 深い NN に対して、事前の学習でよい初期値を与えるこ

とでよい局所解を得られるようにする手法• 深い NN の学習を可能にしたブレークスルーのひとつだ

が、最近ではプレトレーニングは不要というのがトレンド?

Page 4: 多層NNの教師なし学習 コンピュータビジョン勉強会@関東 2014/5/26

プレトレーニング• 深い多層 NN の誤差逆伝搬法による学習はランダムな初

期値ではあまりうまくいかない (2.1.2 節 )• よい初期値を与えるために、事前に層毎の教師無し学習

を行う (pretraining)• あらためてネットワーク全体を学習する (fine-tuning)

[1] より

pretraining fine-tuning

Page 5: 多層NNの教師なし学習 コンピュータビジョン勉強会@関東 2014/5/26

プレトレーニング• 層毎の教師無し学習の方法– Deep Belief Network (DBN) の場合• → RBM を Contrastive Divergence 法で学習

(4 節 )– 多層 NN の場合• → オートエンコーダ

Page 6: 多層NNの教師なし学習 コンピュータビジョン勉強会@関東 2014/5/26

オートエンコーダ• オートエンコーダ : 入力に近い出力を返

す 2 層の NN (i.e. 教師信号 = 入力 )• 入力 → 中間層 : エンコーダ

• 中間層 → 出力 : デコーダ

• エンコード → デコードして元にもどるようなパラメータを求める

• ( プレトレーニングの文脈では出力層とデコーダは仮想的なもので学習のときだけ使う )

Page 7: 多層NNの教師なし学習 コンピュータビジョン勉強会@関東 2014/5/26

オートエンコーダ• 中間層のサイズ > 入力サイズだと自明な解

(恒等関数)を得てしまう ( 右図 )• 恒等関数を学習しないようにする工夫 :– 中間層を入力層より小さくする

(bottleneck)– h がスパースになるように正則化 (3.3

節 )– Denoising Auto Encoder*

• と制約してしまうことが多い– f(x) = x を考えるとわかりやすい (PCA

みたいなかんじ )

* P. Vincent, H. Larochelle, Y. Bengio and P.-A. Manzagol. Extracting and Composing Robust Features with Denoising Autoencoders. ICML 2008.

Page 8: 多層NNの教師なし学習 コンピュータビジョン勉強会@関東 2014/5/26

オートエンコーダの性質• 入力を復元できる h を得る– → 学習サンプルの構造を低次元で (bottleneck) or

スパースに ( スパース正則化 ) 捉える変換を学習している

• オートエンコーダを自然画像から切り出したパッチで学習した結果 :

[2] より

Page 9: 多層NNの教師なし学習 コンピュータビジョン勉強会@関東 2014/5/26

オートエンコーダによるプレトレーニング

• 入力層からの 2 層に、仮想的にデコーダを乗せて学習• h を入力と見なして、次の 2 層を同様に学習• 繰り返し

[1] より

Page 10: 多層NNの教師なし学習 コンピュータビジョン勉強会@関東 2014/5/26

オートエンコーダの微調整 (fine tuning)

• 微調整 (fine tuning): プレトレーニング後に、ネットワーク全体を学習し直して最終的なモデルを得る

• 教師無し、有りともによい初期値が与えられているのでうまく学習できる ( よい局所解にたどり着ける )

教師有り

各ノードがクラスラベルに対応する出力層を乗せて、(BP で ) 学習

教師無し

全体をひとつのオートエンコーダとみなして学習

[1] より

Page 11: 多層NNの教師なし学習 コンピュータビジョン勉強会@関東 2014/5/26

スパースオートエンコーダ• 中間層を搾ることでトリビアルな解を避けられるが、特

徴を表現する能力は制限される• 代わりに h がなるべくスパースになるという制約を入れ

て学習する• 最も単純なのは

• g( ・ ) は など正則化項

Page 12: 多層NNの教師なし学習 コンピュータビジョン勉強会@関東 2014/5/26

スパースオートエンコーダ• W ではなく h をスパースにすることに注意– W を基底の集合としてみると、できるだけ少数の基

底の組み合わせで入力を再現できるように学習

• スパースコーディングと似ている[1] より

Page 13: 多層NNの教師なし学習 コンピュータビジョン勉強会@関東 2014/5/26

スパースコーディング *

• 与えられたサンプルを少数の基底の線形結合で表現できるように、基底の集合 (dictionary) を学習

• 学習時には D, h を最適化、 D がきまれば x に対して hを計算

• 基底の数 > 特徴次元 : overcomplete

* Olshausen, B. A. and Field, D. J.: Emeregnce of simple- cell receptive field properties by learning a sparse code for natural images, Nature, Vol. 381, pp. 607–609 (1996).

dictionary

code スパース項 : 理想的には L0

Page 14: 多層NNの教師なし学習 コンピュータビジョン勉強会@関東 2014/5/26

スパースコーディング

Page 15: 多層NNの教師なし学習 コンピュータビジョン勉強会@関東 2014/5/26

スパースコーディングと視覚• 自然画像から切り出したパッチでスパースコーディング

の学習を行うとガボールフィルターのような基底が得られる– 脳の初期視覚野で行われている処理と酷似

• アプリケーション : 画像の復元、超解像 etc.

Page 16: 多層NNの教師なし学習 コンピュータビジョン勉強会@関東 2014/5/26

スパースオートエンコーダとスパースコーディング

• スパースオートエンコーダ :

• スパースコーディング

• オートエンコーダは陽に存在するエンコーダにより、 hを求める

• スパースコーディングでは最適化の過程で陰にエンコードされる

Page 17: 多層NNの教師なし学習 コンピュータビジョン勉強会@関東 2014/5/26

Topographic ICA

• スパースコーディング、オートエンコーダでは基底の順序には意味がない– 生物の視覚野では捉える特徴の分布が物理的な距離

に対応している ( 近い細胞 ? は似た特徴に反応 )• プーリングとの組み合わせにより回転等への不変

性を実現

• TICA はこうした性質を学習により獲得しようというもの

http://www.mathworks.com/matlabcentral/fileexchange/23253-gabor-filterより

Page 18: 多層NNの教師なし学習 コンピュータビジョン勉強会@関東 2014/5/26

不変性• 不変性 : 入力パターンにいろいろな変形を加えて入力し

たとき、ノードの反応が変わらない• 例えば、 CNN + max-pooling は ( 小さな ) 並進への

不変性がある

• 不変性を持った処理を積み重ねていくことで、低次の見えの変化に関わらず、より高次の概念に反応するノードを学習するのが Deep Learning がやっていること ?

Page 19: 多層NNの教師なし学習 コンピュータビジョン勉強会@関東 2014/5/26

Topographic ICA

• 3 層の NN を考える

全結合

近いノードだけ結合

中間層がサンプルをうまく表現できる

プーリング層はできるだけ発火しない

Page 20: 多層NNの教師なし学習 コンピュータビジョン勉強会@関東 2014/5/26

Topographic ICA

• プーリング層の発火 を抑えるには、同じプーリングユニットにつながっているフィルタ層のノードは似たパターンに反応するべき– 常に少数のユニットが反応をするより、たまに多数のユニットが反応する方が上の値は小さくなる

• 結果同じプーリングユニットには似た特徴がつながる– → プーリングユニットが微笑な変形に不変性を持つ

Page 21: 多層NNの教師なし学習 コンピュータビジョン勉強会@関東 2014/5/26

まとめ• 事前の教師無し学習 ( プレトレーニング ) によって、学

習が難しい多層 NN により初期値を与えることが出来る• 教師無し学習は、入力をできるだけ再現できる中間表現への変換を求めることで行う

• オートエンコーダの学習では、制約無しだとトリビアルな解になってしまうので制約を入れる

• スパース制約を入れたオートエンコーダは、スパースコーディングに酷似

• TICA はさらに特徴の不変性を考慮した学習方法