十、總結與展望
1)Deep learning總結
深度學習是關於自動學習要建模的數據的潛在(隱含)分佈的多層(複雜)表達的算法。換句話來說,深度學習算法自動的提取分類需要的低層次或者高層次特徵。高層次特徵,一是指該特徵可以分級(層次)地依賴其他特徵,例如:對於機器視覺,深度學習算法從原始圖像去學習得到它的一個低層次表達,例如邊緣檢測器,小波濾波器等,然後在這些低層次表達的基礎上再建立表達,例如這些低層次表達的線性或者非線性組合,然後重複這個過程,最後得到一個高層次的表達。
Deep learning能夠得到更好地表示數據的feature,同時由於模型的層次、參數很多,capacity足夠,因此,模型有能力表示大規模數據,所以對於圖像、語音這種特徵不明顯(需要手工設計且很多沒有直觀物理含義)的問題,能夠在大規模訓練數據上取得更好的效果。此外,從模式識別特徵和分類器的角度,deep learning框架將feature和分類器結合到一個框架中,用數據去學習feature,在使用中減少了手工設計feature的巨大工作量(這是目前工業界工程師付出努力最多的方面),因此,不僅僅效果可以更好,而且,使用起來也有很多方便之處,因此,是十分值得關注的一套框架,每個做ML的人都應該關注瞭解一下。
當然,deep learning本身也不是完美的,也不是解決世間任何ML問題的利器,不應該被放大到一個無所不能的程度。
2)Deep learning未來
深度學習目前仍有大量工作需要研究。目前的關注點還是從機器學習的領域借鑑一些可以在深度學習使用的方法,特別是降維領域。例如:目前一個工作就是稀疏編碼,通過壓縮感知理論對高維數據進行降維,使得非常少的元素的向量就可以精確的代表原來的高維信號。另一個例子就是半監督流行學習,通過測量訓練樣本的相似性,將高維數據的這種相似性投影到低維空間。另外一個比較鼓舞人心的方向就是evolutionary programming approaches(遺傳編程方法),它可以通過最小化工程能量去進行概念性自適應學習和改變核心架構。
Deep learning還有很多核心的問題需要解決:
(1)對於一個特定的框架,對於多少維的輸入它可以表現得較優(如果是圖像,可能是上百萬維)?
(2)對捕捉短時或者長時間的時間依賴,哪種架構纔是有效的?
(3)如何對於一個給定的深度學習架構,融合多種感知的信息?
(4)有什麼正確的機理可以去增強一個給定的深度學習架構,以改進其魯棒性和對扭曲和數據丟失的不變性?
(5)模型方面是否有其他更爲有效且有理論依據的深度模型學習算法?
探索新的特徵提取模型是值得深入研究的內容。此外有效的可並行訓練算法也是值得研究的一個方向。當前基於最小批處理的隨機梯度優化算法很難在多計算機中進行並行訓練。通常辦法是利用圖形處理單元加速學習過程。然而單個機器GPU對大規模數據識別或相似任務數據集並不適用。在深度學習應用拓展方面,如何合理充分利用深度學習在增強傳統學習算法的性能仍是目前各領域的研究重點。
十一、參考文獻和Deep Learning學習資源(持續更新……)
先是機器學習領域大牛的微博:@餘凱_西二旗民工;@老師木;@樑斌penny;@張棟_機器學習;@鄧侃;@大數據皮東;@djvu9……
(1)Deep Learning
(2)Deep Learning Methods for Vision
http://cs.nyu.edu/~fergus/tutorials/deep_learning_cvpr12/
(3)Neural Network for Recognition of Handwritten Digits[Project]
http://www.codeproject.com/Articles/16650/Neural-Network-for-Recognition-of-Handwritten-Digi
(4)Training a deep autoencoder or a classifier on MNIST digits
http://www.cs.toronto.edu/~hinton/MatlabForSciencePaper.html
(5)Ersatz:deep neural networks in the cloud
(6)Deep Learning
http://www.cs.nyu.edu/~yann/research/deep/
(7)Invited talk "A Tutorial on Deep Learning" by Dr. Kai Yu (餘凱)
http://vipl.ict.ac.cn/News/academic-report-tutorial-deep-learning-dr-kai-yu
(8)CNN - Convolutional neural network class
http://www.mathworks.cn/matlabcentral/fileexchange/24291
(9)Yann LeCun's Publications
http://yann.lecun.com/exdb/publis/index.html#lecun-98
(10) LeNet-5, convolutional neural networks
http://yann.lecun.com/exdb/lenet/index.html
(11) Deep Learning 大牛Geoffrey E. Hinton's HomePage
http://www.cs.toronto.edu/~hinton/
(12)Sparse coding simulation software[Project]
http://redwood.berkeley.edu/bruno/sparsenet/
(13)Andrew Ng's homepage
http://robotics.stanford.edu/~ang/
(14)stanford deep learning tutorial
http://deeplearning.stanford.edu/wiki/index.php/UFLDL_Tutorial
(15)「深度神經網絡」(deep neural network)具體是怎樣工作的
http://www.zhihu.com/question/19833708?group_id=15019075#1657279
(16)A shallow understanding on deep learning
http://blog.sina.com.cn/s/blog_6ae183910101dw2z.html
(17)Bengio's Learning Deep Architectures for AI
http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf
(18)andrew ng's talk video:
http://techtalks.tv/talks/machine-learning-and-ai-via-brain-simulations/57862/
(19)cvpr 2012 tutorial:
http://cs.nyu.edu/~fergus/tutorials/deep_learning_cvpr12/tutorial_p2_nnets_ranzato_short.pdf
(20)Andrew ng清華報告聽後感
http://blog.sina.com.cn/s/blog_593af2a70101bqyo.html
(21)Kai Yu:CVPR12 Tutorial on Deep Learning Sparse Coding
(22)Honglak Lee:Deep Learning Methods for Vision
(23)Andrew Ng :Machine Learning and AI via Brain simulations
(24)Deep Learning 【2,3】
http://blog.sina.com.cn/s/blog_46d0a3930101gs5h.html
(25)deep learning這件小事……
http://blog.sina.com.cn/s/blog_67fcf49e0101etab.html
(26)Yoshua Bengio, U. Montreal:Learning Deep Architectures
(27)Kai Yu:A Tutorial on Deep Learning
(28)Marc'Aurelio Ranzato:NEURAL NETS FOR VISION
(29)Unsupervised feature learning and deep learning
http://blog.csdn.net/abcjennifer/article/details/7804962
(30)機器學習前沿熱點–Deep Learning
http://elevencitys.com/?p=1854
(31)機器學習——深度學習(Deep Learning)
http://blog.csdn.net/abcjennifer/article/details/7826917
(32)卷積神經網絡
http://wenku.baidu.com/view/cd16fb8302d276a200292e22.html
(33)淺談Deep Learning的基本思想和方法
http://blog.csdn.net/xianlingmao/article/details/8478562
(34)深度神經網絡
http://blog.csdn.net/txdb/article/details/6766373
(35)Google的貓臉識別:人工智能的新突破
http://www.36kr.com/p/122132.html
(36)餘凱,深度學習-機器學習的新浪潮,Technical News程序天下事
http://blog.csdn.net/datoubo/article/details/8577366
(37)Geoffrey Hinton:UCLTutorial on: Deep Belief Nets
(38)Learning Deep Boltzmann Machines
http://web.mit.edu/~rsalakhu/www/DBM.html
(39)Efficient Sparse Coding Algorithm
http://blog.sina.com.cn/s/blog_62af19190100gux1.html
(40)Itamar Arel, Derek C. Rose, and Thomas P. Karnowski: Deep Machine Learning—A New Frontier in Artificial Intelligence Research
(41)Francis Quintal Lauzon:An introduction to deep learning
(42)Tutorial on Deep Learning and Applications
(43)Boltzmann神經網絡模型與學習算法
http://wenku.baidu.com/view/490dcf748e9951e79b892785.html
(44)Deep Learning 和 Knowledge Graph 引爆大數據革命
http://blog.sina.com.cn/s/blog_46d0a3930101fswl.html
(45)……