一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

用TensorFlow2.0框架實(shí)現(xiàn)BP網(wǎng)絡(luò)

汽車電子技術(shù) ? 來(lái)源:神經(jīng)網(wǎng)絡(luò)研究所 ? 作者:NNResearcher ? 2023-03-01 11:02 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

熬過(guò)了上一篇漫長(zhǎng)的代碼,稍微解開(kāi)了一丟丟疑惑,使得抽象的BP有一點(diǎn)具體化了,可是還是有好多細(xì)節(jié)的東西沒(méi)有講清楚,比如,為什么要用激活函數(shù)?為什么隨機(jī)梯度下降沒(méi)有提到?下面我們來(lái)一一解開(kāi)疑惑。

首先是為什么要使用激活函數(shù)?這要回顧一下我們?cè)趯W(xué)習(xí)BP之前學(xué)習(xí)的感知器模型。它模仿的是人類體內(nèi)的信號(hào)傳導(dǎo)的過(guò)程,當(dāng)信號(hào)達(dá)到一定的閾值時(shí),就可以繼續(xù)向后傳播。

圖片

那這個(gè)感知器模型和BP網(wǎng)絡(luò)有什么關(guān)系呢?在我們所看到的BP網(wǎng)絡(luò)的結(jié)構(gòu)圖中,其實(shí)是被簡(jiǎn)化了的,下面小編畫了一個(gè)邏輯更清晰一點(diǎn)的圖:

圖片

這樣我們就可以看出來(lái),其實(shí)BP網(wǎng)絡(luò)是由一個(gè)一個(gè)的感知器組成,也就構(gòu)成了一個(gè)真正的神經(jīng)網(wǎng)絡(luò),自然就能理解為什么要使用激活函數(shù)了。

圖片

接下來(lái)我們來(lái)看一下TensorFlow實(shí)現(xiàn)BP神經(jīng)網(wǎng)絡(luò)到底有多簡(jiǎn)單!

#構(gòu)建一個(gè)結(jié)構(gòu)為[10,15,1]的BP神經(jīng)網(wǎng)絡(luò)
model = tf.keras.Sequential([tf.keras.layers.Dense(15,activation='relu',input_shape=(10,)),
                             tf.keras.layers.Dense(1)])
model.summary()  #顯示網(wǎng)絡(luò)結(jié)構(gòu)
model.compile(optimizer='SGD',loss='mse')  #定義優(yōu)化方法為隨機(jī)梯度下降,損失函數(shù)為mse
#x->訓(xùn)練集,y——>bia標(biāo)簽,epochs=10000訓(xùn)練的次數(shù),validation_data=(test_x,test_y)——>驗(yàn)證集
history = model.fit(x,y,epochs=10000,validation_data=(test_x,test_y))

上面就是一個(gè)最簡(jiǎn)單的BP網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu),小編還準(zhǔn)備好了完整的通用框架代碼,不用總是修改隱藏層,可以直接使用哦!公眾號(hào)發(fā)送“BP源碼”就可以獲??!是不是非常驚訝!昨天的百行代碼完全消失了,這短短幾行代碼就可實(shí)現(xiàn)一個(gè)BP網(wǎng)絡(luò)。

這里解釋一下validation_data,這是驗(yàn)證集,作用和測(cè)試集是一樣的,只不過(guò)驗(yàn)證集是在訓(xùn)練過(guò)程中對(duì)模型進(jìn)行測(cè)試,這樣方便觀察模型的準(zhǔn)確性。loss函數(shù)的作用是計(jì)算模型的預(yù)測(cè)誤差,也就是是衡量模型的準(zhǔn)確度,常用的誤差函數(shù)還有mse,mae,rmse,mape等等,模型中有很多誤差函數(shù)不能直接調(diào)用,但是可以自己定義。

   SGD就是我們所說(shuō)的隨機(jī)梯度下降算法了,但是現(xiàn)在我們普遍認(rèn)為“adam”是目前最好的優(yōu)化算法,當(dāng)然這也根據(jù)不同的神經(jīng)網(wǎng)絡(luò)做不同的選擇。想要研究理論的讀者可以去查一查資料,小編作為實(shí)戰(zhàn)派就不對(duì)理論做過(guò)多的闡述了!

另外再列出來(lái)同樣強(qiáng)大的pytorch框架的代碼,大家可以自行選取。

