丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號安全和更好的產(chǎn)品體驗,強烈建議使用更快更安全的瀏覽器
此為臨時鏈接,僅用于文章預覽,將在時失效
人工智能開發(fā)者 正文
發(fā)私信給AI研習社
發(fā)送

0

神經(jīng)網(wǎng)絡有什么理論支持?

本文作者: AI研習社 2017-11-08 18:30
導語:問:神經(jīng)網(wǎng)絡有什么理論支持? 答:目前為止(2017 年)沒有什么特別靠譜的。

雷鋒網(wǎng)按:本文原作者袁洋,本文原載于作者的知乎專欄——理論與機器學習。雷鋒網(wǎng)已獲得轉載授權。

三秒鐘理解本文主旨:

問:神經(jīng)網(wǎng)絡有什么理論支持?

答:目前為止(2017 年)沒有什么特別靠譜的。

2012年之后,隨著深度學習的浪潮卷來,大家逐漸認可了神經(jīng)網(wǎng)絡/深度學習這個東西,都知道它在很多應用場景下面表現(xiàn)得很好。但是,它常常被人詬病的一點就是,就算它表現(xiàn)很好,卻沒有一個很好的理論解釋。

相比之下,很多算法雖然實際表現(xiàn)一般,但是在理論解釋這一方面就遠勝神經(jīng)網(wǎng)絡了。典型的例子么,自然就是我們耳熟能詳?shù)木€性回歸算法啦。所謂的線性回歸,簡單地說,就是嘗試用一條直線來擬合世間萬物。雖然聽起來不太靠譜,實際上效果也一般,但是這并不妨礙研究人員在過去的幾十年間,懷著滿腔熱情,發(fā)了大量的理論論文研究這個基本問題(不好意思,我也發(fā)了兩篇)。這就像一個PhD笑話里面說的那樣,Theory is when one knows everything but nothing works. Practice is when everything works but nobody knows why.

真說起來嘛,倒也不是大家覺得線性回歸多么有用,我覺得主要還是直線比較好分析,而神經(jīng)網(wǎng)絡比較難,所以理論工作就少一些。這個現(xiàn)象叫做Streetlight effect,如下圖。

神經(jīng)網(wǎng)絡有什么理論支持?

不過,隨著深度學習不斷發(fā)展,越來越多的理論工作者也開始嘗試研究神經(jīng)網(wǎng)絡了。今天我就介紹一下我對(2017年為止)各種相關理論工作的粗淺理解(各位大大輕拍)。假如因此能夠幫助同學們對目前現(xiàn)狀有更好的理解,甚至得到更好的理論結果,那自然是再好不過了。不過,大家不要對本文抱有太大的期望,因為目前已有的理論工作還遠遠談不上對神經(jīng)網(wǎng)絡有什么深刻認識,更不用說能夠指導實踐;它們不過是分析了各種相對簡單的情況罷了。

首先我們看一下神經(jīng)網(wǎng)絡的定義。想必大家聽說過現(xiàn)在非常流行的DenseNet, ResNet之類的卷積網(wǎng)絡,不僅結構特別,還加了BatchNorm層調(diào)整信號大小,有時候還有Dropout減弱過擬合。這些東西好固然是好,但是對于理論工作者來說,就有點太復雜了。所以我們今天談的網(wǎng)絡,大多長這個樣子:

神經(jīng)網(wǎng)絡有什么理論支持?

比如我們有一個輸入(1,2,-4),這是一個向量。我們把它輸入到一個全連接層。這層有一個參數(shù)矩陣是W= [I ; (1,1,1)]。不過一般來說,參數(shù)矩陣是通過SGD算法(見之前的博文)學習得到的,所以不會長得這么簡單看,千萬不要誤會了。全連接層的輸出呢,就是做矩陣乘法: 神經(jīng)網(wǎng)絡有什么理論支持? 。大家可以口算驗證一下。

假如只是做矩陣乘法,那么本質(zhì)只是在做線性變換,哪怕做了很多次其實和做一次的效果是一樣的。因此,神經(jīng)網(wǎng)絡在每次線性變換之后都會做一個非線性層。我們今天考慮的是最簡單也是應用也最廣泛的ReLU(Rectified Linear Unit),本質(zhì)就是把輸入讀進來,然后把輸入中的負數(shù)變成0,非負數(shù)不變輸出。所以(1,2,-4,-1)就變成了(1,2,0,0)。

