日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

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

如何創(chuàng)建張量并實(shí)現(xiàn)張量類型轉(zhuǎn)化

wFVr_Hardware_1 ? 來(lái)源:硬件十萬(wàn)個(gè)為什么 ? 作者:硬件十萬(wàn)個(gè)為什么 ? 2022-12-06 10:47 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

我們?cè)?深度學(xué)習(xí)框架(3)-TensorFlow中張量創(chuàng)建和轉(zhuǎn)化,妙用“稀疏性”提升效率 中討論了如何創(chuàng)建張量并實(shí)現(xiàn)張量類型轉(zhuǎn)化。今天我們一起在TensorFlow中執(zhí)行張量的計(jì)算,并重點(diǎn)討論一下不同的激活函數(shù)。

1、了解不同的激活函數(shù),根據(jù)應(yīng)用選擇不同的激活函數(shù)

我們?cè)?機(jī)器學(xué)習(xí)中的函數(shù)(1)-激活函數(shù)和感知機(jī)中討論過(guò) 激活函數(shù)是在神經(jīng)網(wǎng)絡(luò)層間輸入與輸出之間的一種函數(shù)變換,目的是為了加入非線性因素,增強(qiáng)模型的表達(dá)能力。激活函數(shù)的作用類似于人類大腦中基于神經(jīng)元的模型(參考下圖),激活函數(shù)最終決定了要發(fā)射給下一個(gè)神經(jīng)元的內(nèi)容。

(1)激活函數(shù)有什么價(jià)值?

激活函數(shù)對(duì)于人工神經(jīng)網(wǎng)絡(luò)模型去學(xué)習(xí)、理解非常復(fù)雜和非線性的函數(shù)來(lái)說(shuō)具有十分重要的作用。首先對(duì)于y=ax+b這樣的函數(shù),當(dāng)x的輸入很大時(shí),y的輸出也是無(wú)限大/小的,經(jīng)過(guò)多層網(wǎng)絡(luò)疊加后,值更加膨脹了,這顯然不符合我們的預(yù)期,很多情況下我們希望的輸出是一個(gè)概率,需要激活函數(shù)能幫助網(wǎng)絡(luò)進(jìn)行收斂。其次,線性變換模式相對(duì)簡(jiǎn)單(只是加權(quán)偏移),限制了對(duì)復(fù)雜任務(wù)的處理能力,沒(méi)有激活函數(shù)的神經(jīng)網(wǎng)絡(luò)就是一個(gè)線性回歸模型;激活函數(shù)做的非線性變換可以使得神經(jīng)網(wǎng)絡(luò)處理非常復(fù)雜的任務(wù),如我們希望我們的神經(jīng)網(wǎng)絡(luò)可以對(duì)語(yǔ)言翻譯和圖像分類做操作,這就需要非線性轉(zhuǎn)換。最后,激活函數(shù)也使得反向傳播算法變得可能,因?yàn)檫@時(shí)候梯度和誤差會(huì)被同時(shí)用來(lái)更新權(quán)重和偏移,沒(méi)有可微分的線性函數(shù),就不可能實(shí)現(xiàn)。

(2)有哪些常用的激活函數(shù)?

常用的激活函數(shù)有,Sigmoid激活函數(shù),Tan/ 雙曲正切激活函數(shù),ReLU激活函數(shù)(還有改進(jìn)后的LeakyReLU和PReLU),Softmax激活函數(shù)等。

(3)激活函數(shù)使用時(shí)有哪些問(wèn)題?如何改進(jìn)激活函數(shù)?

Sigmoid梯度消失問(wèn)題可以通過(guò)Relu解決

梯度、梯度下降、鏈?zhǔn)椒▌t等概念可參考機(jī)器學(xué)習(xí)中的函數(shù)(3)-“梯度下降”走捷徑,“BP算法”提效率 中的描述。我們以Sigmoid為例,看一下“梯度消失”是如何發(fā)生的?Sigmoid的函數(shù)公式和圖像如下圖,從圖中可見(jiàn)函數(shù)兩個(gè)邊緣的梯度約為0,Sigmoid導(dǎo)數(shù)取值取值范圍為(0,0.25)。