class Model(nn.Module):
    def __init__(self):
        super().__init__()
        self.fc = nn.Sequential(
            nn.Linear(10, 15),
            nn.ReLU(),
            nn.Dropout(),  #防止過(guò)度擬合,TensorFlow也有
            nn.Linear(15, 2)
        )
    def forward(self, x):
        x = self.fc(x)
        return x

關(guān)于選擇哪一個(gè)框架的問(wèn)題,在TensorFlow2.0出現(xiàn)之前,小編會(huì)推薦pytorch,現(xiàn)在的TensorFlow2.0和pytorch代碼風(fēng)格已經(jīng)越來(lái)越接近了,但是TensorFlow2.0可以支持的平臺(tái)更多,所以這里推薦TensorFlow2.0。

有什么問(wèn)題,歡迎大家留言討論!

聲明:本文內(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)投訴
  • 信號(hào)
    +關(guān)注

    關(guān)注

    11

    文章

    2847

    瀏覽量

    78055
  • 閾值
    +關(guān)注

    關(guān)注

    0

    文章

    123

    瀏覽量

    18734
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4376

    瀏覽量

    64534
  • BP網(wǎng)絡(luò)
    +關(guān)注

    關(guān)注

    0

    文章

    27

    瀏覽量

    22376
  • tensorflow
    +關(guān)注

    關(guān)注

    13

    文章

    330

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    求利用LABVIEW 實(shí)現(xiàn)bp神經(jīng)網(wǎng)絡(luò)的程序

    誰(shuí)有利用LABVIEW 實(shí)現(xiàn)bp神經(jīng)網(wǎng)絡(luò)的程序?。ㄎ?b class='flag-5'>用的版本是8.6的 )
    發(fā)表于 11-26 14:54

    labview BP神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)

    請(qǐng)問(wèn):我在用labview做BP神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)故障診斷,在NI官網(wǎng)找到了機(jī)器學(xué)習(xí)工具包(MLT),但是里面沒(méi)有關(guān)于這部分VI的幫助文檔,對(duì)于”BP神經(jīng)
    發(fā)表于 02-22 16:08

    深度學(xué)習(xí)框架TensorFlow&TensorFlow-GPU詳解

    TensorFlow&TensorFlow-GPU:深度學(xué)習(xí)框架TensorFlow&TensorFlow-GPU的簡(jiǎn)介、安裝、使用方法詳細(xì)
    發(fā)表于 12-25 17:21

    高階API構(gòu)建模型和數(shù)據(jù)集使用

    TensorFlow2.0Beta版本,同pytorch一樣支持動(dòng)態(tài)執(zhí)行(TensorFlow2.0默認(rèn)eager模式,無(wú)需啟動(dòng)會(huì)話執(zhí)行計(jì)算圖),同時(shí)刪除了雜亂低階API,使用高階API簡(jiǎn)單地構(gòu)建復(fù)雜神經(jīng)網(wǎng)絡(luò)模型,本文主要分享
    發(fā)表于 11-04 07:49

    TensorFlow的特點(diǎn)和基本的操作方式

    2015年11月在GitHub上開(kāi)源,在2016年4月補(bǔ)充了分布式版本,最新版本為1.10,2018年下半年將發(fā)布Tensorflow 2.0預(yù)覽版。Tensorflow目前仍處于快速開(kāi)發(fā)迭代中,不斷推出新功能和優(yōu)化性能,現(xiàn)已成
    發(fā)表于 11-23 09:56

    TensorFlow實(shí)戰(zhàn)之深度學(xué)習(xí)框架的對(duì)比

    Google近日發(fā)布了TensorFlow 1.0候選版,這第一個(gè)穩(wěn)定版將是深度學(xué)習(xí)框架發(fā)展中的里程碑的一步。自TensorFlow于2015年底正式開(kāi)源,距今已有一年多,這期間TensorF
    發(fā)表于 11-16 11:52 ?4748次閱讀
    <b class='flag-5'>TensorFlow</b>實(shí)戰(zhàn)之深度學(xué)習(xí)<b class='flag-5'>框架</b>的對(duì)比

    TensorFlow框架結(jié)構(gòu)解析

    TensorFlow是谷歌的第二代開(kāi)源的人工智能學(xué)習(xí)系統(tǒng),是用來(lái)實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)的內(nèi)置框架學(xué)習(xí)軟件庫(kù)。目前,TensorFlow機(jī)器學(xué)習(xí)已經(jīng)成為
    發(fā)表于 04-04 14:39 ?7256次閱讀
    <b class='flag-5'>TensorFlow</b>的<b class='flag-5'>框架</b>結(jié)構(gòu)解析

    機(jī)器學(xué)習(xí)框架Tensorflow 2.0的這些新設(shè)計(jì)你了解多少

    總是無(wú)法被撼動(dòng)。而就在即將到來(lái)的2019年,Tensorflow 2.0將正式入場(chǎng),給暗流涌動(dòng)的框架之爭(zhēng)再燃一把火。
    的頭像 發(fā)表于 11-17 11:33 ?3311次閱讀

    TensorFlow2.0終于問(wèn)世,Alpha版可以搶先體驗(yàn)

    之前開(kāi)發(fā)者反饋,希望TensorFlow能夠簡(jiǎn)化API、減少冗余并改進(jìn)文檔和示例。這次2.0發(fā)布,聽(tīng)取了開(kāi)發(fā)者的建議,因此新版本有以下三大特點(diǎn):簡(jiǎn)單、強(qiáng)大、可拓展。
    的頭像 發(fā)表于 03-08 09:30 ?3818次閱讀
    <b class='flag-5'>TensorFlow2.0</b>終于問(wèn)世,Alpha版可以搶先體驗(yàn)

    基于TensorFlow框架搭建卷積神經(jīng)網(wǎng)絡(luò)的電池片缺陷識(shí)別研究

    基于TensorFlow框架搭建卷積神經(jīng)網(wǎng)絡(luò)對(duì)電池片電致發(fā)光圖像進(jìn)行缺陷識(shí)別。選取公開(kāi)的數(shù)據(jù)集,其中包含了電池片的不同種類缺陷。
    的頭像 發(fā)表于 08-28 18:46 ?8010次閱讀
    基于<b class='flag-5'>TensorFlow</b><b class='flag-5'>框架</b>搭建卷積神經(jīng)<b class='flag-5'>網(wǎng)絡(luò)</b>的電池片缺陷識(shí)別研究

    IJCAI 2019上的一個(gè)TensorFlow2.0實(shí)操教程,117頁(yè)P(yáng)PT干貨分享

    如果您有興趣開(kāi)始學(xué)習(xí)TensorFlow,或者學(xué)習(xí)新發(fā)布的2.0版本,那么本教程非常適合您。前提是您需要事先熟悉一些基本的機(jī)器學(xué)習(xí)知識(shí)。我們將介紹深度學(xué)習(xí)中的關(guān)鍵概念。我們的目標(biāo)是幫助您高效地開(kāi)始使用TensorFlow,這樣您
    的頭像 發(fā)表于 09-01 07:49 ?3518次閱讀

    tensorflow能做什么_tensorflow2.0和1.0區(qū)別

    等多項(xiàng)機(jī)器學(xué)習(xí)和深度學(xué)習(xí)領(lǐng)域,對(duì)2011年開(kāi)發(fā)的深度學(xué)習(xí)基礎(chǔ)架構(gòu)DistBelief進(jìn)行了各方面的改進(jìn),它可在小到一部智能手機(jī)、 大到數(shù)千臺(tái)數(shù)據(jù)中心服務(wù)器的各種設(shè)備上運(yùn)行。TensorFlow將完全開(kāi)源,任何人都可以
    的頭像 發(fā)表于 12-04 14:45 ?8265次閱讀

    神經(jīng)網(wǎng)絡(luò)原理簡(jiǎn)述—卷積Op求導(dǎo)

    目前主流的CNN訓(xùn)練框架,如pytorch、mxnet、tensorflow2.0中都已經(jīng)集成了autograd的機(jī)制,自動(dòng)求導(dǎo)的機(jī)制相較于傳統(tǒng)訓(xùn)練框架如caffe、te...
    發(fā)表于 02-07 11:29 ?0次下載
    神經(jīng)<b class='flag-5'>網(wǎng)絡(luò)</b>原理簡(jiǎn)述—卷積Op求導(dǎo)

    深度學(xué)習(xí)框架tensorflow介紹

    深度學(xué)習(xí)框架tensorflow介紹 深度學(xué)習(xí)框架TensorFlow簡(jiǎn)介 深度學(xué)習(xí)框架TensorFl
    的頭像 發(fā)表于 08-17 16:11 ?2950次閱讀

    卷積神經(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 ?633次閱讀