0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

激活函數(shù)中sigmoid、ReLU等函數(shù)的一些性質(zhì)

lviY_AI_shequ ? 來源:未知 ? 作者:李倩 ? 2018-08-02 14:52 ? 次閱讀

本文主要是回答激活函數(shù)的使用

我們認識的激活函數(shù)中sigmoid、ReLU等,今天就是要講解一下這些函數(shù)的一些性質(zhì)

激活函數(shù)通常有一些性質(zhì):

非線性:當激活函數(shù)是線性的時候,一個兩層的神經(jīng)網(wǎng)絡(luò)就可以基本逼近所有的函數(shù),但是,如果激活函數(shù)是恒等激活函數(shù)的時候,就不滿足這個性質(zhì)了,而且如果MLP使用的是恒等激活函數(shù),那么其實整個網(wǎng)絡(luò)跟單層神經(jīng)網(wǎng)絡(luò)是等價的

可微性:當優(yōu)化方法是基于梯度的時候,這個性質(zhì)是必須的

單調(diào)性:當激活函數(shù)是單調(diào)的時候,這個性質(zhì)是必須的

f(x)≈x:當激活函數(shù)滿足這個性質(zhì)的時候,如果參數(shù)的初始化是random的很小的值,那么神經(jīng)網(wǎng)絡(luò)的訓練將會很高效;如果不滿足這個性質(zhì),那么就需要很用心的去設(shè)置初始值

輸出值的范圍:當激活函數(shù)輸出值是有限的時候,基于梯度的優(yōu)化方法會更加穩(wěn)定,因為特征的表示,當激活函數(shù)的輸出是無限的時候,模型訓練會更加的高效,不過在這種情況很小,一般需要一個更小的學習率

Sigmoid函數(shù)

Sigmoid是常用的激活函數(shù),它的數(shù)學形式是這樣,

當如果是非常大的負數(shù)或者正數(shù)的時候,梯度非常小,接近為0,如果你的初始值是很大的話,大部分神經(jīng)元都出在飽和的情況,會導致很難學習

還有就是Sigmoid的輸出,不是均值為0為的平均數(shù),如果數(shù)據(jù)進入神經(jīng)元的時候是正的(e.g.x>0elementwise inf=wTx+b),那么w計算出的梯度也會始終都是正的。

當然了,如果你是按batch去訓練,那么那個batch可能得到不同的信號,所以這個問題還是可以緩解一下的。因此,非0均值這個問題雖然會產(chǎn)生一些不好的影響

tanh

和Sigmoid函數(shù)很像,不同的是均值為0,實際上是Sigmoid的變形

數(shù)學形式

與Sigmoid不同的是,tanh是均值為0

ReLU

今年來,ReLU貌似用的很多

數(shù)學形式

ReLU的優(yōu)點

相比較其他的,ReLU的收斂速度會比其他的方法收斂速度快的多

ReLU只需要一個閾值就可以得到激活值,而不用去算一大堆復雜的運算

也有一個很不好的缺點:就是當非常大的梯度流過一個 ReLU 神經(jīng)元,更新過參數(shù)之后,這個神經(jīng)元再也不會對任何數(shù)據(jù)有激活現(xiàn)象了,所以我們在訓練的時候都需要設(shè)置一個比較合適的較小的學習率

Leaky-ReLU、P-ReLU、R-ReLU

數(shù)學形式

f(x)=x,(x>=0)

這里的α是一個很小的常數(shù)。這樣,即修正了數(shù)據(jù)分布,又保留了一些負軸的值,使得負軸信息不會全部丟失

自己在寫神經(jīng)網(wǎng)絡(luò)算法的時候還沒嘗試過這個激活函數(shù),有興趣的同學可以試試效果

對于 Leaky ReLU 中的α,通常都是通過先驗知識人工賦值的。

然而可以觀察到,損失函數(shù)對α的導數(shù)我們是可以求得的,可不可以將它作為一個參數(shù)進行訓練呢?

不僅可以訓練,而且效果更好。

如何去選擇

目前業(yè)界人都比較流行ReLU,

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴

原文標題:BP神經(jīng)網(wǎng)絡(luò)常用激活函數(shù)

