神經⽹絡與深度學習 Neural Networks and Deep Learning

關於作者

Reference

感知器在 20 世紀五、六⼗年代由科學家 Frank Rosenblatt 發明,其受到 Warren McCulloch 和 Walter Pitts 早期的⼯作的影響。



 MNIST 數據集

專業的數學家如何思考⾼維空間的討論

 Numpy 的 Python 庫,⽤來做快速線性代數

MNIST 數據集的特殊格式的數據

使⽤ scikit-learn Python 程序庫,它提供了⼀個簡單的 Python 接⼝,包裝了⼀個⽤於 SVM 的快速的,稱爲 LIBSVM 的 C 庫。

 Andreas Mueller 的博客。Mueller 展⽰了通過⼀些優化SVM 參數的⼯作

Regularization of Neural Networks using DropConnect

反向傳播算法最初在 1970 年代被提及,但是⼈們直到 David Rumelhart、Geoffrey Hinton 和Ronald Williams 的著名的 1986 年的論⽂中才認識到這個算法的重要性。


二元熵。 鏈式法則

使⽤交叉熵來對 MNIST 數字進⾏分類


交叉熵是“不確定性”的一種度量 可以閱讀 Cover and Thomas 的第五章涉及 Kraft 不等式的有關信息論的內容。

 過度擬合   這個引⽤的故事來⾃⼀篇 Freeman Dyson 所寫的引⼈⼊勝的⽂章。他是提出這個有瑕疵的模型的⼈之⼀。⼀個關於四個參數模擬⼤象的例⼦可以在這⾥ 找到。

 These issues go back to the problem of induction, famously discussed by the Scottish philosopher David Hume in
”An Enquiry Concerning Human Understanding” (1748). The problem of induction has been given a modern machinelearning form in the no-free lunch theorem (link) of David Wolpert and William Macready (1997).

梯度下降學習的動態有⼀種⾃規範化的效應。
13 In Gradient-Based Learning Applied to Document Recognition, by Yann LeCun, Léon Bottou, Yoshua Bengio, andPatrick Haffner (1998).


14 ImageNetClassificationwithDeepConvolutionalNeuralNetworks,byAlexKrizhevsky,IlyaSutskever,andGeoffrey
Hinton (2012).
“因爲神經元不能依賴其他神經元特定的存在,這個技術其實減少了複雜的互適應的神經元。所以,強制要學習那些在
神經元的不同隨機⼦集中更加健壯的特徵。 ”

15 Improving neural networks by preventing co-adaptation of feature detectors by Geoffrey Hinton, Nitish Srivastava,Alex Krizhevsky, Ilya Sutskever
棄權技術的真正衡量是它已經在提升神經⽹絡性能上應⽤得相當成功。原始論⽂ 15 介紹了將其應⽤於很多不同任務的技術。


7 Best Practices for Convolutional Neural Networks Applied to Visual Document Analysis, by Patrice Simard, Dave
Steinkraus, and John Platt (2003)
這⽚論⽂中,作者在 MNIST 上使⽤了⼏個的這種想法的變化⽅式。其中⼀種他們考慮的⽹絡結構其實和我們已經使⽤過的類似——⼀個擁有 800 個隱藏元的前饋神經⽹絡,使⽤了交叉熵代價函數。

使⽤ scikit-learn 庫提供的 SVM 替換神經⽹絡

對“算法 A 是不是要⽐算法 B 好? ”正確的反應應該是“你在使⽤什麼訓練集合? ”
顯著的例⼦參⻅ Scaling to very very large corpora for natural language disambiguation, by Michele Banko and
Eric Brill (2001).

權重初始化⽅法  看看在 2012 年的 Yoshua Bengio 的論⽂ 22 的14 和 15 ⻚,以及相關的參考⽂獻
 Practical Recommendations for Gradient-Based Training of Deep Architectures, by Yoshua Bengio (2012)

⽹格搜索的成就和限制(易於實現的變體)在 James Bergstra 和 Yoshua Bengio 2012 年的 論⽂中已經給出了綜述。很多更加精細的⽅法也被⼤家提出來了。我這⾥不會給出介紹,但是想指出 2012 年使⽤⻉葉斯觀點⾃動優化超參數的論⽂。代碼可以獲得,也已經被其他的研究⼈員使⽤了。

