Deep Learning是機(jī)器學(xué)習(xí)中一個(gè)非常接近AI的領(lǐng)域,其動(dòng)機(jī)在于建立、模擬人腦進(jìn)行分析學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò),最近研究了機(jī)器學(xué)習(xí)中一些深度學(xué)習(xí)的相關(guān)知識(shí),本文給出一些很有用的資料和心得。
2. 深度學(xué)習(xí)Deep Learning介紹
Depth 概念:depth: the length of the longest path from an input to an output.
Deep Architecture 的三個(gè)特點(diǎn):深度不足會(huì)出現(xiàn)問題;人腦具有一個(gè)深度結(jié)構(gòu)(每深入一層進(jìn)行一次abstraction,由lower-layer的features描述而成的feature構(gòu)成,就是上篇中提到的feature hierarchy問題,而且該hierarchy是一個(gè)稀疏矩陣);認(rèn)知過程逐層進(jìn)行,逐步抽象
3篇文章介紹Deep Belief Networks,作為DBN的breakthrough
這三個(gè)點(diǎn)是Deep Learning Algorithm的精髓,我在上一篇文章中也有講到,其中第三部分:Learning Features Hierachy & Sparse DBN就講了如何運(yùn)用Sparse DBN進(jìn)行feature學(xué)習(xí)。
4. Deep Learning 經(jīng)典閱讀材料:
• The monograph or review paper Learning Deep Architectures for AI (Foundations & Trends in Machine Learning, 2009).
• The ICML 2009 Workshop on Learning Feature Hierarchies webpage has a list of references.
• The LISA public wiki has a reading list and a bibliography.
• Geoff Hinton has readings from last year’s NIPS tutorial.
闡述Deep learning主要思想的三篇文章:
• Hinton, G. E., Osindero, S. and Teh, Y., A fast learning algorithm for deep belief netsNeural Computation 18:1527-1554, 2006
• Yoshua Bengio, Pascal Lamblin, Dan Popovici and Hugo Larochelle, Greedy Layer-Wise Training of Deep Networks, in J. Platt et al. (Eds), Advances in Neural Information Processing Systems 19 (NIPS 2006), pp. 153-160, MIT Press, 2007<比較了RBM和Auto-encoder>
• Marc’Aurelio Ranzato, Christopher Poultney, Sumit Chopra and Yann LeCun Efficient Learning of Sparse Representations with an Energy-Based Model, in J. Platt et al. (Eds), Advances in Neural Information Processing Systems (NIPS 2006), MIT Press, 2007<將稀疏自編碼用于回旋結(jié)構(gòu)(convolutional architecture)>
06年后,大批deep learning文章涌現(xiàn),感興趣的可以看下大牛Yoshua Bengio的綜述Learning deep architectures for {AI},不過本文很長,很長……
5. Deep Learning工具—— Theano
Theano是deep learning的Python庫,要求首先熟悉Python語言和numpy,建議讀者先看Theano basic tutorial,然后按照Getting Started 下載相關(guān)數(shù)據(jù)并用gradient descent的方法進(jìn)行學(xué)習(xí)。
學(xué)習(xí)了Theano的基本方法后,可以練習(xí)寫以下幾個(gè)算法:
有監(jiān)督學(xué)習(xí):
1. Logistic Regression - using Theano for something simple
2. Multilayer perceptron - introduction to layers
3. Deep Convolutional Network - a simplified version of LeNet5
無監(jiān)督學(xué)習(xí):
• Auto Encoders, Denoising Autoencoders - description of autoencoders
• Stacked Denoising Auto-Encoders - easy steps into unsupervised pre-training for deep nets
• Restricted Boltzmann Machines - single layer generative RBM model
• Deep Belief Networks - unsupervised generative pre-training of stacked RBMs followed by supervised fine-tuning
最后呢,推薦給大家基本ML的書籍:
• Chris Bishop, “Pattern Recognition and Machine Learning”, 2007
• Simon Haykin, “Neural Networks: a Comprehensive Foundation”, 2009 (3rd edition)
• Richard O. Duda, Peter E. Hart and David G. Stork, “Pattern Classification”, 2001 (2nd edition)