一個神經科學工作者眼中的Alexnet
(因為本文只針對Alexnet,所以並沒有考慮神經網路的最新發展。這個領域發展如此快,有這麼多變種出現,不可能一一討論細節了)
接著上一篇,有空了繼續說說Alexnet,把另外幾個Alexnet和神經科學當中相關的點講完,比如池化(pooling),dropout 還有數據增強(data augmentation)。
池化(pooling)
老實講,神經科學當中pooling這個詞在不同的應用場景下很常見,可是真的是從機器學習的人口中才第一次聽到了『池化』這個中文翻譯。。。
在神經科學中,把多個神經元的信息放到一起做某種特定的計算,或者讀取出相應的信息,就是一種pooling的表現。當然有很多可以討論的點,比如把什麼樣的神經元來放到池裡,池化的範圍有多大。池化和非線性激活函數一樣,成為目前很多卷積神經網路的標配。從神經網路的角度來講,池化有這樣幾個優勢。首先,能夠對參數進行下採樣,逐層減少輸入數量,使計算更快優化更方便。其次,因為參數數量的調整,可以防止過擬合。最最重要的是,增強了對輸入圖像局部扭曲,拉伸,平移的變化的不變性。這幾條相信已經是機器學習裡面的共識,不細講,知乎上隨便搜一搜就能找到介紹文章。
那麼人類視覺神經元是不是在做池化操作呢?可以很肯定的是說,是有的。而且這種pooling也是人類視覺系統建立穩定的位置,朝向不變的的客體識別的基礎。從視皮層的角度來說,一個重要的特徵就是,神經元的感受野(receptive field)逐漸增大,所表徵的內容也從簡單的線段邊緣到高級的物體特徵。但是感受野這東西是怎麼來的?就是對前一層的輸入做下採樣,也就是pooling得到的。換句話說,每一個更高一級的神經元就是池化了低一級當中多個神經元的輸入。這種池化增強了物體不變性,但是損失了細節。有意思的是,在人類視覺中,中央視野(foveal vision)和外周視野(peripheral vision)具有明顯的pooling範圍的區別。舉個很簡單的例子,視覺擁擠(visual crowding). 圖來源Wallis et al. 2011
請把注視點放到中央圓點,你還是能辨別出右邊是字母N,但是左邊的N是識別不出來的,原因是周邊包圍了一些別的字母。因為在外周視野,相當於把左邊視野的這些字母取一個池化,自然就破壞了中間字母N的識別。另外說一句,更多的觀點認為這種外周視野的池化是一種平均,而不是取最大值,和現在的神經網路設計並不太一樣。最大值可能對應的是神經計算當中,winner-take-all的解碼方式,不細講了。
這種以離心率(eccentricity)為基礎的pooling,似乎並沒有出現在目前的神經網路設計中。一個原因是,離心率與注視點有關,而一般的圖像識別基本不考慮注視點。我從目前的人類視覺系統的pooling設計上,看不到對神經網路的有什麼有益的作用。
數據增強 (data augmentation) 和Dropout
這兩個放在一起講,是因為都是防止過擬合的手段,前者是一個很早就發現的trick,後者是近些年hinton想出來的辦法。但是具體講神經網路的過擬合之前,先講講人類視覺的學習。
神經網路很容易過擬合,數據太少,參數太多,數據分布不均勻,訓練和測試數據分布不一致等等原因都可能導致過擬合。簡單來說,你辛辛苦苦訓好了神經網路,稍稍改一個環境參數就不適用了。我想說的是,不僅僅是計算機視覺,人類視覺學習不能遷移的性質讓視覺神經科學家們頭疼的幾十年!!!
什麼意思?比如下圖(Byers & Serences 2014), 先後呈現兩個朝向的光柵(-45°±5°),然後問你第二個光柵相對於第一個是順時針旋轉還是逆時針旋轉。看起來很簡單的實驗,實驗室里做這個行為實驗的話,一個人訓練幾個小時,很可能就能分辨精細到±1°的差別。可是如果把刺激翻轉過來,換成45°±5°,就沒有任何提高。換句話說,你學會的朝向辨別,僅僅在-45°有效,把視覺刺激換個『馬甲』就不認識了。類似的情況還有很多,比如你訓練在左視野做朝向辨別,刺激放到右視野就跟沒學一樣。從這個角度來講,人類視覺系統真的是非常stupid。。。
為什麼人類視覺系統的訓練不能遷移,稍稍改變實驗條件就狗帶?這個問題早在80年代就發現,到現在爭了幾十年。有意思的是,北大心理學院的余聰老師在2008年發表了一篇很著名文章(Xiao et al, 2008),徹底顛覆了人類視覺學習不能遷移這個觀點。如果在訓練的時候,使用以上-45°的光柵,同時加上元刺激翻轉(45°),或者平移的版本,哪怕是訓練另一個刺激,學習就能遷移了。這和機器學習裡面的data augmentation不就是一回事么?可惜認知神經科學家們爭論了這麼多年,如果有人真的去看看計算機視覺的人是怎麼避免過擬合的,也不至於在黑暗中摸索了這麼久。
Dropout
Dropout是Alexnet裡面比較創新的設計,從實現上來講很簡單,就是每次隨機的把一個神經元的輸出以0.5的概率設置為0。關於這一點的設計,知乎上也有討論,求問這一點到底是怎麼想到的Krizhevsky等人是怎麼想到在CNN里用Dropout和ReLu的? - 知乎。(在之前的版本中,我形容這種隨機性是noise,但是後來看評論才發現不同領域對noise的定義非常不一樣,比如我認為以0.5的概率隨機關停神經元在形式上就是引入伯努利noise,但是神經網路研究者並不這麼認為,以下就統稱為隨機性stochasticity吧)。
Dropout的總體的思想就是,在訓練過程中,讓整個網路內部具有一定的隨機性(stochasticity),引入隨機性之後能夠在訓練過程中實現對模型參數的貝葉斯估計,也就是不僅要知道優化值,還要知道對參數的confidence,簡而言之不是簡單得到一個值,而是針對每個模型參數構建一個後驗概率分布。有個問題我並不清楚,alexnet加入的是伯努利分布,如果加入別的隨機性,比如高斯,是不是在數學上還是等價於貝葉斯估計?
(之前的版本我只想簡要提到隨機性和貝葉斯估計的關係,因為我覺得加了這部分會又臭又長,既然評論有人說了,以下多展開一點)。
當時我看到這一點,覺得是細思極恐的。隨機性在神經活動中早已經被證明廣泛存在,比如一個神經元的發放在一定時間內滿足泊松分布,很多神經傳導滿足高斯分布。關於這些隨機性存在的意義,一直都有爭論。但是有一個大原則和以上神經網路中引入隨機性的效果是一致的,就是這些隨機性對大腦內部的概率表徵具有重要作用,這些隨機性的發生是在大腦實現蒙特卡洛採樣或者貝葉斯的基礎。
其中有這樣幾個區別
1. Alexnet是在訓練過程中引入dropout,然後測試的時候並沒有用(實際上應該用來估計預測值的confidence)。實際的人類視皮層神經元是無時無刻不有隨機性的。
2. 隨機性和學習泛化的關係,在人工神經網路上有了很好的證明,但是在人類視覺系統還沒有很好的直接證據。如果能在人類視覺上證明這一點,是不是是計算機科學家們又給神經科學家們上了一課呢?
3. 相反,很多人認為人類視覺神經元當中的隨機性,是為了做採樣。一個很簡單的問題,要構建一個後驗概率,拿出一張紙,你就可以寫出公式,解析解或者利用變分推斷。問題是,這些全是數學上的東西,大腦裡面只有這麼多神經元,怎麼實現?比如有相當多的人認為,神經元的隨機性讓一群神經元可以針對一個特定的後驗分布進行蒙特卡洛採樣。這個採樣的過程就可以融合了多種自上而下和自下而上的過程。
Haefner, R. M., Berkes, P., & Fiser, J. (2016). Perceptual decision-making as probabilistic inference by neural sampling.Neuron,90(3), 649-660.
Orbán, G., Berkes, P., Fiser, J., & Lengyel, M. (2016). Neural variability and sampling-based probabilistic representations in the visual cortex.Neuron,92(2), 530-543.
Heeger, D. J. (2017). Theory of cortical function.Proceedings of the National Academy of Sciences,114(8), 1773-1782.
總而言之,Alexnet把計算機視覺的研究帶入了一個新的高潮,以後的很多結構基本都遵循了Alexnet的大框架。以上這些只是拋磚引玉,更多的是希望神經科學家們認真看看機器學習領域的進展,看看這些東西能給我們理解人類大腦帶來什麼。
Other references
Byers, A., & Serences, J. T. (2014). Enhanced attentional gain as a mechanism for generalized perceptual learning in human visual cortex.Journal of neurophysiology,112(5), 1217-1227.
Freeman, J., & Simoncelli, E. P. (2011). Metamers of the ventral stream.Nature neuroscience,14(9), 1195-1201.
Jeter, P. E., Dosher, B. A., Liu, S. H., & Lu, Z. L. (2010). Specificity of perceptual learning increases with increased training.Vision research,50(19), 1928-1940.
Wallis, T. S., & Bex, P. J. (2011). Visual crowding is correlated with awareness.Current Biology,21(3), 254-258.
Xiao, L. Q., Zhang, J. Y., Wang, R., Klein, S. A., Levi, D. M., & Yu, C. (2008). Complete transfer of perceptual learning across retinal locations enabled by double training.Current Biology,18(24), 1922-1926.


