精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

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

基于神經(jīng)網(wǎng)絡(luò)的激活函數(shù)和相應(yīng)的數(shù)學(xué)介紹

zhKF_jqr_AI ? 2018-01-10 11:53 ? 次閱讀

最近我有一個同事老是問我“為什么我們用這么多激活函數(shù)?”,“為什么這個函數(shù)效果比那個好?”,“你怎么知道要用哪個函數(shù)?”,“這是很難的數(shù)學(xué)?”等等。所以我想,我何不給對神經(jīng)網(wǎng)絡(luò)只有基本了解的人寫篇文章,介紹下激活函數(shù)和相應(yīng)的數(shù)學(xué)呢?

注意:本文假設(shè)你對人工“神經(jīng)元”有基本的了解。

激活函數(shù)

簡單來說,人工神經(jīng)元計算輸入的“加權(quán)和”,加上偏置,接著決定是否需要“激活”(好吧,其實是激活函數(shù)決定是否激活,但是現(xiàn)在讓我們先這樣理解吧)。

考慮一個神經(jīng)元。

上式中,Y的值可能是負(fù)無窮大到正無窮大之間的任意值。神經(jīng)元并不知道值的界限。所以我們?nèi)绾螞Q定神經(jīng)元是否需要激活呢?

為此,我們決定增加“激活函數(shù)”。

階躍函數(shù)

我們首先想到的是一個基于閾值的激活函數(shù)。如果Y的值大于一個特定值,就定義為“激活”。如果小于閾值,則不激活。

激活函數(shù) A = “激活” if Y > 閾值 else not

或者,A = 1 if Y > 閾值, 否則 0

好吧,我們剛剛定義的是一個階躍函數(shù)(step function)。

當(dāng)值大于0(閾值)時,輸出為1(激活),否則輸出為0(不激活)。

很好。很清楚,這可以作為神經(jīng)元的激活函數(shù)。然而,這個方法有一些特定的缺陷。

假設(shè)你正創(chuàng)建一個二元分類器,輸出“是”或“否”(激活或未激活)。一個階躍函數(shù)可以做到這一點。實際上這正是階躍函數(shù)做的事,輸出1或0。然后,想想如果你想要連接更多這樣的神經(jīng)元來引入更多的分類,比如類一、類二、類三,等等。當(dāng)不止一個神經(jīng)元“激活”時會發(fā)生什么?所有的神經(jīng)元將輸出1(基于階躍函數(shù))。然后你如何決定最終結(jié)果屬于哪個分類呢?嗯,很難,很復(fù)雜。

你可能想要用當(dāng)且僅當(dāng)一個神經(jīng)元輸出為1來表示分類結(jié)果。?。∵@更難訓(xùn)練了。更好的選擇是,激活函數(shù)不是二元的,可以表達“50%激活”、“20%激活”之類的概念。這樣,當(dāng)不止一個神經(jīng)元激活的時候,你可以找到“激活程度最高”的神經(jīng)元(其實比max更優(yōu)的選擇是softmax,不過目前我們就用max吧)。

當(dāng)然,如果不止1個神經(jīng)元表示“100%激活”了,問題仍然存在。不過,由于輸出存在中間值,因此學(xué)習(xí)過程將更平滑、更容易(較少波動),不止1個神經(jīng)元100%激活的概率要比使用階躍函數(shù)訓(xùn)練小很多(當(dāng)然,這也取決于訓(xùn)練的數(shù)據(jù))。

好,所以我們希望輸出中間(模擬)激活值,而不是僅僅輸出“激活”或“不激活”(二元值)。

我們第一個想到的是線性函數(shù)。

線性函數(shù)

A = cx

以上是一個直線函數(shù),激活與函數(shù)輸入(神經(jīng)元的加權(quán)和)成比例。

所以這將給出一定范圍內(nèi)的激活,而不是二元激活。我們當(dāng)然可以連接若干神經(jīng)元,如果不止一個神經(jīng)元激活了,我們可以基于最大值(max或softmax)做決定。所以這很好。那么,這有什么問題呢?

如果你熟悉用于訓(xùn)練的梯度下降,你會注意到這個函數(shù)的導(dǎo)數(shù)是一個常數(shù)。

A = cx對x的導(dǎo)數(shù)是c。這意味著梯度與x無關(guān)。這將是一個常數(shù)梯度。如果預(yù)測出現(xiàn)了錯誤,反向傳播進行的改動將是常數(shù),而不依賴于輸入delta(x)!??!

這可不怎么好?。ú⒎强偸侨绱?,但請容許我這么說。)此外,還有一個問題。想想連接起來的層。每個層由線性函數(shù)激活。這個激活接著作為下一層的輸入,下一層同樣基于線性函數(shù)激活,重復(fù)此過程,一直到最后一層。

