91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

從零開始建立一個(gè)神經(jīng)網(wǎng)絡(luò)

倩倩 ? 來(lái)源:AI中國(guó) ? 2020-04-17 15:13 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

動(dòng)機(jī):為了更好的理解深度學(xué)習(xí),作者決定從零開始建立一個(gè)神經(jīng)網(wǎng)絡(luò),而不是像TensorFlow這樣的深度學(xué)習(xí)庫(kù)。相信理解神經(jīng)網(wǎng)絡(luò)的內(nèi)部工作對(duì)于任何有抱負(fù)的數(shù)據(jù)科學(xué)家來(lái)說(shuō)都是很重要的。

什么是神經(jīng)網(wǎng)絡(luò)?

大多數(shù)介紹神經(jīng)網(wǎng)絡(luò)的文章在描述它們時(shí)會(huì)涉及到大腦類比,在不深入研究大腦類比的情況下,將神經(jīng)網(wǎng)絡(luò)簡(jiǎn)單描述為將固定數(shù)值映射到期望輸出的數(shù)學(xué)函數(shù)理解起來(lái)更容易。

神經(jīng)網(wǎng)絡(luò)由以下部分組成:

輸入層,x

任意數(shù)量的隱藏層

輸出層,?

每層W和B之間的一組權(quán)重和偏差

為每個(gè)隱藏層選擇激活函數(shù)σ。在本教程中,我們將使用Sigmoid激活函數(shù)。

下圖顯示了2層神經(jīng)網(wǎng)絡(luò)的體系結(jié)構(gòu)(請(qǐng)注意,在計(jì)算神經(jīng)網(wǎng)絡(luò)中的層數(shù)時(shí)通常會(huì)排除輸入層)

2層神經(jīng)網(wǎng)絡(luò)的體系結(jié)構(gòu)

Python創(chuàng)建一個(gè)神經(jīng)網(wǎng)絡(luò)類很容易。

神經(jīng)網(wǎng)絡(luò)訓(xùn)練

簡(jiǎn)單的2層神經(jīng)網(wǎng)絡(luò)的輸出是:

您可能會(huì)注意到,在上面的等式中,權(quán)重W和偏差b是影響?的唯一變量。

當(dāng)然,權(quán)重和偏差的正確度決定了預(yù)測(cè)的準(zhǔn)確性。從輸入數(shù)據(jù)中微調(diào)權(quán)重和偏差的過(guò)程稱為神經(jīng)網(wǎng)絡(luò)訓(xùn)練。

訓(xùn)練過(guò)程的每次迭代包含以下步驟:

計(jì)算預(yù)測(cè)輸出?,稱為前饋

更新權(quán)重和偏差,稱為反向傳播

下圖為過(guò)程順序圖。

前饋

正如我們?cè)谏厦娴捻樞驁D中看到的,前饋只是一個(gè)簡(jiǎn)單的演算,對(duì)于基本的2層神經(jīng)網(wǎng)絡(luò),神經(jīng)網(wǎng)絡(luò)的輸出是:

可以在python代碼中添加一個(gè)前饋函數(shù)來(lái)做到這一點(diǎn)。簡(jiǎn)單起見,使假設(shè)偏差為0。

然而,仍然需要一種方法來(lái)評(píng)估我們預(yù)測(cè)達(dá)到什么程度,損失函數(shù)可以做到這一點(diǎn)。

損失函數(shù)

損失函數(shù)有很多種,問題的性質(zhì)決定該選擇哪種損失函數(shù)。在本教程中,作者將使用一個(gè)簡(jiǎn)單的sqaures偏差作為損失函數(shù)。

也就是說(shuō),平方和誤差僅僅是每個(gè)預(yù)測(cè)值和實(shí)際值之差的平均值。因?yàn)椴钪当黄椒?,所以要測(cè)量差值的絕對(duì)值。

作者的訓(xùn)練目標(biāo)是找到最佳的權(quán)重和偏差集合,以最大限度地減少損失函數(shù)。

反向傳播

現(xiàn)在作者已經(jīng)測(cè)量了預(yù)測(cè)誤差,需要找到一種方法來(lái)傳播誤差,并更新權(quán)重和偏差。

