《神經網路和深度學習》系列文章十一:關於損失函式的兩個假設

哈工大SCIR發表於2016-04-22
出處: Michael Nielsen的《Neural Network and Deep Learning》,本節譯者:哈工大SCIR本科生 王宇軒。


目錄

1、使用神經網路識別手寫數字

2、反向傳播演算法是如何工作的

  • 熱身:一個基於矩陣的快速計算神經網路輸出的方法
  • 關於損失函式的兩個假設
  • Hadamard積
  • 反向傳播背後的四個基本等式
  • 四個基本等式的證明(選讀)
  • 反向傳播演算法
  • 什麼時候反向傳播演算法高效
  • 反向傳播演算法再理解

3、改進神經網路的學習方法

4、神經網路能夠計算任意函式的視覺證明

5、為什麼深度神經網路的訓練是困難的

6、深度學習


反向傳播演算法的目標是計算代價函式C對神經網路中出現的所有權重w和偏置b的偏導數∂C/∂w和∂C/∂b。為了使反向傳播工作,我們需要對代價函式的結構做兩個主要假設。在進行假設之前,在腦海中有一個代價函式的例項是很有用的。我們將會使用上一章講到的平方代價函式作為例子。上一章的平方代價函式具有以下形式:

《神經網路和深度學習》系列文章十一:關於損失函式的兩個假設

其中n是訓練樣本總數;求和符號表示對每個獨立訓練樣本x求和;y=y(x)是對應的希望輸出;L是神經網路層數;aL=aL(x)是輸入為x時啟用函式的輸出向量。

那麼,為了能夠使用反向傳播演算法,我們需要對代價函式C進行怎樣的假設呢?第一條假設是代價函式能夠被寫成《神經網路和深度學習》系列文章十一:關於損失函式的兩個假設的形式,其中Cx是每個獨立訓練樣本x的代價函式。在代價函式為平方代價函式的情況下,一個訓練樣本的代價是《神經網路和深度學習》系列文章十一:關於損失函式的兩個假設。該假設對於本書中涉及到的其它所有代價函式都成立。

我們需要上述假設的原因是,反向傳播實際上是對單個訓練資料計算偏導數∂Cx/∂w和∂Cx/∂b。然後透過對所有訓練樣本求平均值獲得∂C/∂w和∂C/∂b。事實上,有了這個假設,我們可以認為訓練樣本x是固定的,然後把代價Cx去掉下標表示為C。最終我們會重新把x加回公式,但目前為了簡便我們將它隱去。 我們對代價函式做的第二條假設是它可以寫成關於神經網路輸出結果的函式:

《神經網路和深度學習》系列文章十一:關於損失函式的兩個假設

平方代價函式滿足該要求,因為單一訓練樣本x的二次代價可以表示為:

《神經網路和深度學習》系列文章十一:關於損失函式的兩個假設

這是一個關於輸出啟用值的函式。顯然,該代價函式也依賴於期望的輸出y,所以你可能疑惑為什麼我們不把代價視為關於y的函式。記住,輸入的訓練樣本x是固定的,因此期望的輸出y也是固定的。需要注意,我們不能透過改變權值或偏置來修改它,換句話說,它不是神經網路所學習的東西。所以把C視為只關於輸出aL的函式是有道理的。在該函式中y只是幫助定義函式的引數。


下一節我們將介紹“Handmard積,s⊙t”

本文來源於哈工大SCIR

原文連結點選即可跳轉

《神經網路和深度學習》系列文章十一:關於損失函式的兩個假設

相關文章