優化代價函數的⽅法:當你越來越深⼊瞭解神經⽹絡時,值得去嘗試其他的優化技術,理解他們⼯作的原理,優勢劣勢,以及在實踐中如何應⽤。前⾯我提到的⼀篇論⽂ 25 ,介紹並對⽐了這些技術,包含共軛梯度下降和 BFGS ⽅法(也可以看看 limited memory BFGS,L-BFGS。另⼀種近期效果很不錯技術 26 是 Nesterov 的加速梯度技術,這個技術對 momentum 技術進⾏了改進。
 Efficient BackProp, by Yann LeCun, Léon Bottou, Genevieve Orr and Klaus-Robert Müller (1998).
http://www.cs.toronto.edu/~hinton/absps/momentum.pdf
例如, 看看 On the importance of initialization and momentum in deep learning, by Ilya Sutskever, James Martens,
George Dahl, and Geoffrey Hinton (2012).

 你怎麼看那些全部由實驗效果⽀撐(⽽⾮數學保證)的使⽤和研究機器學習技術呢?同樣,在哪些場景中,你已經注意到這些技術失效了?

https://zh.wikipedia.org/wiki/哈恩-巴拿赫定理
http://www.dartmouth.edu/~gvc/Cybenko_MCSS.pdf
普遍性定理
1 Approximation by superpositions of a sigmoidal function, by George Cybenko (1989). The result was very much
in the air at the time, and several groups proved closely related results. Cybenko’s paper contains a useful discussionof much of that work. Another important early paper is Multilayer feedforward networks are universal approximators,by Kurt Hornik, Maxwell Stinchcombe, and Halbert White (1989). This paper uses the Stone-Weierstrass theorem toarrive at similar results

http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf
正如線路的⽰例中看到的那樣,存在着理論上的研究結果告訴我們深度⽹絡在本質上⽐淺層⽹絡更加強⼤ 
1 對某些問題和⽹絡結構,Razvan Pascanu, Guido Montúfar, and Yoshua Bengio 在 2014 年的這篇⽂章 On the
number of response regions of deep feed forward networks with piece-wise linear activations 給出了證明。更加詳細
的討論在 Yoshua Bengio 2009 年的著作 Learning deep architectures for AI 的第2部分。



單⼀隱藏層的神經⽹絡⽰例   消失的梯度問題

現在有許多關於通過卷積⽹絡來更好理解特徵的⼯作成果。如果你感興趣,我建議從 Matthew Zeiler 和 Rob Fergus 的
(2013)論⽂ Visualizing and Understanding Convolutional Networks 開始。

 Theano 的機器學習庫

 Amazon Web Services EC2 G2 實例類型你手機上的系統沒有可用·的 GPU


 Best Practices for Convolutional Neural Networks Applied to Visual Document Analysis, by Patrice Simard, Dave
Steinkraus, and John Platt (2003).
在 2003 年,Simard,Steinkraus 和Platt 19 使⽤⼀個神經⽹絡改進了他們的 MNIST 性能,達到了 99.6%,這個⽹絡以其它⽅式和我們的⾮常相似,使⽤兩個卷積–混合層,跟着⼀個具有 100 個神經元的隱藏的全連接層。

 仍然有可能在 MNIST 上提⾼性能。Rodrigo Benenson 彙編了⼀份信息彙總⻚⾯,顯⽰這⼏年的進展,提供了論⽂的鏈接。

近期成果的大部分內容、它是⼀篇 Cireșan、Meier、Gambardella、和 Schmidhuber 所著的 2010 年論⽂ 20 。我喜歡這篇論⽂的地⽅是它是如此簡單。其中的⽹絡是⼀個許多層的神經⽹絡,僅使⽤全連接層(沒有卷積層) 
Deep, Big, Simple Neural Nets Excel on Handwritten Digit Recognition, by Dan Claudiu Cireșan, Ueli Meier, Luca
Maria Gambardella, and Jürgen Schmidhuber (2010).



2012 LRMD 論⽂:讓我從⼀篇源⾃斯坦福和⾕歌的研究⼩組的 2012 年論⽂ 22 開始。我把這篇論⽂稱爲 LRMD,取⾃前四位作者的姓。LRMD 使⽤⼀個神經⽹絡來分類 ImageNet 的圖像,⼀個⾮常具有挑戰性的圖像識別問題。

明顯是⼀個⽐ MNIST 更有挑戰性的圖像識別任務

http://www.cs.toronto.edu/~fritz/absps/imagenet.pdf
2012 KSH 論⽂: LRMD 的成果被⼀篇 Krizhevsky, Sutskever 和 Hinton (KSH) 24 的 2012
年論⽂追隨。KSH 訓練和測試⼀個深度卷積神經⽹絡,它使⽤ ImageNet 數據的⼀個有限的⼦
24 ImageNet classification with deep convolutional neural networks, by Alex Krizhevsky, Ilya Sutskever, and Geoffrey E. Hinton (2012).

Alex Krizhevsky 的 cuda-convnet(和接替版本) ,它包含有實現這許多思想的
代碼。⼀個基於 Theano 的實現 26 ,代碼可以在這⾥得到。

Caffe 神經⽹絡框架也包含⼀個 KSH ⽹絡的版本,詳細參⻅ Model Zoo。
爲了做這件事,他們構建了⼀個系統讓⼈類對 ILSVRC 圖像進⾏分類。其作者之⼀ Andrej Karpathy 在⼀篇博
⽂中解釋道,

26 Theano-based large-scale visual recognition with multiple GPUs, by Weiguang Ding, Ruoyan Wang, Fei Mao, andGraham Taylor (2014).

27 Going deeper with convolutions, by Christian Szegedy, Wei Liu, Yangqing Jia, Pierre Sermanet, Scott Reed,
Dragomir Anguelov, Dumitru Erhan, Vincent Vanhoucke, and Andrew Rabinovich (2014).
28 ImageNet large scale visual recognition challenge, by Olga Russakovsky, Jia Deng, Hao Su, Jonathan Krause,
Sanjeev Satheesh, Sean Ma, Zhiheng Huang, Andrej Karpathy, Aditya Khosla, Michael Bernstein, Alexander C. Berg,and Li Fei-Fei (2014).


RNN 被⽤來將傳統的算法思想,⽐如說 Turing 機或者編程語⾔,和神經⽹絡進⾏聯繫上。這
篇 2014 年的論⽂提出了⼀種 RNN 可以以 python 程序的字符級表達作爲輸⼊,⽤這個表達來預
測輸出。簡單說,⽹絡通過學習來理解某些 python 的程序

第⼆篇論⽂同樣是 2014 年的,使
⽤ RNN 來設計⼀種稱之爲“神經 Turing 機”的模型。這是⼀種通⽤機器整個結構可以使⽤梯度
下降來訓練。作者訓練 NTM 來推斷對⼀些簡單問題的算法,⽐如說排序和複製

一個基於深度⽹絡的系統已經⽤在了 Google 的 Android 操作系統中(詳⻅ Vincent
Vanhoucke 的 2012-2015 論⽂) 。


一個稱爲長短期記憶(long short-term memory)的單元進⼊ RNN 中。LSTM 最早是由
Hochreiter和Schmidhuber在1997年提出, 就是爲了解決這個不穩定梯度的問題。 LSTM讓RNN
訓練變得相當簡單, 很多近期的論⽂ (包括我在上⾯給出的那些) 都是⽤了LSTM或者相關的想法

http://www.cs.toronto.edu/~hinton/absps/fastnc.pdf
深度信念⽹絡,生成式模型和 Boltzmann 機:
 參⻅ Geoffrey Hinton, Simon Osindero 和 Yee-Whye Teh 在 2006 年的 A fast learning algorithm for deep belief
nets, 及 Geoffrey H


DBN 綜述

http://www.cs.toronto.edu/~hinton/absps/guideTR.pdf
包含了很多關於 DBN核⼼組件的受限 Boltzmann 機的有價值的信息。


熱⻔的領域包含使⽤神經⽹絡來做
自然語言處理 natural languageprocessing(see also this informative review paper)、
機器翻譯 machine translation,
音樂信息學 music informatics。

http://www.cs.toronto.edu/~vmnih/docs/dqn.pdf
強化學習的技術來學習玩電⼦遊戲 play video games well

發佈了64 篇原創文章 · 獲贊 64 · 訪問量 23萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章