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

歡迎訪問 生活随笔!

生活随笔

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

卷积神经网络

梅科尔工作室-深度学习第五讲 CNN-卷积神经网络

發布時間:2024/3/26 卷积神经网络 109 豆豆
生活随笔 收集整理的這篇文章主要介紹了 梅科尔工作室-深度学习第五讲 CNN-卷积神经网络 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

前言

1.計算機視覺

?1.1. 計算機視覺分類

2.?CNN

3. 卷積層

3.1. 什么是卷積

3.2. 動態卷積操作

4. 池化層

5.激活函數的作用


前言

本文記錄梅科爾工作室深度學習培訓的第五講CNN算法的學習筆記,感謝泓利哥的講解!

參考文章鏈接:CNN筆記:通俗理解卷積神經網絡_v_JULY_v的博客-CSDN博客_cnn卷積神經網絡


1.計算機視覺

計算機視覺的應用領域如下圖所示

?1.1. 計算機視覺分類

?(a) lmage Classification:

圖像分類,用于識別圖像中物體的類別(如: bottle、cup、cube)

(b) Object Localization:
目標檢測,用于檢測圖像中每個物體的類別,并準確標出它們的位置

(c) Semantic Segmentation:
圖像語義分割,用于標出圖像中每個像素點所屬的類別,屬于同一類別的像素點用一個顏色標識

(d) Instance Segmentation:
實例分割,值得注意的是。(b)中的目標檢測任務只需要標注出物體位置,而(d)中的實例分割任務不僅要標注出物體位置,還需要標注出物體的外形輪廓

2.?CNN

CNN的兩大特點:

  • 能夠有效的將大數據量的圖片降維成小數據量
  • 能夠有效的保留圖片特征,符合圖片處理的原則
  • ?CNN解決的兩大問題:

  • 圖像需要處理的數據量太大,導致成本很高,效率很低
  • 圖像在數字化的過程中很難保留原有的特征,導致圖像處理的準確率不高
  • ?CNN層級結構如圖所示

    最左邊是數據輸入層,對數據做一些處理,比如去均值(把輸入數據各個維度都中心化為0,避免數據過多偏差,影響訓練效果)、歸一化(把所有的數據都歸一到同樣的范圍)、PCA/白化等等。CNN只對訓練集做“去均值”這一步。

    CONV:卷積計算層,線性乘積 求和。
    RELU:激勵層,ReLU是激活函數的一種。
    POOL:池化層,簡言之,即取區域平均或最大。

    FC:全連接層

    3. 卷積層

    3.1. 什么是卷積

    對圖像(不同的數據窗口數據)和濾波矩陣(一組固定的權重:因為每個神經元的多個權重固定,所以又可以看做一個恒定的濾波器filter)做內積(逐個元素相乘再求和)的操作就是所謂的『卷積』操作,也是卷積神經網絡的名字來源。

    ? ? 非嚴格意義上來講,下圖中紅框框起來的部分便可以理解為一個濾波器,即帶著一組固定權重的神經元。多個濾波器疊加便成了卷積層。

    比如下圖中,圖中左邊部分是原始輸入數據,圖中中間部分是濾波器filter,圖中右邊是輸出的新的二維數據。(對應相乘再相加)

    ?

    中間濾波器filter與數據窗口做內積,其具體計算過程則是:4*0 + 0*0 + 0*0 + 0*0 + 0*1 + 0*1 + 0*0 + 0*1 + -4*2 = -8

    3.2. 動態卷積操作

    ?在CNN中,濾波器filter(帶著一組固定權重的神經元)對局部輸入數據進行卷積計算。每計算完一個數據窗口內的局部數據后,數據窗口不斷平移滑動,直到計算完所有數據。這個過程中,有這么幾個參數:?
      a. 深度depth:神經元個數,決定輸出的depth厚度。同時代表濾波器個數。
      b. 步長stride:決定滑動多少步可以到邊緣。?

      c. 填充值zero-padding:在外圍邊緣補充若干圈0,避免邊緣值浪費

    ?動態演示如下:

    ?如上圖所示,可以分析出這個卷積操作中有

    • 兩個神經元,即depth=2,意味著有兩個濾波器。
    • 數據窗口每次移動兩個步長取3*3的局部數據,即stride=2。
    • zero-padding=1。

    4. 池化層

    池化(Pooling),有的地方也稱匯聚,實際是一個下采樣(Down-sample)過程,用來縮小高、長方向的尺寸,減小模型規模,提高運算速度,同時提高所提取特征的魯棒性。簡單來說,就是為了提取一定區域的主要特征,并減少參數數量,防止模型過擬合。

    池化層通常出現在卷積層之后,二者相互交替出現,并且每個卷積層都與一個池化層一一對應。

    常用的池化函數有:平均池化(Average Pooling / Mean Pooling)、最大池化(Max Pooling)、最小池化(Min Pooling)和隨機池化(Stochastic Pooling)等,其中3種池化方式展示如下。

    實例解析:?

    ?上圖所展示的是取區域最大,即上圖左邊部分中 左上角2x2的矩陣中6最大,右上角2x2的矩陣中8最大,左下角2x2的矩陣中3最大,右下角2x2的矩陣中4最大,所以得到上圖右邊部分的結果:6 8 3 4。

    5.激活函數的作用

    常用的非線性激活函數有sigmoid、tanh、relu等等,前兩者sigmoid/tanh比較常見于全連接層,后者relu常見于卷積層。這里先簡要介紹下最基礎的sigmoid函數。

    ?sigmoid的函數表達式如下

    ?其中z是一個線性組合,比如z可以等于:b?+?*?+?*。通過代入很大的正數或很小的負數到g(z)函數中可知,其結果趨近于0或1。

    ? ? 因此,sigmoid函數g(z)的圖形表示如下( 橫軸表示定義域z,縱軸表示值域g(z) ):

    也就是說,sigmoid函數的功能是相當于把一個實數壓縮至0到1之間。當z是非常大的正數時,g(z)會趨近于1,而z是非常小的負數時,則g(z)會趨近于0。

    ? ? 壓縮至0到1有何用處呢?用處是這樣一來便可以把激活函數看作一種“分類的概率”,比如激活函數的輸出為0.9的話便可以解釋為90%的概率為正樣本。

    ? ? 舉個例子,如下圖(圖引自Stanford機器學習公開課)

    但是實際梯度下降中,sigmoid容易飽和、造成終止梯度傳遞,且沒有0中心化,可以嘗試ReLU激活函數。?

    ReLU激活函數?

    ?ReLU的優點是收斂快,求梯度簡單


    總結

    這次學習筆記到此結束,多是參考大佬的文章講解,此文章屬于入門級,這也是對于CNN的初步學習與理解,還需要更加深入的學習才能夠收獲更多。

    總結

    以上是生活随笔為你收集整理的梅科尔工作室-深度学习第五讲 CNN-卷积神经网络的全部內容,希望文章能夠幫你解決所遇到的問題。

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