99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話(huà):13121318867

登錄
首頁(yè)大數(shù)據(jù)時(shí)代為什么我們的神經(jīng)網(wǎng)絡(luò)需要激活函數(shù)
為什么我們的神經(jīng)網(wǎng)絡(luò)需要激活函數(shù)
2020-07-30
收藏

今天小編給大家分享的文章是:為什么我們的神經(jīng)網(wǎng)絡(luò)需要激活函數(shù)。神經(jīng)網(wǎng)絡(luò)機(jī)器學(xué)習(xí)里極為重要的一門(mén)技術(shù)。學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)不僅能讓讓我們掌握一門(mén)強(qiáng)大的機(jī)器學(xué)習(xí)方法,還有利于我們理解深度學(xué)習(xí)技術(shù)。希望通過(guò)這篇文章能讓大家對(duì)神經(jīng)網(wǎng)絡(luò)有一個(gè)更深刻的理解,對(duì)大家的機(jī)器學(xué)習(xí)有所幫助。

文章來(lái)源: DeepHub IMBA微信公眾號(hào)

作者:P**nHub兄弟網(wǎng)站

如果你正在讀這篇文章,那么很可能你已經(jīng)知道什么是神經(jīng)網(wǎng)絡(luò),什么是激活函數(shù),但是,一些關(guān)于機(jī)器學(xué)習(xí)的入門(mén)課程并不能很清楚地說(shuō)明,為什么我們需要這些激活函數(shù)。我們需要它們嗎?沒(méi)有它們,神經(jīng)網(wǎng)絡(luò)還能工作嗎?

首先讓我們回顧一下關(guān)于神經(jīng)網(wǎng)絡(luò)的一些事情。它們通常被可視化地表示為一個(gè)類(lèi)似圖表的結(jié)構(gòu),如下圖所示:

如上圖所示,神經(jīng)網(wǎng)絡(luò)有3層:輸入層、隱藏層、輸出層,共3、4、2個(gè)神經(jīng)元。輸入層的節(jié)點(diǎn)數(shù)量與數(shù)據(jù)集的特性數(shù)量相同。對(duì)于隱藏層,您可以自由選擇需要多少節(jié)點(diǎn),并且可以使用多個(gè)隱藏層。

網(wǎng)絡(luò)中的每個(gè)神經(jīng)元,除了那些在輸入層的神經(jīng)元,可以被認(rèn)為是一個(gè)線性分類(lèi)器,它將前一層神經(jīng)元的所有輸出作為輸入,并計(jì)算這些輸出加上一個(gè)偏置項(xiàng)的加權(quán)和。然后,下一層的神經(jīng)元將前一層線性分類(lèi)器計(jì)算的值作為輸入,然后計(jì)算這些值的加權(quán)和,依此類(lèi)推。我們希望,通過(guò)以這種方式結(jié)合線性分類(lèi)器,我們可以構(gòu)建更復(fù)雜的分類(lèi)器,可以代表我們的數(shù)據(jù)中的非線性模式。

讓我們看看下面的例子數(shù)據(jù)集:

這個(gè)數(shù)據(jù)集不是線性可分的,我們不能將一個(gè)類(lèi)從另一個(gè)通過(guò)一條線分開(kāi)。但我們可以通過(guò)使用兩條線作為決策邊界來(lái)實(shí)現(xiàn)這種分離。

所以,我們可能認(rèn)為兩個(gè)中間神經(jīng)元可以完成這個(gè)工作。這兩個(gè)神經(jīng)元將學(xué)習(xí)上圖中的兩條分離線。然后我們需要一個(gè)輸出神經(jīng)元它將之前的兩個(gè)神經(jīng)元作為輸入,這樣它就能正確地進(jìn)行分類(lèi)。

對(duì)于最后一個(gè)做正確分類(lèi)的神經(jīng)元,它需要n1和n2隱藏神經(jīng)元的輸出是線性可分的,如果我們把它們畫(huà)在一個(gè)二維平面上。上面畫(huà)的兩條線有方程:

這意味著這兩個(gè)隱藏的神經(jīng)元正在計(jì)算輸入x1和x2的如下線性組合:

