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

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

從零開始建立一個神經網絡

倩倩 ? 來源:AI中國 ? 2020-04-17 15:13 ? 次閱讀

動機:為了更好的理解深度學習,作者決定從零開始建立一個神經網絡,而不是像TensorFlow這樣的深度學習庫。相信理解神經網絡的內部工作對于任何有抱負的數據科學家來說都是很重要的。

什么是神經網絡?

大多數介紹神經網絡的文章在描述它們時會涉及到大腦類比,在不深入研究大腦類比的情況下,將神經網絡簡單描述為將固定數值映射到期望輸出的數學函數理解起來更容易。

神經網絡由以下部分組成:

輸入層,x

任意數量的隱藏層

輸出層,?

每層W和B之間的一組權重和偏差

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

下圖顯示了2層神經網絡的體系結構(請注意,在計算神經網絡中的層數時通常會排除輸入層)

2層神經網絡的體系結構

Python創建一個神經網絡類很容易。

神經網絡訓練

簡單的2層神經網絡的輸出是:

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

當然,權重和偏差的正確度決定了預測的準確性。從輸入數據中微調權重和偏差的過程稱為神經網絡訓練。

訓練過程的每次迭代包含以下步驟:

計算預測輸出?,稱為前饋

更新權重和偏差,稱為反向傳播

下圖為過程順序圖。

前饋

正如我們在上面的順序圖中看到的,前饋只是一個簡單的演算,對于基本的2層神經網絡,神經網絡的輸出是:

可以在python代碼中添加一個前饋函數來做到這一點。簡單起見,使假設偏差為0。

然而,仍然需要一種方法來評估我們預測達到什么程度,損失函數可以做到這一點。

損失函數

損失函數有很多種,問題的性質決定該選擇哪種損失函數。在本教程中,作者將使用一個簡單的sqaures偏差作為損失函數。

也就是說,平方和誤差僅僅是每個預測值和實際值之差的平均值。因為差值被平方,所以要測量差值的絕對值。

作者的訓練目標是找到最佳的權重和偏差集合,以最大限度地減少損失函數。

反向傳播

現在作者已經測量了預測誤差,需要找到一種方法來傳播誤差,并更新權重和偏差。

為了適當的調整權重和偏差,需要知道損失函數關于權重和偏差的導數。

可以從演算中得知,函數的導數就是函數的斜率。

梯度下降算法

如果有導數,可以簡單地通過增加/減少更新權重和偏差(參見上圖)。這被稱為梯度下降。

然而,我們不能直接計算損失函數的權重和偏差,因為損失函數的方程不包含權重和偏差。因此,我們需要鏈式規則來計算它。

鏈式規則用于計算損失函數相對于權重的導數。簡單起見,只顯示了假設1層神經網絡的偏導數

得到相對于權重的損失函數的導數(斜率),以便適當調整權重。

現在,將反向傳播函數添加到Python代碼中。

為了深入理解演算的應用和反向傳播中的鏈式規則,作者強烈推薦3Blue1Brown撰寫教程。

結合在一起

現在已經有了完整的python代碼來做前饋和反向傳播,將神經網絡應用于一個例子上,來看看它的完成度。

神經網絡應該學習理想的權重集合來表示這個函數。注意,通過檢查來計算權重并不是不重要的。

來看看訓練神經網絡進行1500次迭代后會發生什么。查看下面每個迭代圖的損失,可以清楚地看到損耗單調遞減到最小。這與之前的梯度下降算法一致。

1500次迭代后神經網絡的最終預測(輸出)。

從上圖可以看出前饋和后向傳播算法成功地訓練了神經網絡,并且預測與實際值相差不大。

請注意,預測和實際值之間可以存在細微的差異。因為它可以防止過擬合,使神經網絡更好地歸納看不見的數據。

下一步是什么?

幸運的是,關于神經網絡和深度學習還有很多需要了解的內容。例如:

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

訓練神經網絡時的學習率

利用卷積進行圖像分類任務

最后的想法

作者從頭開始學習了神經網絡。

