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

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

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

3天內不再提示

神經網絡與感知機的不同講解

工程師鄧生 ? 來源:51cto ? 作者:梁唐 ? 2020-11-30 16:51 ? 次閱讀

大家好,今天來繼續聊聊深度學習

有同學跟我說很久沒有更新深度學習的模型了,倒不是不愿意更新,主要是一次想把一個技術專題寫完。但是純技術文章觀眾老爺們不太愛看,所以我一般都把純技術文章放在次條。不過既然有同學催更,那么我還是響應一下需求,來更新一篇。

神經網絡與感知機的不同

我們當時在文章里放了一張圖,這張圖是一個多層感知機的圖,大家看一下,就是下面這張圖。

這張圖乍一看沒什么問題,但是細想會覺得有點奇怪,好像我們印象里看到的神經網絡的圖片也是這樣的,既然如此,那么它們之間有什么區別呢?

表面上最明顯的區別就是名字不同,這是一張神經網絡的圖片。我們發現同樣是三層,但是它每一層的名字分別是輸入層、中間層(隱藏層)和輸出層。我們一般把輸入層和輸出層單獨命名,中間的若干層都叫做隱藏層或者是中間層。當然像是感知機一樣,以數字來命名層數也是可以的,比如下圖當中的輸入層叫做第0層,中間層叫做第一層,最后輸出層叫做第2層。

我們一般不把輸出層看作是有效的神經網絡,所以下圖的網絡被稱為二層神經網絡,而不是三層神經網絡。

除了名字的叫法不同之外,還有一個最關鍵的區別就是激活函數,為了說明白這點,我們先來看看神經網絡當中的信號傳遞。

信號傳遞

下圖是一張我隨便找來的神經網絡圖,我們可以看到輸入的第一個節點被置為了1。這樣做是為了方便引入偏移量,只是我們一般情況下畫圖的時候,不會特意把偏移量畫出來。我們以下圖為例子來看下神經網絡當中信號的傳遞方式。

到這里還沒有結束,神經網絡當中每一層都會有對應的激活函數。一般情況下同一層網絡當中的激活函數相同,我們把它叫做h,所以最終這個節點的輸出并不是剛剛得到的,而是。

激活函數我們已經比較熟悉了,之前介紹過很多次,常用的大概有以下幾種:Relu、Sigmoid、tanh、softmax,以及一些衍生出的變種。一般情況下,在輸出層之前我們通常使用Relu,如果模型是一個分類模型,我們會在最后使用Sigmoid或者是softmax,如果是回歸模型則不使用任何激活函數。

Sigmoid我們已經很熟悉了,如果我們把LR模型也看成是一個單層的神經網絡的話,那么Sigmoid就是它的激活函數。Sigmoid應用在二分類場景當中單個的輸出節點上,輸出的值如果大于0.5表示為真,否則為假。在一些概率預估場景當中,也可以認為輸出值就代表了事件發生的概率。

與之對應的是softmax函數,它應用在多分類問題當中,它應用的節點數量不是1個,而是k個。這里的k表示多分類場景當中的類別數量。我們以k=3舉例,看下圖:

在圖中一共有三個節點,對于每一個節點來說,它的公式可以寫成:

其實和Sigmoid的計算方式是一樣的,只不過最后計算了一個權重。最后我們會在這k個節點當中選擇最大的作為最終的分類結果。

代碼實現

最后,我們來試著寫一下神經網絡的代碼,由于現在我們還沒有介紹神經網絡的訓練方法,所以我們只能實現它預測的部分。等我們介紹完了反向傳播算法之后,再來補上模型訓練的過程。

如果不考慮反向傳播的話,其實整個算法的代碼非常簡單,只要熟悉Python語法的同學都能看懂。

import numpy as np def relu(x): return np.where(x 》 0, x, 0) def sigmoid(x): return 1 / (1 + np.exp(-x)) class NeuralNetwork(): def __init__(self): self.params = {} self.params[‘W1’] = np.random.rand(2, 3) self.params[‘b1’] = np.random.rand(1, 3) self.params[‘W2’] = np.random.rand(3, 2) self.params[‘b2’] = np.random.rand(1, 2) self.params[‘W3’] = np.random.rand(2, 1) self.params[‘b3’] = np.random.rand(1, 1) def forward(self, x): a1 = np.dot(x, self.params[‘W1’]) + self.params[‘b1’] z1 = relu(a1) a2 = np.dot(z1, self.params[‘W2’]) + self.params[‘b2’] z2 = relu(a2) a3 = np.dot(z2, self.params[‘W3’]) + self.params[‘b3’] return np.where(sigmoid(a3) 》 0.5, 1, 0) if __name__ == “__main__”: nn = NeuralNetwork() print(nn.forward(np.array([3, 2])))

責任編輯:PSY

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

    關注

    42

    文章

    4771

    瀏覽量

    100773
  • 感知器
    +關注

    關注

    0

    文章

    34

    瀏覽量

    11841
  • 深度學習
    +關注

    關注

    73

    文章

    5503

    瀏覽量

    121170