為了適當(dāng)?shù)恼{(diào)整權(quán)重和偏差,需要知道損失函數(shù)關(guān)于權(quán)重和偏差的導(dǎo)數(shù)。

可以從演算中得知,函數(shù)的導(dǎo)數(shù)就是函數(shù)的斜率。

梯度下降算法

如果有導(dǎo)數(shù),可以簡(jiǎn)單地通過(guò)增加/減少更新權(quán)重和偏差(參見上圖)。這被稱為梯度下降。

然而,我們不能直接計(jì)算損失函數(shù)的權(quán)重和偏差,因?yàn)閾p失函數(shù)的方程不包含權(quán)重和偏差。因此,我們需要鏈?zhǔn)揭?guī)則來(lái)計(jì)算它。

鏈?zhǔn)揭?guī)則用于計(jì)算損失函數(shù)相對(duì)于權(quán)重的導(dǎo)數(shù)。簡(jiǎn)單起見,只顯示了假設(shè)1層神經(jīng)網(wǎng)絡(luò)的偏導(dǎo)數(shù)

得到相對(duì)于權(quán)重的損失函數(shù)的導(dǎo)數(shù)(斜率),以便適當(dāng)調(diào)整權(quán)重。

現(xiàn)在,將反向傳播函數(shù)添加到Python代碼中。

為了深入理解演算的應(yīng)用和反向傳播中的鏈?zhǔn)揭?guī)則,作者強(qiáng)烈推薦3Blue1Brown撰寫教程。

結(jié)合在一起

現(xiàn)在已經(jīng)有了完整的python代碼來(lái)做前饋和反向傳播,將神經(jīng)網(wǎng)絡(luò)應(yīng)用于一個(gè)例子上,來(lái)看看它的完成度。

神經(jīng)網(wǎng)絡(luò)應(yīng)該學(xué)習(xí)理想的權(quán)重集合來(lái)表示這個(gè)函數(shù)。注意,通過(guò)檢查來(lái)計(jì)算權(quán)重并不是不重要的。

來(lái)看看訓(xùn)練神經(jīng)網(wǎng)絡(luò)進(jìn)行1500次迭代后會(huì)發(fā)生什么。查看下面每個(gè)迭代圖的損失,可以清楚地看到損耗單調(diào)遞減到最小。這與之前的梯度下降算法一致。

1500次迭代后神經(jīng)網(wǎng)絡(luò)的最終預(yù)測(cè)(輸出)。

從上圖可以看出前饋和后向傳播算法成功地訓(xùn)練了神經(jīng)網(wǎng)絡(luò),并且預(yù)測(cè)與實(shí)際值相差不大。

請(qǐng)注意,預(yù)測(cè)和實(shí)際值之間可以存在細(xì)微的差異。因?yàn)樗梢苑乐惯^(guò)擬合,使神經(jīng)網(wǎng)絡(luò)更好地歸納看不見的數(shù)據(jù)。

下一步是什么?

幸運(yùn)的是,關(guān)于神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)還有很多需要了解的內(nèi)容。例如:

除了Sigmoid函數(shù),還可以使用哪些激活函數(shù)?

訓(xùn)練神經(jīng)網(wǎng)絡(luò)時(shí)的學(xué)習(xí)率

利用卷積進(jìn)行圖像分類任務(wù)

最后的想法

作者從頭開始學(xué)習(xí)了神經(jīng)網(wǎng)絡(luò)。

