深度學習之卷積神經網絡 LeNet

卷積神經網絡典型CNN

  • LeNet:最早用于數字識別的CNN
  • LeNet5:現在常說的一般就是LeNet5
  • AlexNet:2012ILSVRC冠軍,遠超第二名的CNN,比LeNet更深,用多層小卷積疊加來替換單個的大卷積
  • ZF Net:2013ILSVRC冠軍
  • GoogLeNet:2014ILSVRC冠軍
  • VGGNet:2014ILSVRC比賽中算法模型,效果率低于GoogleNet
  • ResNet:2015ILSVRC冠軍,結構修正以適應更深層次的CNN訓練

卷積神經網絡典型CNN-LeNet

卷積神經網絡典型CNN-LeNet5

網絡結構

C1層是一個卷積層(卷積+激勵)

  • input:1*32*32
  • filter:1*5*5
  • stripe:1?? ??? ??? ??? ?
  • padding:0?? ??? ??? ??? ?
  • filter size/depth:6?? ??? ??? ??? ?
  • output:6*28*28?? ??? ??? ??? ?
  • 神經元數目:6*28*28?? ??? ??? ??? ?
  • 參數個數:(1*5*5+1)*6=156。每個特征圖內共享參數,因此參數總數:共(5*5+1)*6=156個參數
  • 連接方式:普通的卷積連接方式?? ?
  • 每個卷積神經元的參數數目:5*5=25個weight參數和一個bias參數
  • 鏈接數目:(5*5+1)*6*(28*28)=122304個鏈接

S2層是一個下采樣層(池化)

  • input:6*28*28
  • filter:2*2
  • padding:0
  • stripe:2
  • output:6*14*14。每個圖中的每個單元與C1特征圖中的一個2*2鄰域相連接,不重疊。因此,S2中每個特征圖的大小是C1中的特征圖大小的1/4
  • 神經元數目:6*14*14
  • 參數個數:0?? ??? ??? ?
  • 連接方式:普通的最大池化方式

=========================================================================

現在 lenet5 多用改進的池化,池化方式如下

  • S2層每個單元的4個輸入相加,乘以一個可訓練參數w,再加上一個可訓練偏置b,結果通過sigmoid函數計算
  • 連接數:(2*2+1)*1*14*14*6=5880個
  • 參數共享:每個特征圖內共享參數,因此有2*6=12個可訓練參數

C3層是一個卷積層(卷積+激勵)

  • input:6*14*14?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?
  • filter:?*5*5?? ?6*5*5?? ??? ??? ??? ??? ??? ??? ??? ??? ?
  • stripe:1?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?
  • padding:0?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?
  • filter size/depth:16?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?
  • output:16*10*10? ? ? ? ? ?
  • 神經元數目:16*10*10?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?
  • 參數個數:(3*5*5+1)*6+(4*5*5+1)*9+(6*5*5+1)*1=1516?? ??? ??? ??? ??? ??? ??? ??? ??? ?
  • 連接方式(S2->C3)?? ?不是普通的卷積操作,是卷積操作的變種。"最終輸出的16個fetaure map中,對應的前六個卷積核是和s2中輸出的六個feature map中的任意3個feature map做卷積,中間九個卷積核是和s2中輸出的六個feature map中的任意4個feature map做卷積,最后一個卷積核是和六個feature map做卷積"。
    • 好處:
      • 1. 不需要使用全部的feature map,這樣有連接的feature map的連接數/參數數量可以保持在一定范圍,直白來講:相對于傳統的卷積操作,降低了網絡的參數數據量
      • 2. 可以打破網絡的對稱結構,不同的卷積核可以得到不同的特征信息

S4層是一個下采樣層(池化)

  • input:16*10*10
  • filter:2*2
  • padding:0
  • stripe:2
  • output:16*5*5
  • 神經元數目:16*5*5
  • 參數個數:0
  • 連接方式:普通的最大池化方式

=========================================================================

現在 lenet5 多用改進的池化,池化方式如下

  • S4層每個單元的4個輸入相加,乘以一個可訓練參數w,再加上一個可訓練偏置b,結果通過sigmoid函數計算
  • 連接數:(2*2+1)*5*5*16=2000個
  • 參數共享:特征圖內共享參數,每個特征圖中的每個神經元需要1個因子和一個偏置,因此有2*16個可訓練參數。

C5層是一個卷積層(卷積+激勵)

  • input:16*5*5
  • filter:16*5*5(沒有共享卷積核)
  • stripe:1
  • padding:0
  • filter size/depth:120
  • output:120*1*1
  • 神經元數目:120*1*1
  • 參數個數:(16*5*5+1)*120=48120
  • 連接數:(16*5*5+1)*120=48120
  • 連接方式:普通的卷積操作。好處、作用:當網絡結構不變,如果輸入的大小發生變化,那么C4的輸出就不是120啦。120個神經元,可以看作120個特征圖,每張特征圖的大小為1*1,每個單元與S4層的全部16個單元的5*5鄰域相連(S4和C5之間的全連接)