我們畫(huà)出n1和n2看看它們是否有用。

我們對(duì)我們的小神經(jīng)網(wǎng)絡(luò)感到失望。n1和n2的輸出仍然不是線性可分的,因此輸出神經(jīng)元不能正確分類(lèi)。那么,問(wèn)題是什么呢?

問(wèn)題是,任何線性函數(shù)的線性組合仍然是線性的,在一張紙上證明它是正確的并不難。這一事實(shí)的證據(jù)在本文的結(jié)尾。所以,不管我們用了多少層或多少神經(jīng)元,按照我們目前的方式,我們的神經(jīng)網(wǎng)絡(luò)仍然只是一個(gè)線性分類(lèi)器。

我們需要更多的東西。我們需要將每個(gè)神經(jīng)元計(jì)算出的加權(quán)和傳遞給一個(gè)非線性函數(shù),然后將這個(gè)函數(shù)的輸出看作那個(gè)神經(jīng)元的輸出。這些函數(shù)稱(chēng)為激活函數(shù),它們?cè)谠试S神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)數(shù)據(jù)中的復(fù)雜模式時(shí)非常重要。

[1] 已經(jīng)證明,具有2層(輸入層除外)和非線性激活函數(shù)的神經(jīng)網(wǎng)絡(luò),只要在這些層中有足夠多的神經(jīng)元,就可以近似任何函數(shù)。那么,如果只有兩層就夠了,為什么人們現(xiàn)在還在使用更深層次的網(wǎng)絡(luò)呢?嗯,僅僅因?yàn)檫@兩層網(wǎng)絡(luò)“能夠”學(xué)習(xí)任何東西,這并不意味著它們很容易優(yōu)化。在實(shí)踐中,如果我們的網(wǎng)絡(luò)產(chǎn)能過(guò)剩,他們就會(huì)給我們提供足夠好的解決方案,即使他們沒(méi)有盡可能地優(yōu)化。

還有更多種類(lèi)的激活函數(shù),我們想在上面的示例中使用其中的兩種。它們分別是ReLU(直線單元)和tanh(雙曲正切),如下圖所示。

如果我們?cè)谑纠惺褂肦eLU激活,將會(huì)發(fā)生什么?下圖是應(yīng)用ReLU激活后n1和n2神經(jīng)元的輸出。

現(xiàn)在,我們的這兩類(lèi)點(diǎn)可以用直線分開(kāi),這樣輸出神經(jīng)元就可以正確地對(duì)它們進(jìn)行分類(lèi)。

如果我們使用tanh激活,也會(huì)發(fā)生類(lèi)似的事情,但這次我們的點(diǎn)之間的差距更大。

同樣,輸出神經(jīng)元可以正確地分類(lèi)這些點(diǎn)。

這里有一個(gè)簡(jiǎn)單的數(shù)學(xué)證明,證明任何線性函數(shù)的線性組合仍然是線性的:

其中a0, a1,…,an是不依賴(lài)于輸入x1,…,xn的常數(shù)。

我希望這篇文章對(duì)你有用,謝謝閱讀!

參考

[1] Cybenko, G.V. (2006). “Approximation by Superpositions of a Sigmoidal function”. In van Schuppen, Jan H. (ed.). Mathematics of Control, Signals, and Systems. Springer International. pp. 303–314.

作者:Dorian Lazar

deephub翻譯組

數(shù)據(jù)分析咨詢(xún)請(qǐng)掃描二維碼

若不方便掃碼,搜微信號(hào):CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢(xún)
客服在線
立即咨詢(xún)
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機(jī)數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進(jìn)行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個(gè)參數(shù)驗(yàn)證碼對(duì)象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個(gè)配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶(hù)后臺(tái)檢測(cè)極驗(yàn)服務(wù)器是否宕機(jī) new_captcha: data.new_captcha, // 用于宕機(jī)時(shí)表示是新驗(yàn)證碼的宕機(jī) product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說(shuō)明請(qǐng)參見(jiàn):http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計(jì)時(shí)完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請(qǐng)輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請(qǐng)輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }