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

熱線電話:13121318867

登錄
首頁大數(shù)據(jù)時代LSTM 中為什么要用 tanh 激活函數(shù)?tanh 激活函數(shù)的作用及優(yōu)勢在哪里?
LSTM 中為什么要用 tanh 激活函數(shù)?tanh 激活函數(shù)的作用及優(yōu)勢在哪里?
2023-04-07
收藏

LSTM是一種常用的循環(huán)神經(jīng)網(wǎng)絡架構,它可以有效地解決傳統(tǒng)RNN中長序列訓練過程中產(chǎn)生的梯度消失和梯度爆炸問題。LSTM通過使用門控機制來控制信息的流動,其中tanh激活函數(shù)扮演了重要角色。

tanh激活函數(shù)是一種非線性激活函數(shù),它在取值范圍內(nèi)的輸出為-1到1之間,其作用主要體現(xiàn)在兩個方面:幾何意義和數(shù)學性質。從幾何意義上看,tanh激活函數(shù)被廣泛應用于神經(jīng)網(wǎng)絡中,因為它可以將輸入數(shù)據(jù)映射到均值為0且位于[-1,1]之間的輸出值,這有助于加速優(yōu)化算法的收斂速度。而從數(shù)學性質來看,tanh激活函數(shù)具有可導性、單調性、連續(xù)性和非線性等特點,它可以使神經(jīng)元的輸出具有更強的表達能力,并且在反向傳播計算梯度時會保持穩(wěn)定。

LSTM中,tanh激活函數(shù)被用于計算LSTM單元內(nèi)部的狀態(tài)值以及輸出值,它的主要作用是將輸入數(shù)據(jù)進行非線性變換并縮放到[-1,1]之間的范圍內(nèi),這有助于避免梯度消失和梯度爆炸問題。具體而言,LSTM中的狀態(tài)值和輸出值都是通過門控單元來計算的,其中一個重要的門控單元就是“遺忘門”,它的作用是決定哪些信息需要保留下來,哪些信息需要忘記。該門控單元使用sigmoid函數(shù)來輸出一個介于0和1之間的值,表示需要保留下來的信息部分。

tanh激活函數(shù)LSTM中的另一個重要作用是將狀態(tài)值進行非線性變換并輸出到網(wǎng)絡的下一層或作為最終的模型輸出。由于tanh函數(shù)的輸出值范圍為[-1,1],因此狀態(tài)值經(jīng)過tanh激活函數(shù)變換后可以保持在有限的范圍內(nèi),從而防止梯度消失和梯度爆炸問題的產(chǎn)生。同時,tanh函數(shù)具有對稱性,當輸入為0時,其輸出為0,并且隨著輸入數(shù)據(jù)的增大或減小,輸出值會加速飽和,這也有助于提高模型的穩(wěn)定性。

在實際應用中,tanh激活函數(shù)還有其他優(yōu)勢,比如它可以將輸入數(shù)據(jù)進行歸一化處理、增加模型表達能力、提高模型的分類性能等。此外,tanh激活函數(shù)也被廣泛應用于其他神經(jīng)網(wǎng)絡架構中,如多層感知機、卷積神經(jīng)網(wǎng)絡等??傊?,tanh激活函數(shù)LSTM中的作用不可忽視,它可以有效地解決傳統(tǒng)RNN中的梯度消失和梯度爆炸問題,并且具有可導性、單調性、連續(xù)性和非線性等優(yōu)良數(shù)學性質,是一種非常適合于深度學習模型中的激活函數(shù)。

相信讀完上文,你對算法已經(jīng)有了全面認識。若想進一步探索機器學習的前沿知識,強烈推薦機器學習之半監(jiān)督學習課程。

學習入口:https://edu.cda.cn/goods/show/3826?targetId=6730&preview=0
涵蓋核心算法,結合多領域實戰(zhàn)案例,還會持續(xù)更新,無論是新手入門還是高手進階都很合適。趕緊點擊鏈接開啟學習吧!

數(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(), // 加隨機數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調用 initGeetest 進行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調,回調的第一個參數(shù)驗證碼對象,之后可以使用它調用相應的接口 initGeetest({ // 以下 4 個配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗服務器是否宕機 new_captcha: data.new_captcha, // 用于宕機時表示是新驗證碼的宕機 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); }