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

熱線電話:13121318867

登錄
首頁精彩閱讀常用的幾種神經(jīng)網(wǎng)絡(luò)
常用的幾種神經(jīng)網(wǎng)絡(luò)
2018-07-25
收藏

常用的幾種神經(jīng)網(wǎng)絡(luò)

前向反饋網(wǎng)絡(luò)和感知器是直線向前的,信息從前向后(分別是輸入和輸出)傳播。神經(jīng)網(wǎng)絡(luò)通常被描述成多層,其中每一層都由輸入、隱藏層、輸出單元構(gòu)成。一層單一網(wǎng)絡(luò)內(nèi)部絕對不會有任何連接而通常在相鄰的層之間,神經(jīng)元是完全相連的(每層的每個神經(jīng)元都與另外一層的每個神經(jīng)元相連接)。最簡單某種程度上也是最實(shí)用的網(wǎng)絡(luò)由兩個輸入單元和一個輸出單元,這種網(wǎng)絡(luò)可以被用作邏輯門模型。通常FFNNs是通過向后傳播訓(xùn)練的,給網(wǎng)絡(luò)成組的數(shù)據(jù)集包括“輸入”和“預(yù)想的輸出”。這種方式稱為有監(jiān)督學(xué)習(xí),與無監(jiān)督學(xué)習(xí)相反。誤差被向后傳播,而誤差可以通過MSE或者線性誤差來度量。假設(shè)網(wǎng)絡(luò)由足夠多的隱藏神經(jīng)元,它理論上來說總是可以模擬輸入和輸出之間的關(guān)系的。實(shí)際上這種網(wǎng)絡(luò)本身用途很首先,但是它們通常和別的網(wǎng)絡(luò)合并來生成其他類型的網(wǎng)絡(luò)。

霍普菲爾網(wǎng)絡(luò)的每個神經(jīng)元都與其他神經(jīng)元相連接;它是一碗完全糾纏在一起的意大利面。每個節(jié)點(diǎn)在訓(xùn)練前都是輸入點(diǎn),然后訓(xùn)練中都是隱藏節(jié)點(diǎn),訓(xùn)練結(jié)束后又是輸出節(jié)點(diǎn)。這些網(wǎng)絡(luò)會設(shè)定神經(jīng)元的值為所需要的模式,然后計算全職,通過這種方法來訓(xùn)練模型。在這之后權(quán)重不會再改變。一旦訓(xùn)練成一種或多種模式,網(wǎng)絡(luò)會一直收斂到一種學(xué)習(xí)好的模式,因為網(wǎng)絡(luò)只有在這些狀態(tài)下才是穩(wěn)定的。注意到它不會一直符合所要的狀態(tài)。它能夠部分穩(wěn)定是因為全局的“能量”或“溫度”在訓(xùn)練中是逐步減少的。

卷積神經(jīng)網(wǎng)絡(luò)和大多數(shù)其他類型的網(wǎng)絡(luò)都很不相同。他們最初用來做圖像處理,后來也用在其他類型的輸入數(shù)據(jù)比如音頻。一個典型的CNN應(yīng)用是,當(dāng)你給網(wǎng)絡(luò)輸入圖像,網(wǎng)絡(luò)會對數(shù)據(jù)進(jìn)行分類,例如如果你輸入的是貓的照片,它會給出標(biāo)簽“貓”。CNN通常以一個輸入“掃描儀”開始,而它并不會在理科解析所有的訓(xùn)練數(shù)據(jù)。舉例來說,輸入一個200*200像素的圖像,你肯定不想要有40000節(jié)點(diǎn)的一層。相反,你建立一個掃描輸入層比如20*20,把大圖像左上角的20*20像素進(jìn)行掃描。一旦前20*20經(jīng)過處理,逐像素向右移動這個掃描器來掃描所有的剩余圖像。注意到,我們并沒有把處理過的20*20像素挪開,也沒有把圖像分成20*20的小塊,而是使用這個20*20的掃描器對所有像素進(jìn)行掃描。輸入數(shù)據(jù)然后進(jìn)行卷積層而不是普通曾,意味著不是所有的節(jié)點(diǎn)都和其他節(jié)點(diǎn)相連接。每個節(jié)點(diǎn)都只和她最近的節(jié)點(diǎn)相連(遠(yuǎn)近取決于具體的實(shí)現(xiàn),但通常不會很多)。這些卷積層也傾向于變小當(dāng)它們越老越深的時候,通常是輸入大小最容易整除的因子(如20可能變成10,然后5)。2的冪在這里會經(jīng)常被使用,因為它們能夠很完全的分離:32,16,8,4,2,1。除了這些卷積層,通常還有特征池化層。池化是一種濾出細(xì)節(jié)部分的方法:最常用的池化技術(shù)是極大值池化,比如我們對2*2的像素,返回其R值最大的像素。對音頻使用CNN,我們只需要輸入音頻波,然后一點(diǎn)一點(diǎn)增加長度。實(shí)際中對CNN的使用通常在末端增加一個FFNN用來深入處理數(shù)據(jù),通常要能處理高度非線性抽象分類問題。CNN+FFNN這種網(wǎng)絡(luò)通常稱為DCNN,但是DCNN和CNN的名稱和縮寫通??梢曰ハ啻妗?


