国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

谷歌大腦的 Swish 激活函數與 ReLU 激活函數對比

wujl596 / 3614人閱讀

摘要:作者微信號微信公眾號簡書地址最近谷歌大腦公布了一個新的激活函數,叫做激活函數。根據谷歌大腦的論文,該激活函數的性能比激活函數的性能要好很多。編寫激活函數在中還沒有實現激活函數。時間比較在我的上面,激活函數比激活函數快秒左右。

作者:chen_h
微信號 & QQ:862251340
微信公眾號:coderpai
簡書地址:http://www.jianshu.com/p/95e3...


最近谷歌大腦公布了一個新的激活函數,叫做 Swish 激活函數。這個函數非常的有趣,很多人都把它應用到一些小的神經網絡和大的神經網絡中去測試它的性能。所以,我也打算去 kaggle 上面測試一些這個函數的性能如何。

Swish 激活函數的數學公式非常的簡單,即 f(x) = x * sigmoid(x) 。根據谷歌大腦的論文,該激活函數的性能比 ReLU 激活函數的性能要好很多。

我利用 Keras 實現的 ReLU 模型,在 kaggle 上面獲得的分數是 0.99457。我保持所有的模型參數不變,只是把原來模型中的 ReLU 激活函數修改為 Swish 激活函數,該模型的正確率就可以達到 0.99671 。

編寫 Swish 激活函數

在 keras 中還沒有實現 Swith 激活函數。所以我們第一步就是需要去實現這個激活函數。下面的 3 行代碼就可以實現這個功能:

from keras import backend as K
from keras.layers import Activationfrom 
keras.utils.generic_utils import get_custom_objects
def swish(x):
    return (K.sigmoid(x) * x)
get_custom_objects().update({"swish": Activation(swish )})

現在我們只需要將 Swish 激活函數添加到模型就行了。

model.add(Conv2D(filters = 32, kernel_size = (5,5),padding = ‘Same’, 
 activation =’swish’, input_shape = (28,28,1)))

但我們的最后一層還是采用原來的 sigmoid 激活函數。

精度比較

在正確率方面,我發現 Swish 激活函數的性能比 ReLU 激活函數好一點,在 kaggle 上面的排名大約可以排到 90 名。

時間比較

在我的 Geforce 940mx 上面,ReLU 激活函數比 Swish 激活函數快 10 秒左右。我知道可能 Swish 激活函數在計算 sigmoid 函數的時候比 ReLU 多浪費了 10 秒。

總結

在 kaggle 上面提交之后,我們的正確率只是多了 0.002 左右,排名大約在 90 名。但是我們每運行一個 epoch ,在 GPU 上面需要多花費 20% - 30% 的時間。剛剛我們使用的是最原始的 Swish 版本,還有另外一個版本,即 Swish_beta (f(x) = 2xsigmoid(betax)) 。我希望這個激活函數比最原始的激活函數可以更加的高效。

參考資料

kaggle 代碼,請點擊這里。
GitHub 代碼,請點擊這里。
Swish 原始論文,請點擊這里。

如果你發現了任何的問題,或者有什么好的想法,請與我聯系。


作者:chen_h
微信號 & QQ:862251340
簡書地址:http://www.jianshu.com/p/95e3...

CoderPai 是一個專注于算法實戰的平臺,從基礎的算法到人工智能算法都有設計。如果你對算法實戰感興趣,請快快關注我們吧。加入AI實戰微信群,AI實戰QQ群,ACM算法微信群,ACM算法QQ群。長按或者掃描如下二維碼,關注 “CoderPai” 微信號(coderpai)

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/41087.html

相關文章

  • 激活函數可視化

    摘要:激活函數介紹形函數函數是神經網絡初期的激活函數。其他不常用的激活函數如反正切,,以及同樣減輕了以上問題。的意思就是對于一個個節點的隱層,使用作為激活函數的神經網絡。實際上這次的實驗中所有系的激活函數除了,使用都收斂的比較快。 前言 簡單來說,激活函數在神經網絡里的作用就是引入Non-linearity。假如沒有激活函數的話,一個多層的神經網絡等同于一個一層的神經網絡。簡單來說,一個神經...

    tolerious 評論0 收藏0
  • 神經網絡和深度學習簡史第四部分:深度學習終迎偉大復興

    摘要:主流機器學習社區對神經網絡興趣寡然。對于深度學習的社區形成有著巨大的影響。然而,至少有兩個不同的方法對此都很有效應用于卷積神經網絡的簡單梯度下降適用于信號和圖像,以及近期的逐層非監督式學習之后的梯度下降。 我們終于來到簡史的最后一部分。這一部分,我們會來到故事的尾聲并一睹神經網絡如何在上世紀九十年代末擺脫頹勢并找回自己,也會看到自此以后它獲得的驚人先進成果。「試問機器學習領域的任何一人,是什...

    Simon_Zhou 評論0 收藏0
  • 「自歸一化神經網絡」提出新型激活函數SELU

    摘要:循環神經網絡令語音和自然語言處理達到了新階段。自歸一化神經網絡對于擾動是具有魯棒性的,它在訓練誤差上并沒有高方差見圖。構建自歸一化神經網絡我們通過調整函數的屬性以構建自歸一化神經網絡。 近日,arXiv 上公開的一篇 NIPS 投稿論文《Self-Normalizing Neural Networks》引起了圈內極大的關注,它提出了縮放指數型線性單元(SELU)而引進了自歸一化屬性,該單元主...

    馬忠志 評論0 收藏0

發表評論

0條評論

wujl596

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<