99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

PyTorch已為我們實(shí)現(xiàn)了大多數(shù)常用的非線性激活函數(shù)

人工智能君 ? 來源:人工智能君 ? 作者:人工智能君 ? 2022-07-06 14:47 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

PyTorch已為我們實(shí)現(xiàn)了大多數(shù)常用的非線性激活函數(shù),我們可以像使用任何其他的層那樣使用它們。讓我們快速看一個(gè)在PyTorch中使用ReLU激活函數(shù)的例子:

在上面這個(gè)例子中,輸入是包含兩個(gè)正值、兩個(gè)負(fù)值的張量,對其調(diào)用ReLU函數(shù),負(fù)值將取為0,正值則保持不變。

現(xiàn)在我們已經(jīng)了解了構(gòu)建神經(jīng)網(wǎng)絡(luò)架構(gòu)的大部分細(xì)節(jié),我們來構(gòu)建一個(gè)可用于解決真實(shí)問題的深度學(xué)習(xí)架構(gòu)。上一章中,我們使用了簡單的方法,因而可以只關(guān)注深度學(xué)習(xí)算法如何工作。后面將不再使用這種方式構(gòu)建架構(gòu),而是使用PyTorch中正常該用的方式構(gòu)建。

1.PyTorch構(gòu)建深度學(xué)習(xí)算法的方式

PyTorch中所有網(wǎng)絡(luò)都實(shí)現(xiàn)為類,創(chuàng)建PyTorch類的子類要調(diào)用nn.Module,并實(shí)現(xiàn)__init__和forward方法。在init方法中初始化層,這一點(diǎn)已在前一節(jié)講過。在forward方法中,把輸入數(shù)據(jù)傳給init方法中初始化的層,并返回最終的輸出。非線性函數(shù)經(jīng)常被forward函數(shù)直接使用,init方法也會(huì)使用一些。下面的代碼片段展示了深度學(xué)習(xí)架構(gòu)是如何用PyTrorch實(shí)現(xiàn)的:

如果你是Python新手,上述代碼可能會(huì)比較難懂,但它全部要做的就是繼承一個(gè)父類,并實(shí)現(xiàn)父類中的兩個(gè)方法。在Python中,我們通過將父類的名字作為參數(shù)傳入來創(chuàng)建子類。init方法相當(dāng)于Python中的構(gòu)造器,super方法用于將子類的參數(shù)傳給父類,我們的例子中父類就是nn.Module。

2.不同機(jī)器學(xué)習(xí)問題的模型架構(gòu)

待解決的問題種類將基本決定我們將要使用的層,處理序列化數(shù)據(jù)問題的模型從線性層開始,一直到長短期記憶(LSTM)層?;谝鉀Q的問題類別,最后一層是確定的。使用機(jī)器學(xué)習(xí)或深度學(xué)習(xí)算法解決的問題通常有三類,最后一層的情況通常如下。

?對于回歸問題,如預(yù)測T恤衫的銷售價(jià)格,最后使用的是有一個(gè)輸出的線性層,輸出值為連續(xù)的。

?將一張給定的圖片歸類為T恤衫或襯衫,用到的是sigmoid激活函數(shù),因?yàn)樗妮敵鲋挡皇墙咏?就是接近0,這種問題通常稱為二分類問題。

?對于多類別分類問題,如必須把給定的圖片歸類為T恤、牛仔褲、襯衫或連衣裙,網(wǎng)絡(luò)最后將使用softmax層。讓我們拋開數(shù)學(xué)原理來直觀理解softmax的作用。舉例來說,它從前一線性層獲取輸入,并輸出給定數(shù)量樣例上的概率。在我們的例子中,將訓(xùn)練它預(yù)測每個(gè)圖片類別的4種概率。記住,所有概率相加的總和必然為1。

3.損失函數(shù)

一旦定義好了網(wǎng)絡(luò)架構(gòu),還剩下最重要的兩步。一步是評估網(wǎng)絡(luò)執(zhí)行特定的回歸或分類任務(wù)時(shí)表現(xiàn)的優(yōu)異程度,另一步是優(yōu)化權(quán)重。

