在线观看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

    文章

    4777

    瀏覽量

    100958
  • 函數
    +關注

    關注

    3

    文章

    4344

    瀏覽量

    62809
  • python
    +關注

    關注

    56

    文章

    4801

    瀏覽量

    84867
收藏 人收藏

    評論

    相關推薦

    如何構建多層神經網絡

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

    如何編寫BP神經網絡

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

    怎么對神經網絡重新訓練

    重新訓練神經網絡復雜的過程,涉及到多個步驟和考慮因素。 引言 神經網絡種強大的機器學習模型,廣泛應用于圖像識別、自然語言處理、語音
    的頭像 發表于 07-11 10:25 ?490次閱讀

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

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

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

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

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

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

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

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

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

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

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

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

    深度神經網絡與基本神經網絡的區別

    在探討深度神經網絡(Deep Neural Networks, DNNs)與基本神經網絡(通常指傳統神經網絡或前向神經網絡)的區別時,我們需要從多個維度進行深入分析。這些維度包括
    的頭像 發表于 07-04 13:20 ?999次閱讀

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

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

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

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

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

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

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

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

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

    建立神經網絡模型是復雜的過程,涉及到多個步驟和細節。以下是對建立神經網絡模型的三
    的頭像 發表于 07-02 11:20 ?1063次閱讀
    主站蜘蛛池模板: 日本视频黄色| freesex性欧美炮机喷潮| 亚洲成a人片77777潘金莲| 乱人伦一区二区三区| 人人干人人玩| 未成人禁止视频高清在线观看| 极品美女啪啪| 欧美成人精品一区二区| 色综合天天综合中文网| 久久99热久久精品99| 中文字幕精品一区二区三区视频| 美女被玩| www.射| 黄色网址播放| 奇米影视亚洲四色8888| 亚洲一区二区免费视频| 中日毛片| 一色屋网站| 天天摸日日添狠狠添婷婷| 日本高清网站| 女人被狂躁视频免费网站| 狠狠噜噜| 国产高清在线视频| 国产日本特黄特色大片免费视频| 成人免费看片视频色多多| 天天综合天天综合| 天堂网www在线| 国产视频资源| www.五月激情| 看a网站| 天堂在线免费视频| 久久香蕉国产精品一区二区三| 毛片大全免费| 激情com| 亚洲精品久久久久午夜| 天天搞夜夜| 夜色sese| 在线种子搜索| 午夜久久免影院欧洲| 四虎影院免费在线| 日本骚视频|