那么這就是一個合格的簡單的一層神經(jīng)網(wǎng)絡了。我們當然可以重復這樣的操作搞很多次,比如像下面:

神經(jīng)網(wǎng)絡有什么理論支持?

就是把(1,2,0,0)當做下一個全連接層的輸入輸進去,然后再過一個ReLU層,再過一個全連接層,再過一個ReLU層……最后你就得到了一個深度神經(jīng)網(wǎng)絡了?!堑?,深度學習,就是這么簡單!

當然,我之前提到了,這個模型和現(xiàn)實使用的還有一定的區(qū)別。現(xiàn)實中大家使用卷積層而不是全連接層,而且還有別的各種小東西:BatchNorm, Dropout。那些就太復雜啦。目前的理論都是基于我說的這個簡化版本的。雖說是簡化版本,對于我們?nèi)祟悂碚f,似乎也已經(jīng)足夠復雜了。

那么,基于這么個模型,今天我就從優(yōu)化的角度介紹一下已有的理論結果。我們可以從三個方面分析神經(jīng)網(wǎng)絡,分別是表達能力(representation/expressiveness),優(yōu)化難度(optimization),和歸納推廣能力(generalization)

表達能力:

表達能力是指,神經(jīng)網(wǎng)絡是否能夠用來表達一切函數(shù)。舉個(不恰當?shù)模├樱形?英文的表達能力很強,我們可以用它們(近似)表達(幾乎)一切東西。又或者說,線性回歸的表達能力就非常有限,畢竟只有一根直線你能表達個什么東西。。

對于神經(jīng)網(wǎng)絡而言,90年代初的時候,大家就已經(jīng)證明了所謂的universal approximator theorem,就是說對于兩層的神經(jīng)網(wǎng)絡+Sigmoid非線性層(而不是ReLU),并且網(wǎng)絡足夠大,那么就可以通過合理設定參數(shù)矩陣來近似所有的連續(xù)函數(shù)或者各種其他函數(shù) [Hornik et al., 1989, Cybenko, 1992,Barron, 1993]。

據(jù)說這也就是為什么深度學習過了20多年才火起來,因為那些搞神經(jīng)網(wǎng)絡的人聲稱他們相信了這些理論結果,誤以為真的只需要兩層就可以表達一切函數(shù)了,所以從來沒有試過更深的網(wǎng)絡,因此被耽擱了很多年。[我個人認為,這純屬借口,無稽之談,是赤裸裸地朝理論工作者潑臟水??!這就好像我告訴你倒立著走可以在有限時間內(nèi)走遍世界任意角落,所以你就誤以為我們不需要坐飛機了么?]

最近幾年,大家也開始研究更深的網(wǎng)絡的表達能力 [Eldan and Shamir, 2015, Safran and Shamir, 2016, Lee et al., 2017]。大概是說如果網(wǎng)絡更深一些,表達能力會更強一些,需要的網(wǎng)絡大小也會更小一些。

總的來說,我個人覺得,表達能力這一塊,大家的理解還是比較透徹的。就是說,對于一個足夠大的神經(jīng)網(wǎng)絡,總是存在一種參數(shù)取值,使得最后得到的神經(jīng)網(wǎng)絡可以近似任何我們想要近似的函數(shù)。

優(yōu)化難度:

值得注意的是,總是存在一種參數(shù)取值,并不代表我們就能夠找到這樣的取值。

這就好像我們做數(shù)學作業(yè),既然是作業(yè)嘛,我們知道肯定是存在答案的,但是好做么?顯然并不是。我們往往要花很長時間才能夠做出來;做出來還算是好的,有的時候還做不出來,這個時候就需要去抄別人的答案。

