CNN中的权重维度解析以及卷积核中的数值是怎么确定的
生活随笔
收集整理的這篇文章主要介紹了
CNN中的权重维度解析以及卷积核中的数值是怎么确定的
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
以《python深度學習》第五章第一個實驗為例,神經網絡結構如下:
首先最上面一個池化層max_pooling2d_1:MaxPooling2D
的結果是:(32,)
也就是說相對于下一個卷積層conv2d_2:Conv2D的輸入是一個64個像素點的圖片。
conv2d_2:Conv2D中卷積核是(3,3,64),注意,卷積核是一個3D張量
注意,卷積操作是在channel中操作的,意思也就是:
輸入channel=32
輸出channel=64
那么排列組合就是64*32,在這里實現了特征的組合
,所以需要的權重數量是3x3×64×32
卷積核中的數值會進行一個初始化,但是里面的數值其實就是權重值,
所以CNN的訓練目標其實就是卷積核中每個元素的取值的最終確定。
卷積核矩陣其實就是權重矩陣的一個“子權重矩陣”
卷積層的權重矩陣示意如下:
左邊32個feature map輸入
綠色橫向框代表input_channel
咖啡色縱向框代表output_channel
每個橙色小框代表卷積核中的一個小矩陣。
所以整個圖總共有32*3*3*64個權重值,也就是我們的權重矩陣了。
總結
以上是生活随笔為你收集整理的CNN中的权重维度解析以及卷积核中的数值是怎么确定的的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 图像种类的基本概念整理
- 下一篇: CNN的卷积运算为何使用互相关而不是卷积