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

神經(jīng)網(wǎng)絡(luò)和數(shù)學(xué)之間的聯(lián)系在哪里?看完你就明白

移動(dòng)開發(fā) 深度學(xué)習(xí)
在我們了解過神經(jīng)網(wǎng)絡(luò)的人中,都了解神經(jīng)網(wǎng)絡(luò)一個(gè)有很常見的訓(xùn)練方法,BP 訓(xùn)練算法。通過 BP 算法,我們可以不斷的訓(xùn)練網(wǎng)絡(luò),最終使得網(wǎng)絡(luò)可以無(wú)限的逼近一種我們想要擬合的函數(shù),最終訓(xùn)練好的網(wǎng)絡(luò)它既能在訓(xùn)練集上表現(xiàn)好,也能在測(cè)試集上表現(xiàn)不錯(cuò)!

在我們了解過神經(jīng)網(wǎng)絡(luò)的人中,都了解神經(jīng)網(wǎng)絡(luò)一個(gè)有很常見的訓(xùn)練方法,BP 訓(xùn)練算法。通過 BP 算法,我們可以不斷的訓(xùn)練網(wǎng)絡(luò),最終使得網(wǎng)絡(luò)可以無(wú)限的逼近一種我們想要擬合的函數(shù),最終訓(xùn)練好的網(wǎng)絡(luò)它既能在訓(xùn)練集上表現(xiàn)好,也能在測(cè)試集上表現(xiàn)不錯(cuò)!

那么 BP 算法具體是什么呢?為什么通過 BP 算法,我們就可以一步一步的走向最優(yōu)值(即使有可能是局部最優(yōu),不是全局最優(yōu),我們也可以通過其它的方法也達(dá)到全局最優(yōu)),有沒有一些什么數(shù)學(xué)原理在里面支撐呢?這幾天梳理了一下這方面的知識(shí)點(diǎn),寫下來(lái),一是為了記錄,二也可以分享給大家,防止理解錯(cuò)誤,一起學(xué)習(xí)交流。

BP 算法具體是什么,可以參考我這篇文章知乎專欄(詳細(xì)的將 BP 過程走了一遍,加深理解),那么下面解決這個(gè)問題,為什么通過 BP 算法,就可以一步一步的走向更好的結(jié)果。首先我們從神經(jīng)網(wǎng)絡(luò)的運(yùn)行原理來(lái)看,假如現(xiàn)在有下面這個(gè)簡(jiǎn)單的網(wǎng)絡(luò),如圖:

網(wǎng)絡(luò)

我們定義符號(hào)說(shuō)明如下:

定義符號(hào)說(shuō)明

則我們正向傳播一次可以得到下面公式:

神經(jīng)網(wǎng)絡(luò)和數(shù)學(xué)之間的聯(lián)系在哪里?看完你就明白

神經(jīng)網(wǎng)絡(luò)和數(shù)學(xué)之間的聯(lián)系在哪里?看完你就明白

神經(jīng)網(wǎng)絡(luò)和數(shù)學(xué)之間的聯(lián)系在哪里?看完你就明白

神經(jīng)網(wǎng)絡(luò)和數(shù)學(xué)之間的聯(lián)系在哪里?看完你就明白

神經(jīng)網(wǎng)絡(luò)和數(shù)學(xué)之間的聯(lián)系在哪里?看完你就明白

神經(jīng)網(wǎng)絡(luò)和數(shù)學(xué)之間的聯(lián)系在哪里?看完你就明白
 

如果損失函數(shù) C 定義為

神經(jīng)網(wǎng)絡(luò)和數(shù)學(xué)之間的聯(lián)系在哪里?看完你就明白

那么我們希望訓(xùn)練出來(lái)的網(wǎng)絡(luò)預(yù)測(cè)出來(lái)的值和真實(shí)的值越接近越好。我們先暫時(shí)不管 SGD 這種方法,最暴力的我們希望對(duì)于一個(gè)訓(xùn)練數(shù)據(jù),C 能達(dá)到最小,而在 C 表達(dá)式中,我們可以把 C 表達(dá)式看做是所有 w 參數(shù)的函數(shù),也就是求這個(gè)多元函數(shù)的最值問題。那么成功的將一個(gè)神經(jīng)網(wǎng)絡(luò)的問題引入到數(shù)學(xué)中最優(yōu)化的路上了。

