卷积神经网络, Convolutional Neural Networks , CNN
生活随笔
收集整理的這篇文章主要介紹了
卷积神经网络, Convolutional Neural Networks , CNN
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1,簡介
CNN是deep learning在圖像處理領域的一個應用
由具有可學習的權重和偏置常量(biases)的神經元組成,是deeplearning在圖像處理的一個應用
2,卷積層(Convolutional layer)
每層卷積層由若干卷積單元組成,每個卷積單元(神經元)的參數都是通過反向傳播算法優化得到的。卷積運算的目的是提取輸入的不同特征,第一層卷積層可能只能提取一些低級的特征更多層的網絡能從低級特征中迭代提取更復雜的特征。
在CNN的一個卷積層中,通常包含若干個特征平面(featureMap),即相同深度的深度切片,每個特征平面由一些矩形排列的的神經元組成,同一特征平面的神經元共享權值,這里共享的權值就是卷積核(即參數w和b)
2.1局部感知(Local Connectivity)
一般認為人對外界的認知是從局部到全局的,而圖像的空間聯系也是局部的像素聯系較為緊密,而距離較遠的像素相關性則較弱。因而,每個神經元其實沒有必要對全局圖像進行感知,只需要對局部進行感知,然后在更高層將局部的信息綜合起來就得到了全局的信息
每個隱含層單元僅僅連接輸入圖像的一小片相鄰區域,
每個隱含層單元連接的輸入區域大小叫r神經元的感受野(receptive field)
一個輸出單元的大小有以下三個量控制:depth, stride 和 zero-padding。
卷積層的參數包含一系列過濾器(filter),每個過濾器訓練一個深度,有幾個過濾器輸出單元就具有多少深度。
步幅(stride):它控制在同一深度的相鄰兩個隱含單元,與他們相連接的輸入區域的距離
我們可以通過在輸入單元周圍補零來改變輸入單元整體大小,從而控制輸出單元的空間大小。
2.2參數共享(Parameter Sharing)
圖像的一部分的統計特性與其他部分是一樣的。這也意味著我們在這一部分學習的特征也能用在另一部分上
把同一深度的平面叫做深度切片(depth slice)即特征平面,那么同一個切片共享同一組權重和偏置,
共享權值(卷積核)帶來的直接好處是減少網絡各層之間的連接,同時又降低了過擬合的風險。
如果應用參數共享的話,實際上每一層計算的操作就是輸入層和權重的卷積!這也就是卷積神經網絡名字的由來。
2.3多核卷積:
一個卷積核操作只能得到一部分特征可能獲取不到全部特征,這么一來我們就引入了多核卷積。用每個卷積核(參數w和b)來學習不同的特征(每個卷積核學習到不同的權重)來提取原圖特征
3,激活函數層
這一層神經的激活函數(Activation function)
因為線性模型的表達能力不夠,用來加入非線性因素
4,池化層(Poolinglayer)
4.1?子采樣,池化(pooling),下采樣(downsamples),子采樣可以看作一種特殊的卷積過程。
4.2 卷積和子采樣大大簡化了模型復雜度,減少了模型的參數
通常在卷積層之后會得到維度很大的特征,將特征平面切成幾個區域,取其最大值或平均值,得到新的、維度較小的特征。
對不同位置的特征進行聚合統計,可以計算圖像一個區域上的某個特定特征的平均值 (或最大值)
4.3 池化操作對特征切片(深度切片)獨立并將保存深度大小不變。
4.4?如果池化層的輸入單元大小不是二的整數倍,一般采取邊緣補零(zero-padding)的方式補成2的倍數,然后再池化
4.5最大池化(Max Pooling)。取4個點的最大值。這是最常用的池化方法。?
* 均值池化(Mean Pooling)。取4個點的均值。?
* 高斯池化。借鑒高斯模糊的方法。?
* 可訓練池化。訓練函數 ff ,接受4個點為輸入,出入1個點。
6總結
卷積層、池化層和激活函數層等操作是將原始數據映射到隱層特征空間
全連接層則起到將學到的“分布式特征表示”(都是局部的特征)映射到樣本標記空間的作用
CNN是deep learning在圖像處理領域的一個應用
由具有可學習的權重和偏置常量(biases)的神經元組成,是deeplearning在圖像處理的一個應用
2,卷積層(Convolutional layer)
每層卷積層由若干卷積單元組成,每個卷積單元(神經元)的參數都是通過反向傳播算法優化得到的。卷積運算的目的是提取輸入的不同特征,第一層卷積層可能只能提取一些低級的特征更多層的網絡能從低級特征中迭代提取更復雜的特征。
在CNN的一個卷積層中,通常包含若干個特征平面(featureMap),即相同深度的深度切片,每個特征平面由一些矩形排列的的神經元組成,同一特征平面的神經元共享權值,這里共享的權值就是卷積核(即參數w和b)
2.1局部感知(Local Connectivity)
一般認為人對外界的認知是從局部到全局的,而圖像的空間聯系也是局部的像素聯系較為緊密,而距離較遠的像素相關性則較弱。因而,每個神經元其實沒有必要對全局圖像進行感知,只需要對局部進行感知,然后在更高層將局部的信息綜合起來就得到了全局的信息
每個隱含層單元僅僅連接輸入圖像的一小片相鄰區域,
每個隱含層單元連接的輸入區域大小叫r神經元的感受野(receptive field)
一個輸出單元的大小有以下三個量控制:depth, stride 和 zero-padding。
卷積層的參數包含一系列過濾器(filter),每個過濾器訓練一個深度,有幾個過濾器輸出單元就具有多少深度。
步幅(stride):它控制在同一深度的相鄰兩個隱含單元,與他們相連接的輸入區域的距離
我們可以通過在輸入單元周圍補零來改變輸入單元整體大小,從而控制輸出單元的空間大小。
2.2參數共享(Parameter Sharing)
圖像的一部分的統計特性與其他部分是一樣的。這也意味著我們在這一部分學習的特征也能用在另一部分上
把同一深度的平面叫做深度切片(depth slice)即特征平面,那么同一個切片共享同一組權重和偏置,
共享權值(卷積核)帶來的直接好處是減少網絡各層之間的連接,同時又降低了過擬合的風險。
如果應用參數共享的話,實際上每一層計算的操作就是輸入層和權重的卷積!這也就是卷積神經網絡名字的由來。
2.3多核卷積:
一個卷積核操作只能得到一部分特征可能獲取不到全部特征,這么一來我們就引入了多核卷積。用每個卷積核(參數w和b)來學習不同的特征(每個卷積核學習到不同的權重)來提取原圖特征
3,激活函數層
這一層神經的激活函數(Activation function)
因為線性模型的表達能力不夠,用來加入非線性因素
4,池化層(Poolinglayer)
4.1?子采樣,池化(pooling),下采樣(downsamples),子采樣可以看作一種特殊的卷積過程。
4.2 卷積和子采樣大大簡化了模型復雜度,減少了模型的參數
通常在卷積層之后會得到維度很大的特征,將特征平面切成幾個區域,取其最大值或平均值,得到新的、維度較小的特征。
對不同位置的特征進行聚合統計,可以計算圖像一個區域上的某個特定特征的平均值 (或最大值)
4.3 池化操作對特征切片(深度切片)獨立并將保存深度大小不變。
4.4?如果池化層的輸入單元大小不是二的整數倍,一般采取邊緣補零(zero-padding)的方式補成2的倍數,然后再池化
4.5最大池化(Max Pooling)。取4個點的最大值。這是最常用的池化方法。?
* 均值池化(Mean Pooling)。取4個點的均值。?
* 高斯池化。借鑒高斯模糊的方法。?
* 可訓練池化。訓練函數 ff ,接受4個點為輸入,出入1個點。
5 全連接層( Fully-Connected layer),
在整個卷積神經網絡中起到“分類器”的作用
把所有局部特征結合變成全局特征,用來計算最后每一類的得分。
全連接層和卷積層可以相互轉換6總結
卷積層、池化層和激活函數層等操作是將原始數據映射到隱層特征空間
全連接層則起到將學到的“分布式特征表示”(都是局部的特征)映射到樣本標記空間的作用
總結
以上是生活随笔為你收集整理的卷积神经网络, Convolutional Neural Networks , CNN的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 牛X,试用了下GitHub上22万Sta
- 下一篇: 2020 年热门编程语言的发展方向