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

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(pí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ì)不定期的對(duì) 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è)濾波器都對(duì)上一層的輸出提取不同的像素特征。所以 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ī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 人工智能
    +關(guān)注

    關(guān)注

    1804

    文章

    48418

    瀏覽量

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

    關(guān)注

    66

    文章

    8478

    瀏覽量

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

    關(guān)注

    73

    文章

    5546

    瀏覽量

    122280
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    用樹莓派搞深度學(xué)習(xí)TensorFlow啟動(dòng)!

    介紹本頁面將指導(dǎo)您在搭載64位Bullseye操作系統(tǒng)的RaspberryPi4上安裝TensorFlowTensorFlow是一個(gè)專為深度學(xué)習(xí)開發(fā)的大型軟件庫,它消耗大量資源。您可
    的頭像 發(fā)表于 03-25 09:33 ?212次閱讀
    用樹莓派搞<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>?<b class='flag-5'>TensorFlow</b>啟動(dòng)!

    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 ?879次閱讀

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

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

    TensorFlow是什么?TensorFlow怎么用?

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

    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 ?1288次閱讀

    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 ?2648次閱讀

    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 ?5353次閱讀

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

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

    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 ?734次閱讀

    如何在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)練以及評(píng)估。下面,我將詳細(xì)闡述這些步驟,并附上一個(gè)完整的代碼示例。
    的頭像 發(fā)表于 07-04 11:47 ?1418次閱讀

    如何利用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 ?2113次閱讀

    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 ?1060次閱讀

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

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

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

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

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

    ,其核心是構(gòu)建具有多層結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)模型,以實(shí)現(xiàn)對(duì)復(fù)雜數(shù)據(jù)的高效表示和處理。在眾多深度學(xué)習(xí)模型中,卷積神經(jīng)網(wǎng)絡(luò)(CNN)因其在圖像識(shí)別等領(lǐng)域的卓越性能而備受關(guān)注。
    的頭像 發(fā)表于 07-02 10:11 ?1.1w次閱讀
    主站蜘蛛池模板: 欧美日本一区二区三区 | 亚洲资源在线播放 | 午夜一级毛片看看 | 国产三级香港三级人妇 | 亚洲无线码一区在线观看 | 五月天婷婷综合网 | 国产精品你懂的在线播放 | 美女国产 | 国产区一区二区三区 | 免费永久视频 | 国产精品色片 | 日本特黄特色aaa大片免费欧 | 91日本视频 | 天堂网最新版www | 中文字幕天堂网 | 性色视频在线观看 | 欧美另类高清 | 老师您的兔子好软水好多动漫视频 | 亚洲免费福利视频 | 亚欧有色亚欧乱色视频 | 日本欧美一区二区 | 亚洲三级色 | 欧美一级特黄高清免费 | 一本大道一卡二卡四卡 | 欧美伦理一区二区三区 | 人与禽一级一级毛片 | 亚洲网在线| 91成人免费观看 | 成年人在线网站 | 人人上人人干 | 看片在线观看免费 | 一级一黄在线观看视频免费 | 婷婷六月激情在线综合激情 | 男女爱爱视频免费看 | 久久免费视频99 | 一级毛片无毒不卡直接观看 | 色视频免费国产观看 | 黄色二级视频 | 黄页网址免费观看18网站 | 琪琪see色原在线20 | 日本三级日本三级人妇三级四 |