前言
第一章
6、具有這種多層結構的網路 - 兩個或更多隱藏層 - 被稱為深度神經網路。深網能夠建立複雜的概念層次。這有點像傳統程式語言使用模組化設計和抽象概念來建立複雜的電腦程式。將深層網路與淺層網路進行比較有點像將程式語言與能夠呼叫精簡語言的函式進行比較而無法進行此類呼叫。抽象在神經網路中採用與傳統程式設計不同的形式,但它同樣重要。
第二章
這一章的核心內容是反向傳播演算法的思想以及實現(繁瑣的理論證明過程我們暫且忽略)
反向傳播演算法是神經網路中最有效的演算法,其主要的思想是將網路最後輸出的結果計算其誤差,並且將誤差反向逐級傳下去,可以跟蹤權重(和偏差)的小擾動,因為它們通過網路傳播,到達輸出,然後影響成本。
方向傳播運用的是鏈式求導的基本思想(隱函式求導),例如:
舉個簡單的例子對於如下圖所示的神經網路:
假設第乙個神經元的表示式為f1(x)=w0+w1x, 第二個神經元的表示式為f2(y)=θ0+θ1y,那麼實際上第乙個神經元的輸出是第二個神經元的輸入,也就是第二個表示式中的y=f1(x)。對於訓練這個模型首先採用前向傳播演算法(也就是按步驟計算得出輸出結果):
對於輸入x1 計算:
假設輸出結果計算後得到y′1
構造代價函式為:
注:y1表示真實分類值,y′1表示**值
計算誤差之後需要將誤差反向傳播回去,首先計算最後一層的誤差,更新θ1,θ0
然後再更新前乙個節點的w1,w0
採用梯度下降依次逐層更新知道最終收斂為止。
注:公式中的α是學習率。
下面對bp演算法做乙個簡單總結:
1、首先應該明確的是,反向傳播演算法是乙個快速計算梯度的方式,本質上是計算梯度的,關於梯度下降法、隨機梯度下降法、反向傳播演算法之間的區別和聯絡,詳細可參考這個部落格,寫的十分漂亮。
深度學習入門(1)
1.感知機是神經網路的起源。2.偏置決定了神經元被啟用的容易程度。具體表現我為 y wx b b為偏置項 w為權重 3.常用啟用函式及實現 1 階越函式 y x 0?1 0實現 def step function x return np.array x 0,dtype np.int 2 sigmoi...
深度學習入門基礎概念(1)
自 csdn star先生 作者專欄 1 神經元 neuron 就像形成我們大腦基本元素的神經元一樣,神經元形成神經網路的基本結構。想象一下,當我們得到新資訊時我們該怎麼做。當我們獲取資訊時,我們一般會處理它,然後生成乙個輸出。類似地,在神經網路裡,神經元接收輸入,處理它並產生輸出,而這個輸出被傳送...
深度學習入門 基於python的理論與實現 2
2.3 感知器的實現 2.4 感知器的侷限性 2.5 多層感知器 感知器接受多個輸入訊號,輸出乙個訊號。如圖是乙個接收兩個輸入訊號的感知器。x2 是輸入訊號,y yy是輸出訊號,w 1w 1 w1 w 2w 2 w2 是權重。圖中的圓圈稱為 神經元 或 節點 輸入訊號被送往神經元時,會被分別乘以固定...