當前位置:
首頁 > 最新 > 神經網路激活函數=生物轉換器?

神經網路激活函數=生物轉換器?

啊~昨晚躺了一個小時竟然沒有睡著,美容覺泡湯了...於是竟然大半夜起來寫了這篇文章

在《邏輯回歸到神經網路》中,小夕讓神經網路冒了個泡。在《一般化機器學習與神經網路》中,將神經網路這一火熱的模型強制按回機器學習一般框架里。在《BP演算法的本質》里,詳細的闡述了BP演算法的本質與目標。

好啦~這一篇回到簡單、純粹的狀態,我們來一起戳一戳可愛的神經細胞。

學生物的人眼裡的神經細胞:

學數學與機器學習的人眼裡的神經細胞:

看,其實神經元就是一個小小的生命,它會用樹突接收外面世界的多維信息,然後在它小小的腦袋裡計算一下,來對當前外面的世界作出一個反應,這個反應通過軸突傳遞出去。

看,是不是也很像一個小小的機器學習模型呢?一個將多維的輸入X轉換成輸出信號y的小模型。

那麼,假如我們發現了好幾堆(層)可愛的神經元,並且驚訝的發現它們可以交互信息,一起完成任務,但是我們並不知道它們之間怎麼連接的。那怎麼辦呢?

我們當然可以給它們兩兩之間分配一條線呀。這個線就代表兩個神經元之間的連接強度,如果兩個神經元之間沒有連接,這根線的值就是0,連接的越緊密,值就越大。

看。

這麼多可愛的神經元一起工作的時候,在數學家眼裡,其實並不複雜:

前一層的神經元的軸突(輸出信號)與下一層的神經元的樹突(輸入)的信號傳遞過程,其實就是一個線性映射的過程。

補充:

想一想,《線性代數一》中,小夕是不是已經講啦,對待矩陣,一個非常重要的視角就是「映射」。矩陣,可以表示一個映射函數,準確的說是一個線性映射函數。

看,就像上圖中雖然每個人都知道,b=a*W(矩陣乘法),但是有沒有人想過「線性映射」這一層含義呢?其實呀,下一層的樹突b收到的信號,就是上一層的軸突a經過W(這個大眾眼裡的矩陣)線性映射而成的。

前一層神經元們的信號經過線性映射,傳遞到下一層的神經元樹突那裡後,當然下一步就是經過神經元的細胞體啦。

而生物學上的神經元細胞體是幹什麼的呢?當然就是將樹突的信號轉換成軸突的信號啦。所以,它是一個生物信號的轉換器!

而我們知道,多個線性映射疊加之後依然是線性映射。所以哪怕你疊加再多的線性映射,整體的函數依然是個線性函數,這也太雞肋啦。所以細胞體決不能同流合污,它要完成複雜而神秘的信號轉換,也就是數學上的非線性映射

而非線性映射的靈活度就一下子無限大了,有無數的非線性函數可以完成這個非線性映射的過程:

比如,Sigmoid函數:

tanh函數:

Hard tanh函數:

Soft sign函數:

ReLU函數:

Leaky ReLU函數:

其中0

沒錯,這些單調上升的非線性函數都可以當做神經網路的激活函數,在不同的任務中,總有一個在該任務中表現最好的激活函數。

所以,將視角拉的更遠一些:

那麼有沒有一個通用的最優激活函數呢?

只能等生物學家把神經元的細胞體研究透徹著再說啦。

所以,激活函數的選擇,準確的說是構造,目前就是一個黑匣子。所以很難解釋清楚為什麼ReLU函數在圖像相關的任務中往往表現的比廣為人知的Sigmoid、tanh更好,恐怕只有你體內的神經元自己知道啦~快想辦法讓它告訴你呀~

同樣的道理,為什麼非要選擇單調上升的函數呢?就不能用y=sin(x)這種非單調的嗎?就不能用單調下降的嗎?

答:首先是激活函數的生物學依據,激活函數模仿的也是神經細胞的實驗特性——當樹突的輸入足夠強時,就會讓細胞體興奮,從而在軸突輸出一個興奮信號。而當細胞體對樹突的輸入不感興趣或者它認為不夠強時,就處於抑制態,在軸突輸出的信號很弱,或者說相當於輸出電路中的低電平。除此之外,就是依靠大量面向任務的選擇經驗+少量感性推理+少量理性推理。也就是說,這個問題並沒有被嚴謹的否決,所以不要輕易說不可以哦。

而具體的什麼函數在什麼領域,什麼任務中表現的好,大家就自己去積累經驗吧。也有很多博客和論文有講這些經驗性的trick。比如在斯坦福大學的CS224D課程(自然語言處理與深度學習)中,就有較為詳細的講解。

下面這個是CS224D的中文筆記(不是我記的),這篇文章里的激活函數的公式和模擬圖也是從這裡直接摳出來的。作者筆記里還有這些激活函數的導函數等,建議沒時間刷視頻的可以看這個筆記:

還有一篇文章也比較有營養:

http://www.cnblogs.com/pinard/p/6437495.html

還有一篇論文,數學差的就要慎重些了:

Mhaskar H N, Micchelli C A. How to choose an activationfunction[J]. Advances in Neural Information Processing Systems, 1994: 319-319.

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 夕小瑤的賣萌屋 的精彩文章:

TAG:夕小瑤的賣萌屋 |

您可能感興趣

詳解神經網路中的神經元和激活函數
神經網路中常用的激活函數的說明
損失函數的不同會對神經網路帶來什麼影響?
Class:向傳統類模式轉變的構造函數
PHP 隱式轉換(自動裝換)和 bc 精度函數
函數奇偶性題型總結!
函數式編程
函數參數的傳遞
機器學習優化函數的直觀介紹
遞歸函數及匿名函數配合內置函數的使用
谷歌大腦:只要網路足夠寬,激活函數皆可拋
c++輸入流函數輸出流函數
正弦函數究竟有多神奇?
技術分享:什麼是函數式編程?
函數聲明與函數表達式
複製構造函數與析構函數
Hive 時間轉換函數使用心得
曠視科技孫劍:物體檢測中很難用函數逼近去解決的幾大問題
密碼技術之單向散列函數
構造函數基本概念