九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
深入了解神經(jīng)網(wǎng)絡(luò)

本章將介紹用于解決實(shí)際問題的深度學(xué)習(xí)架構(gòu)的不同模塊。前一章使用PyTorch的低級(jí)操作構(gòu)建了如網(wǎng)絡(luò)架構(gòu)、損失函數(shù)和優(yōu)化器這些模塊。本章將介紹用于解決真實(shí)問題的神經(jīng)網(wǎng)絡(luò)的一些重要組件,以及PyTorch如何通過提供大量高級(jí)函數(shù)來抽象出復(fù)雜度。本章還將介紹用于解決真實(shí)問題的算法,如回歸、二分類、多類別分類等。

本章將討論如下主題:

· 詳解神經(jīng)網(wǎng)絡(luò)的不同構(gòu)成組件;

· 探究PyTorch中用于構(gòu)建深度學(xué)習(xí)架構(gòu)的高級(jí)功能;

· 應(yīng)用深度學(xué)習(xí)解決實(shí)際的圖像分類問題。

3.1 詳解神經(jīng)網(wǎng)絡(luò)的組成部分

上一章已經(jīng)介紹了訓(xùn)練深度學(xué)習(xí)算法需要的幾個(gè)步驟。

1.構(gòu)建數(shù)據(jù)管道。

2.構(gòu)建網(wǎng)絡(luò)架構(gòu)。

3.使用損失函數(shù)評(píng)估架構(gòu)。

4.使用優(yōu)化算法優(yōu)化網(wǎng)絡(luò)架構(gòu)的權(quán)重。

上一章中的網(wǎng)絡(luò)由使用PyTorch數(shù)值運(yùn)算構(gòu)建的簡單線性模型組成。盡管使用數(shù)值運(yùn)算為玩具性質(zhì)的問題搭建神經(jīng)架構(gòu)很簡單,但當(dāng)需要構(gòu)建解決不同領(lǐng)域的復(fù)雜問題時(shí),如計(jì)算機(jī)視覺和自然語言處理,構(gòu)建一個(gè)架構(gòu)就迅速變得復(fù)雜起來。大多數(shù)深度學(xué)習(xí)框架,如PyTorch、TensorFlow和Apache MXNet,都提供了抽象出很多復(fù)雜度的高級(jí)功能。這些深度學(xué)習(xí)框架的高級(jí)功能稱為層(layer)。它們接收輸入數(shù)據(jù),進(jìn)行如同在前面一章看到的各種變換,并輸出數(shù)據(jù)。解決真實(shí)問題的深度學(xué)習(xí)架構(gòu)通常由1~150個(gè)層組成,有時(shí)甚至更多。抽象出低層的運(yùn)算并訓(xùn)練深度學(xué)習(xí)算法的過程如圖3.1所示。

 

  


3.1

3.1.1 層——神經(jīng)網(wǎng)絡(luò)的基本組成

在本章的剩余部分,我們會(huì)見到各種不同類型的層。首先,先了解其中最重要的一種層:線性層,它就是我們前面講過的網(wǎng)絡(luò)層結(jié)構(gòu)。線性層應(yīng)用了線性變換:

Y=Wx+b

線性層之所以強(qiáng)大,是因?yàn)榍耙徽滤v的功能都可以寫成單一的代碼行,如下所示。

上述代碼中的myLayer層,接受大小為10的張量作為輸入,并在應(yīng)用線性變換后輸出一個(gè)大小為5的張量。下面是一個(gè)簡單例子的實(shí)現(xiàn):

可以使用屬性weightsbias訪問層的可訓(xùn)練參數(shù):

線性層在不同的框架中使用的名稱有所不同,有的稱為dense層,有的稱為全連接層(fully connected layer)。用于解決真實(shí)問題的深度學(xué)習(xí)架構(gòu)通常包含不止一個(gè)層。在PyTorch中,可以用多種方式實(shí)現(xiàn)。

一個(gè)簡單的方法是把一層的輸出傳入給另一層:

每一層都有自己的學(xué)習(xí)參數(shù),在多個(gè)層的架構(gòu)中,每層都學(xué)習(xí)出它本層一定的模式,其后的層將基于前一層學(xué)習(xí)出的模式構(gòu)建。把線性層簡單堆疊在一起是有問題的,因?yàn)樗鼈儾荒軐W(xué)習(xí)到簡單線性表示以外的新東西。我們通過一個(gè)簡單的例子看一下,為什么把線性層堆疊在一起的做法并不合理。

假設(shè)有具有如下權(quán)重的兩個(gè)線性層:

權(quán)重

Layer1

3.0

Layer2

2.0

以上包含兩個(gè)不同層的架構(gòu)可以簡單表示為帶有另一不同層的單層。因此,只是堆疊多個(gè)線性層并不能幫助我們的算法學(xué)習(xí)任何新東西。有時(shí),這可能不太容易理解,我們可以用下面的數(shù)學(xué)公式對(duì)架構(gòu)進(jìn)行可視化:

Y = 2(3X1) -2 Linear layers

Y = 6(X1) -1 Linear layers

為解決這一問題,相較于只是專注于線性關(guān)系,我們可以使用不同的非線性函數(shù),幫助學(xué)習(xí)不同的關(guān)系。

深度學(xué)習(xí)中有很多不同的非線性函數(shù)。PyTorch以層的形式提供了這些非線性功能,因?yàn)榭梢圆捎镁€性層中相同的方式使用它們。

一些流行的非線性函數(shù)如下所示:

· sigmoid

· tanh

· ReLU

· Leaky ReLU

3.1.2 非線性激活函數(shù)

非線性激活函數(shù)是獲取輸入,并對(duì)其應(yīng)用數(shù)學(xué)變換從而生成輸出的函數(shù)。我們?cè)趯?shí)戰(zhàn)中可能遇到數(shù)個(gè)非線性操作。下面會(huì)講解其中幾個(gè)常用的非線性激活函數(shù)。

1.sigmoid

sigmoid激活函數(shù)的數(shù)學(xué)定義很簡單,如下:

 

簡單來說,sigmoid函數(shù)以實(shí)數(shù)作為輸入,并以一個(gè)0到1之間的數(shù)值作為輸出。對(duì)于一個(gè)極大的負(fù)值,它返回的值接近于0,而對(duì)于一個(gè)極大的正值,它返回的值接近于1。圖3.2所示為sigmoid函數(shù)不同的輸出。

 

  


3.2

sigmoid函數(shù)曾一度被不同的架構(gòu)使用,但由于存在一個(gè)主要弊端,因此最近已經(jīng)不太常用了。當(dāng)sigmoid函數(shù)的輸出值接近于0或1時(shí),sigmoid函數(shù)前一層的梯度接近于0,由于前一層的學(xué)習(xí)參數(shù)的梯度接近于0,使得權(quán)重不能經(jīng)常調(diào)整,從而產(chǎn)生了無效神經(jīng)元。

2.tanh

非線性函數(shù)tanh將實(shí)數(shù)值輸出為-1到1之間的值。當(dāng)tanh的輸出極值接近-1和1時(shí),也面臨梯度飽和的問題。不過,因?yàn)閠anh的輸出是以0為中心的,所以比sigmoid更受偏愛,如圖3.3所示。

  

 

3.3

3.ReLU

近年來ReLU變得很受歡迎,我們幾乎可以在任意的現(xiàn)代架構(gòu)中找到ReLU或其某一變體的身影。它的數(shù)學(xué)公式很簡單:

f(x)=max(0,x)

簡單來說,ReLU把所有負(fù)值取作0,正值保持不變。可以對(duì)ReLU函數(shù)進(jìn)行可視化,如圖3.4所示。

  

 

3.4

使用ReLU函數(shù)的一些好處和弊端如下。

· 有助于優(yōu)化器更快地找到正確的權(quán)重集合。從技術(shù)上講,它使隨機(jī)梯度下降收斂得更快。

· 計(jì)算成本低,因?yàn)橹皇桥袛嗔碎撝担⑽从?jì)算任何類似于sigmoid或tangent函數(shù)計(jì)算的內(nèi)容。

· ReLU有一個(gè)缺點(diǎn),即當(dāng)一個(gè)很大的梯度進(jìn)行反向傳播時(shí),流經(jīng)的神經(jīng)元經(jīng)常會(huì)變得無效,這些神經(jīng)元稱為無效神經(jīng)元,可以通過謹(jǐn)慎選擇學(xué)習(xí)率來控制。我們將在第4章中討論調(diào)整學(xué)習(xí)率的不同方式時(shí),了解如何選擇學(xué)習(xí)率。

4.Leaky ReLU

Leaky ReLU嘗試解決一個(gè)問題死角,它不再將飽和度置為0,而是設(shè)為一個(gè)非常小的數(shù)值,如0.001。對(duì)某些用例,這一激活函數(shù)提供了相較于其他激活函數(shù)更優(yōu)異的性能,但它不是連續(xù)的。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
「PyTorch自然語言處理系列」3. 神經(jīng)網(wǎng)絡(luò)的基本組件(上)
深度學(xué)習(xí)中的主要激活函數(shù)有哪些?
常用激活函數(shù)總結(jié)
深度學(xué)習(xí)激活函數(shù)們
激活函數(shù)初學(xué)者指南
機(jī)器學(xué)習(xí)常用激活函數(shù)
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服