自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

關(guān)于神經(jīng)網(wǎng)絡(luò):你需要知道這些

開發(fā) 開發(fā)工具 深度學(xué)習(xí)
神經(jīng)網(wǎng)絡(luò)(NN)幾乎可以在每個領(lǐng)域幫助我們用創(chuàng)造性的方式解決問題。本文將介紹神經(jīng)網(wǎng)絡(luò)的相關(guān)知識。讀后你將對神經(jīng)網(wǎng)絡(luò)有個大概了解,它是如何工作的?如何創(chuàng)建神經(jīng)網(wǎng)絡(luò)?

神經(jīng)網(wǎng)絡(luò)(NN)幾乎可以在每個領(lǐng)域幫助我們用創(chuàng)造性的方式解決問題。本文將介紹神經(jīng)網(wǎng)絡(luò)的相關(guān)知識。讀后你將對神經(jīng)網(wǎng)絡(luò)有個大概了解,它是如何工作的?如何創(chuàng)建神經(jīng)網(wǎng)絡(luò)?

一、神經(jīng)網(wǎng)絡(luò)的發(fā)展歷史

我們簡單回顧一下神經(jīng)網(wǎng)絡(luò)的發(fā)展歷程,如果你想了解更多關(guān)于其發(fā)展歷程的信息,請看這篇維基百科的文章

(https://en.wikipedia.org/wiki/Artificial_neural_network#History),它是本章節(jié)的基礎(chǔ)。

神經(jīng)網(wǎng)絡(luò)起源于 WarrenMcCulloch 和 Walter Pitts 于 1943 年首次建立的神經(jīng)網(wǎng)絡(luò)模型。他們的模型完全基于數(shù)學(xué)和算法,由于缺乏計算資源,模型無法測試。

后來,在 1958 年,F(xiàn)rank Rosenblatt 創(chuàng)建了第一個可以進(jìn)行模式識別的模型,改變了現(xiàn)狀。即感知器。但是他只提出了 notation 和模型。實際的神經(jīng)網(wǎng)絡(luò)模型仍然無法測試,此前的相關(guān)研究也較少。

第一批可以測試并具有多個層的神經(jīng)網(wǎng)絡(luò)于 1965 年由 Alexey Ivakhnenko 和 Lapa 創(chuàng)建。

之后,由于機(jī)器學(xué)習(xí)模型具有很強(qiáng)可行性,神經(jīng)網(wǎng)絡(luò)的研究停滯不前。很多人認(rèn)為這是因為 Marvin Minsky 和 Seymour Papert 在 1969 年完成的書《感知機(jī)》(Perceptrons)導(dǎo)致的。

然而,這個停滯期相對較短。6 年后,即 1975 年,Paul Werbos 提出反向傳播,解決了 XOR 問題,并且使神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)效率更高。

1992 年,最大池化(max-pooling)被提出,這有助于 3D 目標(biāo)識別,因為它具備平移不變性,對變形具備一定魯棒性。

2009 年至 2012 年間,JürgenSchmidhuber 研究小組創(chuàng)建的循環(huán)神經(jīng)網(wǎng)絡(luò)和深度前饋神經(jīng)網(wǎng)絡(luò)獲得了模式識別和機(jī)器學(xué)習(xí)領(lǐng)域 8 項國際競賽的冠軍。

2011 年,深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)開始將卷積層與最大池化層合并,然后將其輸出傳遞給幾個全連接層,再傳遞給輸出層。這些被稱為卷積神經(jīng)網(wǎng)絡(luò)。

在這之后還有更多的研究。

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

了解神經(jīng)網(wǎng)絡(luò)的一個好方法是將它看作復(fù)合函數(shù)。你輸入一些數(shù)據(jù),它會輸出一些數(shù)據(jù)。

三個部分組成了神經(jīng)網(wǎng)絡(luò)的的基本架構(gòu):

  • 單元/神經(jīng)元
  • 連接/權(quán)重/參數(shù)
  • 偏置項

你可以把它們看作建筑物的「磚塊」。根據(jù)你希望建筑物擁有的功能來安排磚塊的位置。水泥是權(quán)重。無論權(quán)重多大,如果沒有足夠的磚塊,建筑物還是會倒塌。然而,你可以讓建筑以最小的精度運行(使用最少的磚塊),然后逐步構(gòu)建架構(gòu)來解決問題。

我將在后面的章節(jié)中更多地討論權(quán)重、偏置項和單元。

1. 單元/神經(jīng)元

作為神經(jīng)網(wǎng)絡(luò)架構(gòu)三個部分中最不重要的部分,神經(jīng)元是包含權(quán)重和偏置項的函數(shù),等待數(shù)據(jù)傳遞給它們。接收數(shù)據(jù)后,它們執(zhí)行一些計算,然后使用激活函數(shù)將數(shù)據(jù)限制在一個范圍內(nèi)(多數(shù)情況下)。