優(yōu)化器(梯度下降)通常接受一個(gè)標(biāo)量值,因而loss函數(shù)應(yīng)生成一個(gè)標(biāo)量值,并使其在訓(xùn)練期間最小化。某些用例,如預(yù)測道路上障礙物的位置并判斷是否為行人,將需要兩個(gè)或更多損失函數(shù)。即使在這樣的場景下,我們也需要把損失組合成一個(gè)優(yōu)化器可以最小化的標(biāo)量。最后一章將詳細(xì)討論把多個(gè)損失值組合成一個(gè)標(biāo)量的真實(shí)例子。

上一章中,我們定義了自己的loss函數(shù)。PyTorch提供了經(jīng)常使用的loss函數(shù)的實(shí)現(xiàn)。我們看看回歸和分類問題的loss函數(shù)。

回歸問題經(jīng)常使用的loss函數(shù)是均方誤差(MSE)。它和前面一章實(shí)現(xiàn)的loss函數(shù)相同??梢允褂肞yTorch中實(shí)現(xiàn)的loss函數(shù),如下所示:

對于分類問題,我們使用交叉熵?fù)p失函數(shù)。在介紹交叉熵的數(shù)學(xué)原理之前,先了解下交叉熵?fù)p失函數(shù)做的事情。它計(jì)算用于預(yù)測概率的分類網(wǎng)絡(luò)的損失值,損失總和應(yīng)為1,就像softmax層一樣。當(dāng)預(yù)測概率相對正確概率發(fā)散時(shí),交叉熵?fù)p失增加。例如,如果我們的分類算法對圖3.5為貓的預(yù)測概率值為0.1,而實(shí)際上這是只熊貓,那么交叉熵?fù)p失就會(huì)更高。如果預(yù)測的結(jié)果和真實(shí)標(biāo)簽相近,那么交叉熵?fù)p失就會(huì)更低。

下面是用Python代碼實(shí)現(xiàn)這種場景的例子。

為了在分類問題中使用交叉熵?fù)p失,我們真的不需要擔(dān)心內(nèi)部發(fā)生的事情——只要記住,預(yù)測差時(shí)損失值高,預(yù)測好時(shí)損失值低。PyTorch提供了loss函數(shù)的實(shí)現(xiàn),可以按照如下方式使用。

PyTorch包含的其他一些loss函數(shù)如表3.1所示。

表3.1

L1 loss 通常作為正則化器使用;第4章將進(jìn)一步講述

MSE loss 均方誤差損失,用于回歸問題的損失函數(shù)

Cross-entropy loss 交叉熵?fù)p失,用于二分類和多類別分類問題

NLL Loss 用于分類問題,允許用戶使用特定的權(quán)重處理不平衡數(shù)據(jù)集

NLL Loss2d 用于像素級分類,通常和圖像分割問題有關(guān)

4.優(yōu)化網(wǎng)絡(luò)架構(gòu)

計(jì)算出網(wǎng)絡(luò)的損失值后,需要優(yōu)化權(quán)重以減少損失,并改善算法準(zhǔn)確率。簡單起見,讓我們看看作為黑盒的優(yōu)化器,它們接受損失函數(shù)和所有的學(xué)習(xí)參數(shù),并微量調(diào)整來改善網(wǎng)絡(luò)性能。PyTorch提供了深度學(xué)習(xí)中經(jīng)常用到的大多數(shù)優(yōu)化器。如果大家想研究這些優(yōu)化器內(nèi)部的動(dòng)作,了解其數(shù)學(xué)原理,強(qiáng)烈建議瀏覽以下博客:

PyTorch提供的一些常用的優(yōu)化器如下:

?ADADELTA

?Adagrad

?Adam

?SparseAdam

?Adamax

?ASGD

?LBFGS

?RMSProp

?Rprop

?SGD