數(shù)學作業(yè)做不出來可能是個小事,如果找不到好的神經(jīng)網(wǎng)絡的取值,那么這個算法就沒什么用了。但神奇的是,現(xiàn)實生活中,人們用簡單的SGD算法,總是能找到一個很好的取值方案?!绻銢]有覺得這個事情很神奇,那么你還是應該回過頭去想想數(shù)學作業(yè)的例子。當你絞盡腦汁、茶飯不思、夜不能寐地做數(shù)學作業(yè)的時候,你發(fā)現(xiàn)你的大神同學總是三下五除二就把作業(yè)搞定了,而且感覺他也沒怎么學習,上課也不認真聽講,你覺得是不是很神奇?

找神經(jīng)網(wǎng)絡的取值方案,或者說“學習”數(shù)據(jù)的這個過程,就叫做優(yōu)化。從理論的角度來看,一般來說,假如數(shù)據(jù)或者問題沒有特殊的假設,優(yōu)化這件事情就是非常困難的,一般就是NP-hard什么的,也就是所謂的很難很難的事情啦 [S??ma, 2002, Livni et al., 2014, Shamir, 2016]。那既然現(xiàn)實生活中這個問題其實并沒有那么難,這就說明,現(xiàn)實的問題是滿足一些較為特殊的條件,大大降低了優(yōu)化的難度。

那么,現(xiàn)實中的問題到底是滿足了什么樣的條件,以及優(yōu)化的難度是如何被降低了?在什么情況下我們能夠很容易找到合適的取值,什么情況下可能會比較難?SGD為什么能干得這么好?大家對這些問題的理解還比較欠缺。

目前來說,人們會從幾個不同的方向簡化問題,做一些理論分析:

(個人能力有限,落下了某些重要論文還請各位大大輕拍)

  1. 能不能假如一些較強的假設得到一些理論結果?這個想法是早期工作中比較常見的,人們會使用一些較強的假設,例如參數(shù)是復數(shù),或者需要學習的函數(shù)是多項式,或者目標參數(shù)服從獨立同分布等等,和實際差距較大。[Andoni et al., 2014, Arora et al., 2014]

  2. 能不能用特殊的算法來做優(yōu)化?直接分析SGD在神經(jīng)網(wǎng)絡上的表現(xiàn)相對比較困難,因此人們會嘗試分析別的特殊算法的表現(xiàn)。例如Tensor decomposition, half space intersection, kernel methods等等 [Janzamin et al., 2015, Zhang et al., 2015, Sedghi and Anandkumar, 2015, Goel et al., 2016]。這些算法雖然往往能夠在多項式時間內(nèi)學習出兩層的神經(jīng)網(wǎng)絡,但是在現(xiàn)實生活中表現(xiàn)一般,沒有人真的在用。值得一提的是,[Goel and Klivans, 2017]的kernel methods在某些假設下可以在多項式時間內(nèi)學習很多層的神經(jīng)網(wǎng)絡,是這個方向的佼佼者。

  3. 能不能暫時忽略非線性層(即ReLU層),只考慮線性變換?這個方向叫做deep linear network,即深度線性網(wǎng)絡。人們可以證明這樣的網(wǎng)絡有很好的性質(zhì),但是這樣的網(wǎng)絡表達能力有所欠缺,只能夠表達線性函數(shù),而且優(yōu)化起來可能不如線性函數(shù)收斂速度快。[Saxe et al., 2013, Kawaguchi, 2016, Hardt and Ma, 2016]

  4. 就算考慮非線性層,能不能加入一些假設,將其弱化?這個方向叫做independent activation assumption,就是假設網(wǎng)絡的輸入和網(wǎng)絡的輸出的獨立的,以及/或者ReLU的輸出的每個維度都是獨立的。這些假設在現(xiàn)實中并不成立,主要還是為了理論分析方便。[Choromanska et al., 2015, Kawaguchi, 2016, Brutzkus and Globerson, 2017]

  5. 能不能不加別的假設,只考慮較淺的(兩層)網(wǎng)絡?嗯,不知不覺終于要介紹我們的論文了。這個方向的問題就是網(wǎng)絡層數(shù)比較少,和現(xiàn)實不符,而且往往只存在一個global minimum。[Zhong et al., 2017]使用的算法是Tensor decomposition找到一個離Global minimum很近的點,然后用Gradient descent來逼近Global minimum。[Tian 2017] 證明了普通的兩層神經(jīng)網(wǎng)絡的優(yōu)化對SGD而言可能是比較困難的。我們的論文則是考慮了帶了Residual link的兩層神經(jīng)網(wǎng)絡,證明了只要用SGD最后能夠收斂到Global minimum [Li and Yuan, 2017] (之后有機會會詳細介紹)。

