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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Stanford UFLDL教程 用反向传导思想求导

發布時間:2025/3/21 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Stanford UFLDL教程 用反向传导思想求导 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

用反向傳導思想求導

Contents

[hide]
  • 1簡介
  • 2示例
    • 2.1示例1:稀疏編碼中權重矩陣的目標函數
    • 2.2示例2:稀疏編碼中的平滑地形L1稀疏罰函數
    • 2.3示例3:ICA重建代價
  • 3中英文對照
  • 4中文譯者

簡介

在 反向傳導算法一節中,我們介紹了在稀疏自編碼器中用反向傳導算法來求梯度的方法。事實證明,反向傳導算法與矩陣運算相結合的方法,對于計算復雜矩陣函數(從矩陣到實數的函數,或用符號表示為:從 )的梯度是十分強大和直觀的。


首先,我們回顧一下反向傳導的思想,為了更適合我們的目的,將其稍作修改呈現于下:

  • 對第 nl 層(最后一層)中的每一個輸出單元i ,令
    其中 J(z) 是我們的“目標函數”(稍后解釋)。
  • 對 ,
    對第 l 層中的每個節點 i , 令
  • 計算我們要的偏導數

  • 符號扼要重述:

    • l 是神經網絡的層數
    • nl 第l層神經元的個數
    • l 層第 i 個節點到第(l + 1) 層第 j 個節點的權重
    • 是第l 層第 i 個單元的輸入
    • 是第l 層第 i 個節點的激勵
    • 是矩陣的Hadamard積或逐個元素乘積,對 矩陣AB ,它們的乘積是 矩陣 ,即
    • f(l) 是第 l 層中各單元的激勵函數

    假設我們有一個函數 FF 以矩陣X 為參數生成一個實數。我們希望用反向傳導思想計算 F 關于 X 的梯度,即 。大致思路是將函數F 看成一個多層神經網絡,并使用反向傳導思想求梯度。

    為了實現這個想法,我們取目標函數為 J(z) ,當計算最后一層神經元的輸出時,會產生值F(X) 。對于中間層,我們將選擇激勵函數 f(l)

    稍后我們會看到,使用這種方法,我們可以很容易計算出對于輸入 X 以及網絡中任意一個權重的導數。


    示例

    為了闡述如何使用反向傳導思想計算關于輸入的導數,我們要在示例1,示例2中用 稀疏編碼 章節中的兩個函數。在示例3中,我們使用 獨立成分分析一節中的一個函數來說明使用此思想計算關于權重的偏導的方法,以及在這種特殊情況下,如何處理相互捆綁或重復的權重。


    示例1:稀疏編碼中權重矩陣的目標函數

    回顧一下 稀疏編碼,當給定特征矩陣 s 時,權重矩陣 A 的目標函數為:


    我們希望求 F 對于 A 的梯度,即 。因為目標函數是兩個含A 的式子之和,所以它的梯度是每個式子的梯度之和。第二項的梯度很容易求,因此我們只考慮第一項的梯度。


    第一項, ,可以看成一個用s 做輸入的神經網絡的實例,通過四步進行計算,文字以及圖形描述如下:

  • A 作為第一層到第二層的權重。
  • 將第二層的激勵減 x ,第二層使用了單位激勵函數。
  • 通過單位權重將結果不變地傳到第三層。在第三層使用平方函數作為激勵函數。
  • 將第三層的所有激勵相加。

  • 該網絡的權重和激勵函數如下表所示:

    層權重激勵函數 f
    1Af(zi) = zi (單位函數)
    2I (單位向量)f(zi) = zi ?xi
    3N/A

    為了使 J(z(3)) = F(x) ,我們可令 。

    一旦我們將 F 看成神經網絡,梯度 就很容易求了——使用反向傳導得到:

    層激勵函數的導數f'Delta該層輸入z
    3f'(zi) = 2zif'(zi) = 2ziAs ? x
    2f'(zi) = 1As
    1f'(zi) = 1s


    因此


    示例2:稀疏編碼中的平滑地形L1稀疏罰函數

    回顧 稀疏編碼一節中對 s 的平滑地形L1稀疏罰函數:

    其中 V 是分組矩陣, s 是特征矩陣,ε 是一個常數。

    我們希望求得 。像上面那樣,我們把這一項看做一個神經網絡的實例:


    該網絡的權重和激勵函數如下表所示:

    層權重激勵函數 f
    1I
    2Vf(zi) = zi
    3If(zi) = zi + ε
    4N/A


    為使 J(z(4)) = F(x) ,我們可令 。

    一旦我們把 F 看做一個神經網絡,梯度 變得很容易計算——使用反向傳導得到:

    層激勵函數的導數 f'Delta該層輸入z
    4(VssT + ε)
    3f'(zi) = 1VssT
    2f'(zi) = 1ssT
    1f'(zi) = 2zis


    因此


    示例3:ICA重建代價

    回顧 獨立成分分析(ICA) 一節重建代價一項: ,其中W 是權重矩陣, x 是輸入。

    我們希望計算 ——對于權重矩陣的導數,而不是像前兩例中對于輸入的導數。不過我們仍然用類似的方法處理,把該項看做一個神經網絡的實例:


    該網絡的權重和激勵函數如下表所示:

    層權重激勵函數 f
    1Wf(zi) = zi
    2WTf(zi) = zi
    3If(zi) = zi ?xi
    4N/A

    為使 J(z(4)) = F(x) ,我們可令 。

    既然我們可將 F 看做神經網絡,我們就能計算出梯度 。然而,我們現在面臨的難題是W 在網絡中出現了兩次。幸運的是,可以證明如果 W 在網絡中出現多次,那么對于 W 的梯度是對網絡中每個W 實例的梯度的簡單相加(你需要自己給出對這一事實的嚴格證明來說服自己)。知道這一點后,我們將首先計算delta:

    層激勵函數的導數 f'Delta該層輸入z
    4f'(zi) = 2zif'(zi) = 2zi(WTWx ? x)
    3f'(zi) = 1WTWx
    2f'(zi) = 1Wx
    1f'(zi) = 1x

    為計算對于 W 的梯度,首先計算對網絡中每個 W 實例的梯度。

    對于 WT?:

    對于 W?:

    最后進行求和,得到對于 W 的最終梯度,注意我們需要對 WT 梯度進行轉置,來得到關于 W 的梯度(原諒我在這里稍稍濫用了符號):


    中英文對照

    反向傳導 backpropagation
    稀疏編碼 sparse coding
    權重矩陣 weight matrix
    目標函數 objective
    平滑地形L1稀疏罰函數 Smoothed topographic L1 sparsity penalty
    重建代價 reconstruction cost
    稀疏自編碼器 sparse autoencoder
    梯度 gradient
    神經網絡 neural network
    神經元 neuron
    激勵 activation
    激勵函數 activation function
    獨立成分分析 independent component analysis
    單位激勵函數 identity activation function
    平方函數 square function
    分組矩陣 grouping matrix
    特征矩陣 feature matrix

    總結

    以上是生活随笔為你收集整理的Stanford UFLDL教程 用反向传导思想求导的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。