不管我們有多少層,如果這些層的激活函數(shù)都是線性的,最后一層的最終激活函數(shù)將是第一層的輸入的線性函數(shù)!停頓一會,想想這個。

這意味著,這兩層(或N層)可以被一個單獨的層替換。?。∥覀儎倓偸チ硕询B網(wǎng)絡(luò)層的能力。不管我們堆疊多少層,整個網(wǎng)絡(luò)始終等價于帶線性激活的單層神經(jīng)網(wǎng)絡(luò)(線性函數(shù)的線性組合仍然是一個線性函數(shù))。

讓我們繼續(xù)吧。

sigmoid函數(shù)

基于神經(jīng)網(wǎng)絡(luò)的激活函數(shù)和相應(yīng)的數(shù)學(xué)介紹

好吧,這曲線看上去很平滑,有點像階躍函數(shù)。那這有什么好處呢?花點時間想一想。

首先,它是非線性的。這意味著該函數(shù)的組合也是非線性的。太棒了!我們可以堆疊網(wǎng)絡(luò)層了。至于非線性激活?是的,它是非線性激活!和階躍函數(shù)不同,它將給出模擬激活。同時,它也具備平滑的梯度。

不知道你注意到了沒有,當(dāng)X位于-2和2之間時,Y的值非常陡峭。這意味著,此區(qū)間內(nèi)X的任意微小變動都將導(dǎo)致Y顯著變動。這意味著,該函數(shù)趨向于將Y的值導(dǎo)向曲線的兩端。

看起來這個性質(zhì)對分類器而言很有用?沒錯!確實是這樣。它趨向于將激活導(dǎo)向曲線的兩邊。這在預(yù)測上形成了清晰的差別。

另外一個優(yōu)勢是,相對于線性函數(shù)(-inf, inf)的值域,該函數(shù)的值域為(0, 1)。因此我們的激活函數(shù)是有界的。

sigmoid函數(shù)是現(xiàn)在使用這廣泛的函數(shù)之一。那么,它有什么問題呢?

不知道你注意到了沒有,越是接近sigmoid的兩端,相對X的改變,Y就越趨向于作出非常小的反應(yīng)。這意味著在該區(qū)域的梯度會很小。也就是“衰減的梯度”問題 。嗯,所以當(dāng)激活函數(shù)接近曲線兩端的“鄰近地平線”部分時發(fā)生了什么?

梯度會很小,或者消失了(由于值極小,無法做出顯著的改變了)。網(wǎng)絡(luò)拒絕進一步學(xué)習(xí),或者學(xué)習(xí)速度劇烈地變慢了(取決于具體案例,直到梯度/計算碰到了浮點值的限制)。不過,我們有一些變通措施,因此在分類問題中,sigmoid仍舊非常流行。

Tanh函數(shù)

另一個常用的激活函數(shù)是tanh函數(shù)。

基于神經(jīng)網(wǎng)絡(luò)的激活函數(shù)和相應(yīng)的數(shù)學(xué)介紹

嗯,這看起來和sigmoid很像嘛。實際上,這是一個經(jīng)過拉升的sigmoid函數(shù)!

基于神經(jīng)網(wǎng)絡(luò)的激活函數(shù)和相應(yīng)的數(shù)學(xué)介紹

好,tanh的性質(zhì)和我們之前討論的sigmoid類似。它是非線性的,因此我們可以堆疊網(wǎng)絡(luò)層。它是有界的(-1, 1),所以不用擔(dān)心激活膨脹。值得一提的是,tanh的梯度比sigmoid更激烈(導(dǎo)數(shù)更陡峭)。因此,選擇sigmoid還是tanh將取決于你對梯度強度的需求。和sigmoid類似,tanh也存在梯度衰減問題。

tanh也是一個非常流行和廣泛使用的激活函數(shù)。

ReLu

接著,是ReLu函數(shù),

A(x) = max(0, x)

ReLu函數(shù)如上所示。當(dāng)x是正值時,它輸出x,否則輸出0。

乍看起來這和線性函數(shù)有一樣的問題,因為在正值處它是線性的。首先,RuLu是非線性的。ReLu的組合也是非線性的?。▽嶋H上它是一個很好的逼近子。ReLu的組合可以逼近任何函數(shù)。)很好,這意味著我們可以堆疊網(wǎng)絡(luò)層。不過,它并不是有界的。ReLu的值域是[0, inf)。這意味著它將膨脹激活函數(shù)。