審核編輯 黃昊宇

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

    關(guān)注

    1

    文章

    217

    瀏覽量

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

    關(guān)注

    3

    文章

    4381

    瀏覽量

    64904
  • pytorch
    +關(guān)注

    關(guān)注

    2

    文章

    809

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    為什么高壓電機(jī)大多數(shù)采用星型接法?

    高壓電機(jī)大多數(shù)采用星型接法的原因,主要與電機(jī)的啟動(dòng)、運(yùn)行、負(fù)載能力、保護(hù)要求等方面的性能需求密切相關(guān)。以下是詳細(xì)解釋: 一、星型接法的基本原理 星型接法是指將三相電動(dòng)機(jī)的定子繞組接成星形,其中
    的頭像 發(fā)表于 03-03 07:36 ?927次閱讀
    為什么高壓電機(jī)<b class='flag-5'>大多數(shù)</b>采用星型接法?

    ADS8472采集進(jìn)來的數(shù)據(jù)大多數(shù)是1039(040F),3087(0C0F),為什么?

    進(jìn)來的數(shù)據(jù)大多數(shù)是1039(040F),3087(0C0F),難道這是芯片出廠設(shè)置的測試數(shù)據(jù)嗎? 2、既然是采樣的正弦波信號(hào),按照我的理解,芯片理論上在每個(gè)采樣周期采集到的數(shù)據(jù)都應(yīng)該不同,頂多有兩三
    發(fā)表于 12-24 08:13

    非線性負(fù)載分為哪些類型

    非線性負(fù)載是指其電流波形與電壓波形不成線性關(guān)系的負(fù)載,這類負(fù)載在電力系統(tǒng)中較為常見,會(huì)對電網(wǎng)產(chǎn)生一系列不良影響。根據(jù)不同的分類標(biāo)準(zhǔn),非線性負(fù)載可以分為以下幾種類型: 一、按負(fù)載性質(zhì)分 電阻性
    發(fā)表于 12-18 15:18

    stdio.h實(shí)現(xiàn)printf函數(shù)?

    我們平時(shí)包含的 stdio.h 頭文件,里面是不是實(shí)現(xiàn) printf 函數(shù)? 為什么會(huì)有這個(gè)疑問?因?yàn)槊看问褂?printf,就得包含 stdio.h ,這就導(dǎo)致很多同學(xué)誤以為,st
    的頭像 發(fā)表于 12-18 10:28 ?616次閱讀

    線性光學(xué)和非線性光學(xué)有什么區(qū)別?

    密切相關(guān)的其他現(xiàn)象有關(guān)的科學(xué) ”。 根據(jù)光與物質(zhì)相互作用的方式,光學(xué)可分為線性光學(xué)和非線性光學(xué)。線性光學(xué)(LO)是經(jīng)典光學(xué)的基礎(chǔ),側(cè)重于光的可預(yù)測線性相互作用。 相比之下,
    的頭像 發(fā)表于 12-10 06:31 ?894次閱讀

    非線性負(fù)載產(chǎn)生諧波的原因及危害

    在現(xiàn)代電力系統(tǒng)中,非線性負(fù)載的應(yīng)用日益廣泛,隨之而來的諧波問題也引起了廣泛關(guān)注。諧波的產(chǎn)生不僅影響電力系統(tǒng)的穩(wěn)定運(yùn)行,還會(huì)對各類電氣設(shè)備造成嚴(yán)重危害。本文將深入探討非線性負(fù)載為什么會(huì)產(chǎn)生諧波,并分析
    的頭像 發(fā)表于 12-04 16:51 ?1893次閱讀

    RCD非線性負(fù)載:原理、應(yīng)用與優(yōu)勢

    在現(xiàn)代電力電子系統(tǒng)中,非線性負(fù)載的應(yīng)用越來越廣泛,其重要性也日益凸顯。RCD非線性負(fù)載作為一種典型的非線性模擬負(fù)載,廣泛應(yīng)用于測試數(shù)據(jù)中心發(fā)電機(jī)組、UPS等供電設(shè)備,以確保其在實(shí)際使用中的安全性
    的頭像 發(fā)表于 12-03 17:49 ?2512次閱讀
    RCD<b class='flag-5'>非線性</b>負(fù)載:原理、應(yīng)用與優(yōu)勢

    求助,關(guān)于ADS1278在不同采樣頻率下的非線性問題求解

    1278在采樣頻率為512 fps和50 fps時(shí)芯片隨溫度變化的輸出,輸出信號(hào)如下圖1,圖2所示??梢园l(fā)現(xiàn),采樣頻率降低之后,輸出信號(hào)的非線性得到明顯改善。 請問這種現(xiàn)象是ads1278自身的特性引起的嗎?有沒有辦法實(shí)現(xiàn)在512 fps的采樣頻率下仍能保持較好的
    發(fā)表于 11-22 07:03

    二極管的非線性特性對電路的影響

    二極管的非線性特性對電路的影響是深遠(yuǎn)且重要的。以下是對這一影響的分析: 一、二極管的非線性特性 二極管是一種典型的非線性器件,其電流與電壓之間的關(guān)系不滿足歐姆定律,而是呈現(xiàn)出獨(dú)特的非線性
    的頭像 發(fā)表于 11-18 09:40 ?1448次閱讀

    非線性光耦與線性光耦的差別

    非線性光耦與線性光耦的不同 在電路中光耦的電路非常常見,光耦在電路中的作用是進(jìn)行隔離并對光電進(jìn)行轉(zhuǎn)換,光耦的種類當(dāng)中,包括線性光耦與非線性光耦。雖然都是光耦,但是這兩種光耦的區(qū)別在哪?
    的頭像 發(fā)表于 11-16 10:28 ?1257次閱讀

    射頻放大器的的線性非線性特性

    在無線通信系統(tǒng)中,我們應(yīng)該聽說過線性系統(tǒng)和非線性系統(tǒng)。它通常是指系統(tǒng)的輸入和輸出的關(guān)系是否成線性關(guān)系。在早期的2G時(shí)代的GSM就是非線性系統(tǒng)
    的頭像 發(fā)表于 10-23 10:32 ?1429次閱讀
    射頻放大器的的<b class='flag-5'>線性</b>和<b class='flag-5'>非線性</b>特性

    正弦振蕩電路的非線性部分是什么

    ,而非線性部分則負(fù)責(zé)提供必要的非線性特性,以確保振蕩的持續(xù)和穩(wěn)定。 非線性部分的作用 非線性部分在正弦振蕩電路中的作用至關(guān)重要,它確保振蕩
    的頭像 發(fā)表于 09-29 09:11 ?1012次閱讀

    集成運(yùn)放電路非線性應(yīng)用要求是什么

    集成運(yùn)算放大器(簡稱運(yùn)放)是一種具有高增益、高輸入阻抗、低輸出阻抗的放大器,廣泛應(yīng)用于模擬信號(hào)處理、信號(hào)放大、濾波、波形生成等領(lǐng)域。在非線性應(yīng)用中,運(yùn)放可以進(jìn)行函數(shù)運(yùn)算、波形變換、信號(hào)處理等操作
    的頭像 發(fā)表于 09-03 09:24 ?1612次閱讀

    PGA309一旦校準(zhǔn)非線性就不準(zhǔn),為什么?

    我自己寫了一個(gè)程序做PGA309的校準(zhǔn),現(xiàn)在如果不做非線性校準(zhǔn)的話可以把零點(diǎn)和滿點(diǎn)校準(zhǔn)到很精確,但是一旦校準(zhǔn)非線性就不準(zhǔn)。 我的校準(zhǔn)方法是先按照非線性為0來校準(zhǔn)一遍,這樣可以把零點(diǎn)和
    發(fā)表于 08-15 08:31

    放大器的非線性工作方式

    放大器的非線性工作方式是一個(gè)復(fù)雜而廣泛的主題,它涉及到電子學(xué)、信號(hào)處理以及電路設(shè)計(jì)等多個(gè)領(lǐng)域。在非線性工作方式下,放大器的輸出信號(hào)不再是輸入信號(hào)的簡單線性放大,而是會(huì)引入各種非線性效應(yīng)
    的頭像 發(fā)表于 08-08 17:32 ?1346次閱讀