當(dāng)我們求激活函數(shù)輸出相對(duì)于權(quán)重參數(shù)W的偏導(dǎo)時(shí),Sigmoid函數(shù)的梯度是表達(dá)式中的一個(gè)乘法因子。實(shí)際的神經(jīng)網(wǎng)絡(luò)層數(shù)少則數(shù)十多則數(shù)百層,由于神經(jīng)網(wǎng)絡(luò)反向傳播時(shí)的“鏈?zhǔn)椒磻?yīng)”,這么多范圍在(0,0.25)的數(shù)相乘,將會(huì)是一個(gè)非常小的數(shù)字。而梯度下降算法更新參數(shù)W完全依賴于梯度值(如BP算法),極小的梯度值失去了區(qū)分度,無(wú)法讓參數(shù)有效更新,該現(xiàn)象即為“梯度消失”(VanishingGradients)。

ReLU激活函數(shù)(Rectified Linear Unit,修正線性單元)的出現(xiàn)解決了梯度消失問(wèn)題。如下圖所示,ReLU的公式是R(z)=max(0,z)。假設(shè)這個(gè)神經(jīng)元負(fù)責(zé)檢測(cè)一個(gè)具體的特征,例如曲線或者邊緣。若此神經(jīng)元在輸入范圍內(nèi)檢測(cè)到了對(duì)應(yīng)的特征,開(kāi)關(guān)開(kāi)啟,且正值越大代表特征越明顯;但此神經(jīng)元檢測(cè)到特征缺失,開(kāi)關(guān)關(guān)閉,則不管負(fù)值的大小,如-6對(duì)比-2都沒(méi)有區(qū)分的意義。

Relu的優(yōu)勢(shì)是求導(dǎo)后,梯度只可以取0或1,輸入小于0時(shí),梯度為0;輸入大于0時(shí),梯度為1。在多層神經(jīng)網(wǎng)絡(luò)中Relu梯度的連續(xù)乘法不會(huì)收斂到0,結(jié)果也只可以取0或1;若值為1則梯度保持值不變進(jìn)行前向傳播,若值為0則梯度從該位置停止前向傳播。

Relu神經(jīng)元死亡問(wèn)題可以通過(guò)“小于0”部分優(yōu)

ReLU也有缺點(diǎn),它提升了計(jì)算效率,但同樣可能阻礙訓(xùn)練過(guò)程。通常,激活函數(shù)的輸入值有一項(xiàng)偏置項(xiàng)(bias),若bias太小,輸入激活函數(shù)的值總是負(fù)的,那么反向傳播過(guò)程經(jīng)過(guò)該處的梯度總為0,對(duì)應(yīng)的權(quán)重和偏置參數(shù)無(wú)法得到更新。如果對(duì)于所有的樣本輸入,該激活函數(shù)的輸入都是負(fù)的,那么該神經(jīng)元再也無(wú)法學(xué)習(xí),稱為神經(jīng)元“死亡”問(wèn)題(Dying ReLU Problem)。

Relu升級(jí)到LeakyReLU就是為了解決神經(jīng)元“死亡”問(wèn)題。LeakyReLU與ReLU很相似,僅在輸入小于0的部分有差別,ReLU輸入小于0的部分值都為0,而LeakyReLU輸入小于0的部分,值為負(fù),且有微小的梯度。使用LeakyReLU的好處就是:在反向傳播過(guò)程中,對(duì)于LeakyReLU激活函數(shù)輸入小于零的部分,也可以計(jì)算得到梯度,而不是像ReLU一樣值為0,這樣就避免了上述梯度方向鋸齒問(wèn)題。超參數(shù)α的取值也被研究過(guò),有論文將α作為了需要學(xué)習(xí)的參數(shù),該激活函數(shù)為PReLU(Parametrized ReLU)。

(4)如何選擇激活函數(shù)?

每個(gè)激活函數(shù)都有自己的特點(diǎn),Sigmoid和tanh的將輸出限制在(0,1)和(-1,1)之間,適合做概率值的處理,例如LSTM中的各種門;而ReLU無(wú)最大值限制,則不適合做這個(gè)應(yīng)用,但是Relu適合用于深層網(wǎng)絡(luò)的訓(xùn)練,而Sigmoid和tanh則不行,因?yàn)樗鼈儠?huì)出現(xiàn)梯度消失。