文章出處:【微信號:AI_shequ,微信公眾號:人工智能愛好者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    sigmoid函數(shù)波形

    1、Sigmoid函數(shù)原型2、sigmoid函數(shù)波形:由圖形可看出在-10時已經(jīng)接近于0,般取值區(qū)間在[-5,5]。3、
    發(fā)表于 09-03 06:53

    Sigmoid函數(shù)介紹

    、Sigmoid 函數(shù)1.1 Sigmoid函數(shù)原型1.2 sigmoid
    發(fā)表于 09-03 09:06

    多輸出Plateaued函數(shù)的密碼學性質(zhì)

    該文對多輸出Plateaued 函數(shù)一些密碼學性質(zhì)進行了研究,以多輸出函數(shù)的特征函數(shù)為工具,建立了多輸出Plateaued
    發(fā)表于 11-17 13:51 ?18次下載

    Sigmoid函數(shù)的擬合法分析及其高效處理

    使用分段非線性逼近算法計算超越函數(shù),以神經(jīng)網(wǎng)絡(luò)應用最為廣泛的Sigmoid函數(shù)為例,結(jié)合函數(shù)自身對稱的
    發(fā)表于 11-15 13:15 ?1.2w次閱讀
    <b class='flag-5'>Sigmoid</b><b class='flag-5'>函數(shù)</b>的擬合法分析及其高效處理

    ReLU到Sinc的26種神經(jīng)網(wǎng)絡(luò)激活函數(shù)可視化大盤點

    本文介紹了26個激活函數(shù)的圖示及其階導數(shù),在神經(jīng)網(wǎng)絡(luò),激活函數(shù)決定來自給定輸入集的節(jié)點的輸出
    發(fā)表于 01-11 17:42 ?3.1w次閱讀
    <b class='flag-5'>ReLU</b>到Sinc的26種神經(jīng)網(wǎng)絡(luò)<b class='flag-5'>激活</b><b class='flag-5'>函數(shù)</b>可視化大盤點

    13種神經(jīng)網(wǎng)絡(luò)激活函數(shù)

    ReLU(Rectified Linear Unit,修正線性單元)訓練速度比tanh快6倍。當輸入值小于零時,輸出值為零。當輸入值大于等于零時,輸出值等于輸入值。當輸入值為正數(shù)時,導數(shù)為1,因此不會出現(xiàn)sigmoid函數(shù)反向傳
    的頭像 發(fā)表于 05-16 11:18 ?3.3w次閱讀
    13種神經(jīng)網(wǎng)絡(luò)<b class='flag-5'>激活</b><b class='flag-5'>函數(shù)</b>

    一些人會懷疑:難道神經(jīng)網(wǎng)絡(luò)不是最先進的技術(shù)?

    如上圖所示,sigmoid的作用確實是有目共睹的,它能把任何輸入的閾值都限定在0到1之間,非常適合概率預測和分類預測。但這幾年sigmoid與tanh卻直火不起來,凡是提及激活
    的頭像 發(fā)表于 06-30 08:55 ?3299次閱讀

    PyTorch已為我們實現(xiàn)了大多數(shù)常用的非線性激活函數(shù)

    PyTorch已為我們實現(xiàn)了大多數(shù)常用的非線性激活函數(shù),我們可以像使用任何其他的層那樣使用它們。讓我們快速看個在PyTorch中使用ReLU激活
    的頭像 發(fā)表于 07-06 14:47 ?904次閱讀

    在PyTorch中使用ReLU激活函數(shù)的例子

    PyTorch已為我們實現(xiàn)了大多數(shù)常用的非線性激活函數(shù),我們可以像使用任何其他的層那樣使用它們。讓我們快速看個在PyTorch中使用ReLU激活
    的頭像 發(fā)表于 07-06 15:27 ?2464次閱讀

    Dynamic ReLU:根據(jù)輸入動態(tài)確定的ReLU

    這是我最近才看到的篇論文,它提出了動態(tài)ReLU (Dynamic ReLU, DY-ReLU),可以將全局上下文編碼為超函數(shù),并相應地調(diào)整
    的頭像 發(fā)表于 09-01 17:28 ?655次閱讀
    Dynamic <b class='flag-5'>ReLU</b>:根據(jù)輸入動態(tài)確定的<b class='flag-5'>ReLU</b>

    PyTorch激活函數(shù)的全面概覽

    為了更清晰地學習Pytorch激活函數(shù),并對比它們之間的不同,這里對最新版本的Pytorch激活
    的頭像 發(fā)表于 04-30 09:26 ?489次閱讀
    PyTorch<b class='flag-5'>中</b><b class='flag-5'>激活</b><b class='flag-5'>函數(shù)</b>的全面概覽

    神經(jīng)網(wǎng)絡(luò)激活函數(shù)的定義及類型

    引言 神經(jīng)網(wǎng)絡(luò)是種模擬人腦神經(jīng)元結(jié)構(gòu)的計算模型,廣泛應用于圖像識別、自然語言處理、語音識別領(lǐng)域。在神經(jīng)網(wǎng)絡(luò),激活函數(shù)起著至關(guān)重要的作用
    的頭像 發(fā)表于 07-02 10:09 ?405次閱讀

    卷積神經(jīng)網(wǎng)絡(luò)激活函數(shù)的作用

    卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks, CNNs)是深度學習中種重要的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),廣泛應用于圖像識別、語音識別、自然語言處理領(lǐng)域。在卷積神經(jīng)網(wǎng)絡(luò),
    的頭像 發(fā)表于 07-03 09:18 ?673次閱讀

    BP神經(jīng)網(wǎng)絡(luò)激活函數(shù)怎么選擇

    ,激活函數(shù)起著至關(guān)重要的作用,它決定了神經(jīng)元的輸出方式,進而影響整個網(wǎng)絡(luò)的性能。 、激活函數(shù)
    的頭像 發(fā)表于 07-03 10:02 ?529次閱讀

    神經(jīng)元模型激活函數(shù)通常有哪幾類

    神經(jīng)元模型激活函數(shù)是神經(jīng)網(wǎng)絡(luò)的關(guān)鍵組成部分,它們負責在神經(jīng)元之間引入非線性,使得神經(jīng)網(wǎng)絡(luò)能夠?qū)W習和模擬復雜的函數(shù)映射。以下是對神經(jīng)元模型激活
    的頭像 發(fā)表于 07-11 11:33 ?743次閱讀