日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

神经网络激活函数=生物转换器?

發布時間:2024/7/5 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 神经网络激活函数=生物转换器? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

?

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

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

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

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

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

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

?

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

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

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

?

?

看。

?

這么多可愛的神經元一起工作的時候,在數學家眼里,其實并不復雜:

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

補充:

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

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

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

?

?

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

?

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

?

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

?

比如,Sigmoid函數:


?tanh函數:


Hard tanh函數:


Soft sign函數:


ReLU函數:


Leaky ReLU函數:

其中0<k<1。

?

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

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

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

?

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

?

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

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

?

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

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

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

http://blog.csdn.net/han_xiaoyang/article/details/51711134

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

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.

總結

以上是生活随笔為你收集整理的神经网络激活函数=生物转换器?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。