深度學習卷積神經網絡參數計算難點重點

?

目錄

一、卷積層圖像輸出尺寸

?二、池化層圖像輸出尺寸

三、全連接層輸出尺寸

四、卷積層參數數量

五、全連接層參數數量

?六、代碼實現與驗證


?以LeNet5經典模型為例子并且通道數為1

LeNet5網絡有7層

? 1.第1層:卷積層

? 輸入:原始的圖片像素矩陣(長度、寬度、通道數),大小為32×32×1;

? 參數:濾波器尺寸為5×5,深度為6,不使用全0填充,步長為1;

? 輸出:特征圖,大小為28×28×6。

? 分析:因為沒有使用全0填充,所以輸出尺寸 = 32 - 5 + 1 = 28,深度與濾波器深度一致,為6。

? 2.第2層:池化層

? 輸入:特征圖,大小為28×28×6;

? 參數:濾波器尺寸為2×2,步長為2;

? 輸出:特征圖,大小為14×14×6。

? 3.第3層:卷積層

? 輸入:特征圖,大小為14×14×6;

? 參數:濾波器尺寸為5×5,深度為16,不使用全0填充,步長為1;

? 輸出:特征圖,大小為10×10×16。

? 分析:因為沒有使用全0填充,所以輸出尺寸 = 14 - 5 + 1 = 10,深度與濾波器深度一致,為16。

? 4.第4層:池化層

? 輸入:特征圖,大小為10×10×16;

? 參數:濾波器尺寸為2×2,步長為2;

? 輸出:特征圖,大小為5×5×16。

? 5.第5層:全連接層

? 輸入節點個數:5×5×16 = 400;

? 參數個數:5×5×16×120+120 = 48120;

? 輸出節點個數:120。

? 6.第6層:全連接層

? 輸入節點個數:120;

? 參數個數:120×84+84 = 10164;

? 輸出節點個數:84。

? 7.第7層:全連接層

? 輸入節點個數:84;

? 參數個數:84×10+10 = 850;

? 輸出節點個數:10。

? 由于使用的是MNIST數據集,圖片大小是28×28×1的,1代表通道數,也就是灰度圖像,所以后面代碼實現是用28×28的并進行講解。

? 上面沒看懂沒關系,公式來了。

一、卷積層圖像輸出尺寸

? 定義如下:

? O = 輸出圖像的尺寸。

? I = 輸入圖像的尺寸。

? K = 卷積層的核尺寸

? N = 核數量

? S = 移動步長

? P = 填充數

??公式:

?

?

(數字0和字母O很像,請忽略掉這個小小問題)

? 示例:MNIST手寫數字圖片大小是28×28×1的,LeNet5第一層卷積核個數為5,故輸出圖像尺寸為:

?故輸出的圖像大小為:24×24×6. (一個卷積核對應一個通道

?二、池化層圖像輸出尺寸

? 定義如下:

? O=輸出圖像的尺寸。

? I=輸入圖像的尺寸。

? S=移動步長

? PS=池化層尺寸

??公式:

? 示例:第一層的輸出為24×24×6,故輸出圖像尺寸為:

??

? 故輸出的圖像大小為:12×12×6. (池化層不改變通道個數

三、全連接層輸出尺寸

??全連接層輸出向量長度等于神經元的數量。

四、卷積層參數數量

? 在CNN中,每層有兩種類型的參數:權重weights 和偏置項biases.總參數數量為所有weights和biases的總和.

? 定義如下:

? WC?= 卷積層的weights數量

? BC?= 卷積層的biases數量

? PC?= 所有參數的數量

? K = 核尺寸

? N = 核數量

? C = 輸入圖像通道數

? 卷積層中,核的深度等于輸入圖像的通道數.于是每個核有K*K個參數.并且有N個核.由此得出以下的公式:

? 示例:LeNet5第一層卷積層,卷積核大小為5*5,并且有6個,輸入圖像大小為28×28×1,即K = 5, C = 1, N = 6,故有:

? 所以第一層的總參數量為:156。

? 池化層不計算參數。

五、全連接層參數數量

? 在CNN中有兩種類型的全連接層。第1種是連接到最后1個卷積層,另外1種的FC層是連接到其他的FC層。兩種情況分開討論。

??①連接到最后一個卷積層:

? 定義如下:

? Wcf= weights的數量

? Bcf= biases的數量

? O= 前卷積層的輸出圖像的尺寸

? N = 前卷積層的核數量

? F = 全連接層的神經元數量

? 公式:

?

?

示例:以MNIST的28×28×1的輸入圖片為例,在LeNet5的第一個全連接層中,前面一層的輸出圖像大小為:4×4×16,該全連接層有120個神經元,即 O = 4, N = 16 , F = 120,故有:

?

所以該層總共有30840個參數。

??②連接到上一個全連接層

? 定義如下:

? Wff= weights的數量

? Bff= biases的數量

? Pff= 總參數的數量

? F= 當前FC層的神經元數量

? F-1?= 前FC層的神經元數量

??公式:

示例:LeNet5中全連接層的第2層,前一個全連接層的神經元個數為F-1?= 120, 當前層的神經元個數為F = 84,則有:
?

?六、代碼實現與驗證

? 基于TensorFlow的代碼實現如下:

# LeNet5網絡模型
model = tf.keras.Sequential([# 第1層-卷積層 濾波器尺寸5*5,6個keras.layers.Conv2D(6,5),# 第2層-池化層,濾波器尺寸為2×2,步長為2keras.layers.MaxPooling2D(pool_size=2,strides=2),keras.layers.ReLU(),# 第3層-卷積層 濾波器尺寸5*5,16個keras.layers.Conv2D(16,5),# 第4層-池化層,濾波器尺寸為2×2,步長為2keras.layers.MaxPooling2D(pool_size=2,strides=2),keras.layers.ReLU(),keras.layers.Flatten(), # 拉平之后方便做全連接# 第5層-全連接層keras.layers.Dense(120,activation='relu'),# 第6層-全連接層keras.layers.Dense(84,activation='relu'),# 第7層-全連接層keras.layers.Dense(10,activation='softmax') # 最后輸出10類,0-9的數字
])

?運行代碼輸出:

?文獻參考:

  1. https://www.cnblogs.com/touch-skyer/p/9150039.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/167728.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/167728.shtml
英文地址,請注明出處:http://en.pswp.cn/news/167728.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

c語言數字轉圈

數字轉圈 題干輸入整數 N(1≤N≤9),輸出如下 N 階方陣。 若輸入5顯示如下方陣: * 1** 2** 3** 4** 5* *16**17**18**19** 6* *15**24**25**20** 7* *14**23**22**21** 8* *13**12**11**10** 9*輸入樣例3輸出樣例* 1*…

PTA 海盜分贓

P 個海盜偷了 D 顆鉆石后來到公海分贓,一致同意如下分贓策略: 首先,P 個海盜通過抽簽決定 1 - P 的序號。然后由第 1 號海盜提出一個分配方案(方案應給出每個海盜分得的具體數量),如果能夠得到包括 1 號在…

linux高級篇基礎理論六(firewalld,防火墻類型,,區域,服務端口,富語言)

??作者:小劉在C站 ??個人主頁: 小劉主頁 ??不能因為人生的道路坎坷,就使自己的身軀變得彎曲;不能因為生活的歷程漫長,就使求索的 腳步遲緩。 ??學習兩年總結出的運維經驗,以及思科模擬器全套網絡實驗教程。專欄:云計算技…

基于戰爭策略算法優化概率神經網絡PNN的分類預測 - 附代碼

基于戰爭策略算法優化概率神經網絡PNN的分類預測 - 附代碼 文章目錄 基于戰爭策略算法優化概率神經網絡PNN的分類預測 - 附代碼1.PNN網絡概述2.變壓器故障診街系統相關背景2.1 模型建立 3.基于戰爭策略優化的PNN網絡5.測試結果6.參考文獻7.Matlab代碼 摘要:針對PNN神…

測試工具JMeter的使用

目錄 JMeter的安裝配置 測試的性能指標 TPS 響應時長 并發連接 和 并發用戶 CPU/內存/磁盤/網絡 負載 性能測試實戰流程 JMeter JMeter快速上手 GUI模式 運行 HTTP請求默認值 錄制網站流量 模擬間隔時間 Cookie管理器 消息數據關聯 變量 后置處理器 CSV 數據文…

中國企業500強的排名也在不斷變化。面對不確定性的挑戰,企業如何應對?

隨著全球經濟的不斷發展和變化,中國企業500強的排名也在不斷變化。面對不確定性的挑戰,企業如何應對?在本文中,挖數據平臺將提供數據源探討中國企業500強在應對不確定性方面的突圍與變革。 一、數據挖掘與分析 從2006年到2023年&…

【電子通識】什么是物料清單BOM(Bill of Material))

BOM (Bill of Materials)是我們常說的物料清單。BOM是制造業管理的重點之一,用于記載產品組成所需要的全部物料(Items)。物料需求的計算是從最終產品開始,層層往下推算出部件,組件,零件和原材料的需求量。這…

【C++11】nullptr關鍵字使用詳解

系列文章目錄 C11新特性使用詳解-持續更新 https://blog.csdn.net/xiaofeizai1116/category_12498334.html 文章目錄 系列文章目錄一、簡介二、引入nullptr原因1. 消除歧義2. 兼容性問題3. 類型安全 三、使用場景1. 初始化指針變量2. 判斷指針是否為空3. 釋放內存后置為空 四、…

【nlp】3.5 Transformer論文復現:3.解碼器部分(解碼器層)和4.輸出部分(線性層、softmax層)

Transformer論文復現:3.解碼器部分(解碼器層)和4.輸出部分(線性層、softmax層) 3.1 解碼器介紹3.2 解碼器層3.2.1 解碼器層的作用3.2.2 解碼器層的代碼實現3.2.3 解碼器層總結3.3 解碼器3.3.1 解碼器的作用3.3.2 解碼器的代碼實現3.3.3 解碼器總結4.1 輸出部分介紹4.2 線性…

Python---函數定義時缺省參數(參數默認值)

缺省參數也叫默認參數,用于定義函數,為參數提供默認值,調用函數時可不傳該默認參數的值(注意:所有位置參數必須出現在默認參數前,包括函數定義和調用)。 def user_info(name, age, gender男):pr…

Elaticsearch學習

Elaticsearch 索引 1、索引創建 PUT /index_v1 {"settings": {"number_of_shards": 3,"number_of_replicas": 1},"mappings": {"properties": {"aaa": {"type": "keyword","store&qu…

匯編-CALL和RET指令

CALL指令調用一個過程, 使處理器從新的內存位置開始執行。過程使用RET(從過程返回) 指令將處理器轉回到該過程被調用的程序點上。 CALL指令的動作: 1.將CALL指令的下一條指令地址壓棧(作為子過程返回的地址) 2.將被調過程的地址復制到指令指針寄存器E…

搜維爾科技:Faceware面部捕捉最佳實踐!

視頻源和分辨率: 我們的軟件針對 RGB 彩色素材進行了優化,不支持使用紅外攝像機。 我們建議視頻分辨率為 720p 和 1080p。低于 720p 的分辨率可能會對跟蹤質量產生負面影響,而高于 1080p 的分辨率會導致存儲要求和傳輸時間增加,而…

python——第十三天

uuid 是通用唯一識別碼(Universally Unique identifier)的縮寫 UUID是一個128比特的數值 uuid模塊: 獲取一個128位(比特)的永不重復的數字,當然我們使用的時候會轉換為32個的字符串 impor uuud uui…

【Java 進階篇】Jedis:讓Java與Redis輕松對話的利器

在現代軟件開發中,緩存系統是提高系統性能的常見手段之一,而Redis作為一個高性能的緩存數據庫,被廣泛應用于各類系統。如果你是Java開發者,那么使用Jedis庫可以讓你輕松地與Redis進行交互。本文將帶你深入了解Jedis的快速入門&…

c語言-冒泡排序

冒泡排序原理: 冒泡排序是一種簡單直觀的排序算法,它重復地遍歷待排序的元素序列,比較相鄰的兩個元素,如果它們的順序不符合要求(例如升序要求前面的元素小于后面的元素),則交換它們的位置。遍歷…

國家開放大學平時作業 練習題

試卷代號:1377 理工英語3 參考試題 一、交際用語(共計10分,每小題2分) 1-5題:選擇正確的語句完成下列對話,并將答案序號寫在答題紙上。 1.-1 won the first prize in todays speech contest. - …

R語言——圖解taxize,強烈推薦收藏關注,持續更新中

圖解taxize 1. taxize分解思路1.1 圖解說明 2. 針對不同數據庫的函數組2.1 APGⅢ2.2 BOLD(barcode of life data system) 1. taxize分解思路 taxize可以幫助人們從許多數據庫中獲取信息。 由于要處理的數據庫很多,導致taxize包含的功能函數…

基本鎖介紹

鎖 1、分類 樂觀鎖:在select的時候不會加鎖,是基于程序實現的,所以不會存在死鎖的情況。適用于讀多寫少的場景(寫的并發量相對不高),可以提高系統的吞吐量。因為如果寫多的話,樂觀鎖會有很大機率更新失敗…

可持續創新 精選路線

在加速企業數字化轉型、 實現智能制造的升級之路上! 使用好的工具固然重要, 而有好工具,也要會用工具。生信科技不僅為企業提供強大的產品支持, 更有全方位的定制化服務, 提升工程師的工具應用能力, 讓企業…