我知道的優(yōu)化工作大概就是這樣了。大家可以看到,目前來看,為了得到理論結果,需要做各種各樣的假設。想要單純證明SGD在深度神經(jīng)網(wǎng)絡(大于2層)上的收斂性,似乎還有很遠的路要走。

歸納推廣能力:

除了現(xiàn)實生活中優(yōu)化難度比較小,神經(jīng)網(wǎng)絡還有一個非常受機器學習工作者推崇的優(yōu)點就是它有很強的歸納推廣能力。用機器學習的語言來說,假如我們優(yōu)化神經(jīng)網(wǎng)絡使用的數(shù)據(jù)集是訓練集,得到的網(wǎng)絡在訓練集上面表現(xiàn)非常好(因為優(yōu)化簡單),然后測試的時候使用神經(jīng)網(wǎng)絡從來沒有見過的測試集進行測試,結果網(wǎng)絡表現(xiàn)仍然非常好!這個就叫做歸納推廣能力強。

假如你覺得這個比較難理解,可以考慮數(shù)學考試的例子。我想,你一定見過有些同學,平時做數(shù)學作業(yè)兢兢業(yè)業(yè)一絲不茍,與老師溝通,與同學討論,翻書查資料,經(jīng)常能夠拿滿分。這種同學,我們就說他訓練得不錯,死用功,作業(yè)題都會做。那么,這樣的同學數(shù)學考試一定能夠考高分么?根據(jù)我個人的經(jīng)驗,答案是不一定。因為考試題目在平時作業(yè)里面不一定都出現(xiàn)過,這樣的死用功的同學遇到?jīng)]見過的題目就懵了,可能就掛了。

可神經(jīng)網(wǎng)絡呢?他不僅平時輕輕松松寫作業(yè),到了考試仍然非常生猛,哪怕題目沒見過,只要和平時作業(yè)一個類型,他都順手拈來,是不是很神奇?學霸有沒有?

關于為什么神經(jīng)網(wǎng)絡有比較強的歸納推廣能力,目前大家還不是非常清楚。目前的理論分析比較少,而且結果也不能完全解釋這個現(xiàn)象 [Hardt et al. 2016, Mou et al. 2017]。我覺得這是很重要的方向,也是目前的研究熱點。

不過在實踐過程中,很多人有這么個猜想,就是所謂的Flat minima假說。據(jù)說,在使用SGD算法優(yōu)化神經(jīng)網(wǎng)絡的時候,SGD最后總是會停留在參數(shù)空間中的一個比較平整的區(qū)域(目前沒有證明),而且如果最后選的參數(shù)是在這么個區(qū)域,那么它的歸納推廣能力就比較強(目前沒有證明)[Shirish Keskar et al., 2016, Hochreiter and Schmidhuber, 1995, Chaudhari et al., 2016, Zhang et al., 2016]。

參考文獻

Hornik, K., Stinchcombe, M. B., and White, H. (1989). Multilayer feedforward networks are universal approximators.

Cybenko, G. (1992). Approximation by superpositions of a sigmoidal function. MCSS, 5(4):455.

Barron, A. R. (1993). Universal approximation bounds for superpositions of a sigmoidal function. IEEE Trans. Information Theory, 39(3):930–945.

Eldan, R. and Shamir, O. (2015). The Power of Depth for Feedforward Neural Networks.

Safran, I. and Shamir, O. (2016). Depth-Width Tradeoffs in Approximating Natural Functions with Neural Networks

Lee, H., Ge, R., Risteski, A., Ma, T., and Arora, S. (2017). On the ability of neural nets to express distributions.

S??ma, J. (2002). Training a single sigmoidal neuron is hard. Neural Computation, 14(11):2709–2728.

Livni, R., Shalev-Shwartz, S., and Shamir, O. (2014). On the computational efficiency of training neural networks.

Shamir, O. (2016). Distribution-specific hardness of learning neural networks.

Janzamin, M., Sedghi, H., and Anandkumar, A. (2015). Beating the perils of non-convexity: Guaranteed training of neural networks using tensor methods.

