人腦有接近900億個神經元,這麼龐大的網路規模是如何防止梯度消失和梯度爆炸的呢?我自己想的是,因為人腦不會一次性激活所有神經元,在腦區較遠的地方將結果進行緩存。(這是不是res網路發明跳連的原因呢?)想聽下更深入學習者的看法


現在大家普遍認為人腦並沒有像DNN那樣的梯度回傳機制...了解一點生物學就知道神經元的傳遞是單向的。但是至於能不能2個神經元一個前饋一個回傳?現在的研究並沒有發現...而且一般都是把這種鏈接看成循環結構的(RNN)。

其次新生的動物大概率不需要學習就能掌握很多基本的信息處理能力。例如牛羊馬這些一生下來就能走路的。說明他們基因里就預編程了走路運動,視覺等一些基本能力,而這些能力我們都是通過backpropagation訓練模型來達成的。人類之所以生下來看不清。現有的解釋大約是人類在出生時並沒有發育完全,不然嬰兒頭太大無法順利生產。

但是,大腦里肯定是存在回傳error從而修改突觸權重的機制的。這一類機制里現在最靠譜的就是predictive coding。

4月18號更新:

Hinton老爺子昨天剛在nature上發了一篇paper。裡面提出了一種不需要backpropagation的local優化方法。感興趣的可以去下面這個鏈接看一下。

https://www.nature.com/articles/s41583-020-0277-3?

www.nature.com

論文中有一段專門講了一點先驗知識的部分。和之前答案的第二段觀點基本相吻合。

文章主要基於The NGRAD hypothesis。之前很多模型具體實現這個假設就是依託於predictive coding。本文在我看來也是類似於predictive coding的。沒有細讀,還有望其他大佬來糾正。


人腦的研究現在連什麼是我們不知道都不知道,更別談用DNN的問題往上套了。

我覺得跨學科的話題一定要界定清楚每一個詞在兩邊的實際含義,比如同樣是「神經元」,大腦現在已知的神經元有上百種,動力學方程極其複雜。DNN裡面的神經元在早期是指激活函數那個節點,現在的DNN都已經用計算圖來描述了,神經元這個概念都基本被拋棄了。再比如同樣是「學習」,通常意義上講的人學習的能力,和人腦神經元的STDP學習規則的學習,以及DNN訓練權重參數,這三件事可能根本不是一個層面上的事情。

所以這個時候你討論人腦學習的時候為什麼不會梯度爆炸,且不說DNN通過歸一化就可以很好解決這個問題,這個問題本身就隱含了太多對人腦的假設,比如人腦形式類似DNN,人腦的學習就是DNN訓練權重,學習方法是基於梯度的。然而這些很可能一個都不對。


1.為什麼會有梯度爆炸?

神經網路的層數太多,對激活函數求導,如果結果大於1,由於隨層數增加求出的梯度信息指數增加,即為梯度爆炸。若小於1,則指數減小,即為梯度消失。

2.人腦是怎麼運作的?

是你給一個圖像進去人腦就全腦同時激活了嗎?顯然不是,大腦是分區激活的。但是,將信息儲存在一個較遠的地方只是人腦演算法一個很小的部分,它與動物與人驚人的識物能力無關。我覺得它更多的與短時記憶的儲存(在變為長時記憶之前)有關。

3.先天結構?

拜託,現在人腦大塊的,廣泛分布的解剖結構和神經編碼機制都沒發掘完,就著眼小方向上的小結構了?皮質微柱,這個開發完了嗎?回傳通路呢,這個在大腦中比正傳通路都要多,這個應用了嗎?

4.關於先天結構的解讀?

現在AI研究認為人腦結構沒用多少是建立在對先天結構錯誤或片面的解讀上?典型的如大腦中大量的抑制性突觸。這個在主流觀點中被解讀為了這是大腦讓興奮維持在一個較均衡的值的方法,目的防止梯度爆炸或消失的發生,在AI研究領域表現為操作上表現為加上或減去一個高斯分布。但是那為什麼大腦越高級皮質區的神經網路抑制性突觸更多?按照這個理論不應該中間層最多嗎?大量的對人腦結構的評估建立在以深度學習為基礎的標尺上,說的冷靜一點是盲目的假設深度學習是機器學習的終點,說不好聽一點那就是「鍵盤指揮大腦的行為」。

5.深度神經網路一定要做深嗎?

顯然不是,大腦從來沒有這麼深的神經網路,而且大腦的識物能力一點也不比現在的神經網路弱(見第6條)。當然了,這還有一種解讀就是,自然沒我們聰明嘛,我們能做出80層,但人腦只有6層,看我們多厲害,自然用6層可以解決,我們80層都解決不了嘛。

6.深度學習的缺陷?

不要說現在AI識物能力超過人類了。請問現在訓練的神經網路,可不可以幫我們把一個生物(動物或植物)分類到種?可不可以充當智能生物圖鑑?(就是我輸入一個照片,它不是輸出蛾子,而是輸出草地貪夜蛾?)可不可以幫助我們發現環境中隱藏的擬態生物?不行,真不行。那有沒有人可以做到?真有!請搜索「博物學家」。

7.未來的方向?

一種當然是變更演算法,從基礎的層面去革新,而不能滿足小修小改,因為輸入的數據在現在的框架下並沒有被充分利用。一種當然是等待更大的計算機,然後整天幻想有了太陽那麼大的計算機,就可以實現強人工智慧的美夢了。

8.為什麼一定要解決梯度爆炸(梯度消失)的問題?

對啊,為什麼一定要起解決呢?解決這個問題是未來AI發展必然的方向嗎?還是這只是一種可能的途徑?

9.關於反向傳播演算法。

雖然人們一直希望找到反向傳播演算法的生理基礎,但可惜一直沒找到。反而出現了打擊反傳演算法的證據,比如Hinton的膠囊神經網路,就不是用反傳演算法來實現機器學習的(雖然效率現在並不高)。

補圖:其實從圖中可以看出有六層(不運算元層),且每層神經細胞形狀不同(大概率對應不同功能)但大腦中確實不存在單單一個皮質區(腦區)就有80層的神經網路。不同於大多數,我恰恰認為大腦並沒有去解決梯度爆炸,而且很好的繞開了它,並且這使得它比任何現有的程序都強大。


是不是得先證明人腦神經系統跟神經網路模型是相似機制,然後再證明人腦也是一樣的反向傳播,最後再研究為什麼神經網路層數多了節點多了會梯度尼散或爆炸而人腦不會。假設都是錯的,後面的問題就不用去想了。


只有用梯度下降演算法才會涉及到跟梯度有關的問題,而最優化並不只有梯度下降一種方法,只是梯度下降比較高效所以常用。人腦的學習方法可能沒有那麼高效,但反正有的是時間。


推薦閱讀:
相关文章