卷積神經網路原理及其C Opencv實現 2

2021-10-21 20:50:46 字數 2473 閱讀 1489

在上篇文章中我們主要講了神經元與卷積神經元的基礎知識:

卷積神經網路原理及其c++/opencv實現(1)

1. 池化層

池化層通常連線在卷積層後面,在卷積神經網路中新增池化層的目的是:在不丟失主要資訊的前提下,降低卷積層輸出結果的資料量。這樣一來,既可以減小運算的複雜度,也可以有效避免過擬合現象(所謂過擬合,即訓練神經網路所得到的引數模型,對訓練資料的處理表現優良,但是對其它資料的處理則表現不理想的現象)。

常見的池化層方法有均值池化層、最大值池化層,下面我們分別講述其原理。

假設卷積結果為m行n列的影象,池化視窗為r行c列(m>r,n>c),以下內容我們以4*4的輸入影象、2*2的池化視窗為例進行說明。

(1) 均值池化層

對輸入影象進行均值池化,相當於使用池化視窗覆蓋在輸入影象上面從左往右、從上至下地滑動,每滑動到乙個位置,計算池化視窗在輸入影象上所覆蓋區域的畫素平均值,作為池化輸出。

既然是視窗滑動,就涉及到滑動步長step的選擇,step可以取固定的1,2,3...,但是要求滿足條件step+c對4*4的輸入影象進行2*2池化視窗的均值池化,按照預設step,池化視窗左右上下滑動的step均為2,其過程如下圖所示:

(1) 最大值池化層

最大值池化操作與均值池化操作大同小異,都是池化視窗在輸入影象上從左往右、從上至下的滑動,區別在於:均值池化取池化視窗中的平均值作為池化結果,而最大值池化取池化視窗中的最大值作為池化結果。如下圖所示:

2. 全連線層

在這裡,我們把全連線層細分為affine層和輸出層來講。上文說到的5層網路的全連線層如下圖所示。

在卷積神經網路中,之所以在最後一層加一層全連線層,而不是卷積層,是為了輸出設計者自己想要的資料個數,而affine層正好可以實現這個需求。對於分類問題,在網路的最後需要輸出各個類別的概率,並認為最大概率的類別為最終分類結果,因此在affine層之後還需要連線一層輸出層,把每個類別的輸出值轉換為0~1之間的概率,轉換函式通常使用softmax函式。

注意:由於全連線層是最後一層,softmax函式就相當於affine輸出的啟用函式,在affine與softmax之間不需要另外再加別的啟用函式了

(1) affine層

假設分類問題有n個輸出,那麼該層有n個神經元,每個神經元的輸入都是以上向量x的m個資料。

affine層的輸出按照下式計算,其中0≤i

(2) 輸出層

輸出層在affine層之後,主要功能是把affine層的輸出轉換為0~1之間的概率值。該功能由softmax函式實現:

softmax函式的輸出即為神經網路最終的輸出。

為了使用梯度下降法調節引數(後面再詳細說明),通常使用交叉熵誤差函式來衡量softmax函式的輸出值與標籤值的差距,其中t為標籤值,y為softmax函式的輸出。

總共有n個輸出,每個輸出對應乙個標籤t。對於分類問題,輸出的多個結果中,只有乙個結果是對應正確解,也只有該結果對應的標籤t為1,其它結果對應的標籤都是0。比如對於手寫數字影象的分類:

0對應的10個標籤為:1 0 0 0 0 0 0 0 0 0

1對應的10個標籤為:0 1 0 0 0 0 0 0 0 0

2對應的10個標籤為:0 0 1 0 0 0 0 0 0 0

3對應的10個標籤為:0 0 0 1 0 0 0 0 0 0

4對應的10個標籤為:0 0 0 0 1 0 0 0 0 0

.

.

.

9對應的10個標籤為:0 0 0 0 0 0 0 0 0 1

神經網路 卷積神經網路

這篇卷積神經網路是前面介紹的多層神經網路的進一步深入,它將深度學習的思想引入到了神經網路當中,通過卷積運算來由淺入深的提取影象的不同層次的特徵,而利用神經網路的訓練過程讓整個網路自動調節卷積核的引數,從而無監督的產生了最適合的分類特徵。這個概括可能有點抽象,我盡量在下面描述細緻一些,但如果要更深入了...

神經網路 卷積神經網路

1.卷積神經網路概覽 來自吳恩達課上一張,通過對應位置相乘求和,我們從左邊矩陣得到了右邊矩陣,邊緣是白色寬條,當畫素大一些時候,邊緣就會變細。觀察卷積核,左邊一列權重高,右邊一列權重低。輸入,左邊的部分明亮,右邊的部分灰暗。這個學到的邊緣是權重大的寬條 都是30 表示是由亮向暗過渡,下面這個圖左邊暗...

卷積神經網路 有趣的卷積神經網路

一 前言 最近一直在研究深度學習,聯想起之前所學,感嘆數學是一門樸素而神奇的科學。f g m1 m2 r 萬有引力描述了宇宙星河運轉的規律,e mc 描述了恆星發光的奧秘,v h d哈勃定律描述了宇宙膨脹的奧秘,自然界的大部分現象和規律都可以用數學函式來描述,也就是可以求得乙個函式。神經網路 簡單又...