我想指出的另一點是激活的稀疏性。想象一個具有很多神經(jīng)元的大型神經(jīng)網(wǎng)絡(luò)。使用sigmoid或tanh會導(dǎo)致幾乎所有神經(jīng)元以模擬的方式激活(沒忘吧?)這意味著需要處理幾乎所有的激活以描述網(wǎng)絡(luò)的輸出。換句話說,激活是密集的。這樣成本很高。理想情況下,我們希望網(wǎng)絡(luò)中的一些神經(jīng)元不激活,從而使激活變得稀疏和高效。

ReLu在這方面很有用。想象一個具備隨機初始權(quán)重(或歸一化的權(quán)重)的網(wǎng)絡(luò),基于ReLu的特性(x的負(fù)值將輸出0),基本上50%的網(wǎng)絡(luò)將生成0。這意味著更少的神經(jīng)元將被激活(稀疏激活),網(wǎng)絡(luò)也更輕量。哇,棒!ReLu看起來真不錯!是的,它確實不錯,但沒什么東西不存在缺陷……甚至是RuLu。

ReLu的水平線部分(X的負(fù)值)意味著梯度會趨向于0。當(dāng)激活位于ReLu的水平區(qū)域時,梯度會是0,導(dǎo)致權(quán)重?zé)o法隨著梯度而調(diào)整。這意味著,陷入此狀態(tài)的神經(jīng)元將停止對誤差/輸入作出反應(yīng)(很簡單,因為梯度是0,沒有什么改變)。這被稱為死亡ReLu問題。這一問題會導(dǎo)致一些神經(jīng)元直接死亡、失去響應(yīng),導(dǎo)致網(wǎng)絡(luò)的很大一部分進入被動狀態(tài)。有一些緩和這一問題的ReLu變體,將水平線轉(zhuǎn)為非水平部分,例如,當(dāng)x<0時y = 0.01x,使圖像從水平線變?yōu)槁晕A斜的直線。這就是弱修正ReLu(leaky ReLu)。還有其他一些變體。主要的想法是讓梯度不為零,這樣網(wǎng)絡(luò)可以逐漸從訓(xùn)練中恢復(fù)。

相比tanh和sigmoid,ReLu在算力上更經(jīng)濟,因為它使用的是比較簡單的數(shù)學(xué)運算。設(shè)計深度神經(jīng)網(wǎng)絡(luò)的時候,這是需要考慮的一個重要因素。

好,該選哪個呢?

現(xiàn)在來考慮該用哪個激活函數(shù)的問題。我們是否應(yīng)該總是使用ReLu呢?還是sigmoid或tanh?好,是也不是。當(dāng)我們知道嘗試逼近的函數(shù)具有某些特定性質(zhì)時,我們可以選擇能夠更快逼近函數(shù)的激活函數(shù),從而加快訓(xùn)練過程。例如,sigmoid對分類器而言很有效(看看sigmoid的圖像,是不是展示了一個理想的分類器的性質(zhì)?),因為基于sigmoid的組合逼近的分類函數(shù)要比諸如ReLu之類的函數(shù)更容易。當(dāng)然,你也可以使用自己定制的函數(shù)!如果你并不清楚試圖學(xué)習(xí)的函數(shù)的本質(zhì),那我會建議你從ReLu開始,然后再試其他。在大多數(shù)情況下,ReLu作為一個通用的逼近子效果很不錯。

在本文中,我嘗試描述了一些常用的激活函數(shù)。還有其他的激活函數(shù),但基本的思想是一樣的。尋找更好的激活函數(shù)的研究仍在進行。希望你理解了激活函數(shù)背后的思想,為什么要使用激活函數(shù),以及如何選用激活函數(shù)。

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

原文標(biāo)題:理解神經(jīng)網(wǎng)絡(luò)的激活函數(shù)

