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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > 卷积神经网络 >内容正文

卷积神经网络

二、计算机视觉与卷积神经网络

發布時間:2023/12/15 卷积神经网络 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 二、计算机视觉与卷积神经网络 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

    • 一、神經網絡到卷積神經網絡
    • 二、卷積神經網絡的構成
    • 三、卷積神經網絡的訓練
    • 四、卷積神經網絡的特點
    • 五、正則化與Dropout

一、神經網絡到卷積神經網絡

人工神經網絡可以用于計算機視覺嗎?

可以

為什么利用卷積神經網絡?

人工神經網絡全連接結構對內存要求非常高,而且大量的參數會導致過擬合,參數過多學習能力太強,會把所有樣本點記下來,以至于在測試集的泛化性能很差。

卷積神經網絡的特點:

  • 仍然保持了層級結構,利用多層網絡來構成一個深層的網絡結構
  • 不同于全連接層,卷積神經網絡是由卷積層+池化層+非線性層+全連接層構成

輸入:原始圖像
輸出:經過softmax輸出的屬于每個類別的概率

二、卷積神經網絡的構成

1、數據輸入層——數據預處理

利用L2損失的話,如果不進行尺度縮放,則會使得在梯度下降的時候,下降方向呈z字型,出現震蕩、收斂緩慢、準確度下降的情況。

為什么進行去均值化:

  • 如果不進行去均值的步驟,在訓練的時候很容易飽和,如果利用sigmoid函數作為激活函數,未進行去均值之前,數據可能處于sigmoid函數的兩側,使得輸出為0/1,此時梯度幾乎為0,無法進行反向傳播,網絡無法進行學習。如果進行去均值之后,數據處于sigmoid曲線的中心,此時處于激活狀態。

    例如圖像的對比度,如果完成圖像顏色的分辨,如果顏色分布非常均勻,則可以很好的學習出數據,但如果數據有偏移,也就是全都是紅色,只不過紅的顏色不同,如果減掉均值的話,可以使得數據有正有負。

經過PCA之后,去掉了相關性,將數據投影到方差最大的方向,whitened是再次進行尺度歸一化

有的特征維度很高,可以在保留大部分特征的情況下, 進行降維,做完PCA之后,進行白化操作,(也就是將每個維度的特征的方差歸一化到1),因為進行歸一化之后再進行PCA降維,可能每個維度的方差由不同了,所以要再次對特征的方差進行縮放。

圖像分類只用了去均值操作:

  • 去均值有兩種方法:將100w組圖像的均值取出,在每個圖像上減掉

    • 因為圖像的像素值本就處于[0,255]區間內,不用進行歸一化,

2、卷積計算層

補零:
1、當x=0的時候,wx=0,不會影響輸出,如果補別的結果會影響輸出
2、補零也會使得卷積之后特征圖等于原圖大小,信息保留更全面,更利用之后的融合


- 局部關聯

圖像具有局部關聯性,某點的像素和距離它較遠的像素不具備很大的相關性,所以可以用局部連接來對圖像進行特征提取。

  • 權值共享

如果對整幅圖像的每個小塊分別用不同的卷積核來提取特征,則參數太多,可以利用同一組參數,也就是卷積核來對一副圖像滑動進行特征提取,也就是一個窗口提取一副圖像中相同的特征,換句話說就是,無論貓出現在圖像中的哪個位置,都不會影響最后的判斷。

  • 特征提取過程

利用同一卷積核和圖像做滑動卷積,提取出一個特征圖譜,分別利用多個卷積核對同一幅圖像做卷積,得到多個特征圖。

3、激活層

將卷積層的輸出結果做非線性映射,判斷信號是否要往后傳,或者以多大的程度往后傳。

特征:

  • 非線性
  • 幾乎處處可微
  • 計算簡單
  • 非飽和性
  • 接近恒等變換
  • 單調性

Relu如果輸入都是小于0的話,那就掛掉了,全都抑制了,該神經元再也激活不了了,但是這種概率很小,因為數據都是一批一批送進來的,不會都落到抑制區。

所以提出了Leacky Relu,降低完全抑制的概率。

4、池化層

降低數據量,提供平移、旋轉穩定性,減小過擬合

5、全連接層

三、卷積神經網絡的訓練

池化層如何求導:

池化相當于max(x1,x2,x3,x4)max(x1,x2,x3,x4),如果最大值為x4的話,分段函數求導之后,只有x4處為1,其他地方的求導都為0。

四、卷積神經網絡的特點

五、正則化與Dropout

神經網絡的強學習能力可能會導致過擬合,利用Dropout來解決。

Dropout:隨機失活,也就是將神經元隨機失活,置為0,此時和該神經元相連的線也就沒用了。

在每一次做訓練的時候,會將某些神經元關掉,該神經元就不起作用了,

import numpy as np p=0.5def train_step(X):# 3層神經網絡的前向計算# H1包含了Relu的過程H1=np.maximum(0,np.dot(w1,x)+b1)'''第一次dropout'''# 生成0~1直接的隨機數,小于0.5的置為False,大于0.5的置為TrueU1=np.random.rand(*H1.shape)<p# H1和U1數值相乘,保留U1中為True的值H1 *=U1'''第二次dropout'''H2=np.maximum(0,np.dot(w2,x)+b2)U2 = np.random.rand(*H2.shape) < pH2 *=U2out=np.dot(w3,H2)+b3...# 預測過程 # 以數學期望的形式往后傳遞 # 一個時間發生的概率為p,數學期望E=X.P def predict(X):# 加上dropout的前向計算H1=np.maximum(0,np.dot(w1,x)+b1)*pH2=np.maximum(0,np.dot(w2,x)+b2)*pout=np.dot(w3,H2)+b3

U1是一個bool型的numpy數組,生成隨機概率分布,如果大于0.5就留下來,

實際實現:把預測階段的時間轉移到訓練上

用戶關心的是測試的速度,與訓練的速度無關。

所以要把預測階段的時間轉移到訓練階段,以數學期望的方式來轉移。訓練過程除以p,等于預測過程乘以p。

Dropout的作用:防止過擬合

  • 去掉冗余信息
  • 網絡學到的東西(比如有耳朵、毛茸茸等等)可能是冗余的信息,只有一部分信息是真正有用的,而哪些信息是有用的呢?

    Dropout是隨機失活的,也就是說有時候的訓練沒有該神經元,也就是沒有部分信息。如果有耳朵的信息判定的結果是一只貓,沒有耳朵的信息判定結果也是一只貓,那么耳朵這個信息就是冗余的。

  • 每次都關掉一部分感知器,相當于每次得到一個新模型,最后做模型融合,多個模型的投票或平均得到結果
  • 《Dropout: A Simple Way to Prevent Neural Networks from Overfitting》

    創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

    總結

    以上是生活随笔為你收集整理的二、计算机视觉与卷积神经网络的全部內容,希望文章能夠幫你解決所遇到的問題。

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