Marc Ranzato Lecture 的一些重點

by allenlu2007

Google Deep Learning, Marc Ranzato, NYU (PhD with LeCun) 和 Toronto (postdoc with Hinton) 都待過,目前在 Google。他是義大利人,不過英文通暢。他的 slide 最合我胃口,由淺入深。E.g. CVPR 2013 slide,不像有一些 deep learning or machine learning 學者,一下就跳的很深。同時他對 probabilistic (graph model) 也非常熟,和 deep learning 可以做深入比較。另外他談到很多 practical 問題,非常有用!   非常推薦 watch his video.

Video: http://techtalks.tv/talks/large-scale-visual-recognition-part-vi/58589/ 

他在 CVPR 2013 的 lecture 的一些重點

 

Why Image Recognition (and Speech Recognition) is Nonlinear 

一張圖就可以說明。對於 image recognition 的問題,因為 pose, expression, occlusion, etc. 即使用 high dimension (100 pixel x 100 pixel + RGB ~ 10^5 dimension) 也不是 linear separable!!  

可以把 image detection 想成有很多 hidden dimension 在其中 (類似 string theory 🙂 的 manifold.   也因此需要 neural net (intrinsic nonlinear) + multi-layer (deep) 結合在一起才能提供類似的 complexity.  如果只是 deep 但沒有 nonlinearity 也是無解,因為 image recognition 並非 separable!! 

注意並非所有 machine learning 問題都是 nonlinear + deep.  有一些問題可能是 nonlinear but shallow 如 spam detection (logistic regression, wrong!  logistic regression is linear classifier, 意即有 hyperplane 可以分開不同 class.  一般的 SVM 也是 linear SVM.  Nonlinear SVM 就是 kernel method).  有一些問題可能是 deep but linear 如 Kalman filter or linear dynamic system (HMM).  即使 image 的問題也不是全都 nonlinear + deep.  例如 image segmentation (非 detection) 可能就是 deep + linear 就 ok (HMM+GMM).    

BTW, 對於 high dimension image detection 很有經驗的人,可能適合作 string theory 或 high dimension (10-30 dimension) 宇宙論。因為對於 high dimension 比較有 physical intuition!  一般人對於 3D or 4D 以上,大概只能靠數學。Machine learning 對別是 image 相關的 researcher, 對於 high dimension (> 10^4) 的直覺應該很強。

同樣的 speech recognition 也是 nonlinear + deep 才能比較好解決。因為不同人的 accent, tone, pause, harmonics, 都不同也是 highly nonlinear.  

但不是所有 speech 問題都是如此,例如只是分辨,甚至分離, 男聲 女聲 童聲,就是很簡單 (shallow+linear separable) 的 machine learning.  或是分辨分離中文英文法文 speech, 也可以用 shallow + linear 或是 shallow + nonlinear machine learning 來解決。

NewImage

 

Princeton Strogatz 一個  lecture (MAE5790-1 Nonlinear dynamics in YouTube) 把世上問題分為 linear / nonlinear;  low dimension / high dimension

Linear + low dimension –> We can pretty much solve or compute solution for almost all questions

Linear + (very high) high dimension  –> statistical mechanics , or wave equation.  We can solve or compute some question

Nonlinear + low dimension –> We can solve very few special case.  We may be able to know something from the phaser diagram or phase space.  We cannot even compute (using computer) the solution for most cases!! because of the chaotic behavior (n>=3) from initial condition variation.  蝴蝶效應。

Nonlinear + high dimension, i.e. complex system –>  People know very little !!!!

==> 也許最後一類問題 (nonlinear + high dimension) 小的 subset (image detection, speech recognition, etc.), 我們不能解或 compute.  BUT we can learn from the outcomes (samples).  

傳統解問題是給 initial condition 或 assumption, 我們可以解或 compute 最後結果 logically (and accurately, 就算是機率也可以算出機率多少)!  意即我們知道或掌握中間至最終所有的邏輯和過程,也就是演繹法 (deduction).  

Deep learning 提供另一類的觀點,比較接近一般人或大腦運作方式。藉著很多的 samples (picture or voice), 我們可以學習辨認人臉,聲音…  還是可能會認錯 face 或聽錯 voice. 但經驗愈多 (sample 多) 錯誤愈低。但不會是 0.  因為我們無法完全知道或掌握中間至最終的 details.  這是歸納法 (induction), 也是科學的一種。也許對於 nonlinear + high dimension 的某一類問題 (e.g. image recognition),這是相對可行的做法。

 

What’s the Difference Between Deep and Shallow

Again, Ranzato 下面兩張圖清楚解釋 shallow (nonlinear) 和 deep (nonlinear) 的差別。

Shallow structure 基本上是 feature 的 linear combination (flat structure, 或是 no hidden layer or 1 hidden layer?).

1-hidden layer 多半只是把 high dimension 轉到 low dimension?  (like pooling??)

好處是簡單,combine 不同的 feature extraction (or expert module) 很容易 (sum)。壞處也是簡單 not scalable, 只能處理 linear scale 問題。

Deep structure 基本上是 feature 的 composition (複雜的問題很容易 > 10 layers).  換言之是建立 feature hierarchy (hierarchy structure).

好處是 efficient (exponential instead of linear) and scalable.  壞處是如何 (1) organize multi-layer?  (2) train (or learn) 這樣的架構?  (3) 如何確定收歛到 optimal?   (1) Convolution network;  (2) Back propagation; (3) 有可能收歙到 local minimum/maximum.   

 

NewImage  

NewImage

 

以 image recognition 這類複雜的工作來說。Deep (composition) 顯然優於 Shallow (linear combination).

NewImage

NewImage

 

 

Why Go Deep

* We need non-linear + deep system for complex problem like image recognition

* We need to learn it from data

* Build feature hierarchies (function composition) by learning, not by man made feature extrator

* End-to-end learning (both feature extraction and classifier)

 

What’s the Relationship Between Deep Learning (DL) and Probabilistic Graph Model (PGM)

應該說 What’s the relationship between neural net and probabilistic model?

Neural network 觀念上是 deterministic optimization.  在 learning 時計算 sample forward vector and backward error propagation vector, 再 feed 到 optimizer 計算最佳的 weights.  在 testing 時根據 optimized weight and forward vector 來作 classification.  這和一般的 logistic regression (其實 logistic regression 也用在neural network) 或 SVM 並無不同。最多可說在 testing 時的 classification 有 probability 的觀念 (error probability).  

Probability model 觀念上則是所有 information 和問題 (prior knowledge, inference, learning, new information) 都是 probability.  不管是 learning or testing (inference).  對於 Bayesian 來說,(i) Learning 也是一種 inference (見 Rowies’s talk?); (ii) 另一個好處是 prior knowledge (or prior distribution) 可以自然融入這個 model 中; (iii) 另一個非常大好處是新的 information 很容易加入原來的 graph model 而不需要 redesign (how?)

Probabilistic model 在理論上很漂亮,特別在結合 graph model 之後的 factor graph 可以大幅簡化 computation, 能解決一些非常複雜但實用的問題,例如 disease diagnose, weather forecast, speech recognition, word prediction, expert system, etc.  更簡化的 graph 像是 HMM, junction tree 都是其中的 subset 也有廣泛的應用。   

Probabilistic model 在實務上的問題是如何建立 probability model. 特別 from scratch 建立所有 probability model 以及 prior probability 本身就是大工程。我覺得 PGM 可能比較適合的應用是已經有很多 prior information 的應用。例如先用 neural net 或其他 machine learning 方式先建立 information and model, 之後再用 PGM build 更大的系統。舉例而言,for bilingual speaker (中英文) 可以用 deep learning 分別建立中文和英文 neural net model.  最後再用 PGM 結合兩個 neural net)