選擇激活函數(shù)是有技巧的,如“除非在二分類問(wèn)題中,否則小心使用Sigmoid函數(shù)”;“如果你不知道應(yīng)該使用哪個(gè)激活函數(shù), 那么請(qǐng)優(yōu)先選擇ReLU”。盡管ReLU有一些缺點(diǎn),但參考“奧卡姆剃刀原理”,如無(wú)必要、勿增實(shí)體,也就是優(yōu)先選擇最簡(jiǎn)單的方法,ReLU相較于其他激活函數(shù),有著最低的計(jì)算代價(jià)和最簡(jiǎn)單的代碼實(shí)現(xiàn)。如果使用了ReLU,要注意一下DeadReLU問(wèn)題。如優(yōu)化Learningrate,防止太高導(dǎo)致在訓(xùn)練過(guò)程中參數(shù)更新太大,避免出現(xiàn)大的梯度從而導(dǎo)致過(guò)多的神經(jīng)元“Dead”;或者針對(duì)輸入為負(fù)值時(shí),ReLU的梯度為0造成神經(jīng)元死亡,更換激活函數(shù),嘗試一下leakyReLU等ReLU變體,說(shuō)不定會(huì)有很好效果。

實(shí)際應(yīng)用時(shí)還是要看具體場(chǎng)景,甚至結(jié)合具體模型。比如LSTM中用到Tanh、Transfromer中用到的ReLU、Bert中用到的GeLU,YoLo中用到的LeakyReLU等。不同的激活函數(shù),根據(jù)其特點(diǎn),應(yīng)用各不相同。

3、如何讓張量執(zhí)行計(jì)算?

(1)導(dǎo)入TensorFlow,并建立矩陣a、矩陣b、矩陣c,參考如下代碼

import tensorflow as tf

import numpy as np

a = tf.constant([[1, 2], [3, 4]])

b = tf.constant([[1, 1], [1, 1]])

c = tf.constant([[4.0,5.0], [10.0,1.0]])

(2)執(zhí)行張量的運(yùn)算

張量的基本運(yùn)算包括加法、乘法、獲取最大最小值等,常用函數(shù)有tf.add()、tf.multiply()、tf.matmul()、tf.reduce_max()等。乘法相關(guān)的兩個(gè)函數(shù),tf.multiply()是兩個(gè)矩陣中對(duì)應(yīng)元素各自相乘,而tf.matmul()執(zhí)行的是矩陣乘法,兩者有區(qū)別。

add

print(tf.add(a, b), “

”)

打印結(jié)果 》》》

tf.Tensor(

[[2 3]

[4 5]], shape=(2, 2), dtype=int32)

multiply

print(tf.multiply(a, b), “

”)

打印結(jié)果 》》》

tf.Tensor(

[[1 2]

[3 4]], shape=(2, 2), dtype=int32)

matrix multiply

print(tf.matmul(a, b), “

”)

打印結(jié)果 》》》

tf.Tensor(

[[3 3]

[7 7]], shape=(2, 2), dtype=int32)

max/min:find the largest/smallest value

print(tf.reduce_max(c))

打印結(jié)果 》》》

tf.Tensor(10.0, shape=(), dtype=float32)

(3)應(yīng)用激活函數(shù)

我們以tf.nn.sigmoid()、tf.nn.relu()等常用的激活函數(shù)為例,大家可以參考上文分享的公式驗(yàn)計(jì)算驗(yàn)證一下,看一下激活效果。

sigmoidprint(tf.nn.sigmoid(c))

打印結(jié)果 》》》

tf.Tensor(

[[0.98201376 0.9933072 ]

[0.9999546 0.7310586 ]], shape=(2, 2), dtype=float32)

reluprint(tf.nn.relu(c))

打印結(jié)果 》》》

tf.Tensor(

[[ 4. 5.]

[10. 1.]], shape=(2, 2), dtype=float32)

今天我們一起學(xué)習(xí)了如何在TensorFlow中執(zhí)行張量的計(jì)算,并重點(diǎn)討論一下不同的激活函數(shù),下一步我們繼續(xù)學(xué)習(xí)如何使用TensorFlow

審核編輯:郭婷


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

原文標(biāo)題:深度學(xué)習(xí)框架(4)-TensorFlow中執(zhí)行計(jì)算,不同激活函數(shù)各有妙用

