科學(xué)網(wǎng)—13-Representation Learning-A Review and New Perspectives筆記 - 朱偉的博文
此文又是Bengio大神的綜述,2013年,內(nèi)容更新,與09年那篇綜述側(cè)重點(diǎn)稍有不同,同樣,需要完全讀懂需要很好的基礎(chǔ)和時間,反正我是很多地方懵懵懂懂,姑且將自己的翻譯和摘取貼出來大家互相交流,如有不對的地方歡迎指正。
1. Introduction
2. Why should we care about learning representation?
Although depth is an important part of the story, many other priors are interesting and can be conveniently captured by a learner when the learning problem is cast as one of learning a representation.
接下來幾個領(lǐng)域的應(yīng)用:
Speech Recognition and Signal Processing
Object Recognition
MNIST最近的記錄:
Ciresan et al. (2012) 0.27%
Rifai et al. (2011c) 0.81%
ImageNet:Krizhevsky et al.(2012) 15.3%
Natural Language Processing
Multi-Task and Transfer Learning, Domain Adaptation
3. What makes a representation good?
3.1 Priors for representation learning in AI
a. Smoothness
b. Multiple explanatory factors: 數(shù)據(jù)形成的分布是由一些隱含factors生成的
c. A hierarchical organization of explanatory factors:變量的層次結(jié)構(gòu)
d. Semi-supervised learning
e. Shared factors across tasks
f. Manifolds:流形學(xué)習(xí),主要用于AE的研究
g. Natural clustering
h. Temporal and spatial coherence
i. Sparsity
這些priors都可以用來幫助learner學(xué)習(xí)representation。
3.2 Smoothness and the Curse of Dimensionality
機(jī)器學(xué)習(xí)局部非參數(shù)學(xué)習(xí)例如核函數(shù),它們只能獲取局部泛化,假設(shè)目標(biāo)函數(shù)是足夠平滑的,但這不足以解決維度災(zāi)難。這些叫smoothness based learner和線性模型仍然可以用在這些學(xué)習(xí)到的表示的頂層。實(shí)際上,學(xué)習(xí)一個表示和核函數(shù)等同于學(xué)習(xí)一個核。
3.3 Distributed representations
一個one-hot表示,例如傳統(tǒng)的聚類算法、高斯混合模型、最近鄰算法、高斯SVM等的結(jié)果都需要O(N)個參數(shù)來區(qū)分O(N)個輸入?yún)^(qū)域。但是像RBM、sparse coding、auto-encoder或者多層神經(jīng)網(wǎng)絡(luò)可以用O(N)個參數(shù)表示