F6層是一個全連接層

  • input:120
  • output:84
  • 神經元數目:84
  • 參數個數:(120+1)*84=10164
  • 連接數:(120+1)*84=10164
  • 有84個單元(之所以選這個數字的原因來自于輸出層的設計),與C5層全連接。84:stylized image:7*12

輸出層采用歐氏徑向基函數單元

  • input:84
  • output:10
  • 神經元數目:10
  • 參數數目:84*10=840
  • 給定一個輸入模式,損失函數應能使得F6的配置與RBF參數向量(即模式的期望分類)足夠接近。
  • 每類一個單元,每個單元連接84個輸入;每個輸出RBF單元計算輸入向量和參數向量之間的歐式距離。
  • RBF輸出可以被理解為F6層配置空間的高斯分布的對數似然【-log-likelihood】

卷積神經網絡CNN性能演進歷程

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

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

相關文章

python爬蟲常見反爬措施_爬蟲常見的反爬措施有哪些

爬蟲常見的反爬措施有三種:1、header頭部信息解決方法:加User-Agent值:如果不加header頭,部分網站服務器判斷不到用戶的訪問來源,所以會返回一個404錯誤來告知你是一個爬蟲,拒絕訪問,解決辦法如…

dom4j的讀寫xml文件,讀寫xml字符串

百度了一些博客,大同小異,在選取jar包工具的時候大概看了下,大抵是jdom原始,dom4j優秀。于是做了些練習。 參考:http://www.cnblogs.com/mengdd/archive/2013/06/05/3119927.html 1 package com.test.xml;2 3 import j…

深度學習之數據增強方案和TensorFlow操作

一、數據增強的方法介紹 增加訓練數據, 則能夠提升算法的準確率, 因為這樣可以避免過擬合, 而避免了過擬合你就可以增大你的網絡結構了。 當訓練數據有限的時候, 可以通過一些變換來從已有的訓練數據集中生成一些新的數據&#x…

移動前端頭部標簽(HTML5 head meta)

<!DOCTYPE html> <!-- 使用 HTML5 doctype&#xff0c;不區分大小寫 --> <html lang"zh-cmn-Hans"> <!-- 更加標準的 lang 屬性寫法 http://zhi.hu/XyIa --> <head><!-- 聲明文檔使用的字符編碼 --><meta charsetutf-8>&l…

python新建文件夾口令_python編程快速上手—口令保管箱

之前小編為大家整理了如何成為一個優秀的程序員應該具備的品質&#xff0c;接下來為大家展示一個簡單有趣的python小項目&#xff0c;從中體會編程的樂趣。小編了解這個小項目之后&#xff0c;很是驚奇&#xff0c;覺得python竟然還可以做這樣的事情。為什么要建立口令保管箱&a…

django+nginx+uwsgi部署web站點

環境&#xff1a; django&#xff1a;1.8.16 python&#xff1a;2.7.13 pip&#xff1a;2.7 uwsgi&#xff1a;2.0.15 project路徑&#xff1a; /opt/cmdb/ Uwsgi的安裝配置 1、安裝python2.7 &#xff08;省略安裝過程&#xff09; 2、安裝pip2.7 &#xff08;省略安裝過程&…

GCC源代碼閱讀

獲取GCC源代碼 閱讀源代碼的第一步是獲取源代碼&#xff0c;巧婦難為無米之炊嘛&#xff01; 使用以下任意方法均可獲得gcc源代碼&#xff1a; svn checkout svn://gcc.gnu.org/svn/gcc/trunk SomeLocalDir &#xff08;摘自http://gcc.gnu.org/svn.html&#xff09;git clone …

Nginx 動靜分離

頁面動靜分離 后端 調用tomcat 集群 示例&#xff1a; server { listen 80; server_name www.www2.com ; root /web/www2/htmlloation /img/ {alias /web/www2/html/img/;}location ~ (\.jsp)|(\.do)$ {proxy_pass http:## //serverip:port;proxy_redirect off;// 重定向 指…

Linux 狀態命令之內存狀態 vmstat

語法 vmstat 常見命令格式如下&#xff1a; vmstat [-a] [-n] [-S unit] [delay [ count]] vmstat [-s] [-n] [-S unit] vmstat [-m] [-n] [delay [ count]] vmstat [-d] [-n] [delay [ count]] vmstat [-p disk partition] [-n] [delay [ count]] vmstat [-f] vmstat [-V]命…

