在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【連載】深度學(xué)習(xí)筆記14:CNN經(jīng)典論文研讀之Le-Net5及其Tensorflow實(shí)現(xiàn)

人工智能實(shí)訓(xùn)營 ? 2019-01-14 09:26 ? 次閱讀

在前幾次筆記中,筆者基本上將卷積神經(jīng)網(wǎng)絡(luò)的基本原理給講完了。從本次筆記開始,筆者在深度學(xué)習(xí)筆記中會(huì)不定期的對 CNN 發(fā)展過程中的經(jīng)典論文進(jìn)行研讀并推送研讀筆記。今天筆者就和大家一起學(xué)習(xí)卷積神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)發(fā)展歷史上具有奠基性的經(jīng)典論文之一的關(guān)于 LeNet-5 網(wǎng)絡(luò)一文。LeNet-5 是由具有卷積神經(jīng)網(wǎng)絡(luò)之父之美譽(yù)的 Yann LeCun 在1998年發(fā)表在 IEEE 上面的一篇 Gradient-based learning applied to document recognition 上提出來的,所以直接由 LeCun 大佬名字命名了。
論文原文:
http://yann.lecun.com/exdb/publis/pdf/lecun-01a.pdf

LeNet-5 網(wǎng)絡(luò)結(jié)構(gòu)

該篇論文有 42 頁,但關(guān)于 LeNet-5 網(wǎng)絡(luò)的核心部分并沒有那么多,我們直接定位第二章的B 小節(jié)進(jìn)行閱讀。LeNet-5 的網(wǎng)絡(luò)結(jié)構(gòu)如下:


LeNet-5 共有 7 層,輸入層不計(jì)入層數(shù),每層都有一定的訓(xùn)練參數(shù),其中三個(gè)卷積層的訓(xùn)練參數(shù)較多,每層都有多個(gè)濾波器,也叫特征圖,每個(gè)濾波器都對上一層的輸出提取不同的像素特征。所以 LeNet-5 的簡略結(jié)構(gòu)如下:

輸入-卷積-池化-卷積-池化-卷積(全連接)-全連接-全連接(輸出)

各層的結(jié)構(gòu)和參數(shù)如下:
C1層是個(gè)卷積層,其輸入輸出結(jié)構(gòu)如下:
輸入: 32 x 32 x 1 濾波器大小: 5 x 5 x 1 濾波器個(gè)數(shù):6
輸出: 28 x 28 x 6
參數(shù)個(gè)數(shù): 5 x 5 x 1 x 6 + 6 = 156

P2層是個(gè)池化層,其輸入輸出結(jié)構(gòu)如下:
輸入: 28 x 28 x 6 濾波器大小: 2 x 2 濾波器個(gè)數(shù):6
輸出: 14 x 14 x 6
參數(shù)個(gè)數(shù):2 x 6 = 12
在原文中,P1池化層采用的是平均池化,鑒于現(xiàn)在普遍都使用最大池化,所以在后面的代碼實(shí)現(xiàn)中我們統(tǒng)一采用最大池化。

C3層是個(gè)卷積層,其輸入輸出結(jié)構(gòu)如下:
輸入: 14 x 14 x 6 濾波器大小: 5 x 5 x 6 濾波器個(gè)數(shù):16
輸出: 10 x 10 x 16
參數(shù)個(gè)數(shù): 5 x 5 x 6 x 16 + 16 = 2416
640?wx_fmt=png
P2 池化之后的特征圖組合計(jì)算得到C3的濾波器個(gè)數(shù)。

P4層是個(gè)池化層,其輸入輸出結(jié)構(gòu)如下:
輸入: 10 x 10 x 16 濾波器大小: 2 x 2 濾波器個(gè)數(shù):16
輸出: 5 x 5 x 16
參數(shù)個(gè)數(shù): 2 x 16 = 32

C5層在論文中是個(gè)卷積層,但濾波器大小為 5 x 5,所以其本質(zhì)上也是個(gè)全連接層。如果將5 x 5 x 16 拉成一個(gè)向量,它就是一個(gè)全連接層。其輸入輸出結(jié)構(gòu)如下:
輸入: 5 x 5 x 16 濾波器大小: 5 x 5 x 16 濾波器個(gè)數(shù):120
輸出: 1 x 1 x 120
參數(shù)個(gè)數(shù): 5 x 5 x 16 x 120 + 120 = 48120

