1. Nakayama Lab.
Machine Perception Group
The University of Tokyo
東京大学 大学院情報理工学系研究科
創造情報学専攻 中山研究室
中山 英樹
2. Nakayama Lab.
Machine Perception Group
The University of Tokyo
1.Deep learning(深層学習)とは?
2.一般画像認識:Deep learning 以前と以後で何が変わったか
◦
Bag-of-visual-words (VLAD, Fisher Vector)
◦
Convolutional neural network (ConvNets)
3.Deep learningの数理
◦
なぜ優れた性能が実現できるのか?
◦
ブレークスルーを生んだ各要素技術
◦
中山研究室での研究紹介
4.実践するにあたって
◦
適切利用するために必要な知識
◦
汎用ソフトウェア:Caffe
5.最新の動向・今後の展望 2
3. Nakayama Lab.
Machine Perception Group
The University of Tokyo
1.Deep learning(深層学習)とは?
2.一般画像認識:Deep learning 以前と以後で何が変わったか
◦
Bag-of-visual-words (VLAD, Fisher Vector)
◦
Convolutional neural network (ConvNets)
3.Deep learningの数理
◦
なぜ優れた性能が実現できるのか?
◦
ブレークスルーを生んだ各要素技術
◦
中山研究室での研究紹介
4.実践するにあたって
◦
適切利用するために必要な知識
◦
汎用ソフトウェア:Caffe
5.最新の動向・今後の展望 3
4. Nakayama Lab.
Machine Perception Group
The University of Tokyo
機械学習(教師付) 4
“cat” (){}Niyii,...,1,,=xxy
未知のデータ(学習データに含まれない)を正しく認識させることが目標
大量のラベル付き訓練データ
(x:画像,y:ラベル)
…
cat
dog
bird
5. Nakayama Lab.
Machine Perception Group
The University of Tokyo
ニューラルネットワークを用いた人工知能の 構築技術の総称
◦
脳(神経細胞)の働きを模した学習アルゴリズム
特に、深く大規模な構造を備えていることが特徴 5
cat
cat
dog
horse
6. Nakayama Lab.
Machine Perception Group
The University of Tokyo
脳神経系を模した数学モデル
ネットワークを形成する多数の人工ニューロンのシナプ ス結合強度を変化させて問題解決能力を獲得する 6
ニューロンモデル
神経細胞(ニューロン)
閾値
入力2
入力1
出力
結合荷重
ニューロン(核)
シナプス
8. Nakayama Lab.
Machine Perception Group
The University of Tokyo
線形識別平面を作ることに対応
訓練サンプルが正しく識別されるように 少しずつパラメータを更新 8
{}{}1,0,,∈iiiyyx
i番目の訓練サンプル
エラーに説明変数をかけたもの y2x1w2w1x(.)f
() ()()iiTiiiifyyyyLxxwww θ−′−−= ∂ −∂ ⋅= ∂ ∂ ˆ ˆ 212
×
×
×
×
×
×
×
× 1x2x θ=+2211xwxw()()ioldiTo ldiioldnewfyyxxwwwθη−′−+=ˆ wΔ
9. Nakayama Lab.
Machine Perception Group
The University of Tokyo
非線形な識別は原理的に不可能
◦
例: XOR 9
×
×
×
×
×
×
×
× 1x2x
?
以降、第一次ニューラルネット ブームは急速に下火に…
10. Nakayama Lab.
Machine Perception Group
The University of Tokyo
多層パーセプトロン (1980s~1990s)
多数の単純パーセプトロンを階層的に組み合わせる
◦
パラメータ最適化はNP困難だが、誤差逆伝播法で局所解へ収束
十分な数のニューロンが隠れ層にあれば、任意の非線形連続関数は 3層のネットワークで近似できる 10
yxz
隠れ層 (陽に観測されない)
11. Nakayama Lab.
Machine Perception Group
The University of Tokyo
11 βαα∂ ∂Lβ∂ ∂Lyxhiddenfoutfz
2ˆ 21iiLyy−=
i番目の訓練サンプル
やること自体は単純パーセプトロンと同じ
訓練サンプルをフィードフォワードし、得られた出力誤差を小さくす る方向へパラメータを更新
上層からのchain ruleで誤差を順に低層へフィードバック
{}iiyx,
二乗誤差 (教師ラベルとのずれ)
ixiyˆ
フィードフォワード
フィードバック
12. Nakayama Lab.
Machine Perception Group
The University of Tokyo
誤差逆伝播学習は実際にはあまりうまく働かず…
問題点
◦
入力に近い層の学習が遅い(層を遡る過程で誤差が多数のニューロンへ 拡散されてしまい、パラメータがほとんど更新されない)
◦
過学習しやすい(訓練データのみに過度に適応する現象) 12
×
×
×
×
×
×
×
×
13. Nakayama Lab.
Machine Perception Group
The University of Tokyo
ある論文の冒頭 [Simard et al., ICDAR 2003] After being extremely popular in the early 1990s, neural networks have fallen out of favor in research in the last 5 years. In 2000, it was even pointed out by the organizers of the Neural Information Processing System (NIPS) conference that the term “neural networks” in the submission title was negatively correlated with acceptance. In contrast, positive correlations were made with support vector machines (SVMs), Bayesian networks, and variational methods. 13
14. Nakayama Lab.
Machine Perception Group
The University of Tokyo
Deep learning (深層学習) (2006~) [Hinton and Salakhutdinov, Science, 2006]
従来扱われてきたよりもさらに多層のニューラルネット
◦
2010年頃で7~8層程度。現在は20層以上のものも。
音声認識・画像認識・自然言語処理などさまざまな分野 で圧倒的な性能を達成
生データから目的変数に至るend-to-endの構造を学習
◦
従来の特徴量(に相当する構造)も自動的に獲得
◦
パターン認識の文脈では表現学習(representation learning)と ほぼ同義で扱われることも 14
15. Nakayama Lab.
Machine Perception Group
The University of Tokyo
15
http://icml2011speechvision.files.wordpress.com/2011/06/visionaudio.pdf
16. Nakayama Lab.
Machine Perception Group
The University of Tokyo
ImageNet large-scale visual recognition challenge (ILSVRC) 2012
◦
1000クラスの物体画像識別コンペティション
Deep learning を用いたシステムが圧勝
◦
トロント大学Hinton先生のチーム 16
[A. Krizhevsky et al., NIPS’12]
エラー率が一気に10%以上減少! (※過去数年間での向上は1~2%)
17. Nakayama Lab.
Machine Perception Group
The University of Tokyo
ニューロン数
◦
人間: 約10^11 (1000億)
◦
AdamNet:約10^6 (100万)
◦
Google: 1兆個のニューロンによるニューラルネットを計画? 17
Source: Y. Bengio, Tutorial@KDD’14
http://www.wired.com/2013/05/hinton/
18. Nakayama Lab.
Machine Perception Group
The University of Tokyo
領域分割 (シーンラベリング)
◦
ピクセルレベルで物体領域を認識
◦
[Farabet et al., PAMI’13]
RGB-D物体認識
◦[Socher et la., NIPS’13] 18
19. Nakayama Lab.
Machine Perception Group
The University of Tokyo
RGB-Dシーンラベリング
◦
[Wang et al., ECCV’14]
映像 認識
◦487クラスのビデオカテゴリ認識 [Karpathy., CVPR’14] 19
20. Nakayama Lab.
Machine Perception Group
The University of Tokyo
Deep Q-learning [Mnih et al, NIPS’13]
◦
強化学習の報酬系の入力に畳み込みネットワークを利用(生画像を入力)
◦
アタリのクラッシックゲームで人間を超える腕前
RNN + LSTM による深い意味構造の理解
◦
プログラムコードの理解 [Zaremba, 2014]
◦
if、for等の意味はおろか、 文字・数字の違いすら教えていない! 20
22. Nakayama Lab.
Machine Perception Group
The University of Tokyo
Google
◦
DNNresearch (ILSVRC’12 winnerの会社) 買収 (G. Hinton)
◦
Google brain project (A. Ng)
◦
DeepMind 買収 (4億ドル!) (2013)
→Oxford VGG (A. Zissermanらの グループ)も参画 (2014)
Facebook
◦
AI Lab 設立 (2013) Y. LeCun (所長)
Baidu
◦
シリコンバレーAI研究所設立 (2014)
A. Ng 氏がトップ 22
AI研究者Yoshua Bengio氏の見方によ ると、世界にディープラーニングの優れ た専門家が50人くらいしかいないという。 でも以下の特許例からも推測できるよう に、DeepMindが優れたディープラーニ ング研究者を擁していることが,AIコミュ ニティー内では知られていた。 DeepMindを買収すれば、世界のトップ 研究者50人のうち12人を一気に抱える ことができるのだ。
http://www.huffingtonpost.jp/zenichiro- tanaka/google-manhattan- plan_b_4701358.html
23. Nakayama Lab.
Machine Perception Group
The University of Tokyo
1.Deep learning(深層学習)とは?
2.一般画像認識:Deep learning 以前と以後で何が変わったか
◦
Bag-of-visual-words (VLAD, Fisher Vector)
◦
Convolutional neural network (ConvNets)
3.Deep learningの数理
◦
なぜ優れた性能が実現できるのか?
◦
ブレークスルーを生んだ各要素技術
◦
中山研究室での研究紹介
4.実践するにあたって
◦
適切利用するために必要な知識
◦
汎用ソフトウェア:Caffe
5.最新の動向・今後の展望 23
24. Nakayama Lab.
Machine Perception Group
The University of Tokyo
制約をおかない実世界環境の画像を単語で記述
◦
一般的な物体やシーン、形容詞(印象語)
◦
2000年代以降急速に発展(コンピュータビジョンの人気分野)
◦
幅広い応用先
デジタルカメラ、ウェアラブル、画像検索、ロボット、…
25. Nakayama Lab.
Machine Perception Group
The University of Tokyo
25
Low-level image feature
Mid-level image feature
“Car”
SIFT, HOG,
SURF, etc.
BoVW, VLAD,
Fisher Vector, etc.
Supervised Classifier:
SVM, Logistic Regression, etc.
生の画素値から、識別に至る階層構造を直接的に学習
伝統的 方法論
(“Shallow” learning)
Deep learning
“Car”
・・・
人手で設計
人手で設計/教師なし学習
26. Nakayama Lab.
Machine Perception Group
The University of Tokyo
26
Low-level image feature
Mid-level image feature
“Car”
SIFT, HOG,
SURF, etc.
BoVW, VLAD,
Fisher Vector, etc.
Supervised Classifier:
SVM, Logistic Regression, etc.
生の画素値から、識別に至る階層構造を直接的に学習
従来の特徴量に相当する構造が中間層に自然に出現
伝統的 方法論
(“Shallow” learning)
Deep learning
“Car”
・・・
人手で設計
人手で設計/教師なし学習
[Zeiler and Fergus, 2013]
28. Nakayama Lab.
Machine Perception Group
The University of Tokyo
ベクトル量子化により局所特徴のヒストグラムを作成 28
学 習 用 画 像
局所特徴
Codebook
前 処 理
Source: K. Yanai
K-means クラスタリング
ixixixixixixixixixix
30. Nakayama Lab.
Machine Perception Group
The University of Tokyo
ベクトル量子化のreconstruction error を低減させる
◦
局所特徴の空間はサンプル数の割に高次元
◦
複数の基底(visual words)を用いてエンコーディング
◦
最大値プーリングと合わせて用いる場合が多い
30
[Wang et al., CVPR’10]
[Yang et al., CVPR’09]
31. Nakayama Lab.
Machine Perception Group
The University of Tokyo
M: visual wordの数
d: 局所特徴量の次元数
手法
統計量
特徴ベクトルの次元数
BoVW
個数(割合)
M
VLAD [Jegou+,CVPR’10]
平均
Md
Super vector [Zhou+, ECCV’10]
割合+平均
M(d+1)
Fisher vector [Perronnin+, ECCV’10]
平均+分散
2Md
Global Gaussian
[Nakayama+, CVPR’10]
平均+分散共分散
d(d+1)/2 (M=1)
VLAT [Picard+ ICIP’11]
平均+分散共分散
Md(d+1)/2
基本的には、局所特徴分布のさまざまな統計量を素性として特徴ベクトル化 していると解釈できる
32. Nakayama Lab.
Machine Perception Group
The University of Tokyo
VLAD [Jegou et al., CVPR’10]
◦
各visual wordに属する局所特徴の平均ベクトルを列挙
◦
1次の統計量
Fisher vector [Perronnin et al., ECCV’10]
◦平均に加え、分散も利用
◦混合正規分布と情報幾何を 用いたエンコーディング
◦1次, 2次の統計量 32
1b2b3b() () () () − − ΣΣ= = 21: 2: 1bxxbxxbxbxNNNN
L2正規化
http://people.rennes.inria.fr/Herve.Jegou/courses/2012_cpvr_tutorial/ 4-new-patch-agggregation.pptx.pdf
33. Nakayama Lab.
Machine Perception Group
The University of Tokyo
いずれも、多項式特徴を用いたエンコーディング + 平均値プーリングであると解釈できる
VLAD
◦
各局所特徴 について
Fisher vector
◦
同様に、 に加え の項を対応するvisual wordの場所へ列挙 (※厳密には、Fisher情報行列による変換が入る) 33
diR∈xix()Tcdid cicibxbxbx0000000000002211−−−
d個
d個
d個
最近傍のvisual word (c番目 とする)との差分
ik x()2ik x
34. Nakayama Lab.
Machine Perception Group
The University of Tokyo
Fisher vectorなど、高次統計量(多項式特徴によるエンコーディング) を利用した手法が強力
ただし、非常に高次元な特徴ベクトルとなる
◦
例えば、ILSVRC’11で用いられたシステムでは
(64 + 64) * 256 * 8 = 262,144次元 34
Fisher vector
平均 分散
領域数
Visual words数 (GMMの 混合数)
K. Chatfield, V. Lempitsky, A. Vedaldi, A. Zisserman, “The devil is in the details: an evaluation of recent feature encoding methods”, In Proc. BMVC, 2011.
35. Nakayama Lab.
Machine Perception Group
The University of Tokyo
畳み込みニューラルネットワーク
◦
脳の視覚野の構造を取り入れた多層パーセプトロン
◦
ニューロン間の結合を局所に限定(パラメータ数の大幅な削減)
最初に基本構造が提案されたのは実はかなり昔
◦ネオコグニトロン (福島邦彦先生、1980年代前後) 35
[A. Krizhevsky et al., NIPS’12]
Kunihiko Fukushima, “Neocognitron: A Self-organizing Neural Network Model for a Mechanism of Pattern Recognition Unaffected by Shift in Position“, Biological Cybernetics, 36(4): 93-202, 1980.
36. Nakayama Lab.
Machine Perception Group
The University of Tokyo
局所領域(受容野)の畳み込みとプーリングを繰り返す 多層ネットワーク
◦
段階的にスケールを変えながら、局所的な相関パターンを抽出
◦
プーリングにより、局所的な平行移動不変性を確保
36
Y. LeCun, L. Bottou, Y. Bengio and P. Haffner: Gradient-Based Learning Applied to Document Recognition, Proceedings of the IEEE, 86(11):2278-2324, 1998.
最終的に、識別したいクラス数 と同数のニューロンへ
37. Nakayama Lab.
Machine Perception Group
The University of Tokyo
一般的なフィルタだと…
◦
例)エッジ抽出
識別に有効なフィルタ(カーネル)をデータから学習
◦
係数をチューニング
37
Source: M. Ranzato, CVPR’14 tutorial slides
38. Nakayama Lab.
Machine Perception Group
The University of Tokyo
色の違いは異なる畳み込みフィルタを示す
◦
各フィルタのパラメータは全ての場所で共有 38
※もちろん入力は生画像のみ とは限らない(中間層など)
()θφ−∗=hwr
非線形活性化関数(とても重要)
フィルタの係数
例えば、5x5の畳み込み、 10チャンネルの入力の場合、
5x5x10=250個
入力
バイアス
Source: M. Ranzato, CVPR’14 tutorial slides
39. Nakayama Lab.
Machine Perception Group
The University of Tokyo
一定領域内の畳み込みフィルタの反応をまとめる
◦
領域内での平行移動不変性を獲得 39
Source: M. Ranzato, CVPR’14 tutorial slides
平均値プーリング、 最大値プーリングなど
40. Nakayama Lab.
Machine Perception Group
The University of Tokyo
フリーパラメータが存在するのは畳み込み層、全結合層
◦
大半は全結合層に集中
誤差逆伝播法で最適化
◦
実際には、ミニバッチ法で誤差をある程度まとめてパラメータを更新 (100枚単位など)
初期値はランダムに与える場合が多い
◦
ただし、大量の教師付データが必要 40
LΔ()iiLyx,
訓練サンプル
ixiyˆ
Source: [Smirnov et al., 2014]
41. Nakayama Lab.
Machine Perception Group
The University of Tokyo
層を上るにつれ、クラスの分離性能が上がる 41
第1層
第6層
ILSVRC’12 の validation data
(色は各クラスを示す)
J. Donahue et al., “DeCAF: A Deep Convolutional Activation Feature for Generic Visual Recognition”, In Proc. ICML, 2014.
42. Nakayama Lab.
Machine Perception Group
The University of Tokyo
42
Matthew D. Zeiler and Rob Fergus, “Visualizing and Understanding Convolutional Networks”, In Proc. ECCV, 2014.
43. Nakayama Lab.
Machine Perception Group
The University of Tokyo
43
Matthew D. Zeiler and Rob Fergus, “Visualizing and Understanding Convolutional Networks”, In Proc. ECCV, 2014.
44. Nakayama Lab.
Machine Perception Group
The University of Tokyo
エンコーディング+プーリングの構造自体は同じ(活性化関数が違う)
◦
例えばSIFT-BoVWの場合、4x4の畳み込みと解釈できる
◦
スパースコーディングに代表されるようなアサインメント の工夫は活性化関数の工夫と解釈できる
BoVW
◦線形射影 + 非線形な活性をとる点で全く同じ
◦Coatesらのエンコーディング方法 (2012)
これは, 活性化関数にReLU(後述)を用いた場合の畳み込みに他ならない 44
球面k-meansの場合
エンコーディング:
A.
Coates, A. Ng, “Learning Feature Representations with K-Means”, Neural Networks: Tricks of the Trade, pp.561-580, 2012.
= 01)(ijs
45. Nakayama Lab.
Machine Perception Group
The University of Tokyo
勾配が出やすいように関数の設計を工夫
区分線形関数が良好な性能を示すことが分かってきた 45
シグモイド関数
Rectified linear units (ReLU) [Nair & Hinton, 2010]
Maxout [Goodfellow, 2013] 多数の線形関数のmax (任意の閾値関数を近似)
()x,0max()x−+exp11
サチると勾配が 出ない!
46. Nakayama Lab.
Machine Perception Group
The University of Tokyo
46
[山下隆義先生、MIRU’14 チュートリアルスライドより]
複数のカーネル(畳み込みフィルタ)を束ね、最大値をとる
47. Nakayama Lab.
Machine Perception Group
The University of Tokyo
現在、画像認識において最も性能がよいアーキテクチャ
◦
ILSVRC’14トップのGoogleチームもNINがベース
活性化関数自体を多層パーセプトロンで学習(Maxoutの一般化)
最後に全結合層をおかなくても十分な性能
◦
見た目は複雑だが実はパラメータ数は減っている 47
Maxoutはここで最大値 をとるだけ(固定的)
Min Lin et al., “Network In Network”, arXiv preprint, 2013.
48. Nakayama Lab.
Machine Perception Group
The University of Tokyo
実装上、1x1の畳み込み層を重ねることと等価 (本来の意味で畳み込みではないが)
Deep learning的にはこちらの解釈の方が自然か 48
Min Lin et al., “Network In Network”, arXiv preprint, 2013.
活性化関数はいずれもReLU
http://www.image- net.org/challenges/LSVRC/2014/slides/ILSVRC2014_NUS_release.pdf
49. Nakayama Lab.
Machine Perception Group
The University of Tokyo
Fisher vector、VLAD等は受容野内の特徴の低次多項式表現を 入力とする活性化関数を設計していると解釈できる
◦
これは、普通のConvNetでは得られない構造
比較的小規模な多層ネットワークにより、多項式表現はモデル化可能
◦
Andoni et al., “Learning Polynomials with Neural Networks”, ICML’14.
つまり、NINでは活性化関数自体を多層ネットワークに分解すること により、Fisher vectorやVLADと同じ(あるいはさらに高次の)構造を、 識別の点でより効率よく学習できていると期待できる
◦結局、どこまでを活性化関数と考えるかの問題 49
50. Nakayama Lab.
Machine Perception Group
The University of Tokyo
全結合ネットワーク
◦
極めて多くのパラメータ
◦
最適化が困難
収束まで時間がかかる
そもそもメモリにのらない
MNISTデータセット(28x28ピクセル)のような小さい画像を 用いて古くから研究されているが、今のところConvNetには遠 く及ばない 50
Source: M. Ranzato, CVPR’14 tutorial slides
51. Nakayama Lab.
Machine Perception Group
The University of Tokyo
局所結合ネットワーク
◦
構造はConvNetと同じだが、フィルタの パラメータに場所ごとで異なる
◦
つまり、平行移動不変性がない
入力画像の正確なアラインメントが前提となっている場合、 state-of-the-artの場合もある
◦
DeepFace [Taigman et al., CVPR’14]
一般的な画像認識ではまだConvNetに劣る 51
Source: M. Ranzato, CVPR’14 tutorial slides
52. Nakayama Lab.
Machine Perception Group
The University of Tokyo
局所的な畳み込み + poolingという基本構造は今までの画像認識 (BoVW)と変わらない。
◦
正確には、BoVW系が2000年代に一旦追いつき追い越し、 再び逆転されたと見るべきか
◦
多層化、活性化関数の工夫、結合パラメータの全層最適化
より一般的な全結合・局所結合ネットワークなどはいまひとつ
◦
おそらく構造に不変性がないのがネック
◦
今後の発展に期待(データがもっと増えればよくなる?) 52
深さ
活性化関数
学習
BoVW
1層(デスク リプタは除く)
複雑
(多くは) 生成的
ConvNet
多層
シンプル (ReLU)
識別的
53. Nakayama Lab.
Machine Perception Group
The University of Tokyo
1.Deep learning(深層学習)とは?
2.一般画像認識:Deep learning 以前と以後で何が変わったか
◦
Bag-of-visual-words (VLAD, Fisher Vector)
◦
Convolutional neural network (ConvNets)
3.Deep learningの数理
◦
なぜ優れた性能が実現できるのか?
◦
ブレークスルーを生んだ各要素技術
◦
中山研究室での研究紹介
4.実践するにあたって
◦
適切利用するために必要な知識
◦
汎用ソフトウェア:Caffe
5.最新の動向・今後の展望 53
54. Nakayama Lab.
Machine Perception Group
The University of Tokyo
やっていること自体は本質的に同じ
◦
繰り返しの深さ、活性化関数の性質が異なる 54
SIFT等に相当
(第一畳み込み層)
BoVWに相当(線形射影+非線形活性化関数)
(第二畳み込み層)
構造を深くすることの意味は何だろうか?
55. Nakayama Lab.
Machine Perception Group
The University of Tokyo
ある表現能力を得ようとした場合に…
深いモデルの方が必要なパラメータ数が少なくて済むと考 えられている [Larochelle et al., 2007] [Bengio, 2009] [Delalleau and Bengio, 2011] (※単純なケース以外では完全に証明されていない)
55
(ちゃんと学習 できれば)
汎化性能
計算効率
スケーラビリティ
反論もある: “Do Deep Nets Really Need to be Deep?” [Ba & Caruana, 2014]
56. Nakayama Lab.
Machine Perception Group
The University of Tokyo
Sum-product network [Poon and Domingos, UAI’11]
◦
各ノード(ニューロン)が入力の和か積を出力するネットワーク
同じ多項式関数を表現するために必要なノード数の増加が
◦
浅いネットワークでは指数的
◦
深いネットワークでは線形 56
[Delalleau & Bengio, NIPS’11]
57. Nakayama Lab.
Machine Perception Group
The University of Tokyo
AlexNet (ILSVRC’12)
◦
約6000万
Network in Network (ILSVRC’13)
◦
約750万(全結合層を省略しているので少ない)
Fisher vector (ILSVRC’11)
◦
26万次元 × 1000クラス = 約2億6000万
計算コストは“相対的に軽い”のではないか
◦
同じレベルのパフォーマンスをshallowなアーキテクチャで達成 しようとしたらもっと大変になる(はず) 57
58. Nakayama Lab.
Machine Perception Group
The University of Tokyo
シンプルな活性化関数 を繰り返して少しずつ 非線形性を加える
都度識別的な方向へ 引っ張る(次元削減)
究極の非線形変換 を得たいとして、どのように持っていくか?
◦
膨大な空間の中のほんの一点 58
()xΦ=y
入力 ()xΦ
非線形性の強さ
入力
Shallow
Deep
一度の非線形変換を作り込 み、行けるところまで行く
必ずしも識別的でないが、 広さでカバー
59. Nakayama Lab.
Machine Perception Group
The University of Tokyo
根本的に昔と何かが変わったわけではない(と思う…)
◦
地道に一つ一つ問題を潰していった結果
復習:昔多層パーセプトロンが失敗した主な理由
◦
入力に近い層の学習が遅い (Vanishing gradient)
◦
過学習しやすい (Overfitting) 59
60. Nakayama Lab.
Machine Perception Group
The University of Tokyo
ブレークスルー:個人的に重要と思う順番
◦
0.データの増加、計算機の高速化
◦
1.活性化関数:Rectified linear units (ReLU)の発明
◦
2.過学習回避手法:Dropoutの発明
◦
3.その他、最適化に関する手法の発達
◦
(4.教師なし事前学習手法の発明)
深層学習のトレンドは急速に変化し続けている
◦
もともと、教師なし事前学習手法こそが深層学習が ブレイクしたきっかけであったが… 60
61. Nakayama Lab.
Machine Perception Group
The University of Tokyo
深層学習ブームの火付け役となった成果
◦
Hinton and Salakhutdinov, “Reducing the dimensionality of data with neural networks”, Science, Vol. 313, No. 5786, pp. 504 - 507, 2006.
◦
一層ごとに、restricted Boltzmann machine (RBM)を用いて生成的に初期化
◦
全層通した学習を収束させやすくなる&過学習しにくくなる効果がある?
単純なパーセプトロンでない、さまざまな生成モデルネットワークが提案され、 一時代を築く 61
可視層
隠れ層
() {}1,0,...,1∈ = lTLvvvv() {}1,0,...,1∈ = mTMhhhhvhW
RBM
62. Nakayama Lab.
Machine Perception Group
The University of Tokyo
尤度 を最大とするようにパラメータを 勾配法で学習 CD法(Contrasive Divergence) による近似を用いる
Restricted Boltzmann machine (RBM)
◦
可視層(入力)と隠れ層(圧縮表現)からなる無向二部グラフ 62
可視層
隠れ層
() {}1,0,...,1∈ = lTLvvvv() {}1,0,...,1∈ = mTMhhhhvhW
同時確率分布:
()()() ZEphvhv,exp, − = ()WhvhcvbhvTTTE−−−=,
エネルギー:
()Wcb,,=θ
パラメータ
()()Σ=hhvv,pp
63. Nakayama Lab.
Machine Perception Group
The University of Tokyo
Autoencoder
◦
入力を復元する二層のニューラルネット
◦
隠れ層のニューロン数は入力層より少ない
◦
正則化が重要(Sparse AE, Denoising AE, etc.) 63
入力層
隠れ層
出力層(復元) xzy()bWxz+=f()bzWy′+′=f
Encoder:
Decoder: TWW=′
とすることが多い (tied weights)
64. Nakayama Lab.
Machine Perception Group
The University of Tokyo
9層のautoencoder
1000万枚のYouTube画像から教師なし事前学習
これを初期状態として識別的学習を始める ことで識別精度向上
64
Le et al., “Building High-level Features Using Large Scale Unsupervised Learning”, ICML’12.
人の顔に特異的に反応するニューロンが
自動的に獲得された (他、猫なども) ≒“おばあちゃんニューロン”?
65. Nakayama Lab.
Machine Perception Group
The University of Tokyo
しかしながら…
最近ではほとんど用いられていない
理由:
◦
Dropoutのようなすぐれた正則化方法がその後登場した
◦
教師付データが十分あれば、ランダムな初期値から十分学習可能
(現在でも、教師付データが少ない場合はある程度有効とされる)
現在は、より古典的な多層パーセプトロンへ回帰しつつある 65
66. Nakayama Lab.
Machine Perception Group
The University of Tokyo
ブレークスルー:個人的に重要と思う順番
◦
0.データの増加、計算機の高速化
◦
1.活性化関数:Rectified linear units (ReLU)の発明
◦
2.過学習回避手法:Dropoutの発明
◦
3.その他、最適化に関する手法の発達
◦
(4.教師なし事前学習手法の発明) 66
67. Nakayama Lab.
Machine Perception Group
The University of Tokyo
ちなみに、GoogLeNet (ILSVRC’14のwinner)の人は、 昔との本質的な違いはReLUだけだと断言していました 67
シグモイド関数 ()x,0max()x−+exp11
サチると勾配が 出ない!
Rectified linear units (ReLU)
[Nair & Hinton, 2010]
()()ioldiTo ldiioldnewfyyxxwwwθη−′−+=ˆ
(プラスなら)どこでも 一定の勾配
例)単純パーセプトロン の更新式
68. Nakayama Lab.
Machine Perception Group
The University of Tokyo
各訓練データ(バッチ)のフィードバックの際に、 一定確率(0.5)で中間ニューロンを無視
認識時は全ニューロンを使うが、結合重みを半分にする
多数のネットワークを混ぜた構造
◦
訓練データが各ニューロンで異なるため、 バギングと同様の効果 (ただしパラメータは共有)
L2正則化と等価
◦
[Wager et al., NIPS’13]
以前と比較して大幅な精度向上
◦
ほぼ必須のテクニック 68
LΔ()iiLyx,
69. Nakayama Lab.
Machine Perception Group
The University of Tokyo
Drop connect [Wan et al., ICML’13]
◦
ニューロンではなく、結合をランダムに落とす
◦
Dropoutよりよいらしい
Adaptive dropout [Ba et al., NIPS’13]
◦
Dropoutで落とすニューロンをランダムでなく適応的に選択する 69
70. Nakayama Lab.
Machine Perception Group
The University of Tokyo
データの前処理(実はかなり重要)
◦
ZCA whitening (白色化) コントラスト正規化など
◦
最終的な識別性能に大きく影響する
深層学習のまだ美しくないところその1
Data augmentation
◦アフィン変換、クロップなど、人工的に さまざまな変換を学習データに加える
◦不変性を学習させる
深層学習のまだ美しくないところその2
70
[Zeiler and Fergus, 2013]
[Dosovitskiy et al., 2014]
71. Nakayama Lab.
Machine Perception Group
The University of Tokyo
実際に学習を実行するのは非常に困難
◦
設定すべきハイパーパラメータが極めて多い!
Y. Bengio (2012), “Practical recommendations for Gradient-based training of deep architectures”
◦
学習率のスケジューリング、early stopping
◦
ミニバッチサイズ
◦
ドロップアウトのパラメータ
◦
パラメータ初期化方法
◦
隠れ層のニューロン数
◦
L1/L2 weight decay
◦
Sparsity regularization
…などなど
最初は、オープンソフトウェアのチュートリアルに従うのが無難(後述) 71
72. Nakayama Lab.
Machine Perception Group
The University of Tokyo
シンプルな活性化関数 を繰り返して少しずつ 非線形性を加える
都度識別的な方向へ 引っ張る(次元削減)
究極の非線形変換 を得たいとして、どのように持っていくか?
◦
膨大な空間の中のほんの一点 72
()xΦ=y
入力 ()xΦ
非線形性の強さ
入力
Shallow
Deep
一度の非線形変換を作り込 み、行けるところまで行く
必ずしも識別的でないが、 広さでカバー
73. Nakayama Lab.
Machine Perception Group
The University of Tokyo
ある程度広さを確保しながら 非線形変換を加える
層ごとに識別的な次元削減を 行う
任意の活性化関数を利用可能
73
入力 ()xΦ
非線形性の強さ
Intermediate?
メリット
BPがいらないので学習コストが軽い
確立された技術を組み合わせることが できるため見通しが立てやすい
比較的少数のサンプルから学習可能
74. Nakayama Lab.
Machine Perception Group
The University of Tokyo
従来から画像認識分野で経験的に用いられて来た
Hyperfeatures [Agarwal et al., ECCV’06]
◦BoVWを階層的に抽出
Deep Fisher Network [Simonyan et al., NIPS’13]
Deep Sparse Coding [He et al., SDM’14] 74
75. Nakayama Lab.
Machine Perception Group
The University of Tokyo
75
フィッシャー重みマップ (空間構造の制約を 加えた線形判別分析)
識別的解析解を用いたlayer-wiseな 畳み込みニューラルネットワーク [Nakayama, BMVC’13]
先行研究に匹敵する性能
◦
特にデータが学習データ少ない場合
Fine-tuningも可能(これから)
76. Nakayama Lab.
Machine Perception Group
The University of Tokyo
1.Deep learning(深層学習)とは?
2.一般画像認識:Deep learning 以前と以後で何が変わったか
◦
Bag-of-visual-words (VLAD, Fisher Vector)
◦
Convolutional neural network (ConvNets)
3.Deep learningの数理
◦
なぜ優れた性能が実現できるのか?
◦
ブレークスルーを生んだ各要素技術
◦
中山研究室での研究紹介
4.実践するにあたって
◦
適切利用するために必要な知識
◦
汎用ソフトウェア:Caffe
5.最新の動向・今後の展望 76
77. Nakayama Lab.
Machine Perception Group
The University of Tokyo
自分の問題について、どのようにdeep learningを使う べきか?
◦
十分な効果を得るには、かなり多くの教師付データが必要
◦
必ずしもフルスクラッチから学習することが賢いとは限らない
そもそもdeep learningを利用できる問題か? 77
78. Nakayama Lab.
Machine Perception Group
The University of Tokyo
あらかじめ汎用性の高い大規模教師付データセットでネット ワークを学習しておき、これを初期値としてターゲットタスク の学習データでさらに細かい学習を進める(=Fine-tuning) (Unsupervised pre-trainingとは違う概念であることに注意)
例えば… 78
ImageNet ILSVRC’12 130万枚、1000クラス
PASCAL VOC 2007
5千枚、20クラス
79. Nakayama Lab.
Machine Perception Group
The University of Tokyo
79
Pre-trained network
出力層だけ
つけかえ
適用先 データセット LΔ()iiLyx,
80. Nakayama Lab.
Machine Perception Group
The University of Tokyo
Pre-trainedネットワークを特徴抽出器として用いる
◦
中間層の出力を利用して識別器を構築
最終層だけfine-tuningしているとも解釈できる 80
Pre-trained network
ロジスティック回帰,
SVM,etc.
81. Nakayama Lab.
Machine Perception Group
The University of Tokyo
ILSVRC 2012 → VOC 2007 の例 (検出成功率、mAP%)
◦
フルスクラッチConvNet: 40.7
◦
Pre-trained feature: 45.5
◦
Fine tuning: 54.1 81
Agrawal et al., “Analyzing the Performance of Multilayer Neural
Networks for Object Recognition”, In Proc. ECCV, 2014.
ImageNet ILSVRC’12 130万枚、1000クラス
PASCAL VOC 2007
5千枚、20クラス
82. Nakayama Lab.
Machine Perception Group
The University of Tokyo
Pre-trainingに用いる外部データセットが、所望のタス クを内包するものでなければ効果が薄い(むしろ悪化)
◦
ImageNetはあくまで物体認識のデータセット
参考:Fine-grained competition 2013 82
https://sites.google.com/site/fgcomp2013/
Fisher vector
ConvNet
(fine- tuning)
飛行機、車、靴データセットなど、ImageNet上にあまりデータが 存在しないドメインに関してはターゲットの学習データのみ用いた Fisher vectorの方が良かった
83. Nakayama Lab.
Machine Perception Group
The University of Tokyo
83
教師付データが十分あるか?
(少なくとも数万サンプル)
ImageNetに含まれそうなタスクか?
Yes
No
No
Yes
教師なし事前学習
Stackingによる深層モデル
あきらめてshallow learning
フルスクラッチCNN
◦
ランダムに初期化
Pre-trained feature (一番簡単)
Fine tuning
84. Nakayama Lab.
Machine Perception Group
The University of Tokyo
ハードウェア
◦
学習にはGPU計算機が必要 (CUDAを利用)
◦
ビデオメモリの容量がボトルネックになる場合が多い
メインメモリとの通信は遅い
ネットワークのパラメータはもちろん、できるだけ多くの学習サンプル をビデオメモリに積みたい
Titan Black (約15万円)
◦
コストパフォーマンス的にお薦め
◦
当研究室では、これを積んだPCが6台ほど
Tesla K20 (約40万円), K40 (約80万円)
◦
より信頼性が高い 84
85. Nakayama Lab.
Machine Perception Group
The University of Tokyo
2012年頃から、著名な研究チームによる主導権争い
◦
Caffe/Decaf: UC Berkeley
◦
Theano/Pylearn2: Univ. Montreal
◦
Torch7: Univ. New York
◦
Cuda-convnet2: Univ. Toronto (Alex Krizhevsky)
いずれも、複数の便利な環境を提供
◦
C++, Python, Matlabインタフェース
◦
CPUとGPUの切り替えによる開発効率化
◦
ネットワークパラメータの設定・探索フレームワーク
◦
Pre-trainedモデル
◦
自分で誤差逆伝播アルゴリズムなどを実装する必要は基本的に ないはず(よほど先端的な研究をしない限り…) 85
86. Nakayama Lab.
Machine Perception Group
The University of Tokyo
頭一つ抜けた印象(個人的な感想ですが)
◦
トップクラスに高速
◦
オープンソースコミュニティとして確立しつつある
多くの研究者が既に自分の研究に利用
◦
Oxford visual geometry group など
Model Zoo
◦
各研究者の学習済みネットワークを共有
◦
AlexNetはもちろん、Oxford model, Network-in-network モデルなども
◦
最新の成果を極めて容易に試せる
NVIDIAの手厚いサポート
◦
cuDNNのいち早い実装 86
87. Nakayama Lab.
Machine Perception Group
The University of Tokyo
Webドキュメントが充実 http://caffe.berkeleyvision.org/
◦
ImageNet等の結果を再現可能
◦
IPython notebookによる コード実例多数
ECCV 2014でのチュートリアル
◦http://tutorial.caffe.berkeleyvision.org/ 87
88. Nakayama Lab.
Machine Perception Group
The University of Tokyo
88
ECCV’14 チュートリアルスライド「DIY Deep Learning for Vision: a Hands-On Tutorial with Caffe」より引用
89. Nakayama Lab.
Machine Perception Group
The University of Tokyo
89
ECCV’14 チュートリアルスライド「DIY Deep Learning for Vision: a Hands-On Tutorial with Caffe」より引用
90. Nakayama Lab.
Machine Perception Group
The University of Tokyo
90
ECCV’14 チュートリアルスライド「DIY Deep Learning for Vision: a Hands-On Tutorial with Caffe」より引用
91. Nakayama Lab.
Machine Perception Group
The University of Tokyo
91
ECCV’14 チュートリアルスライド「DIY Deep Learning for Vision: a Hands-On Tutorial with Caffe」より引用
92. Nakayama Lab.
Machine Perception Group
The University of Tokyo
92
ECCV’14 チュートリアルスライド「DIY Deep Learning for Vision: a Hands-On Tutorial with Caffe」より引用
93. Nakayama Lab.
Machine Perception Group
The University of Tokyo
1.Deep learning(深層学習)とは?
2.一般画像認識:Deep learning 以前と以後で何が変わったか
◦
Bag-of-visual-words (VLAD, Fisher Vector)
◦
Convolutional neural network (ConvNets)
3.Deep learningの数理
◦
なぜ優れた性能が実現できるのか?
◦
ブレークスルーを生んだ各要素技術
◦
中山研究室での研究紹介
4.実践するにあたって
◦
適切利用するために必要な知識
◦
汎用ソフトウェア:Caffe
5.最新の動向・今後の展望 93
94. Nakayama Lab.
Machine Perception Group
The University of Tokyo
2012年のブレークスルー以降も、毎年識別性能が倍に…
◦
まだ頭打ちの気配が見えない
◦
ネットワークを深く、大きく すればするほど性能向上
2014年
◦優勝チーム(Google)は
1000クラス識別タスクでの誤識別率が6.8%
人間2人に同じタスクを試させたところ、それぞれ約5.1%、12.0%であった
既に人間なみ?
◦良かったチーム
Google, Oxford, NUS
◦Network-in-networkで、とにかく深く大きくしたところが勝った
◦多数のモデルのアンサンブル
94
http://www.image- net.org/challenges/LSVRC/2014/slides/ILSVRC2014_09_12_14_det.pdf
95. Nakayama Lab.
Machine Perception Group
The University of Tokyo
95
Zeiler-Fergus Architecture
(AlexNetとほぼ同じ)
Convolution
Pooling
Softmax
Other
http://www.image-net.org/challenges/LSVRC/2014/slides/GoogLeNet.pptx
96. Nakayama Lab.
Machine Perception Group
The University of Tokyo
DistBeliefと呼ばれるGoogle独自の並列分散フレームワークで学習
◦
CPUベース
◦
メモリの心配をしなくてよいのが大きい? 96
Zeiler-Fergus Architecture
(AlexNetとほぼ同じ)
Convolution
Pooling
Softmax
Other
http://www.image-net.org/challenges/LSVRC/2014/slides/GoogLeNet.pptx
GoogLeNet (22層)
97. Nakayama Lab.
Machine Perception Group
The University of Tokyo
R-CNN [Girshick et al., CVPR’2014]
◦
物体の領域候補を多数抽出(これ自体は別手法)
◦
無理やり領域を正規化し、CNNで特徴抽出 (領域用のCNNをfine-tuning)
◦
SVMで各領域を識別 97
R-CNNもCaffeと同じチームが開発・提供
(比較的簡単に試せます)
98. Nakayama Lab.
Machine Perception Group
The University of Tokyo
98
ランダムに選んだテスト画像の認識結果 (いいところだけ見せているのではない!)
Girshick et al., “Rich feature hierarchies for accurate object detection and semantic segmentation”, In arXiv, 2014.
99. Nakayama Lab.
Machine Perception Group
The University of Tokyo
基本構造はR-CNNと同じで、CNN部分をGoogLeNetに置き換え
検出率(mAP)
◦ILSVRC 2013 winner: 22.6%
◦R-CNN: 31.4%
◦GoogLeNet: 43.9% 99
100. Nakayama Lab.
Machine Perception Group
The University of Tokyo
ConvNetの深層化、巨大化による性能向上はまだまだ続きそう
◦
一般的には、GPUのビデオメモリがボトルネック
◦
データが少ない領域(映像、3次元物体認識等)では発展途上 (最近は急速にデータが増えつつあるが)
しかしながら、依然としてConvNetの構造に依存している
◦
全結合ネットワークなどは今後成功するか?
◦
真の意味でブラックボックスになるか?
より汎用的な人工知能へ近づくことはできるか?
◦
深い意味構造の理解、記憶、思考、計画、創造… 100