個輸入?yún)^(qū)域。它們就是分布式表示。
3.4 Depth and abstraction
深度帶來了兩個明顯的提高:促進(jìn)特征的重復(fù)利用、潛在的獲取更抽象的高層特征。
- re-use:
深度回路的一個重要性質(zhì)是path的數(shù)量,它會相對于深度呈指數(shù)級增長。我們可以改變每個節(jié)點(diǎn)的定義來改變回路的深度。典型的計算包括:weighted,sum, product, artificial neuron model,computation of a kernel, or logic gates. - Abstraction and invariance
更抽象的概念可以依靠less抽象的概念構(gòu)造。例如在CNN中,通過pooling來構(gòu)造這種抽象,更抽象的概念一般是對于大部分輸入的局部變化具有不變性。
3.5 Disentangle factors of variation
最魯棒的特征學(xué)習(xí)是盡可能多的解決factors,拋棄盡可能少的信息,類似降維。
3.6 What are good criteria for learning representations?
在分類中,目標(biāo)很明顯就是最小化錯誤分類,但是表示學(xué)習(xí)不一樣,這是一個值得思考的問題。
4. Building deep representations
06年在特征學(xué)習(xí)方面有一個突破,中心思想就是貪婪單層非監(jiān)督預(yù)訓(xùn)練,學(xué)習(xí)層次化的特征,每次一層,用非監(jiān)督學(xué)習(xí)來學(xué)習(xí)組合之前學(xué)習(xí)的transformation。
單層訓(xùn)練模式也可以用于監(jiān)督訓(xùn)練,雖然效果不如非監(jiān)督訓(xùn)練,但比沒有預(yù)訓(xùn)練要好。
下面幾種方法組合單層網(wǎng)絡(luò)來構(gòu)成監(jiān)督模型:
層疊RBM形成DBN,但是怎么去估計最大似然來優(yōu)化生產(chǎn)模型目前還不是很清楚,一種選擇是wake-sleep算法。
另一種方法是結(jié)合RBM參數(shù)到DBM中,基本上就是減半。
還有一種方法是層疊RBM或者AE形成深層自編碼器,
另一種方法訓(xùn)練深層結(jié)構(gòu)是iterative construction of a free energy function
5. Single-layer learning modules
在特征學(xué)習(xí)方面,有兩條主線:一個根源于PGM,一個根源于NN。根本上這兩個的區(qū)別在于每一層是描述為PGM還是computational graph,簡單的說,就是隱層節(jié)點(diǎn)便是latent random variables還是computational nodes。RBM是在PGM這一邊,AE在NN這一邊。在RBM中,用score matching訓(xùn)練模型本質(zhì)上與AE的規(guī)則化重建目標(biāo)是想通的。
PCA三種解釋:
a. 與PM相關(guān),例如probabilistic PCA、factor analysis和傳統(tǒng)的多元變量高斯分布。
b. 它本質(zhì)上和線性AE相同
c. 它可以看成是線性流形學(xué)習(xí)的一種形式
但是線性特征的表達(dá)能力有限,他不能層疊老獲取更抽象的表示,因?yàn)榻M合線性操作最后還是產(chǎn)生線性操作。
6. Probabilistic Models
Learning is conceived in term of estimating a set of model parameters that (locally) maximizes the likelihood of the training data with respect to the distribution over these latent variables.
6.1 Directed Graphical Models
6.1.1 Explaining away
一個事件先驗(yàn)獨(dú)立的因素在給出了觀察后變得不獨(dú)立了,這樣即使h是離散的,后驗(yàn)概率P(h|x)也變的intractable。
6.1.2 Probabilistic interpretation of PCA
6.1.3 Sparse coding
稀疏編碼和PCA的區(qū)別在于包含一個懲罰來保證稀疏性。
Laplace分布(等同于L1懲罰)產(chǎn)生稀疏表示。與RBM和AE比較,稀疏編碼中的推理包含了一個內(nèi)在循環(huán)的優(yōu)化也就增加了計算復(fù)雜度,稀疏編碼中的編碼對每一個樣本是一個free variable,在那種意義上潛在的編碼器是非參數(shù)的。
6.2 Undirected Graphical Models
無向圖模型,也叫馬爾科夫隨機(jī)場(MRF),一種特殊形式叫BM,其能力方程:

6.2.1 RBM
6.3 Generalization of the RBM to real-valued data
最簡單的方法是Gaussian RBM,但是Ranzato2010給出了更好的方法來model自然圖像,叫做mean and covariance RBM(mcRBM),這是covariance RBM和GRBM的結(jié)合。還介紹了mPoT模型。Courville2011提出了ssRBM在CIFAR-10上取得了很好的表現(xiàn)。
這三個模型都用來model real-valued data,隱層單元不僅編碼了數(shù)據(jù)的conditional mean,還是conditional covariance。不同于訓(xùn)練方法,這幾個的區(qū)別在于怎么encode conditional covariance。
6.4 RBM parameter estimation
6.4.1 Contrastive Divergence
6.4.2 Stochastic Maximum Likelihood(SML/PCD)
在每一步梯度更新時,不像CD算法中positive phase中g(shù)ibbs sampling每次都更新,而是用前一次更新過的狀態(tài)。但是當(dāng)權(quán)值變大,估計的分布就有更多的峰值,gibbs chain就需要很長的時間mix。Tieleman2009提出一種fast-weight PCD(FPCD)算法用來解決這個問題。
6.4.3 seudolikelihood,Ratio-matching and other Inductive Principles
Marlin2010比較了CD和SML。
7. Direct Encoding: Learning a Parametric Map from Input to Representation
7.1 Auto-Encoders
特征提取函數(shù)和重構(gòu)誤差函數(shù)根據(jù)應(yīng)用領(lǐng)域不同而不同。對于無界的輸入,用線性解碼器和平方重構(gòu)誤差。對于[0,1]之間的輸入,使用sigmoid函數(shù)。如果是二值輸入,可以用binary cross-entropy誤差。
binary cross-entropy:

線性編碼和解碼得到類似于PCA的subspace,當(dāng)使用sigmoid非線性編碼器的時候也一樣,但是權(quán)值如果是tied就不同了。
如果編碼器和解碼器都使用sigmoid非線性函數(shù),那么他得到類似binary RBM的特征。一個不同點(diǎn)在于RBM用一個單一的矩陣而AE在編碼和解碼使用不同的權(quán)值矩陣。在實(shí)際中AE的優(yōu)勢在于它定義了一個簡單的tractable優(yōu)化目標(biāo)函數(shù),可以用來監(jiān)視進(jìn)程。
7.2 Regularized Auto-encoders
傳統(tǒng)的AE就像PCA一樣,作為一種數(shù)據(jù)降維的方法,因此用的是bottleneck。而RBM和sparse coding傾向于over-complete表示,這可能導(dǎo)致AE太簡單(直接復(fù)制輸入到特征)。這就需要regularization,可以把它看成讓表示對輸入的變化不太敏感。
7.2.1 Sparse Auto-encoders

7.2.2 Denoising Auto-encoders
Vincent2010中考慮了對灰度圖加入等向高斯噪聲、椒鹽噪聲。
7.2.3 Contractive Auto-encoders
Refai2011提出了CAE與DAE動機(jī)一樣,也是要學(xué)習(xí)魯棒的特征,通過加入一個analytic contractive penalty term。
令Jacobian matrix




三個與DAE不同的地方,也有緊密的聯(lián)系,有小部分噪聲的DAE可以看做是一種CAE,當(dāng)懲罰項(xiàng)在全體重構(gòu)誤差上而不僅僅是encoder上。另外Refai又提出了CAE+H,加入了第三項(xiàng)使得



注意CAE學(xué)習(xí)到的表示傾向于飽和而不是稀疏,也就是說大部分隱層單元靠近極值,它們的導(dǎo)數(shù)也很小。不飽和的單元很少,對輸入敏感,與權(quán)值一起構(gòu)成一組基表示樣本的局部變化。在CAE中,權(quán)值矩陣是tied。
7.2.4 Predictive Sparse Decomposition(PSD)
(Kavukcuoglu et al., 2008)提出了sparse coding和autoencoder的變種,叫PSD。
PSD是sparse coding和AE的一個變種,目標(biāo)函數(shù)為:

PSD可以看做是sparse coding的近似,只是多了一個約束,可以將稀疏編碼近似為一個參數(shù)化的編碼器。
8.Representation Learning As Manifold Learning
PCA就是一種線性流形算法。
8.1 Learning a parametric mapping based on a neighborhood graph
8.2 Learning a non-linear manifold through a coding scheme
8.3 Leveraging the modeled tangent spaces
9. Connections between probabilistic and direct encoding models
標(biāo)準(zhǔn)的概率模型框架講訓(xùn)練準(zhǔn)則分解為兩個:


。
9.1 PSD:a probabilistic interpretation
PSD是一個介于概率模型和直接編碼方法的表示學(xué)習(xí)算法。RBM因?yàn)樵陔[層單元連接的限制,也是一個交叉。但是DBM中就沒有這些性質(zhì)。
9.2 Regularized Auto-encoder Capture Local Statistics of the Density
規(guī)則化的AE訓(xùn)練準(zhǔn)則不同于標(biāo)準(zhǔn)的似然估計因?yàn)樗麄冃枰环Nprior,因此他們是data-dependent。
(Vincent2011) A connection between score matching and denoising autoencoders
Bengio2012_Implicit density estimation by local moment matching to sample from auto- encoders
(Refai2012)_A generative process for sampling contractive auto-encoders
規(guī)則項(xiàng)需要學(xué)習(xí)到的表示盡可能的對輸入不敏感,然而在訓(xùn)練集上最小化重構(gòu)誤差又迫使表示包含足夠的信息來區(qū)分他們。
9.3 Learning Approximate Inference
9.4 Sampling Challenge
MCMC sampling在學(xué)習(xí)過程中效率很低,因?yàn)閠he models of the learned distribution become sharper, makeing mixing between models very slow.

Bengio2012表明深層表示可以幫助mixing。
9.5 Evaluating and Monitoring Performance
一般情況下我們在學(xué)習(xí)到的特征上加一層簡單的分類器,但是最后的分類器可能計算量更大(例如fine-tuning一般比學(xué)習(xí)特征需要更多次數(shù)的迭代)。更重要的是這樣可能給出特征的不完全的評價。
對于AE和sparse coding來說,可以用測試集上的重構(gòu)誤差來監(jiān)視。
對于RBM和一些BM,Murray2008提出用Annealed Importance Sampling來估計partition function。RBM的另一種(Desjardins2011)是在訓(xùn)練中跟蹤partition function,這個可以用來early stopping和減少普通AIS的計算量。
10. Global Training of Deep Models
10.1 On the Training of Deep Architectures
第一種實(shí)現(xiàn)就是非監(jiān)督或者監(jiān)督單層訓(xùn)練,Erhan2010解釋了為什么單層非監(jiān)督預(yù)訓(xùn)練有幫助。這些也與對中間層表示有指導(dǎo)作用的算法有聯(lián)系,例如Semi-supervised Embedding(Weston2008)。
在Erhan2010中,非監(jiān)督預(yù)訓(xùn)練的作用主要體現(xiàn)在regularization effect和optimization effect上。前者可以用stacked RBM或者AE實(shí)驗(yàn)證明。后者就很難分析因?yàn)椴还艿讓拥奶卣饔袥]有用,最上面兩層也可以過擬合訓(xùn)練集。
改變優(yōu)化的數(shù)值條件對訓(xùn)練深層結(jié)構(gòu)影響很大,例如改變初始化范圍和改變非線性函數(shù)(Glorot2010)。第一個是梯度彌散問題,這個難題促使了二階方法的研究,特別是Hessian-free second-order方法(Marten2010)。Cho2011提出了一種RBM自適應(yīng)的學(xué)習(xí)速率。Glorot2011表明了sparse rectifying units也可以影響訓(xùn)練和生成的表現(xiàn)。
Ciresan2010表明有大量標(biāo)注數(shù)據(jù),再合理的初始化和選擇非線性函數(shù),有監(jiān)督的訓(xùn)練深層網(wǎng)絡(luò)也可以很成功。這就加強(qiáng)這種假設(shè),當(dāng)有足夠的標(biāo)注樣本時,無監(jiān)督訓(xùn)練只是作為一種prior。Krizhevsky2012中運(yùn)用了很多技術(shù),未來的工作希望是確定哪些元素最重要,怎么推廣到別的任務(wù)中。
10.2 Joint Training of Deep Boltzmann Machines
Salakhutdinov and Hinton (2009)提出了DBM。
DBM的能量方程:


DBM相當(dāng)于在Boltzmann Machine的能量方程中U=0,并且V和W之間稀疏連接結(jié)構(gòu)。
10.2.1 Mean-field approximate inference
因?yàn)殡[層單元之間有聯(lián)系,所以后驗(yàn)概率變得intractable,上文中用了mean-field approximation。比如一個有兩層隱層的DBM,我們希望用



10.2.2 Training Deep Boltzmann Machines
在訓(xùn)練DBM時,與訓(xùn)練RBM最主要的不同在于,不直接最大似然,而是選擇參數(shù)來最大化lower-bound。具體見論文。
11. Building-in Invariance
11.1 Augmenting the dataset with known input deformations
Ciresan2010中使用了一些小的放射變換來擴(kuò)大訓(xùn)練集MNIST,并取得了很好的結(jié)果。
11.2 Convolution and Pooling
(Le Roux et al., 2008a)研究了圖片中的2D拓?fù)洹?br>
論述這種結(jié)構(gòu)與哺乳類動物的大腦在目標(biāo)識別上的相同點(diǎn):
Serre et al., 2007:Robust object recognition with cortex-like mechanisms
DiCarlo et al., 2012:How does the brain solve visual object recognition?
Pooling的重要性:
Boureau2010:A theoretical analysis of feature pooling in vision algorithms
Boureau2011:Ask the locals:multi-way local pooling for image recognition
一個成功的pooling的變種是L2 Pooling:
Le2010:Tiled convolutional neural networks
Kavukcuoglu2009:Learning invariant features through topographic filter maps
Kavukcuoglu2010:Learning convolutional feature hierarchies for visual recognition
Patch-based Training:
(Coates and Ng, 2011):The importance of encoding versus training with sparse coding and vector quantization。
這篇文章compared several feature learners with patch-based training and reached state- of-the-art results on several classification benchmarks。
文中發(fā)現(xiàn)最后的結(jié)果與簡單的K-means聚類方法類似,可能是因?yàn)閜atch本來就是低維的,例如邊緣一般來說就是6*6,不需要分布式的表示。
Convolutional and tiled-convolutional training:
convolutional RBMs:
Desjardins and Bengio, 2008:Empirical evaluation of convolutional RBMs for vision
Lee,2009:Convolutional deep belief networks for scalable unsupervised learning of hierarchical representations
Taylor,2010:Convolutional learning of spatio-temporal features
a convolutional version of sparse coding:
Zeiler2010: Deconvolutional networks
tiled convolutional networks:
Gregor&LeCun,2010: Emergence of complex- like cells in a temporal product network with local receptive field
Le,2010: Tiled convolutional neural networks
** Alternatives to pooling: (Scattering operations)**
** **Mallat,2011: Group invariant scattering
Bruna&Mallat,2011: Classification with scattering operators
11.3 Temporal Coherence and slow features
11.4 Algorithms to Disentanle Facotors of Variantion
Hinton,2011:Transforming auto-encoders
這篇文章take advantage of some of the factors of variation known to exist in the data。
Erhan,2010:Understanding representations learned in deep architectures
這篇文章有實(shí)驗(yàn)表明DBN的第二層傾向于比第一層更具有不變性。
12. Conclusion
本文講述了三種表示學(xué)習(xí)方法:概率模型、基于重構(gòu)的算法和幾何流形學(xué)習(xí)方法。
Practical Guide and Guidelines:
Hinton,2010:Practical guide to train Restricted Bolzmann Machine
Bengio,2012:Practical recommendations for gradient- based training of deep architectures
Snoek2012:Practical Bayesian Optimization of Machine Learning Algorithms
轉(zhuǎn)載本文請聯(lián)系原作者獲取授權(quán),同時請注明本文來自朱偉科學(xué)網(wǎng)博客。鏈接地址:
http://blog.sciencenet.cn/blog-1583812-814067.html 上一篇:2009_Learning Deep Architecture for AI論文筆記下一篇:NIPS_2006: Greedy layer-wise learning of deep networks筆記