使用OpenSSL實現CA證書的搭建過程

個人博客地址&#xff1a;http://www.pojun.tech/ 歡迎訪問 什么是CA CA,Catificate Authority,通俗的理解就是一種認證機制。它的作用就是提供證書&#xff08;也就是服務端證書&#xff0c;由域名&#xff0c;公司信息&#xff0c;序列號&#xff0c;簽名信息等等組成&#…

最近公共祖先 python_求二叉搜索樹的最近公共祖先

給定一個二叉搜索樹, 找到該樹中兩個指定節點的最近公共祖先。百度百科中最近公共祖先的定義為&#xff1a;“對于有根樹 T 的兩個結點 p、q&#xff0c;最近公共祖先表示為一個結點 x&#xff0c;滿足 x 是 p、q 的祖先且 x 的深度盡可能大(一個節點也可以是它自己的祖先)。”…

gdb使用實例

第一篇 概論我們將學習使用gdb來調試通過一個通過串行線同PC相連的嵌入式系統。Gdb可以調試各種程序&#xff0c;包括C、C、JAVA、PASCAL、FORAN和一些其它的語言。包括GNU所支持的所有微處理器的匯編語言。在gdb的所有可圈可點的特性中&#xff0c;有一點值得注意&#xff0c;…

Linux 監控命令之 netstat

netstat命令用于顯示與IP、TCP、UDP和ICMP協議相關的統計數據&#xff0c;一般用于檢驗本機各端口的網絡連接情況。netstat是在內核中訪問網絡及相關信息的程序&#xff0c;它能提供TCP連接&#xff0c;TCP和UDP監聽&#xff0c;進程內存管理的相關報告。 語法 netstat [-acC…

C#遞歸搜索指定目錄下的文件或目錄

來源&#xff1a;https://www.cnblogs.com/huhangfei/p/5012978.html誠然可以使用現成的Directory類下的GetFiles、GetDirectories、GetFileSystemEntries這幾個方法實現同樣的功能&#xff0c;但請相信我不是蛋疼&#xff0c;原因是這幾個方法在遇上【System Volume Informati…

solr 配置

創建 SolrHome(solrCore) 1.解壓 solr-4.10.4.tgz 到 /usr/local/solr 2.將 solr-4.10.4/example/solr 下所有文件拷貝到 /usr/local/solrhome (此 solrhome 為自己創建的) solrhome 是 solr 運行主目錄&#xff0c;可包含多個 SolrCore 目錄SolrCore 目錄中包含運行 Solr 實例…

mfc程序轉化為qt_10年程序員:我都學過這些語言,2019年開始我再也不是程序員......

為什么學編程2008年&#xff0c;高中畢業的我問一個已經工作兩年的親戚&#xff1a;什么專業工資高&#xff1f;他告訴我&#xff1a;程序員。2008年成都最低工資好像是800元&#xff0c;我的生活費也是800元&#xff0c;據他所說程序員出來的工資是2000&#xff0c;于是開始了…

day 7 引用

1.ba在c語言和python中的區別 c語言&#xff1a;a100 a變量里面放的100 b a b變量里面也放的100 python &#xff1a; a100 內存中有個100 a放的100的內存地址 b a b也放的100的內存地址 相當于給100那一塊內存&#xff0c;貼個便利簽 2.type查看數據類型&…

Dapper逆天入門~強類型,動態類型,多映射,多返回值,增刪改查+存儲過程+事物案例演示...

Dapper的牛逼就不扯蛋了&#xff0c;答應群友做個入門Demo的&#xff0c;現有園友需要&#xff0c;那么公開分享一下&#xff1a; 完整Demo&#xff1a;http://pan.baidu.com/s/1i3TcEzj 注 意 事 項&#xff1a;http://www.cnblogs.com/dunitian/p/5221058.html 平臺之大勢何人…

Linux 狀態命令之磁盤狀態 iostat

Linux系統中的iostat是I/O statistics&#xff08;輸入/輸出統計&#xff09;的縮寫&#xff0c;iostat工具將對系統的磁盤操作活動進行監視。它的特點是匯報磁盤活動統計情況&#xff0c;同時也會匯報出CPU使用情況。同vmstat一樣&#xff0c;iostat也有一個弱點&#xff0c;就…

GDB十分鐘教程

GDB十分鐘教程 作者: liigo 原文鏈接: http://blog.csdn.net/liigo/archive/2006/01/17/582231.aspx 日期: 2006年1月16日 本文寫給主要工作在Windows操作系統下而又需要開發一些跨平臺軟件的程序員朋友&#xff0c;以及程序愛好者。 GDB是一個由GNU開源組織發布的、UNIX/LI…