我們將這些單元想象成一個包含權(quán)重和偏置項的盒子。盒子從兩端打開。一端接收數(shù)據(jù),另一端輸出修改后的數(shù)據(jù)。數(shù)據(jù)首先進(jìn)入盒子中,將權(quán)重與數(shù)據(jù)相乘,再向相乘的數(shù)據(jù)添加偏置項。這是一個單元,也可以被認(rèn)為是一個函數(shù)。該函數(shù)與下面這個直線方程類似:

直線方程

想象一下有多個直線方程,超過 2 個可以促進(jìn)神經(jīng)網(wǎng)絡(luò)中的非線性。從現(xiàn)在開始,你將為同一個數(shù)據(jù)點(輸入)計算多個輸出值。這些輸出值將被發(fā)送到另一個單元,然后神經(jīng)網(wǎng)絡(luò)會計算出最終輸出值。

2. 權(quán)重/參數(shù)/連接

作為神經(jīng)網(wǎng)絡(luò)最重要的部分,這些(和偏置項)是用神經(jīng)網(wǎng)絡(luò)解決問題時必須學(xué)習(xí)的數(shù)值。這就是你現(xiàn)在需要知道的。

3. 偏置項

這些數(shù)字代表神經(jīng)網(wǎng)絡(luò)認(rèn)為其在將權(quán)重與數(shù)據(jù)相乘之后應(yīng)該添加的內(nèi)容。當(dāng)然,它們經(jīng)常出錯,但神經(jīng)網(wǎng)絡(luò)隨后也學(xué)習(xí)到最佳偏置項。

4. 超參數(shù)

超參數(shù)必須手動設(shè)置。如果將神經(jīng)網(wǎng)絡(luò)看作一臺機(jī)器,那么改變機(jī)器行為的 nob 就是神經(jīng)網(wǎng)絡(luò)的超參數(shù)。

你可以閱讀我的另一篇文章

(https://towardsdatascience.com/gas-and-nns-6a41f1e8146d),了解如何優(yōu)化神經(jīng)網(wǎng)絡(luò)超參數(shù)。

5. 激活函數(shù)

也稱為映射函數(shù)(mapping function)。它們在 x 軸上輸入數(shù)據(jù),并在有限的范圍內(nèi)(大部分情況下)輸出一個值。大多數(shù)情況下,它們被用于將單元的較大輸出轉(zhuǎn)換成較小的值。你選擇的激活函數(shù)可以大幅提高或降低神經(jīng)網(wǎng)絡(luò)的性能。如果你喜歡,你可以為不同的單元選擇不同的激活函數(shù)。

以下是一些常見的激活函數(shù):

(1) Sigmoid

Sigmoid 函數(shù)

Sigmoid 函數(shù)

(2) Tanh

tanh 函數(shù)

tanh 函數(shù)

(3) ReLU:修正線性單元

修正線性單元函數(shù)

修正線性單元函數(shù)

(4) Leaky ReLU

Leaky ReLU 函數(shù)

Leaky ReLU 函數(shù)

5. 層

這是神經(jīng)網(wǎng)絡(luò)在任何問題中都可獲得復(fù)雜度的原因。增加層(具備單元)可增加神經(jīng)網(wǎng)絡(luò)輸出的非線性。

每個層都包含一定數(shù)量的單元。大多數(shù)情況下單元的數(shù)量完全取決于創(chuàng)建者。但是,對于一個簡單的任務(wù)而言,層數(shù)過多會增加不必要的復(fù)雜性,且在大多數(shù)情況下會降低其準(zhǔn)確率。反之亦然。

每個神經(jīng)網(wǎng)絡(luò)有兩層:輸入層和輸出層。二者之間的層稱為隱藏層。下圖所示的神經(jīng)網(wǎng)絡(luò)包含一個輸入層(8 個單元)、一個輸出層(4 個單元)和 3 個隱藏層(每層包含 9 個單元)。

層

深度神經(jīng)網(wǎng)絡(luò)

具有兩個或更多隱藏層且每層包含大量單元的神經(jīng)網(wǎng)絡(luò)稱為深度神經(jīng)網(wǎng)絡(luò),它催生了深度學(xué)習(xí)這一新的學(xué)習(xí)領(lǐng)域。上圖所示神經(jīng)網(wǎng)絡(luò)就是這樣一個例子。

三、神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)時發(fā)生了什么?

教神經(jīng)網(wǎng)絡(luò)解決問題的最常見方式是使用梯度下降。梯度下降相關(guān)內(nèi)容,參見:

https://hackernoon.com/gradient-descent-aynk-7cbe95a778da。

除梯度下降外,另一種常見的訓(xùn)練神經(jīng)網(wǎng)絡(luò)方法是使用反向傳播。使用這種方法,神經(jīng)網(wǎng)絡(luò)輸出層的誤差會通過微積分中的鏈?zhǔn)揭?guī)則向后傳播。這對于沒有微積分知識的初學(xué)者來說可能會難以理解,但也不要被嚇倒,反向傳播相關(guān)內(nèi)容,推薦閱讀:

http://neuralnetworksanddeeplearning.com/chap2.html。

訓(xùn)練神經(jīng)網(wǎng)絡(luò)有許多注意事項。但對于初學(xué)者來說,沒有必要在一篇文章中了解全部。

四、實現(xiàn)細(xì)節(jié)(如何管理項目中的所有因素)

為了解釋如何管理項目中的所有因素,我創(chuàng)建了一個 Jupyter Notebook,包含一個學(xué)習(xí) XOR 邏輯門的小型神經(jīng)網(wǎng)絡(luò)。Jupyter Notebook 地址:https://github.com/Frixoe/xor-neural-network/blob/master/XOR-Net-Notebook.ipynb。

在查看并理解 Notebook 內(nèi)容后,你應(yīng)該對如何構(gòu)建基礎(chǔ)神經(jīng)網(wǎng)絡(luò)有一個大致的了解。

Notebook 創(chuàng)建的神經(jīng)網(wǎng)絡(luò)的訓(xùn)練數(shù)據(jù)以矩陣排列,這是常見的數(shù)據(jù)排列方式。不同項目中的矩陣維度可能會有所不同。

大量數(shù)據(jù)通常分為兩類:訓(xùn)練數(shù)據(jù)(60%)和測試數(shù)據(jù)(40%)。神經(jīng)網(wǎng)絡(luò)先使用訓(xùn)練數(shù)據(jù),然后在測試數(shù)據(jù)上測試網(wǎng)絡(luò)的準(zhǔn)確率。

五、關(guān)于神經(jīng)網(wǎng)絡(luò)的更多信息(更多資源鏈接)

如果你仍然無法理解神經(jīng)網(wǎng)絡(luò),那么推薦以下資源:

YouTube:

  • Siraj Raval (https://www.youtube.com/channel/UCWN3xxRkmTPmbKwht9FuE5A)
  • 3Blue1Brown (https://www.youtube.com/channel/UCYO_jab_esuFRV4b17AJtAw)
  • The Coding Train (https://www.youtube.com/playlist?list=PLRqwX-V7Uu6aCibgK1PTWWu9by6XFdCfh)
  • Brandon Rohrer (https://www.youtube.com/channel/UCsBKTrp45lTfHa_p49I2AEQ)
  • giant_neural_network (https://www.youtube.com/channel/UCrBzGHKmGDcwLFnQGHJ3XYg)
  • Hugo Larochelle (https://www.youtube.com/channel/UCiDouKcxRmAdc5OeZdiRwAg)
  • Jabrils (https://www.youtube.com/channel/UCQALLeQPoZdZC4JNUboVEUg)
  • Luis Serrano (https://www.youtube.com/channel/UCgBncpylJ1kiVaPyP-PZauQ)

Coursera:

  • Neural Networks for Machine Learning (https://www.coursera.org/learn/neural-networks) by University of Toronto
  • Deep Learning Specialization (https://www.coursera.org/specializations/deep-learning) by Andrew Ng
  • Introduction to Deep Learning (https://www.coursera.org/learn/intro-to-deep-learning) by National Research University Higher School of Economics

原文鏈接:https://towardsdatascience.com/nns-aynk-c34efe37f15a

【本文是51CTO專欄機(jī)構(gòu)“機(jī)器之心”的原創(chuàng)譯文,微信公眾號“機(jī)器之心( id: almosthuman2014)”】

戳這里,看該作者更多好文

責(zé)任編輯:趙寧寧 來源: 51CTO專欄
相關(guān)推薦

2018-02-08 08:08:12

2018-01-03 11:35:34

推送AndroidiOS

2016-01-20 09:44:22

物聯(lián)網(wǎng)標(biāo)準(zhǔn)

2017-10-02 10:39:48

2020-09-17 16:08:29

網(wǎng)絡(luò)安全數(shù)據(jù)技術(shù)

2023-01-30 11:43:04

開源代碼

2022-04-28 12:17:26

瀏覽器連字符hyphens

2021-05-08 11:16:44

手機(jī)快充技術(shù)

2018-07-03 14:40:31

2016-11-17 18:37:44

機(jī)房建設(shè)

2017-03-28 15:47:17

數(shù)據(jù)治理數(shù)據(jù)庫

2014-07-31 17:13:50

編碼程序員

2022-12-29 11:42:27

2023-10-31 12:43:00

Wi-Fi 7無線技術(shù)

2015-06-30 10:59:22

MobileWeb適配

2023-02-10 08:44:05

KafkaLinkedIn模式

2015-07-15 10:26:29

2018-01-09 15:44:57

2020-05-07 10:14:00

企業(yè)架構(gòu)師CIOIT網(wǎng)絡(luò)

2022-09-01 15:26:45

物聯(lián)網(wǎng)人工智能傳感器
點贊
收藏

51CTO技術(shù)棧公眾號