---------------------------分割線---------------------------

好,我們現(xiàn)在順利的將一個(gè)神經(jīng)網(wǎng)絡(luò)要解決的事情轉(zhuǎn)變?yōu)橐粋€(gè)多元函數(shù)的最優(yōu)化上面來(lái)了?,F(xiàn)在的問題是怎么修改 w,來(lái)使得 C 越來(lái)越往最小值靠近呢。常見的方法我們可以采取梯度下降法(為什么梯度下降法中梯度的反方向是最快的方向,可以參考我下篇文章,不是這篇文章主旨)??赡艿竭@還有點(diǎn)抽象,下面舉一個(gè)特別簡(jiǎn)單的例子。

假如我們的網(wǎng)絡(luò)非常簡(jiǎn)單,如下圖(符號(hào)說(shuō)明跟上面一樣):

 

網(wǎng)絡(luò)2

那么我們可以得到:

神經(jīng)網(wǎng)絡(luò)和數(shù)學(xué)之間的聯(lián)系在哪里?看完你就明白

其中

神經(jīng)網(wǎng)絡(luò)和數(shù)學(xué)之間的聯(lián)系在哪里?看完你就明白

只有 w 參數(shù)是未知的,那么 C 就可以看做是關(guān)于 w 的二元函數(shù)(二元函數(shù)的好處就是我們可以在三維坐標(biāo)上將它可視化出來(lái),便于理解~)。 圖片來(lái)自于網(wǎng)絡(luò):

坐標(biāo)

下面走一遍算法過程:

我們先開始隨機(jī)初始化 w 參數(shù),相當(dāng)于我們可以在圖上對(duì)應(yīng) A 點(diǎn)。

下面我們的目標(biāo)是到達(dá)最低點(diǎn) F 點(diǎn),于是我們進(jìn)行往梯度反方向進(jìn)行移動(dòng),公式如下:

神經(jīng)網(wǎng)絡(luò)和數(shù)學(xué)之間的聯(lián)系在哪里?看完你就明白

每走一步的步伐大小由前面的學(xué)習(xí)率決定,假如下一步到了 B 點(diǎn),這樣迭代下去,如果全局只有一個(gè)最優(yōu)點(diǎn)的話,我們?cè)诘鷶?shù)次后,可以到達(dá) F 點(diǎn),從而解決我們的問題。

那么好了,上面我們給出二元函數(shù)這種簡(jiǎn)單例子,從分析到最后求出結(jié)果,我們能夠直觀可視化最后的步驟,那么如果網(wǎng)絡(luò)復(fù)雜后,變成多元函數(shù)的最優(yōu)值求法原理是一模一樣的!到此,我結(jié)束了該文要講的知識(shí)點(diǎn)了。 歡迎各位朋友指錯(cuò)交流~

---------------------------分割線---------------------------

在我學(xué)習(xí)的時(shí)候,我已經(jīng)理解了上面的知識(shí)了,但是我在思考既然我最后已經(jīng)得到一個(gè)關(guān)于 w 的多元函數(shù)了,那么我為什么不直接對(duì)每一個(gè) w 進(jìn)行求偏導(dǎo)呢,然后直接進(jìn)行更新即可,為什么神經(jīng)網(wǎng)絡(luò)的火起還需要 bp 算法的提出才復(fù)興呢!我的疑惑就是為什么不可以直接求偏導(dǎo),而必須出現(xiàn) BP 算法之后才使得神經(jīng)網(wǎng)絡(luò)如此的適用呢?下面給出我的思考和理解(歡迎交流~)

1. 為什么不可以直接求導(dǎo)數(shù)?

在神經(jīng)網(wǎng)絡(luò)中,由于激活函數(shù)的存在,很多時(shí)候我們?cè)谧詈蟮拇鷥r(jià)函數(shù)的時(shí)候,包含 w 參數(shù)的代價(jià)函數(shù)并不是線性函數(shù),比如最簡(jiǎn)單的

神經(jīng)網(wǎng)絡(luò)和數(shù)學(xué)之間的聯(lián)系在哪里?看完你就明白