文章出處:【微信號(hào):Hardware_10W,微信公眾號(hào):硬件十萬(wàn)個(gè)為什么】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    新思科技Silver產(chǎn)品現(xiàn)已支持POSIX類型軟件棧

    創(chuàng)建仿真虛擬 ECU,從而更早、更持續(xù)地開(kāi)展汽車軟件驗(yàn)證。通過(guò)此次發(fā)布,開(kāi)發(fā)和測(cè)試團(tuán)隊(duì)可以對(duì) POSIX 類型的 ECU 進(jìn)行虛擬化,并在高度真實(shí)的系統(tǒng)級(jí)場(chǎng)景中驗(yàn)證 POSIX 類型
    的頭像 發(fā)表于 04-28 11:36 ?457次閱讀
    新思科技Silver產(chǎn)品現(xiàn)已支持POSIX<b class='flag-5'>類型</b>軟件棧

    18. OrCAD中怎么創(chuàng)建Homogeneous類型的元器件封裝?I Cadence Allegro 電子設(shè)計(jì) 快問(wèn)快答

    。 Homogeneous類型封裝 正是為了解決這一問(wèn)題而設(shè)計(jì)的——只需繪制一個(gè)功能單元的符號(hào),再設(shè)定重復(fù)單元的數(shù)量,軟件即可自動(dòng)生成其余單元,遵循統(tǒng)一的命名規(guī)則。 本次分享將以TLC2274(四運(yùn)放)為例,演示如何快速創(chuàng)建H
    的頭像 發(fā)表于 04-24 15:22 ?804次閱讀
    18. OrCAD中怎么<b class='flag-5'>創(chuàng)建</b>Homogeneous<b class='flag-5'>類型</b>的元器件封裝?I Cadence Allegro 電子設(shè)計(jì) 快問(wèn)快答

    如何在 S32DS 3.6 中安裝 IAR Eclipse 插件創(chuàng)建 IAR 項(xiàng)目?

    如何在 S32DS 3.6 中安裝 IAR Eclipse 插件創(chuàng)建 IAR 項(xiàng)目? There is an article here that explains how to operate
    發(fā)表于 04-23 07:44

    【地平線征程 5 域控試用】激光雷達(dá)數(shù)據(jù)獲取與 BPU 推理實(shí)現(xiàn)

    :8192 字節(jié),確保能完整接收數(shù)據(jù)包 2.BPU 模型加載與推理 模型文件 : 路徑 : /userdata/test/model.hbm 類型 :Horizon 打包模型(.hbm) 模型
    發(fā)表于 04-20 21:31

    使用Python/MyHDL創(chuàng)建自定義FPGA IP

    使用 Python/MyHDL 創(chuàng)建自定義 FPGA IP,與 Vivado 集成,通過(guò) PYNQ 進(jìn)行控制——實(shí)現(xiàn)軟件上的簡(jiǎn)單硬件設(shè)計(jì)。
    的頭像 發(fā)表于 04-09 09:53 ?286次閱讀
    使用Python/MyHDL<b class='flag-5'>創(chuàng)建</b>自定義FPGA IP

    全面掌握ComfyUI系統(tǒng)教程|94節(jié)從入門到進(jìn)階實(shí)戰(zhàn)清單

    碼器)編碼器的精準(zhǔn)調(diào)用。原始圖像通過(guò)編碼器轉(zhuǎn)化為潛空間張量,而之前生成的掩碼同樣被編碼為潛空間掩碼。在潛空間維度,通過(guò) Denoise(去噪強(qiáng)度)參數(shù)的控制,將背景區(qū)域的噪點(diǎn)強(qiáng)度設(shè)為最大,而主體區(qū)域設(shè)為
    發(fā)表于 03-29 16:17

    PyTorch 中RuntimeError分析

    。 ? 解決方案 方案1:臨時(shí)類型轉(zhuǎn)換(推薦) 在執(zhí)行上采樣操作前后,手動(dòng)將張量轉(zhuǎn)換為支持的類型(如 float32 或 float16): # 假設(shè) x 是你的 BFloat16 輸入張量
    發(fā)表于 03-06 06:02

    Python運(yùn)行本地Web服務(wù)實(shí)現(xiàn)遠(yuǎn)程訪問(wèn)

    本文介紹使用Python搭建本地Web服務(wù)結(jié)合 ZeroNews 實(shí)現(xiàn)公網(wǎng)訪問(wèn)。
    的頭像 發(fā)表于 02-06 11:39 ?372次閱讀
    Python運(yùn)行本地Web服務(wù)<b class='flag-5'>并</b><b class='flag-5'>實(shí)現(xiàn)</b>遠(yuǎn)程訪問(wèn)

    ???????淘寶促銷API實(shí)戰(zhàn):自動(dòng)發(fā)放優(yōu)惠券,智能提升轉(zhuǎn)化率!

    深入探討如何利用這套API實(shí)現(xiàn)優(yōu)惠券的自動(dòng)發(fā)放,有效拉升店鋪轉(zhuǎn)化率。 一、API核心功能:優(yōu)惠券管理自動(dòng)化 淘寶促銷API提供了一系列接口,核心功能包括: 優(yōu)惠券創(chuàng)建與管理 (taobao.promotionmisc.activ
    的頭像 發(fā)表于 12-30 10:42 ?326次閱讀
    ???????淘寶促銷API實(shí)戰(zhàn):自動(dòng)發(fā)放優(yōu)惠券,智能提升<b class='flag-5'>轉(zhuǎn)化</b>率!

    如何將訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)模型部署到蜂鳥(niǎo)e203開(kāi)發(fā)板上

    運(yùn)行模型推理: interpreter->Invoke();6. 從輸出張量中讀取預(yù)測(cè)結(jié)果: // 假設(shè)輸出為float類型float* output_data
    發(fā)表于 10-22 08:04

    搭建自己的ubuntu系統(tǒng)之創(chuàng)建ubuntu虛擬機(jī)

    。后面的步驟保持默認(rèn)值,直到指定磁盤容量步驟。IO控制器類型這里默認(rèn)選擇LSI就可以:這里同樣是默認(rèn)選擇SCSI。這里選擇創(chuàng)建新的虛擬磁盤:設(shè)置磁盤大小為200G,選擇磁盤的存在形式,然后
    發(fā)表于 09-25 09:39

    京東:調(diào)用用戶畫像API實(shí)現(xiàn)千人千面推薦,提升轉(zhuǎn)化

    ? ?引言 在電商領(lǐng)域,個(gè)性化推薦已成為提升用戶粘性和轉(zhuǎn)化率的核心引擎。京東通過(guò)深度整合用戶畫像API,實(shí)現(xiàn)了"千人千面"的精準(zhǔn)推薦系統(tǒng)。本文將解析其技術(shù)邏輯與業(yè)務(wù)價(jià)值,揭示如何通過(guò)數(shù)據(jù)驅(qū)動(dòng)提升
    的頭像 發(fā)表于 09-12 15:08 ?1208次閱讀
    京東:調(diào)用用戶畫像API<b class='flag-5'>實(shí)現(xiàn)</b>千人千面推薦,提升<b class='flag-5'>轉(zhuǎn)化</b>率

    如何移植 RT-Thread Nano 創(chuàng)建 2 個(gè)線程?

    基于 BSP 中的 GPIO_OutputInput 演示,展示了如何移植 RT-Thread Nano 創(chuàng)建 2 個(gè)線程。
    發(fā)表于 08-19 07:45

    SQL 通用數(shù)據(jù)類型

    data type. SQL 開(kāi)發(fā)人員必須在創(chuàng)建 SQL 表時(shí)決定表中的每個(gè)列將要存儲(chǔ)的數(shù)據(jù)的類型。數(shù)據(jù)類型是一個(gè)標(biāo)簽,是便于 SQL 了解每個(gè)列期望存儲(chǔ)什么類型的數(shù)據(jù)的指南,它也標(biāo)
    的頭像 發(fā)表于 08-18 09:46 ?887次閱讀

    奇異摩爾亮相2025中國(guó)AI算力大會(huì)

    技術(shù)驅(qū)動(dòng)下,超節(jié)點(diǎn)已成為國(guó)內(nèi)外構(gòu)建大規(guī)模HBD域應(yīng)用的關(guān)鍵趨勢(shì)。隨著千億到萬(wàn)億參數(shù)MoE大模型并行訓(xùn)練(尤其是專家并行和張量并行)對(duì)GPU間通信需求的激增,Scale-up超節(jié)點(diǎn)應(yīng)運(yùn)而生。
    的頭像 發(fā)表于 07-03 11:40 ?1485次閱讀
    上林县| 阿拉尔市| 霍州市| 十堰市| 左贡县| 安远县| 安吉县| 霍邱县| 孝义市| 贵南县| 广丰县| 保德县| 楚雄市| 黎川县| 中山市| 酉阳| 阳新县| 德阳市| 双桥区| 论坛| 华安县| 上犹县| 温州市| 广汉市| 醴陵市| 淳化县| 茂名市| 察雅县| 延津县| 张家界市| 黑水县| 松阳县| 苏尼特右旗| 定结县| 商城县| 白水县| 巴林左旗| 小金县| 和田市| 琼结县| 临漳县|