Zhang, Y., Lee, J. D., Wainwright, M. J., and Jordan, M. I. (2015). Learning halfspaces and neural networks with random initialization.

Sedghi, H. and Anandkumar, A. (2015). Provable methods for training neural networks with sparse connectivity.

Goel, S., Kanade, V., Klivans, A. R., and Thaler, J. (2016). Reliably learning the relu in polynomial time.

Goel, S. and Klivans, A. (2017). Eigenvalue decay implies polynomial-time learnability for neural networks. In NIPS 2017.

Andoni, A., Panigrahy, R., Valiant, G., and Zhang, L. (2014). Learning polynomials with neural networks. In ICML, pages 1908–1916.

Arora, S., Bhaskara, A., Ge, R., and Ma, T. (2014). Provable bounds for learning some deep representations. In Proceedings of the 31th International Conference on Machine Learning, ICML 2014, Beijing, China, 21-26 June 2014, pages 584–592.

Saxe, A. M., McClelland, J. L., and Ganguli, S. (2013). Exact solutions to the nonlinear dynamics of learning in deep linear neural networks.

Kawaguchi, K. (2016). Deep learning without poor local minima. In NIPS, pages 586–594.

Hardt, M. and Ma, T. (2016). Identity matters in deep learning.

Choromanska, A., Henaff, M., Mathieu, M., Arous, G. B., and LeCun, Y. (2015). The loss surfaces of multilayer networks. In AISTATS.

Brutzkus, A. and Globerson, A. (2017). Globally optimal gradient descent for a convnet with gaussian inputs. In ICML 2017.

Li, Y. and Yuan, Y. (2017). Convergence analysis of two-layer neural networks with relu activation. In NIPS 2017.

Zhong, K., Song, Z., Jain, P., Bartlett, P. L., and Dhillon, I. S. (2017). Recovery guarantees for one-hidden-layer neural networks. In ICML 2017.

Hardt, M and Recht, B and Singer, Y. (2015). Train faster, generalize better: Stability of stochastic gradient descent. In ICML 2016.

Wenlong Mou, Liwei Wang, Xiyu Zhai, Kai Zheng (2017). Generalization Bounds of SGLD for Non-convex Learning: Two Theoretical Viewpoints.

Shirish Keskar, N., Mudigere, D., Nocedal, J., Smelyanskiy, M., and Tang, P. T. P. (2016). On Large-Batch Training for Deep Learning: Generalization Gap and Sharp Minima.

Hochreiter, S. and Schmidhuber, J. (1995). Simplifying neural nets by discovering flat minima. In Advances in Neural Information Processing Systems 7, pages 529–536. MIT Press.

Chaudhari, P., Choromanska, A., Soatto, S., LeCun, Y., Baldassi, C., Borgs, C., Chayes, J., Sagun, L., and Zecchina, R. (2016). Entropy-SGD: Biasing Gradient Descent Into Wide Valleys. ArXiv e-prints.

Zhang, C., Bengio, S., Hardt, M., Recht, B., and Vinyals, O. (2016).Understanding deep learning requires rethinking generalization. ArXiv e-prints.

Yuandong Tian. (2017). An Analytical Formula of Population Gradient for two-layered ReLU network and its Applications in Convergence and Critical Point Analysis. ICML 2017.

不靈叔@雷鋒網(wǎng)

雷峰網(wǎng)版權文章,未經(jīng)授權禁止轉載。詳情見轉載須知。

神經(jīng)網(wǎng)絡有什么理論支持?

分享:
相關文章

編輯

聚焦數(shù)據(jù)科學,連接 AI 開發(fā)者。更多精彩內(nèi)容,請訪問:yanxishe.com
當月熱門文章
最新文章
請?zhí)顚懮暾埲速Y料
姓名
電話
郵箱
微信號
作品鏈接
個人簡介
為了您的賬戶安全,請驗證郵箱
您的郵箱還未驗證,完成可獲20積分喲!
請驗證您的郵箱
立即驗證
完善賬號信息
您的賬號已經(jīng)綁定,現(xiàn)在您可以設置密碼以方便用郵箱登錄
立即設置 以后再說