相比之下,Neural network (regardless shallow or deep) 就是 start from scratch.  先用 golden samples 做 supervised learning, 包含 forward and backward propagation, 再 feed 進 optimizer 算出 weights.  在 test phase 就直接使用 weight 做 classification (或 compute probability based on 最後的 partition function).  


In summary:  Neural net: deterministic optimization problem;  probabilistic model: probability (joint, conditional) problem.   但兩者的數學有很多非常相似。


再回到原始問題:  DL and PGM 有什麼關係?  DL 就是 multi-layer + neural net.  PGM 也可說是 factor graph + probabilistic model.  其實就是從 shallow 變 deep.  Multi-layer 其實是 DAG (directed acyclic graph) 的特例。DL in general 可以用 DAG 而不限於普通的 multi-layer structure.   

 

 

常用 Machine Learning Method 分類

Ranzato 的分類如下:  Shallow vs. Deep and Neural Net vs. Probabilistic Models (PM).  有幾點 comment:

* SVM 和 kernel method 都是 shallow.  不屬於 neural net 或 probabilistic models.

* RBM (Restricted Boltzmann Machine):  Shallow, both neural net and PM 

* DBN (Deep Belief Net): Deep, both neural net and PM

NewImage 

 

另一種分類把 supervised vs. unsupervised 也加上來:

* Neural Net (DL) 是 deep and supervised.

* Deep Belief Net 是 deep and unsupervised and neural net and PM (是最難的嗎?) 

NewImage

 

3 個 dimension 合在一起 (Neural net vs. PM; Shallow vs. Deep; Supervised vs. Unsupervised) 如下。

最難的是 DBN, BM, DBM?  (Deep, Unsupervised, both NN/PM)

最簡單的是 SVM and Boosting?  (Shallow, Supervised, and non NN/PM)

NewImage

Combine Neural net and PGF

Feature identification, feature scoring, feature correlation, 

Feature speech, linguistic therapy, voice identification

 

Advertisements