收藏 人收藏

    評論

    相關推薦

    多層感知神經網絡的區別

    多層感知(Multilayer Perceptron, MLP)與神經網絡之間的區別,實際上在一定程度上是特殊與一般的關系。多層感知
    的頭像 發表于 07-11 17:23 ?1936次閱讀

    BP神經網絡和卷積神經網絡的關系

    BP神經網絡(Backpropagation Neural Network)和卷積神經網絡(Convolutional Neural Network,簡稱CNN)是兩種在人工智能和機器學習領域
    的頭像 發表于 07-10 15:24 ?1518次閱讀

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

    BP神經網絡和人工神經網絡(Artificial Neural Networks,簡稱ANNs)之間的關系與區別,是神經網絡領域中一個基礎且重要的話題。本文將從定義、結構、算法、應用及未來發展等多個方面,詳細闡述BP
    的頭像 發表于 07-10 15:20 ?1073次閱讀

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

    RNN(Recurrent Neural Network)是循環神經網絡,而非遞歸神經網絡。循環神經網絡是一種具有時間序列特性的神經網絡,能夠處理序列數據,具有記憶功能。以下是關于循環
    的頭像 發表于 07-05 09:52 ?578次閱讀

    人工神經網絡模型包含哪些層次

    人工神經網絡(Artificial Neural Network,ANN)是一種模擬人腦神經網絡的計算模型,具有自適應、自學習、泛化能力強等特點。本文將詳細介紹人工神經網絡模型的各個層次,包括
    的頭像 發表于 07-05 09:17 ?596次閱讀

    人工神經網絡模型訓練的基本原理

    圖像識別、語音識別、自然語言處理等。本文將介紹人工神經網絡模型訓練的基本原理。 1. 神經網絡的基本概念 1.1 神經神經元是神經網絡
    的頭像 發表于 07-05 09:16 ?673次閱讀

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

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

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

    循環神經網絡(Recurrent Neural Network,RNN)和卷積神經網絡(Convolutional Neural Network,CNN)是深度學習領域中兩種非常重要的神經網絡
    的頭像 發表于 07-04 14:24 ?1300次閱讀

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

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

    人工智能神經網絡模型有哪些

    人工智能神經網絡模型是一類受人腦啟發的計算模型,它們在許多領域都取得了顯著的成功。以下是一些常見的神經網絡模型: 感知(Perceptron) :
    的頭像 發表于 07-04 09:41 ?615次閱讀

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

    反向傳播神經網絡(Backpropagation Neural Network,簡稱BP神經網絡)是一種多層前饋神經網絡,它通過反向傳播算法來調整網絡中的權重和偏置,以達到最小化誤差的
    的頭像 發表于 07-03 11:00 ?808次閱讀

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

    BP神經網絡(Backpropagation Neural Network)和卷積神經網絡(Convolutional Neural Network,簡稱CNN)是兩種不同類型的人工神經網絡,它們在
    的頭像 發表于 07-03 10:12 ?1186次閱讀

    神經網絡算法的結構有哪些類型

    : 多層感知器(MLP) 多層感知器是最基本和最簡單的神經網絡結構,它由輸入層、隱藏層和輸出層組成。每個神經元都通過權重和偏置與前一層的神經
    的頭像 發表于 07-03 09:50 ?452次閱讀

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

    卷積神經網絡(Convolutional Neural Networks,簡稱CNN)和BP神經網絡(Backpropagation Neural Networks,簡稱BPNN)是兩種
    的頭像 發表于 07-02 14:24 ?3988次閱讀

    深度神經網絡模型有哪些

    模型: 多層感知器(Multilayer Perceptron,MLP): 多層感知器是最基本的深度神經網絡模型,由多個全連接層組成。每個隱藏層的神經元數量可以不同,通常使用激活函數如
    的頭像 發表于 07-02 10:00 ?1411次閱讀
    主站蜘蛛池模板: 亚洲小便| 免费黄视频在线观看| 4388x17亚洲最大成人网| 在线另类| 亚洲综合色吧| 女69porin18| 亚洲视频1| 国产69久久精品成人看| 亚洲国产成人在人网站天堂| 午夜免费福利片| 日日噜噜夜夜狠狠tv视频免费| 日本成人资源| 国产在线97色永久免费视频| 一级精品视频| 久久国产乱子伦精品免费午夜| aaa在线| 久久99国产精品免费观看| 亚洲第九页| 高清国产在线观看| 天天综合网天天做天天受| 恨恨操| 日本免费一区视频| 特级毛片aaaa免费观看| 欧美zooz人与禽交| 99久久综合狠狠综合久久男同| 天天操天天操天天射| 欧美涩区| 日本黄色片www| 欧美福利二区| 一二三区视频| 特级片网站| 午夜小福利| 欧美在线网站| 日本黄色一级大片| 日日拍拍| 免费看黄视频网站| 黄a网站| 加勒比精品视频| 婷婷社区五月天| 成人在线网| 91久久国产青草亚洲|