日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Stanford UFLDL教程 深度网络概览

發(fā)布時(shí)間:2025/3/21 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Stanford UFLDL教程 深度网络概览 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

深度網(wǎng)絡(luò)概覽

Contents

[hide]
  • 1概述
  • 2深度網(wǎng)絡(luò)的優(yōu)勢(shì)
  • 3訓(xùn)練深度網(wǎng)絡(luò)的困難
    • 3.1數(shù)據(jù)獲取問(wèn)題
    • 3.2局部極值問(wèn)題
    • 3.3梯度彌散問(wèn)題
  • 4逐層貪婪訓(xùn)練方法
    • 4.1數(shù)據(jù)獲取
    • 4.2更好的局部極值
  • 5中英文對(duì)照
  • 6中文譯者

概述

在之前的章節(jié)中,你已經(jīng)構(gòu)建了一個(gè)包括輸入層、隱藏層以及輸出層的三層神經(jīng)網(wǎng)絡(luò)。雖然該網(wǎng)絡(luò)對(duì)于MNIST手寫數(shù)字?jǐn)?shù)據(jù)庫(kù)非常有效,但是它還是一個(gè)非?!皽\”的網(wǎng)絡(luò)。這里的“淺”指的是特征(隱藏層的激活值)只使用一層計(jì)算單元(隱藏層)來(lái)得到的。


在本節(jié)中,我們開(kāi)始討論深度神經(jīng)網(wǎng)絡(luò),即含有多個(gè)隱藏層的神經(jīng)網(wǎng)絡(luò)。通過(guò)引入深度網(wǎng)絡(luò),我們可以計(jì)算更多復(fù)雜的輸入特征。因?yàn)槊恳粋€(gè)隱藏層可以對(duì)上一層的輸出進(jìn)行非線性變換,因此深度神經(jīng)網(wǎng)絡(luò)擁有比“淺層”網(wǎng)絡(luò)更加優(yōu)異的表達(dá)能力(例如可以學(xué)習(xí)到更加復(fù)雜的函數(shù)關(guān)系)。


值得注意的是當(dāng)訓(xùn)練深度網(wǎng)絡(luò)的時(shí)候,每一層隱層應(yīng)該使用非線性的激活函數(shù) 。這是因?yàn)槎鄬拥木€性函數(shù)組合在一起本質(zhì)上也只有線性函數(shù)的表達(dá)能力(例如,將多個(gè)線性方程組合在一起僅僅產(chǎn)生另一個(gè)線性方程)。因此,在激活函數(shù)是線性的情況下,相比于單隱藏層神經(jīng)網(wǎng)絡(luò),包含多隱藏層的深度網(wǎng)絡(luò)并沒(méi)有增加表達(dá)能力。


深度網(wǎng)絡(luò)的優(yōu)勢(shì)

為什么我們要使用深度網(wǎng)絡(luò)呢?使用深度網(wǎng)絡(luò)最主要的優(yōu)勢(shì)在于,它能以更加緊湊簡(jiǎn)潔的方式來(lái)表達(dá)比淺層網(wǎng)絡(luò)大得多的函數(shù)集合。正式點(diǎn)說(shuō),我們可以找到一些函數(shù),這些函數(shù)可以用 層網(wǎng)絡(luò)簡(jiǎn)潔地表達(dá)出來(lái)(這里的簡(jiǎn)潔是指隱層單元的數(shù)目只需與輸入單元數(shù)目呈多項(xiàng)式關(guān)系)。但是對(duì)于一個(gè)只有 層的網(wǎng)絡(luò)而言,除非它使用與輸入單元數(shù)目呈指數(shù)關(guān)系的隱層單元數(shù)目,否則不能簡(jiǎn)潔表達(dá)這些函數(shù)。


舉一個(gè)簡(jiǎn)單的例子,比如我們打算構(gòu)建一個(gè)布爾網(wǎng)絡(luò)來(lái)計(jì)算 個(gè)輸入比特的奇偶校驗(yàn)碼(或者進(jìn)行異或運(yùn)算)。假設(shè)網(wǎng)絡(luò)中的每一個(gè)節(jié)點(diǎn)都可以進(jìn)行邏輯“或”運(yùn)算(或者“與非”運(yùn)算),亦或者邏輯“與”運(yùn)算。如果我們擁有一個(gè)僅僅由一個(gè)輸入層、一個(gè)隱層以及一個(gè)輸出層構(gòu)成的網(wǎng)絡(luò),那么該奇偶校驗(yàn)函數(shù)所需要的節(jié)點(diǎn)數(shù)目與輸入層的規(guī)模 呈指數(shù)關(guān)系。但是,如果我們構(gòu)建一個(gè)更深點(diǎn)的網(wǎng)絡(luò),那么這個(gè)網(wǎng)絡(luò)的規(guī)模就可做到僅僅是 的多項(xiàng)式函數(shù)。


當(dāng)處理對(duì)象是圖像時(shí),我們能夠使用深度網(wǎng)絡(luò)學(xué)習(xí)到“部分-整體”的分解關(guān)系。例如,第一層可以學(xué)習(xí)如何將圖像中的像素組合在一起來(lái)檢測(cè)邊緣(正如我們?cè)谇懊娴木毩?xí)中做的那樣)。第二層可以將邊緣組合起來(lái)檢測(cè)更長(zhǎng)的輪廓或者簡(jiǎn)單的“目標(biāo)的部件”。在更深的層次上,可以將這些輪廓進(jìn)一步組合起來(lái)以檢測(cè)更為復(fù)雜的特征。


最后要提的一點(diǎn)是,大腦皮層同樣是分多層進(jìn)行計(jì)算的。例如視覺(jué)圖像在人腦中是分多個(gè)階段進(jìn)行處理的,首先是進(jìn)入大腦皮層的“V1”區(qū),然后緊跟著進(jìn)入大腦皮層“V2”區(qū),以此類推。


訓(xùn)練深度網(wǎng)絡(luò)的困難

雖然幾十年前人們就發(fā)現(xiàn)了深度網(wǎng)絡(luò)在理論上的簡(jiǎn)潔性和較強(qiáng)的表達(dá)能力,但是直到最近,研究者們也沒(méi)有在訓(xùn)練深度網(wǎng)絡(luò)方面取得多少進(jìn)步。問(wèn)題原因在于研究者們主要使用的學(xué)習(xí)算法是:首先隨機(jī)初始化深度網(wǎng)絡(luò)的權(quán)重,然后使用有監(jiān)督的目標(biāo)函數(shù)在有標(biāo)簽的訓(xùn)練集 上進(jìn)行訓(xùn)練。例如通過(guò)使用梯度下降法來(lái)降低訓(xùn)練誤差。然而,這種方法通常不是十分奏效。這其中有如下幾方面原因:


數(shù)據(jù)獲取問(wèn)題

使用上面提到的方法,我們需要依賴于有標(biāo)簽的數(shù)據(jù)才能進(jìn)行訓(xùn)練。然而有標(biāo)簽的數(shù)據(jù)通常是稀缺的,因此對(duì)于許多問(wèn)題,我們很難獲得足夠多的樣本來(lái)擬合一個(gè)復(fù)雜模型的參數(shù)。例如,考慮到深度網(wǎng)絡(luò)具有強(qiáng)大的表達(dá)能力,在不充足的數(shù)據(jù)上進(jìn)行訓(xùn)練將會(huì)導(dǎo)致過(guò)擬合。


局部極值問(wèn)題

使用監(jiān)督學(xué)習(xí)方法來(lái)對(duì)淺層網(wǎng)絡(luò)(只有一個(gè)隱藏層)進(jìn)行訓(xùn)練通常能夠使參數(shù)收斂到合理的范圍內(nèi)。但是當(dāng)用這種方法來(lái)訓(xùn)練深度網(wǎng)絡(luò)的時(shí)候,并不能取得很好的效果。特別的,使用監(jiān)督學(xué)習(xí)方法訓(xùn)練神經(jīng)網(wǎng)絡(luò)時(shí),通常會(huì)涉及到求解一個(gè)高度非凸的優(yōu)化問(wèn)題(例如最小化訓(xùn)練誤差,其中參數(shù) 是要優(yōu)化的參數(shù)。對(duì)深度網(wǎng)絡(luò)而言,這種非凸優(yōu)化問(wèn)題的搜索區(qū)域中充斥著大量“壞”的局部極值,因而使用梯度下降法(或者像共軛梯度下降法,L-BFGS等方法)效果并不好。

梯度彌散問(wèn)題

梯度下降法(以及相關(guān)的L-BFGS算法等)在使用隨機(jī)初始化權(quán)重的深度網(wǎng)絡(luò)上效果不好的技術(shù)原因是:梯度會(huì)變得非常小。具體而言,當(dāng)使用反向傳播方法計(jì)算導(dǎo)數(shù)的時(shí)候,隨著網(wǎng)絡(luò)的深度的增加,反向傳播的梯度(從輸出層到網(wǎng)絡(luò)的最初幾層)的幅度值會(huì)急劇地減小。結(jié)果就造成了整體的損失函數(shù)相對(duì)于最初幾層的權(quán)重的導(dǎo)數(shù)非常小。這樣,當(dāng)使用梯度下降法的時(shí)候,最初幾層的權(quán)重變化非常緩慢,以至于它們不能夠從樣本中進(jìn)行有效的學(xué)習(xí)。這種問(wèn)題通常被稱為“梯度的彌散”.


與梯度彌散問(wèn)題緊密相關(guān)的問(wèn)題是:當(dāng)神經(jīng)網(wǎng)絡(luò)中的最后幾層含有足夠數(shù)量神經(jīng)元的時(shí)候,可能單獨(dú)這幾層就足以對(duì)有標(biāo)簽數(shù)據(jù)進(jìn)行建模,而不用最初幾層的幫助。因此,對(duì)所有層都使用隨機(jī)初始化的方法訓(xùn)練得到的整個(gè)網(wǎng)絡(luò)的性能將會(huì)與訓(xùn)練得到的淺層網(wǎng)絡(luò)(僅由深度網(wǎng)絡(luò)的最后幾層組成的淺層網(wǎng)絡(luò))的性能相似。


逐層貪婪訓(xùn)練方法

那么,我們應(yīng)該如何訓(xùn)練深度網(wǎng)絡(luò)呢?逐層貪婪訓(xùn)練方法是取得一定成功的一種方法。我們會(huì)在后面的章節(jié)中詳細(xì)闡述這種方法的細(xì)節(jié)。簡(jiǎn)單來(lái)說(shuō),逐層貪婪算法的主要思路是每次只訓(xùn)練網(wǎng)絡(luò)中的一層,即我們首先訓(xùn)練一個(gè)只含一個(gè)隱藏層的網(wǎng)絡(luò),僅當(dāng)這層網(wǎng)絡(luò)訓(xùn)練結(jié)束之后才開(kāi)始訓(xùn)練一個(gè)有兩個(gè)隱藏層的網(wǎng)絡(luò),以此類推。在每一步中,我們把已經(jīng)訓(xùn)練好的前 層固定,然后增加第 層(也就是將我們已經(jīng)訓(xùn)練好的前 的輸出作為輸入)。每一層的訓(xùn)練可以是有監(jiān)督的(例如,將每一步的分類誤差作為目標(biāo)函數(shù)),但更通常使用無(wú)監(jiān)督方法(例如自動(dòng)編碼器,我們會(huì)在后邊的章節(jié)中給出細(xì)節(jié))。這些各層單獨(dú)訓(xùn)練所得到的權(quán)重被用來(lái)初始化最終(或者說(shuō)全部)的深度網(wǎng)絡(luò)的權(quán)重,然后對(duì)整個(gè)網(wǎng)絡(luò)進(jìn)行“微調(diào)”(即把所有層放在一起來(lái)優(yōu)化有標(biāo)簽訓(xùn)練集上的訓(xùn)練誤差).


逐層貪婪的訓(xùn)練方法取得成功要?dú)w功于以下幾方面:


數(shù)據(jù)獲取

雖然獲取有標(biāo)簽數(shù)據(jù)的代價(jià)是昂貴的,但獲取大量的無(wú)標(biāo)簽數(shù)據(jù)是容易的。自學(xué)習(xí)方法(self-taught learning)的潛力在于它能通過(guò)使用大量的無(wú)標(biāo)簽數(shù)據(jù)來(lái)學(xué)習(xí)到更好的模型。具體而言,該方法使用無(wú)標(biāo)簽數(shù)據(jù)來(lái)學(xué)習(xí)得到所有層(不包括用于預(yù)測(cè)標(biāo)簽的最終分類層) 的最佳初始權(quán)重。相比純監(jiān)督學(xué)習(xí)方法,這種自學(xué)習(xí)方法能夠利用多得多的數(shù)據(jù),并且能夠?qū)W習(xí)和發(fā)現(xiàn)數(shù)據(jù)中存在的模式。因此該方法通常能夠提高分類器的性能。


更好的局部極值

當(dāng)用無(wú)標(biāo)簽數(shù)據(jù)訓(xùn)練完網(wǎng)絡(luò)后,相比于隨機(jī)初始化而言,各層初始權(quán)重會(huì)位于參數(shù)空間中較好的位置上。然后我們可以從這些位置出發(fā)進(jìn)一步微調(diào)權(quán)重。從經(jīng)驗(yàn)上來(lái)說(shuō),以這些位置為起點(diǎn)開(kāi)始梯度下降更有可能收斂到比較好的局部極值點(diǎn),這是因?yàn)闊o(wú)標(biāo)簽數(shù)據(jù)已經(jīng)提供了大量輸入數(shù)據(jù)中包含的模式的先驗(yàn)信息。


在下一節(jié)中,我們將會(huì)具體闡述如何進(jìn)行逐層貪婪訓(xùn)練。


中英文對(duì)照

深度網(wǎng)絡(luò) Deep Networks
深度神經(jīng)網(wǎng)絡(luò) deep neural networks
非線性變換 non-linear transformation
激活函數(shù) activation function
簡(jiǎn)潔地表達(dá) represent compactly
“部分-整體”的分解 part-whole decompositions
目標(biāo)的部件 parts of objects
高度非凸的優(yōu)化問(wèn)題 highly non-convex optimization problem
共軛梯度 conjugate gradient
梯度的彌散 diffusion of gradients
逐層貪婪訓(xùn)練方法 Greedy layer-wise training
自動(dòng)編碼器 autoencoder
微調(diào) fine-tuned
自學(xué)習(xí)方法 self-taught learning
from: http://ufldl.stanford.edu/wiki/index.php/%E6%B7%B1%E5%BA%A6%E7%BD%91%E7%BB%9C%E6%A6%82%E8%A7%88

總結(jié)

以上是生活随笔為你收集整理的Stanford UFLDL教程 深度网络概览的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。