去卷積神經(jīng)網(wǎng)絡(luò),也稱作逆圖形網(wǎng)絡(luò),是卷積神經(jīng)網(wǎng)絡(luò)的逆過程。對該網(wǎng)絡(luò)輸入單詞“貓”,網(wǎng)絡(luò)通過比較它生成的圖片和真是貓圖片,輸出它認(rèn)為滿足輸入條件貓的圖片。DNN可以和FFNN結(jié)合一起使用。

生成對抗網(wǎng)絡(luò)是一種不同的網(wǎng)絡(luò),他們是雙胞胎:兩個網(wǎng)絡(luò)一起工作。對抗生成網(wǎng)絡(luò)有任何兩個網(wǎng)絡(luò)組成(通常是FF和CNN的組合),其中一個負(fù)責(zé)生成內(nèi)容另一個要判斷內(nèi)容。判別網(wǎng)絡(luò)要么接受訓(xùn)練數(shù)據(jù),要么接受生成網(wǎng)絡(luò)生成的數(shù)據(jù)作為輸入。判別網(wǎng)絡(luò)的預(yù)測精度被當(dāng)做生成網(wǎng)絡(luò)的誤差的一部分。這樣產(chǎn)生一組對抗,當(dāng)判別網(wǎng)絡(luò)能越來越精細(xì)的判別生成數(shù)據(jù)和真實(shí)數(shù)據(jù),生成網(wǎng)絡(luò)也會生成越來越難以預(yù)測的數(shù)據(jù)。這種方式在某種程度上能很好的運(yùn)行時因為再復(fù)雜的帶噪聲的模式最終都是可預(yù)測的,但是和輸入數(shù)據(jù)有相似特征的生成數(shù)據(jù)卻很難學(xué)習(xí)判別。對抗生成網(wǎng)絡(luò)非常難訓(xùn)練,因為我們不僅僅是訓(xùn)練兩個網(wǎng)絡(luò)(每一個都有他們各自的問題),而且要處理他們之間的動態(tài)平衡關(guān)系。如果預(yù)測或生成網(wǎng)絡(luò)比另一個網(wǎng)絡(luò)好,那么對抗生成網(wǎng)絡(luò)將不會收斂,因為本質(zhì)上這兩個網(wǎng)絡(luò)就存在著分歧。

周期神經(jīng)網(wǎng)絡(luò)是帶時間周期的FFNN:他們不是無狀態(tài)的;他們在時間上有相關(guān)性。神經(jīng)元不僅從輸入接收信息,而且還要接收他們自身前一個周期點(diǎn)的信息。這意味著,我們輸入和訓(xùn)練網(wǎng)絡(luò)的過程是很重要的:先輸入“牛奶”后“餅干”與先“餅干”后“牛奶”,可能會產(chǎn)生不同的結(jié)果。RNN一個重要的問題是退化(或爆炸式)梯度問題,依賴于激活函數(shù)的使用,信息隨著時間快速損失,就像非常深的FFNN隨著深度的增加損失信息一樣。直觀上這不會帶來很大問題因為他們僅僅是權(quán)重而不是神經(jīng)元狀態(tài),但是帶時間的權(quán)重實(shí)際上就是存儲信息的地方;如果權(quán)重取值為0或者1 000 000,之前的狀態(tài)就沒多大用處了。RNN原則上訥訥夠在很多領(lǐng)域使用,盡管大多數(shù)數(shù)據(jù)形式實(shí)際上都沒有時間線(比如 不想聲音和視頻),但是它們都可以被表示成序列。一副圖片或一串文字可以看做在每個時間點(diǎn)上一個像素或者一個字符,所以依賴時間的權(quán)重是在序列中某個之前出現(xiàn)的值上使用,而不是實(shí)際上多少秒之前發(fā)生的。通常,周期性網(wǎng)絡(luò)對于演進(jìn)或補(bǔ)全信息非常有效,比如自動補(bǔ)全。



數(shù)據(jù)分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

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

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } 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)的第一個參數(shù)驗證碼對象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗服務(wù)器是否宕機(jī) new_captcha: data.new_captcha, // 用于宕機(jī)時表示是新驗證碼的宕機(jī) product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說明請參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計時完成 $(".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 = '請輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請輸入正確的'+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); }