日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Stanford UFLDL教程 深度网络概览

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

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

Contents

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

概述

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


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


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


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

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


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


當處理對象是圖像時,我們能夠使用深度網(wǎng)絡(luò)學習到“部分-整體”的分解關(guān)系。例如,第一層可以學習如何將圖像中的像素組合在一起來檢測邊緣(正如我們在前面的練習中做的那樣)。第二層可以將邊緣組合起來檢測更長的輪廓或者簡單的“目標的部件”。在更深的層次上,可以將這些輪廓進一步組合起來以檢測更為復雜的特征。


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


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

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


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

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


局部極值問題

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

梯度彌散問題

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


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


逐層貪婪訓練方法

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


逐層貪婪的訓練方法取得成功要歸功于以下幾方面:


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

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


更好的局部極值

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


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


中英文對照

深度網(wǎng)絡(luò) Deep Networks
深度神經(jīng)網(wǎng)絡(luò) deep neural networks
非線性變換 non-linear transformation
激活函數(shù) activation function
簡潔地表達 represent compactly
“部分-整體”的分解 part-whole decompositions
目標的部件 parts of objects
高度非凸的優(yōu)化問題 highly non-convex optimization problem
共軛梯度 conjugate gradient
梯度的彌散 diffusion of gradients
逐層貪婪訓練方法 Greedy layer-wise training
自動編碼器 autoencoder
微調(diào) fine-tuned
自學習方法 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教程 深度网络概览的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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