※Linux下logrotate 日誌輪詢操作梳理
※漫山遍野的多邊形元素,正在入侵每一份設計稿
※Stata 15發布,支持markdown!
※原生JS發送非同步數據請求
※知識付費產品盤點,哪款治好了你的焦慮?
TAG:推酷 |
※Cell Reports:科學家揭示「學習」的機理!
※《中國科學:技術科學》英文專題:Digital Image Correlation
※科學家的Green Salsa食譜
※深度學習的「教父」Geoff Hinton:從神經科學適應AI的想法
※Women in Data Science Beijing:與數據科學的美妙邂逅
※科學家Jeff Lieberman:我是誰?
※谷歌大腦科學家Hugo LaRochelle:不要為AI劃定邊界
※褶子科學家Issey Miyake 的寫意梳理
※科學家發現一個人體新器官 Interstitium,讓我們一起目睹
※走近科學 Wolfgang Tillmans展覽現場的奧秘
※Hennessy與Patterson 雙雙進駐 Google,是計算機科學新時代的曙光
※Hennessy與Patterson雙雙進駐Google,是計算機科學新時代的曙光
※Stem cell Rep:科學家們創造出有功能的腎臟組織
※Development:科學家揭示幹細胞生境的特殊結構
※Acta Neuropathol Commun:科學家們開發出診斷神經退行性疾病的新方法
※跑步的科學訓練必讀-R4K現場回顧 Running Biomechanics
※亞馬遜AWS首席科學家Animashree Anandkumar:機器學習將引領未來革命
※Nat Microbiol:科學家闡明彎麴菌引發食物中毒的分子機制
※Jupyter Notebook數據科學高效技巧!
※EbioMedicine:重磅!中國科學家首次成功培育出「人工耳朵」