盡管TensorFlow和Keras等深度學(xué)習(xí)庫(kù)可以在不完全了解神經(jīng)網(wǎng)絡(luò)的內(nèi)部工作的情況下輕松構(gòu)建深度網(wǎng)絡(luò),但有抱負(fù)的數(shù)據(jù)科學(xué)家可以更深入地了解神經(jīng)網(wǎng)絡(luò)。

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

    關(guān)注

    42

    文章

    4838

    瀏覽量

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

    關(guān)注

    3

    文章

    4418

    瀏覽量

    67575
  • python
    +關(guān)注

    關(guān)注

    57

    文章

    4877

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    神經(jīng)網(wǎng)絡(luò)的初步認(rèn)識(shí)

    日常生活中的智能應(yīng)用都離不開深度學(xué)習(xí),而深度學(xué)習(xí)則依賴于神經(jīng)網(wǎng)絡(luò)的實(shí)現(xiàn)。什么是神經(jīng)網(wǎng)絡(luò)神經(jīng)網(wǎng)絡(luò)的核心思想是模仿生物神經(jīng)系統(tǒng)的結(jié)構(gòu),特別是大腦中神經(jīng)
    的頭像 發(fā)表于 12-17 15:05 ?341次閱讀
    <b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>的初步認(rèn)識(shí)

    自動(dòng)駕駛中常提的卷積神經(jīng)網(wǎng)絡(luò)個(gè)啥?

    在自動(dòng)駕駛領(lǐng)域,經(jīng)常會(huì)聽到卷積神經(jīng)網(wǎng)絡(luò)技術(shù)。卷積神經(jīng)網(wǎng)絡(luò),簡(jiǎn)稱為CNN,是種專門用來(lái)處理網(wǎng)格狀數(shù)據(jù)(比如圖像)的深度學(xué)習(xí)模型。CNN在圖像處理中尤其常見,因?yàn)閳D像本身就可以看作是由像素排列成的二維網(wǎng)格。
    的頭像 發(fā)表于 11-19 18:15 ?2095次閱讀
    自動(dòng)駕駛中常提的卷積<b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>是<b class='flag-5'>個(gè)</b>啥?

    直播預(yù)約 |開源芯片系列講座第30期:“芯”計(jì)劃——從零開始設(shè)計(jì)自己的RISC-V處理器芯片

    鷺島論壇開源芯片系列講座第30期「“芯”計(jì)劃從零開始設(shè)計(jì)自己的RISC-V處理器芯片」11月17日(周三)20:00精彩開播期待與您云相聚,共襄學(xué)術(shù)盛宴!|直播信息報(bào)告題目“
    的頭像 發(fā)表于 11-10 12:03 ?908次閱讀
    直播預(yù)約 |開源芯片系列講座第30期:“<b class='flag-5'>一</b>生<b class='flag-5'>一</b>芯”計(jì)劃——<b class='flag-5'>從零開始</b>設(shè)計(jì)自己的RISC-V處理器芯片

    NMSIS神經(jīng)網(wǎng)絡(luò)庫(kù)使用介紹

    NMSIS NN 軟件庫(kù)是組高效的神經(jīng)網(wǎng)絡(luò)內(nèi)核,旨在最大限度地提高 Nuclei N 處理器內(nèi)核上的神經(jīng)網(wǎng)絡(luò)的性能并最??大限度地減少其內(nèi)存占用。 該庫(kù)分為多個(gè)功能,每個(gè)功能涵蓋特定類別
    發(fā)表于 10-29 06:08

    從零開始利用NMSIS庫(kù)搭建神經(jīng)網(wǎng)絡(luò)

    環(huán)境:Vivado2021.1、NucleiStudio_IDE_202102-win64 內(nèi)容:從零開始利用NMSIS庫(kù)搭建神經(jīng)網(wǎng)絡(luò),這節(jié)主講基本的NMSIS庫(kù)卷積函數(shù)的解讀。
    發(fā)表于 10-24 13:47

    在Ubuntu20.04系統(tǒng)中訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型的些經(jīng)驗(yàn)

    本帖欲分享在Ubuntu20.04系統(tǒng)中訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型的些經(jīng)驗(yàn)。我們采用jupyter notebook作為開發(fā)IDE,以TensorFlow2為訓(xùn)練框架,目標(biāo)是訓(xùn)練個(gè)手寫數(shù)字識(shí)
    發(fā)表于 10-22 07:03

    CICC2033神經(jīng)網(wǎng)絡(luò)部署相關(guān)操作

    在完成神經(jīng)網(wǎng)絡(luò)量化后,需要將神經(jīng)網(wǎng)絡(luò)部署到硬件加速器上。首先需要將所有權(quán)重?cái)?shù)據(jù)以及輸入數(shù)據(jù)導(dǎo)入到存儲(chǔ)器內(nèi)。 在仿真環(huán)境下,可將其存于個(gè)文件,并在 Verilog 代碼中通過(guò) read
    發(fā)表于 10-20 08:00

    液態(tài)神經(jīng)網(wǎng)絡(luò)(LNN):時(shí)間連續(xù)性與動(dòng)態(tài)適應(yīng)性的神經(jīng)網(wǎng)絡(luò)

    1.算法簡(jiǎn)介液態(tài)神經(jīng)網(wǎng)絡(luò)(LiquidNeuralNetworks,LNN)是種新型的神經(jīng)網(wǎng)絡(luò)架構(gòu),其設(shè)計(jì)理念借鑒自生物神經(jīng)系統(tǒng),特別是秀麗隱桿線蟲的
    的頭像 發(fā)表于 09-28 10:03 ?1263次閱讀
    液態(tài)<b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>(LNN):時(shí)間連續(xù)性與動(dòng)態(tài)適應(yīng)性的<b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>

    神經(jīng)網(wǎng)絡(luò)的并行計(jì)算與加速技術(shù)

    隨著人工智能技術(shù)的飛速發(fā)展,神經(jīng)網(wǎng)絡(luò)在眾多領(lǐng)域展現(xiàn)出了巨大的潛力和廣泛的應(yīng)用前景。然而,神經(jīng)網(wǎng)絡(luò)模型的復(fù)雜度和規(guī)模也在不斷增加,這使得傳統(tǒng)的串行計(jì)算方式面臨著巨大的挑戰(zhàn),如計(jì)算速度慢、訓(xùn)練時(shí)間長(zhǎng)等
    的頭像 發(fā)表于 09-17 13:31 ?1152次閱讀
    <b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>的并行計(jì)算與加速技術(shù)

    無(wú)刷電機(jī)小波神經(jīng)網(wǎng)絡(luò)轉(zhuǎn)子位置檢測(cè)方法的研究

    摘要:論文通過(guò)對(duì)無(wú)刷電機(jī)數(shù)學(xué)模型的推導(dǎo),得出轉(zhuǎn)角:與三相相電壓之間存在映射關(guān)系,因此構(gòu)建了個(gè)以三相相電壓為輸人,轉(zhuǎn)角為輸出的小波神經(jīng)網(wǎng)絡(luò)來(lái)實(shí)現(xiàn)轉(zhuǎn)角預(yù)測(cè),并采用改進(jìn)遺傳算法來(lái)訓(xùn)練網(wǎng)絡(luò)結(jié)
    發(fā)表于 06-25 13:06

    低功耗+AI識(shí)別:基于樹莓派的 LoRa 神經(jīng)網(wǎng)絡(luò)安防系統(tǒng)!

    這篇博客展示了如何使用樹莓派上的神經(jīng)網(wǎng)絡(luò)USB插件來(lái)檢測(cè)或“推斷”一個(gè)人的位置,從而構(gòu)建個(gè)安全系統(tǒng)。Arduino型接收器從零開始構(gòu)建,通
    的頭像 發(fā)表于 06-24 16:24 ?2716次閱讀
    低功耗+AI識(shí)別:基于樹莓派的 LoRa <b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>安防系統(tǒng)!

    神經(jīng)網(wǎng)絡(luò)專家系統(tǒng)在電機(jī)故障診斷中的應(yīng)用

    的診斷誤差。仿真結(jié)果驗(yàn)證了該算法的有效性。 純分享帖,需要者可點(diǎn)擊附件免費(fèi)獲取完整資料~~~*附件:神經(jīng)網(wǎng)絡(luò)專家系統(tǒng)在電機(jī)故障診斷中的應(yīng)用.pdf【免責(zé)聲明】本文系網(wǎng)絡(luò)轉(zhuǎn)載,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問題,請(qǐng)第
    發(fā)表于 06-16 22:09

    基于FPGA搭建神經(jīng)網(wǎng)絡(luò)的步驟解析

    本文的目的是在個(gè)神經(jīng)網(wǎng)絡(luò)已經(jīng)通過(guò)python或者M(jìn)ATLAB訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)模型,將訓(xùn)練好的模型的權(quán)重和偏置文件以TXT文件格式導(dǎo)出,然后通過(guò)python程序?qū)xt文件轉(zhuǎn)化為coe
    的頭像 發(fā)表于 06-03 15:51 ?1260次閱讀
    基于FPGA搭建<b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>的步驟解析

    從零開始之電機(jī)FOC控制

    我們將撕開FOC神秘而虛偽的面紗,以說(shuō)人話的方式講述它。真正的做到從零開始,小白看就會(huì),學(xué)就廢。如果覺得有用的話,就點(diǎn)個(gè)贊唄,純手碼。、什么是FOC?FOC
    的頭像 發(fā)表于 04-23 19:34 ?4957次閱讀
    <b class='flag-5'>從零開始</b>之電機(jī)FOC控制

    從零開始學(xué)電源

    從零開始學(xué)電源···內(nèi)部篇 從零開始學(xué)電源---------內(nèi)部篇 (寫這篇文的著眼點(diǎn)就在“從零開始”上,所以涉及到些詞匯和技術(shù)的時(shí)候,我會(huì)采取戲說(shuō)的方式。網(wǎng)上電源高手甚多,且科班出
    發(fā)表于 04-07 15:30