哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

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

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

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

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

zhKF_jqr_AI ? 2018-01-10 11:53 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

激活函數(shù)

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

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

上式中,Y的值可能是負無窮大到正無窮大之間的任意值。神經(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)。

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

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

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

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

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

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

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

線性函數(shù)

A = cx

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

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

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

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

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

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

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

讓我們繼續(xù)吧。

sigmoid函數(shù)

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

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

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

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

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

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

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

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

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

Tanh函數(shù)

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

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

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

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

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

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

ReLu

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

A(x) = max(0, x)

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

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

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

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

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

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

好,該選哪個呢?

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

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

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

    關(guān)注

    42

    文章

    4840

    瀏覽量

    108130
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4421

    瀏覽量

    67815

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

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

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

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

    NMSIS神經(jīng)網(wǎng)絡庫使用介紹

    :   神經(jīng)網(wǎng)絡卷積函數(shù)   神經(jīng)網(wǎng)絡激活函數(shù)   全連接層函數(shù)   
    發(fā)表于 10-29 06:08

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    激活函數(shù)的非線性變換,能夠?qū)W習和模擬復雜的函數(shù)映射,從而解決各種監(jiān)督學習任務。本文將詳細闡述前饋神經(jīng)網(wǎng)絡的基本結(jié)構(gòu),包括其組成層、權(quán)重和偏置、激活
    的頭像 發(fā)表于 07-09 10:31 ?2816次閱讀
    张家港市| 江津市| 柳江县| 河曲县| 德州市| 西平县| 濮阳县| 茶陵县| 宁乡县| 上杭县| 龙海市| 保定市| 洛南县| 江北区| 华容县| 喀喇沁旗| 邢台市| 黄陵县| 湛江市| 横峰县| 丹东市| 宾川县| 砀山县| 屏边| 德昌县| 诏安县| 静海县| 彝良县| 孙吴县| 和硕县| 吉安市| 永登县| 额济纳旗| 定边县| 望奎县| 巩留县| 高唐县| 都兰县| 乾安县| 乳山市| 通海县|