這個(gè)函數(shù)對(duì) w 進(jìn)行求導(dǎo)是無(wú)法得到解析解的,那么說(shuō)明了無(wú)法直接求導(dǎo)的原因。

2. 那么既然我們我們不能夠直接求導(dǎo),我們是否可以近似的求導(dǎo)呢?比如可以利用

神經(jīng)網(wǎng)絡(luò)和數(shù)學(xué)之間的聯(lián)系在哪里?看完你就明白

根據(jù)這個(gè)公式我們可以近似的求出對(duì)每個(gè)參數(shù)的導(dǎo)數(shù),間距越小就越接近,那么為什么不可以這樣,而必須等到 BP 算法提出來(lái)的時(shí)候呢?思考中……

答:是因?yàn)橛?jì)算機(jī)量的問題,假設(shè)我們的網(wǎng)絡(luò)中有 100 萬(wàn)個(gè)權(quán)重,那么我們每一次算權(quán)重的偏導(dǎo)時(shí)候,都需要計(jì)算一遍改變值,而改變值必須要走一遍完整的正向傳播。那么對(duì)于每一個(gè)訓(xùn)練樣例,我們需要 100 萬(wàn)零一次的正向傳播(還有一次是需要算出 C),而我們的 BP 算法求所有參數(shù)的偏導(dǎo)只需要一次反向傳播即可,總共為倆次傳播計(jì)時(shí)。到這里我想已經(jīng)解決了為什么不能夠用近似的辦法,因?yàn)樗俣忍?,?jì)算復(fù)雜度太大了~ 每一次的傳播,如果參數(shù)多的話,每次的矩陣運(yùn)算量非常大,以前的機(jī)器速度根本無(wú)法承受~ 所以直到有了 BP 這個(gè)利器之后,加快了神經(jīng)網(wǎng)絡(luò)的應(yīng)用速度。

以上僅個(gè)人理解,感謝德川的幫助!歡迎知友提出問題交流~
以下是我學(xué)習(xí)用到的資料和博客:
《neural networks and deep learning》需要中文版的歡迎留言郵箱
零基礎(chǔ)入門深度學(xué)習(xí) (1) - 感知器

責(zé)任編輯:張子龍 來(lái)源: 知乎
相關(guān)推薦

2019-05-17 15:48:16

神經(jīng)網(wǎng)絡(luò)卷積神經(jīng)網(wǎng)絡(luò)人工智能

2025-02-28 10:02:34

2021-01-18 14:38:53

神經(jīng)網(wǎng)絡(luò)人工智能神經(jīng)元

2017-07-18 11:40:44

深度神經(jīng)網(wǎng)絡(luò)數(shù)學(xué)基礎(chǔ)拓?fù)?/a>

2020-10-08 18:53:54

以太網(wǎng)Etheme網(wǎng)卡

2020-02-08 16:46:29

微服務(wù)架構(gòu)復(fù)雜

2022-02-25 07:07:04

擴(kuò)展塢電腦筆記本

2020-01-09 15:30:32

微服務(wù)架構(gòu)互聯(lián)網(wǎng)

2025-02-19 15:12:17

神經(jīng)網(wǎng)絡(luò)PyTorch大模型

2023-04-27 14:10:06

2020-01-06 08:40:11

阿里場(chǎng)景服務(wù)

2023-04-19 10:17:35

機(jī)器學(xué)習(xí)深度學(xué)習(xí)

2022-04-22 12:36:11

RNN神經(jīng)網(wǎng)絡(luò))機(jī)器學(xué)習(xí)

2019-11-11 07:49:00

5G套餐運(yùn)營(yíng)商

2017-07-04 11:26:37

2022-02-18 06:56:18

Wi-Fi路由器局域網(wǎng)

2019-10-17 08:51:00

Java悲觀鎖Monitor

2022-08-26 00:00:00

數(shù)據(jù)庫(kù)數(shù)據(jù)倉(cāng)庫(kù)OLAP

2023-09-25 12:32:25

2021-06-22 09:46:52

神經(jīng)網(wǎng)絡(luò)人工智能深度學(xué)習(xí)
點(diǎn)贊
收藏

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