盡管TensorFlow和Keras等深度學習庫可以在不完全了解神經網絡的內部工作的情況下輕松構建深度網絡,但有抱負的數據科學家可以更深入地了解神經網絡。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 神經網絡
    +關注

    關注

    42

    文章

    4810

    瀏覽量

    102931
  • 函數
    +關注

    關注

    3

    文章

    4372

    瀏覽量

    64306
  • python
    +關注

    關注

    56

    文章

    4825

    瀏覽量

    86286
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    BP神經網絡與卷積神經網絡的比較

    BP神經網絡與卷積神經網絡在多個方面存在顯著差異,以下是對兩者的比較: 、結構特點 BP神經網絡 : BP神經網絡
    的頭像 發表于 02-12 15:53 ?539次閱讀

    什么是BP神經網絡的反向傳播算法

    神經網絡(即反向傳播神經網絡)的核心,它建立在梯度下降法的基礎上,是種適合于多層神經元網絡的學習算法。該算法通過計算每層
    的頭像 發表于 02-12 15:18 ?666次閱讀

    如何構建多層神經網絡

    構建多層神經網絡(MLP, Multi-Layer Perceptron)模型是在機器學習和深度學習領域廣泛使用的技術,尤其在處理分類和回歸問題時。在本文中,我們將深入探討如何從頭開始
    的頭像 發表于 07-19 17:19 ?1471次閱讀

    如何編寫BP神經網絡

    傳播過程,即誤差從輸出層反向傳播回輸入層,并據此調整網絡參數。本文將詳細闡述如何編寫BP神經網絡,包括網絡結構設計、前向傳播、損失函數計
    的頭像 發表于 07-11 16:44 ?1032次閱讀

    BP神經網絡和人工神經網絡的區別

    BP神經網絡和人工神經網絡(Artificial Neural Networks,簡稱ANNs)之間的關系與區別,是神經網絡領域中基礎且
    的頭像 發表于 07-10 15:20 ?2121次閱讀

    rnn是遞歸神經網絡還是循環神經網絡

    RNN(Recurrent Neural Network)是循環神經網絡,而非遞歸神經網絡。循環神經網絡種具有時間序列特性的神經網絡,能
    的頭像 發表于 07-05 09:52 ?962次閱讀

    遞歸神經網絡與循環神經網絡樣嗎

    神經網絡種基于樹結構的神經網絡模型,它通過遞歸地將輸入數據分解為更小的子問題來處理序列數據。RvNN的核心思想是將復雜的序列問題
    的頭像 發表于 07-05 09:28 ?1534次閱讀

    遞歸神經網絡是循環神經網絡

    遞歸神經網絡(Recurrent Neural Network,簡稱RNN)和循環神經網絡(Recurrent Neural Network,簡稱RNN)實際上是同一個概念,只是不同的翻譯方式
    的頭像 發表于 07-04 14:54 ?1454次閱讀

    循環神經網絡和卷積神經網絡的區別

    結構。它們在處理不同類型的數據和解決不同問題時具有各自的優勢和特點。本文將從多個方面比較循環神經網絡和卷積神經網絡的區別。 基本概念 循環神經網絡種具有循環連接的
    的頭像 發表于 07-04 14:24 ?1953次閱讀

    循環神經網絡和遞歸神經網絡的區別

    處理序列數據方面具有顯著的優勢,但它們在結構和工作原理上存在些關鍵的區別。 循環神經網絡(RNN) 1.1 RNN的結構 循環神經網絡種具有循環連接的
    的頭像 發表于 07-04 14:19 ?1446次閱讀

    反向傳播神經網絡和bp神經網絡的區別

    反向傳播神經網絡(Backpropagation Neural Network,簡稱BP神經網絡)是種多層前饋神經網絡,它通過反向傳播算法來調整
    的頭像 發表于 07-03 11:00 ?1173次閱讀

    bp神經網絡是深度神經網絡

    BP神經網絡(Backpropagation Neural Network)是種常見的前饋神經網絡,它使用反向傳播算法來訓練網絡。雖然BP神經網絡
    的頭像 發表于 07-03 10:14 ?1315次閱讀

    bp神經網絡和卷積神經網絡區別是什么

    結構、原理、應用場景等方面都存在定的差異。以下是對這兩種神經網絡的比較: 基本結構 BP神經網絡種多層前饋神經網絡,由輸入層、隱藏層和
    的頭像 發表于 07-03 10:12 ?2492次閱讀

    卷積神經網絡和bp神經網絡的區別

    不同的神經網絡模型,它們在結構、原理、應用等方面都存在定的差異。本文將從多個方面對這兩種神經網絡進行詳細的比較和分析。 引言 神經網絡
    的頭像 發表于 07-02 14:24 ?5951次閱讀

    建立神經網絡模型的三步驟

    建立神經網絡模型是復雜的過程,涉及到多個步驟和細節。以下是對建立神經網絡模型的三
    的頭像 發表于 07-02 11:20 ?1721次閱讀
    主站蜘蛛池模板: 亚洲人成电影 | 色婷婷激情综合 | 丁香五婷婷 | 狠狠色狠狠色综合久久一 | 天天摸天天碰色综合网 | 久久精品国产99精品最新 | 日本三黄色大 | 男人天堂网在线 | chinese国产videoxx实拍 | 丝袜美女被c | 女人爽到喷水的视频大全在线观看 | 欧美有码视频 | sihu国产午夜精品一区二区三区 | 高清国产一区二区三区 | 久久亚洲综合色 | 欧美日本一区二区三区生 | 无遮挡高清一级毛片免费 | www.狠狠| 成人做视频免费 | 性欧美极品 | 欧美日韩色综合网站 | 最好看最新的中文字幕1 | 一区二区三区免费 | 久久久久国产精品免费看 | 国产一区二区三区欧美精品 | 天天拍拍天天爽免费视频 | 国产一区二区三区乱码 | eeuss久久久精品影院 | 色爱区综合激情五月综合激情 | caoporn成人免费公开 | 国产成人永久在线播放 | 美女一区二区三区 | 久久777国产线看观看精品卜 | 日本理论片www视频 日本理论午夜中文字幕第一页 | 成人午夜大片免费7777 | 久久精品久久久 | 亚洲天天看 | 午夜影院h | 成人在线一区二区 | 亚洲骚片| 激情综合色综合久久综合 |