文章出處:【微信號:jqr_AI,微信公眾號:論智】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    神經(jīng)網(wǎng)絡(luò)基本的訓(xùn)練和工作原理是什么

    在兩層神經(jīng)網(wǎng)絡(luò)之間,必須有激活函數(shù)連接,從而加入非線性因素,提高神經(jīng)網(wǎng)絡(luò)的能力。所以,我們先從激活函數(shù)學(xué)
    發(fā)表于 08-07 10:02 ?620次閱讀
    <b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>基本的訓(xùn)練和工作原理是什么

    神經(jīng)網(wǎng)絡(luò)基本介紹

    神經(jīng)網(wǎng)絡(luò)基本介紹
    發(fā)表于 01-04 13:41

    【PYNQ-Z2試用體驗】神經(jīng)網(wǎng)絡(luò)基礎(chǔ)知識

    思考問題的過程。人腦輸入一個問題,進行思考,然后給出答案。神經(jīng)網(wǎng)絡(luò)就是在模擬人的思考這一過程。而我們要做的就是以數(shù)學(xué)的方式,將這一抽象的過程進行量化。神經(jīng)元與激活
    發(fā)表于 03-03 22:10

    BP神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)數(shù)學(xué)知識分享

    一文看懂BP神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)數(shù)學(xué)知識
    發(fā)表于 06-16 07:14

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

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

    圖文詳解:神經(jīng)網(wǎng)絡(luò)激活函數(shù)

    什么是神經(jīng)網(wǎng)絡(luò)激活函數(shù)?激活函數(shù)有助于決定我們是否需要激活
    的頭像 發(fā)表于 07-05 11:21 ?3668次閱讀
    圖文詳解:<b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>的<b class='flag-5'>激活</b><b class='flag-5'>函數(shù)</b>

    神經(jīng)網(wǎng)絡(luò)初學(xué)者的激活函數(shù)指南

    作者:Mouaad B. 來源:DeepHub IMBA 如果你剛剛開始學(xué)習(xí)神經(jīng)網(wǎng)絡(luò),激活函數(shù)的原理一開始可能很難理解。但是如果你想開發(fā)強大的神經(jīng)網(wǎng)絡(luò),理解它們是很重要的。 但在我們深
    的頭像 發(fā)表于 04-18 11:20 ?476次閱讀
    <b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>初學(xué)者的<b class='flag-5'>激活</b><b class='flag-5'>函數(shù)</b>指南

    神經(jīng)網(wǎng)絡(luò)初學(xué)者的激活函數(shù)指南

    作者:MouaadB.來源:DeepHubIMBA如果你剛剛開始學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)激活函數(shù)的原理一開始可能很難理解。但是如果你想開發(fā)強大的神經(jīng)網(wǎng)絡(luò),理解它們是很重要的。但在我們深入研究
    的頭像 發(fā)表于 04-21 09:28 ?604次閱讀
    <b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>初學(xué)者的<b class='flag-5'>激活</b><b class='flag-5'>函數(shù)</b>指南

    神經(jīng)網(wǎng)絡(luò)中的激活函數(shù)有哪些

    神經(jīng)網(wǎng)絡(luò)中,激活函數(shù)是一個至關(guān)重要的組成部分,它決定了神經(jīng)元對于輸入信號的反應(yīng)方式,為神經(jīng)網(wǎng)絡(luò)引入了非線性因素,使得
    的頭像 發(fā)表于 07-01 11:52 ?380次閱讀

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

    詳細(xì)介紹激活函數(shù)的定義、類型。 激活函數(shù)的定義和基本功能 2.1 定義 激活
    的頭像 發(fā)表于 07-02 10:09 ?305次閱讀

    神經(jīng)網(wǎng)絡(luò)數(shù)學(xué)建模中的應(yīng)用

    地理解和解決實際問題。本文將詳細(xì)介紹神經(jīng)網(wǎng)絡(luò)數(shù)學(xué)建模中的應(yīng)用,包括神經(jīng)網(wǎng)絡(luò)的基本原理、數(shù)學(xué)建模中神經(jīng)網(wǎng)
    的頭像 發(fā)表于 07-02 11:29 ?523次閱讀

    卷積神經(jīng)網(wǎng)絡(luò)的原理是什么

    基本概念、結(jié)構(gòu)、訓(xùn)練過程以及應(yīng)用場景。 卷積神經(jīng)網(wǎng)絡(luò)的基本概念 1.1 神經(jīng)網(wǎng)絡(luò) 神經(jīng)網(wǎng)絡(luò)是一種受人腦神經(jīng)元結(jié)構(gòu)啟發(fā)的數(shù)學(xué)模型,由大量的節(jié)點
    的頭像 發(fā)表于 07-02 14:44 ?348次閱讀

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

    起著至關(guān)重要的作用,它們可以增加網(wǎng)絡(luò)的非線性,提高網(wǎng)絡(luò)的表達能力,使網(wǎng)絡(luò)能夠?qū)W習(xí)到更加復(fù)雜的特征。本文將詳細(xì)介紹卷積神經(jīng)網(wǎng)絡(luò)
    的頭像 發(fā)表于 07-03 09:18 ?316次閱讀

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

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

    前饋神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)和常見激活函數(shù)

    激活函數(shù)的非線性變換,能夠?qū)W習(xí)和模擬復(fù)雜的函數(shù)映射,從而解決各種監(jiān)督學(xué)習(xí)任務(wù)。本文將詳細(xì)闡述前饋神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu),包括其組成層、權(quán)重和偏置、激活
    的頭像 發(fā)表于 07-09 10:31 ?221次閱讀