F6層是個(gè)全連接層,全連接的激活函數(shù)采用的是 tanh 函數(shù),其輸入輸出結(jié)構(gòu)如下:
輸入:120
輸出:84
參數(shù)個(gè)數(shù):120 x 84 + 84 = 10164

F7層即輸出層,也是個(gè)全連接層,其輸入輸出結(jié)構(gòu)如下:
輸入:84
輸出:10
參數(shù)個(gè)數(shù): 84 x 10 + 10 = 850

LeNet-5 的 Tensorflow 實(shí)現(xiàn)

我們前面關(guān)于如何使用 Tensorflow 搭建卷積神經(jīng)網(wǎng)絡(luò)的過程可以定下實(shí)現(xiàn) LeNet-5 的基本思路。如果在 python 中寫的時(shí)候我們需要定義創(chuàng)建輸入輸出的占位符變量模塊、初始化各層參數(shù)模塊、創(chuàng)建前向傳播模塊、定義模型優(yōu)化迭代模型,以及在最后設(shè)置輸入數(shù)據(jù)。

下面筆者用以上思路編寫一個(gè) LeNet-5 的簡單實(shí)現(xiàn)代碼。
導(dǎo)入相關(guān)庫和創(chuàng)建輸入輸出的占位符變量:

importtensorflowastf
importnumpyasnp
fromtensorflow.examples.tutorials.mnistimportinput_data
defcreate_placeholder():
X=tf.placeholder(tf.float32,shape=(None,28*28))
Y=tf.placeholder(tf.float32,shape=(None,10))
keep_prob=tf.placeholder(tf.float32)
returnX,Y,keep_prob


初始化各層參數(shù):

definitialize_parameters():
W1=tf.get_variable('W1',[5,5,1,6],initializer=tf.contrib.layers.xavier_initializer())
b1=tf.get_variable('b1',[6],initializer=tf.zeros_initializer())

W2=tf.get_variable('W2',[5,5,6,16],initializer=tf.contrib.layers.xavier_initializer())
b2=tf.get_variable('b2',[16],initializer=tf.zeros_initializer())

W3=tf.get_variable('W3',[5,5,16,120],initializer=tf.contrib.layers.xavier_initializer())
b3=tf.get_variable('b3',[120],initializer=tf.zeros_initializer())

W4=tf.get_variable('W4',[120,84],initializer=tf.contrib.layers.xavier_initializer())
b4=tf.get_variable('b4',[84],initializer=tf.zeros_initializer())

W5=tf.get_variable('W5',[84,10],initializer=tf.contrib.layers.xavier_initializer())
b5=tf.get_variable('b5',[10],initializer=tf.zeros_initializer())

para={'W1':W1,
'b1':b1,
'W2':W2,
'b2':b2,
'W3':W3,
'b3':b3,
'W4':W4,
'b4':b4,
'W5':W5,
'b5':b5}
returnpara


創(chuàng)建 LeNet-5 的前向計(jì)算:

defforward_propagation(X,para,dropout):

X=tf.reshape(X,[-1,28,28,1])
X=tf.pad(X,[[0,0],[2,2],[2,2],[0,0]])

c1=tf.nn.conv2d(X,para['W1'],strides=[1,1,1,1],padding='VALID')+para['b1']
p2=tf.nn.max_pool(c1,ksize=[1,2,2,1],strides=[1,2,2,1],padding='VALID')
c3=tf.nn.conv2d(p2,para['W2'],strides=[1,1,1,1],padding='VALID')+para['b2']
p4=tf.nn.max_pool(c3,ksize=[1,2,2,1],strides=[1,2,2,1],padding='VALID')
c5=tf.nn.conv2d(p4,para['W3'],strides=[1,1,1,1],padding='VALID')+para['b3']
c5=tf.contrib.layers.flatten(c5)
f6=tf.nn.tanh(tf.add(tf.matmul(c5,para['W4']),para['b4']))
f7=tf.nn.tanh(tf.add(tf.matmul(f6,para['W5']),para['b5']))
f7=tf.nn.dropout(f7,dropout)
returnf7


創(chuàng)建模型優(yōu)化計(jì)算函數(shù):

640?wx_fmt=png


最后傳入 mnist 數(shù)據(jù)和相關(guān)超參數(shù):

640?wx_fmt=png

本文來自《自興人工智能》項(xiàng)目部:凱文


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 人工智能
    +關(guān)注

    關(guān)注

    1792

    文章

    47425

    瀏覽量

    238965
  • 機(jī)器學(xué)習(xí)

    關(guān)注

    66

    文章

    8425

    瀏覽量

    132771
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5507

    瀏覽量

    121291
