99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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)營(yíng) ? 2019-01-14 09:26 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在前幾次筆記中,筆者基本上將卷積神經(jīng)網(wǎng)絡(luò)的基本原理給講完了。從本次筆記開(kāi)始,筆者在深度學(xué)習(xí)筆記中會(huì)不定期的對(duì) CNN 發(fā)展過(guò)程中的經(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 上提出來(lái)的,所以直接由 LeCun 大佬名字命名了。
論文原文:
http://yann.lecun.com/exdb/publis/pdf/lecun-01a.pdf

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

該篇論文有 42 頁(yè),但關(guān)于 LeNet-5 網(wǎng)絡(luò)的核心部分并沒(méi)有那么多,我們直接定位第二章的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ǎn)略結(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ò)的過(guò)程可以定下實(shí)現(xiàn) LeNet-5 的基本思路。如果在 python 中寫的時(shí)候我們需要定義創(chuàng)建輸入輸出的占位符變量模塊、初始化各層參數(shù)模塊、創(chuàng)建前向傳播模塊、定義模型優(yōu)化迭代模型,以及在最后設(shè)置輸入數(shù)據(jù)。

下面筆者用以上思路編寫一個(gè) LeNet-5 的簡(jiǎn)單實(shí)現(xiàn)代碼。
導(dǎo)入相關(guān)庫(kù)和創(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

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


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

    關(guān)注

    1806

    文章

    48996

    瀏覽量

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

    關(guān)注

    66

    文章

    8501

    瀏覽量

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

    關(guān)注

    73

    文章

    5561

    瀏覽量

    122778
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    哪些芯片支持藍(lán)牙經(jīng)典 A2DP 配置文件和 LE 音頻?

    哪些芯片支持藍(lán)牙經(jīng)典 A2DP 配置文件和 LE 音頻?
    發(fā)表于 07-01 06:41

    【高云GW5AT-LV60 開(kāi)發(fā)套件試用體驗(yàn)】基于開(kāi)發(fā)板進(jìn)行深度學(xué)習(xí)實(shí)踐,并盡量實(shí)現(xiàn)皮膚病理圖片的識(shí)別,第二階段

    豪兄重新學(xué)習(xí)了一下有關(guān)的AI論文精讀系列,里面有很多model都是比較成熟的,而且子豪兄也給出了相關(guān)的代碼: https://github.com/TommyZihao
    發(fā)表于 06-23 18:37

    【高云GW5AT-LV60 開(kāi)發(fā)套件試用體驗(yàn)】基于開(kāi)發(fā)板進(jìn)行深度學(xué)習(xí)實(shí)踐,并盡量實(shí)現(xiàn)皮膚病理圖片的識(shí)別

    可以多看看。*附件:fpga_cnn.rar 相關(guān)文件都在里面了 探索了一陣子cnn,并且也跟著網(wǎng)上的一些開(kāi)源的方案學(xué)習(xí)一些 比如這里的:# 一起學(xué)習(xí)用Verilog在FPGA上
    發(fā)表于 06-11 22:35

    嵌入式AI技術(shù)深度學(xué)習(xí):數(shù)據(jù)樣本預(yù)處理過(guò)程中使用合適的特征變換對(duì)深度學(xué)習(xí)的意義

    ? 作者:蘇勇Andrew 使用神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)機(jī)器學(xué)習(xí),網(wǎng)絡(luò)的每個(gè)層都將對(duì)輸入的數(shù)據(jù)做一次抽象,多層神經(jīng)網(wǎng)絡(luò)構(gòu)成深度學(xué)習(xí)的框架,可以深度理解數(shù)
    的頭像 發(fā)表于 04-02 18:21 ?877次閱讀

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

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

    IPC2221簡(jiǎn)略學(xué)習(xí)筆記

    關(guān)于IPC2221的學(xué)習(xí)筆記。
    發(fā)表于 03-14 18:07 ?5次下載

    模電手賬筆記14

    模電手賬筆記14
    的頭像 發(fā)表于 02-27 08:47 ?280次閱讀
    模電手賬<b class='flag-5'>筆記</b>(<b class='flag-5'>14</b>)

    經(jīng)典圖神經(jīng)網(wǎng)絡(luò)(GNNs)的基準(zhǔn)分析研究

    本文簡(jiǎn)要介紹了經(jīng)典圖神經(jīng)網(wǎng)絡(luò)(GNNs)的基準(zhǔn)分析研究,發(fā)表在 NeurIPS 2024。 文章回顧了經(jīng)典 GNNs 模型在節(jié)點(diǎn)分類任務(wù)上的表現(xiàn),結(jié)果發(fā)現(xiàn)過(guò)去 SOTA 圖學(xué)習(xí)模型報(bào)告的性能優(yōu)越
    的頭像 發(fā)表于 11-27 09:16 ?777次閱讀
    <b class='flag-5'>經(jīng)典</b>圖神經(jīng)網(wǎng)絡(luò)(GNNs)的基準(zhǔn)分析研究

    卷積神經(jīng)網(wǎng)絡(luò)的實(shí)現(xiàn)工具與框架

    卷積神經(jīng)網(wǎng)絡(luò)因其在圖像和視頻處理任務(wù)中的卓越性能而廣受歡迎。隨著深度學(xué)習(xí)技術(shù)的快速發(fā)展,多種實(shí)現(xiàn)工具和框架應(yīng)運(yùn)而生,為研究人員和開(kāi)發(fā)者提供了強(qiáng)大的支持。 TensorFlow 概述
    的頭像 發(fā)表于 11-15 15:20 ?664次閱讀

    NPU在深度學(xué)習(xí)中的應(yīng)用

    隨著人工智能技術(shù)的飛速發(fā)展,深度學(xué)習(xí)作為其核心驅(qū)動(dòng)力之一,已經(jīng)在眾多領(lǐng)域展現(xiàn)出了巨大的潛力和價(jià)值。NPU(Neural Processing Unit,神經(jīng)網(wǎng)絡(luò)處理單元)是專門為深度學(xué)習(xí)
    的頭像 發(fā)表于 11-14 15:17 ?1897次閱讀

    GPU深度學(xué)習(xí)應(yīng)用案例

    GPU在深度學(xué)習(xí)中的應(yīng)用廣泛且重要,以下是一些GPU深度學(xué)習(xí)應(yīng)用案例: 一、圖像識(shí)別 圖像識(shí)別是深度學(xué)習(xí)
    的頭像 發(fā)表于 10-27 11:13 ?1338次閱讀

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

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

    AI大模型與深度學(xué)習(xí)的關(guān)系

    人類的學(xué)習(xí)過(guò)程,實(shí)現(xiàn)對(duì)復(fù)雜數(shù)據(jù)的學(xué)習(xí)和識(shí)別。AI大模型則是指模型的參數(shù)數(shù)量巨大,需要龐大的計(jì)算資源來(lái)進(jìn)行訓(xùn)練和推理。深度學(xué)習(xí)算法為AI大模型
    的頭像 發(fā)表于 10-23 15:25 ?2874次閱讀

    FPGA做深度學(xué)習(xí)能走多遠(yuǎn)?

    ,共同進(jìn)步。 歡迎加入FPGA技術(shù)微信交流群14群! 交流問(wèn)題(一) Q:FPGA做深度學(xué)習(xí)能走多遠(yuǎn)?現(xiàn)在用FPGA做深度學(xué)習(xí)加速成為一個(gè)熱
    發(fā)表于 09-27 20:53

    深度識(shí)別算法包括哪些內(nèi)容

    CNN深度學(xué)習(xí)中處理圖像和視頻等具有網(wǎng)格結(jié)構(gòu)數(shù)據(jù)的主要算法。它通過(guò)卷積層、池化層和全連接層等組件,實(shí)現(xiàn)對(duì)圖像特征的自動(dòng)提取和識(shí)別。 應(yīng)用領(lǐng)域 :
    的頭像 發(fā)表于 09-10 15:28 ?834次閱讀