收藏 人收藏

    評論

    相關(guān)推薦

    FPGA加速深度學(xué)習(xí)模型的案例

    :DE5Net_Conv_Accelerator 應(yīng)用場景 :面向深度學(xué)習(xí)的開源項(xiàng)目,實(shí)現(xiàn)了AlexNet的第一層卷積運(yùn)算加速。 技術(shù)特點(diǎn) : 采用了Verilog語言進(jìn)行編程,與P
    的頭像 發(fā)表于 10-25 09:22 ?261次閱讀

    如何在Tensorflow實(shí)現(xiàn)反卷積

    TensorFlow實(shí)現(xiàn)反卷積(也稱為轉(zhuǎn)置卷積或分?jǐn)?shù)步長卷積)是一個(gè)涉及多個(gè)概念和步驟的過程。反卷積在深度學(xué)習(xí)領(lǐng)域,特別是在圖像分割、圖像超分辨率、以及生成模型(如生成對抗網(wǎng)絡(luò)GA
    的頭像 發(fā)表于 07-14 10:46 ?663次閱讀

    TensorFlow是什么?TensorFlow怎么用?

    TensorFlow是由Google開發(fā)的一個(gè)開源深度學(xué)習(xí)框架,它允許開發(fā)者方便地構(gòu)建、訓(xùn)練和部署各種復(fù)雜的機(jī)器學(xué)習(xí)模型。TensorFlow
    的頭像 發(fā)表于 07-12 16:38 ?735次閱讀

    CNN與RNN的關(guān)系?

    深度學(xué)習(xí)的廣闊領(lǐng)域中,卷積神經(jīng)網(wǎng)絡(luò)(CNN)和循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)是兩種極為重要且各具特色的神經(jīng)網(wǎng)絡(luò)模型。它們各自在圖像處理、自然語言處理等領(lǐng)域展現(xiàn)出卓越的性能。本文將從概念、原理、應(yīng)用場景及代碼示例等方面詳細(xì)探討
    的頭像 發(fā)表于 07-08 16:56 ?806次閱讀

    CNN在多個(gè)領(lǐng)域中的應(yīng)用

    ,通過多層次的非線性變換,能夠捕捉到數(shù)據(jù)中的隱藏特征;而卷積神經(jīng)網(wǎng)絡(luò)(CNN),作為神經(jīng)網(wǎng)絡(luò)的一種特殊形式,更是在圖像識(shí)別、視頻處理等領(lǐng)域展現(xiàn)出了卓越的性能。本文旨在深入探究深度學(xué)習(xí)、神經(jīng)網(wǎng)絡(luò)與卷積神經(jīng)網(wǎng)絡(luò)的基本原理、結(jié)構(gòu)特點(diǎn)
    的頭像 發(fā)表于 07-08 10:44 ?2008次閱讀

    CNN的定義和優(yōu)勢

    卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks, CNN)作為深度學(xué)習(xí)領(lǐng)域的核心成員,不僅在學(xué)術(shù)界引起了廣泛關(guān)注,更在工業(yè)界尤其是計(jì)算機(jī)視覺領(lǐng)域展現(xiàn)出了巨大的應(yīng)用價(jià)值。關(guān)于
    的頭像 發(fā)表于 07-05 17:37 ?4304次閱讀

    tensorflow和pytorch哪個(gè)更簡單?

    TensorFlow和PyTorch都是用于深度學(xué)習(xí)和機(jī)器學(xué)習(xí)的開源框架。TensorFlow由Google Brain團(tuán)隊(duì)開發(fā),而Py
    的頭像 發(fā)表于 07-05 09:45 ?908次閱讀

    keras模型轉(zhuǎn)tensorflow session

    和訓(xùn)練深度學(xué)習(xí)模型。Keras是基于TensorFlow、Theano或CNTK等底層計(jì)算框架構(gòu)建的。TensorFlow是一個(gè)開源的機(jī)器學(xué)習(xí)
    的頭像 發(fā)表于 07-05 09:36 ?560次閱讀

    如何在TensorFlow中構(gòu)建并訓(xùn)練CNN模型

    TensorFlow中構(gòu)建并訓(xùn)練一個(gè)卷積神經(jīng)網(wǎng)絡(luò)(CNN)模型是一個(gè)涉及多個(gè)步驟的過程,包括數(shù)據(jù)預(yù)處理、模型設(shè)計(jì)、編譯、訓(xùn)練以及評估。下面,我將詳細(xì)闡述這些步驟,并附上一個(gè)完整的代碼示例。
    的頭像 發(fā)表于 07-04 11:47 ?1004次閱讀

    如何利用CNN實(shí)現(xiàn)圖像識(shí)別

    卷積神經(jīng)網(wǎng)絡(luò)(CNN)是深度學(xué)習(xí)領(lǐng)域中一種特別適用于圖像識(shí)別任務(wù)的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。它通過模擬人類視覺系統(tǒng)的處理方式,利用卷積、池化等操作,自動(dòng)提取圖像中的特征,進(jìn)而實(shí)現(xiàn)高效的圖像識(shí)別。本
    的頭像 發(fā)表于 07-03 16:16 ?1438次閱讀

    cnn卷積神經(jīng)網(wǎng)絡(luò)分類有哪些

    卷積神經(jīng)網(wǎng)絡(luò)概述 卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,簡稱CNN)是一種深度學(xué)習(xí)模型,由多層卷積層和池化層堆疊而成。CNN通過卷積操作提取圖像特征
    的頭像 發(fā)表于 07-03 09:28 ?646次閱讀

    深度學(xué)習(xí)與卷積神經(jīng)網(wǎng)絡(luò)的應(yīng)用

    到自然語言處理,深度學(xué)習(xí)CNN正逐步改變著我們的生活方式。本文將深入探討深度學(xué)習(xí)與卷積神經(jīng)網(wǎng)絡(luò)的基本概念、工作原理
    的頭像 發(fā)表于 07-02 18:19 ?931次閱讀

    TensorFlow與PyTorch深度學(xué)習(xí)框架的比較與選擇

    深度學(xué)習(xí)作為人工智能領(lǐng)域的一個(gè)重要分支,在過去十年中取得了顯著的進(jìn)展。在構(gòu)建和訓(xùn)練深度學(xué)習(xí)模型的過程中,深度
    的頭像 發(fā)表于 07-02 14:04 ?988次閱讀

    深度神經(jīng)網(wǎng)絡(luò)模型cnn的基本概念、結(jié)構(gòu)及原理

    ,其核心是構(gòu)建具有多層結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)模型,以實(shí)現(xiàn)對復(fù)雜數(shù)據(jù)的高效表示和處理。在眾多深度學(xué)習(xí)模型中,卷積神經(jīng)網(wǎng)絡(luò)(CNN)因其在圖像識(shí)別等領(lǐng)域的卓越性能而備受關(guān)注。
    的頭像 發(fā)表于 07-02 10:11 ?9785次閱讀

    基于Python和深度學(xué)習(xí)CNN原理詳解

    卷積神經(jīng)網(wǎng)絡(luò) (CNN) 由各種類型的層組成,這些層協(xié)同工作以從輸入數(shù)據(jù)中學(xué)習(xí)分層表示。每個(gè)層在整體架構(gòu)中都發(fā)揮著獨(dú)特的作用。
    的頭像 發(fā)表于 04-06 05:51 ?2186次閱讀
    基于Python和<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>的<b class='flag-5'>CNN</b>原理詳解
    主站蜘蛛池模板: 最新sss华人| 国产天堂网| 最新仑乱免费视频| 成人午夜免费剧场| 天天干天天干天天插| 高清人人天天夜夜曰狠狠狠狠| 日韩精品在线一区二区| 伊人久久大香线蕉观看| 午夜国产理论| 国产清纯白嫩大学生正在播放| 日本亚洲成人| 五月婷婷六月激情| 男女草逼视频| 4480yy私人午夜a级国产| 国产99久久九九精品免费| 天天操人人| 黄色成人免费观看| 免费观看国产网址你懂的| 五月天婷婷丁香| 国产午夜精品理论片在线| 久久老色鬼天天综合网观看| 天天色综合1| 午夜 在线播放| 久久久久免费观看| 黄色网址播放| 爱爱456高清国语在线456| 欧美1819| 欧美精品网站| 在线观看三级网站| 亚洲成人自拍| 亚洲成人7777| 网址色| 婷婷亚洲综合一区二区| 欧色视频| 女人被免费网站视频在线| 日韩一级片在线| 久操伊人网| 俺去久久| 91正在播放| 夜夜操夜夜| 天天爽夜夜爽人人爽|