蜜桃av色欲a片精品一区,麻豆aⅴ精品无码一区二区,亚洲人成网站在线播放影院在线,亚洲 素人 字幕 在线 最新

微立頂科技

新聞資訊

創(chuàng)新 服務(wù) 價(jià)值

  簡單聊聊梯度下降與反向傳播算法

發(fā)布日期:2022/6/16 13:40:52      瀏覽量:

作者: Richmond Alake 翻譯:陳之炎 校對(duì):zrx

本文約3300字,建議閱讀5分鐘

本文旨在為數(shù)據(jù)科學(xué)家提供一些基礎(chǔ)知識(shí),以理解在訓(xùn)練神經(jīng)網(wǎng)絡(luò)時(shí)所需調(diào)用的底層函數(shù)和方法。

標(biāo)簽:神經(jīng)網(wǎng)絡(luò),梯度下降,反向傳播


人工神經(jīng)網(wǎng)絡(luò)[ANN)是人工智能技術(shù)的基礎(chǔ),同時(shí)也是機(jī)器學(xué)習(xí)模型的基礎(chǔ)。它們模擬人類大腦的學(xué)習(xí)過程,賦予機(jī)器完成特定類人任務(wù)的能力。

數(shù)據(jù)科學(xué)家的目標(biāo)是利用公開數(shù)據(jù)來解決商業(yè)問題。通常,利用機(jī)器學(xué)習(xí)算法來識(shí)別模式,用算法模型實(shí)現(xiàn)預(yù)測。如何為特定的用例選擇正確的模型,并適當(dāng)?shù)卣{(diào)整參數(shù)?這需要對(duì)問題和底層算法有清晰的理解,即充分理解問題和算法,確保使用正確模型,并正確解釋結(jié)果。

本文介紹并解釋了梯度下降算法和反向傳播算法。人工神經(jīng)網(wǎng)絡(luò)利用這些算法學(xué)習(xí)數(shù)據(jù)集,當(dāng)神經(jīng)網(wǎng)絡(luò)中數(shù)據(jù)發(fā)生變化時(shí),應(yīng)如何去修正網(wǎng)絡(luò)參數(shù)。

建立直覺

在深入探討技術(shù)細(xì)節(jié)之前,首先來看看人類如何學(xué)習(xí)。

人類大腦的學(xué)習(xí)過程是復(fù)雜的,當(dāng)前的研究工作只涉及到人類學(xué)習(xí)方式的表像。然而,已知的研究結(jié)果對(duì)構(gòu)建模型非常有價(jià)值,與機(jī)器不同,在做邏輯預(yù)測時(shí),人類無需借助大量的數(shù)據(jù)來解決問題,人們直接從經(jīng)驗(yàn)和錯(cuò)誤中吸取教訓(xùn)。

人類通過突觸可塑性的過程來學(xué)習(xí),突觸可塑性是一個(gè)術(shù)語,用來描述在獲得新的信息后,如何形成和加強(qiáng)新的神經(jīng)連接。當(dāng)人類經(jīng)歷新事件時(shí),大腦中的連接會(huì)加強(qiáng),通過訓(xùn)練人工神經(jīng)網(wǎng)絡(luò),計(jì)算出預(yù)測的錯(cuò)誤率,在此基礎(chǔ)上來決策是加強(qiáng)或削弱神經(jīng)元之間的內(nèi)部連接。

梯度下降

梯度下降算法是一種標(biāo)準(zhǔn)的優(yōu)化算法,通常,它是機(jī)器學(xué)習(xí)優(yōu)化算法的首選算法。首先,來剖析一下術(shù)語“梯度下降”,以更好地理解它與機(jī)器學(xué)習(xí)算法之間的關(guān)系。

梯度是直線或曲線陡峭程度的量化度量,在數(shù)學(xué)上,它表示一條直線的上升或下降的方向。下降是指向下走的行為。因此,從這個(gè)術(shù)語的定義可以得出:梯度下降算法是對(duì)向下運(yùn)動(dòng)程度的量化。

為了訓(xùn)練一個(gè)機(jī)器學(xué)習(xí)算法,需要識(shí)別網(wǎng)絡(luò)中的權(quán)重和偏差,這將有助于問題的解決。例如,在分類問題中,當(dāng)查看圖像時(shí),需要確定圖像是否為貓或狗。為此,必須構(gòu)建模型,將需求建模為函數(shù),更具體地說,是成本函數(shù)。成本函數(shù)又稱為損失函數(shù),利用成本函數(shù)衡量模型的出錯(cuò)程度。成本函數(shù)的偏導(dǎo)數(shù)影響模型的權(quán)重和偏差。

梯度下降是一種算法,用于搜索使成本函數(shù)最小化或準(zhǔn)確度最優(yōu)的那些參數(shù)。

神經(jīng)網(wǎng)絡(luò)中的成本函數(shù)、梯度下降和反向傳播

神經(jīng)網(wǎng)絡(luò)令人印象深刻,同樣令人印象深刻的是:在尚未明確告知要檢測的特征的情況下,計(jì)算程序能夠區(qū)分圖像和圖像中的對(duì)象。

把神經(jīng)網(wǎng)絡(luò)看作是一個(gè)接收輸入(數(shù)據(jù))的函數(shù),并生成一種輸出預(yù)測,該函數(shù)的變量便是神經(jīng)元的參數(shù)或權(quán)重。

因此,神經(jīng)網(wǎng)絡(luò)的關(guān)鍵任務(wù)是以一種近似或最佳的方式來調(diào)整數(shù)據(jù)集的權(quán)重和偏差值。

下圖描述了一個(gè)簡單的神經(jīng)網(wǎng)絡(luò),它接收輸入(X1、X2、X3、Xn),將這些輸入推送給包含權(quán)值(W1、W2、W3、Wn)的神經(jīng)元。輸入和權(quán)值經(jīng)過乘法運(yùn)算,結(jié)果由加法器()求和,激活函數(shù)調(diào)節(jié)該層的最終輸出。

圖1:作者創(chuàng)建的淺層神經(jīng)網(wǎng)絡(luò)圖

為了評(píng)估神經(jīng)網(wǎng)絡(luò)的性能,需要一種機(jī)制來量化神經(jīng)網(wǎng)絡(luò)預(yù)測值和實(shí)際數(shù)據(jù)樣本值之間的差異,從而計(jì)算出影響神經(jīng)網(wǎng)絡(luò)內(nèi)權(quán)重和偏差的修正因子。

成本函數(shù)填補(bǔ)了神經(jīng)網(wǎng)絡(luò)的預(yù)測值與數(shù)據(jù)樣本的實(shí)際值之間的誤差距離。

打開網(wǎng)易新聞 查看更多圖片 

圖2:神經(jīng)網(wǎng)絡(luò)內(nèi)部連接和預(yù)測描述

上圖描述了一個(gè)簡單的密集連接神經(jīng)元的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),它對(duì)包含數(shù)字0-3的圖像進(jìn)行分類。輸出層中的每個(gè)神經(jīng)元都對(duì)應(yīng)一個(gè)數(shù)字,與神經(jīng)元連接的激活程度越高,神經(jīng)元輸出的概率就越高,該概率為通過前饋網(wǎng)絡(luò)的數(shù)字與被激活的神經(jīng)元相關(guān)聯(lián)的概率。

當(dāng)數(shù)字 “3”通過網(wǎng)絡(luò)前饋時(shí),將為 “3”分類的連接(由圖中的箭頭表示)分配更高的激活,使得輸出與數(shù)字“3”神經(jīng)元關(guān)聯(lián)的概率更大。

負(fù)責(zé)神經(jīng)元的激活,即偏差、權(quán)重和前一層的激活的組件有不少,這些特定的組件經(jīng)過迭代修正,使得神經(jīng)網(wǎng)絡(luò)在特定的數(shù)據(jù)集上執(zhí)行最優(yōu)操作。

利用“均方誤差”成本函數(shù),獲取神經(jīng)網(wǎng)絡(luò)的誤差信息,通過網(wǎng)絡(luò)的權(quán)值和偏差,將這些信息后向傳播給神經(jīng)網(wǎng)絡(luò)進(jìn)行更新。

神經(jīng)網(wǎng)絡(luò)使用的成本函數(shù)示例:

? 均方誤差

? 分類交叉熵

? 二進(jìn)制交叉熵

? 對(duì)數(shù)損失

在討論完如何通過一種網(wǎng)絡(luò)預(yù)測技術(shù)來提高神經(jīng)網(wǎng)絡(luò)的性能之后,下文將集中討論梯度下降、反向傳播和成本函數(shù)之間的關(guān)系。

圖3繪制了x和y軸上的成本函數(shù),該成本函數(shù)保存函數(shù)參數(shù)空間內(nèi)的全部數(shù)值。接下來,讓我們來看看神經(jīng)網(wǎng)絡(luò)是如何通過成本函數(shù)可視化來實(shí)現(xiàn)學(xué)習(xí),曲線為神經(jīng)網(wǎng)絡(luò)參數(shù)空間內(nèi)分布不均勻的權(quán)重/參數(shù)值。

圖3:可視化之后的梯度下降

上圖中的藍(lán)色點(diǎn)表示搜索局部最小值時(shí)進(jìn)行的一個(gè)步驟(成本函數(shù)中求參數(shù)值)。模型成本函數(shù)的最低點(diǎn)對(duì)應(yīng)于使成本函數(shù)最小的權(quán)重值的位置。成本函數(shù)越小,神經(jīng)網(wǎng)絡(luò)的性能越好。因此,可以根據(jù)上圖中獲取到的信息來修改網(wǎng)絡(luò)的權(quán)重。

梯度下降是一種引導(dǎo)在每個(gè)步長中選取接近最小值的算法。

  • 局部最小值:成本函數(shù)在指定范圍內(nèi)的最小參數(shù)值。

  • 全局最小值:成本函數(shù)全域內(nèi)的最小參數(shù)值。

梯度下降算法通過計(jì)算可微函數(shù)的梯度并沿梯度的相反方向移動(dòng),搜索使得局部/全局函數(shù)最小化的那個(gè)值。

反向傳播是通過對(duì)影響神經(jīng)元輸出的組件(偏差、權(quán)重、激活)進(jìn)行迭代調(diào)整,從而使得成本函數(shù)變小的機(jī)制。在神經(jīng)網(wǎng)絡(luò)的架構(gòu)中,神經(jīng)元的輸入,包括與前一層神經(jīng)元的所有連接,決定了它的輸出。

反向傳播所涉及的關(guān)鍵數(shù)學(xué)公式是導(dǎo)數(shù)的計(jì)算。反向傳播算法計(jì)算成本函數(shù)相對(duì)于權(quán)重、偏差和前一層激活的偏導(dǎo)數(shù),以確定哪些值影響成本函數(shù)的梯度。

圖4:誤差的向后傳播 圖片來源:《深度學(xué)習(xí)》,第三章,3藍(lán)1棕

通過計(jì)算梯度,最小化成本函數(shù),得到一個(gè)局部最小值。在每次迭代或訓(xùn)練步長中,根據(jù)計(jì)算出的梯度對(duì)網(wǎng)絡(luò)的權(quán)值以及學(xué)習(xí)率進(jìn)行更新,它控制著權(quán)值的修改因子。在神經(jīng)網(wǎng)絡(luò)的訓(xùn)練階段,每個(gè)步長都重復(fù)這個(gè)過程。理想情況下,目標(biāo)是在經(jīng)過一個(gè)步長之后,會(huì)更加接近局部最小值。

“反向傳播”這個(gè)名稱來自于進(jìn)程的字面意思,即“誤差的反向傳播”,梯度的偏導(dǎo)數(shù)對(duì)誤差進(jìn)行量化。通過網(wǎng)絡(luò)向后傳播誤差,利用最后一層(最接近輸出層的層)梯度的偏導(dǎo)數(shù)來計(jì)算第二層到最后一層的梯度。

利用當(dāng)前層中前一層的梯度的偏導(dǎo)數(shù)確定誤差在各層中的傳播,一直傳播到網(wǎng)絡(luò)中的第一層(與輸入層最近的層)。

小結(jié)

這只是一個(gè)關(guān)于梯度下降算法的入門介紹,梯度下降算法還涉及到數(shù)學(xué)和微積分知識(shí)。

雖然諸如TensorFlow、SciKit-Learn、PyTorch等軟件包已經(jīng)將復(fù)雜的訓(xùn)練和優(yōu)化算法進(jìn)行了抽象,然而,這并未降低數(shù)據(jù)科學(xué)家和ML從業(yè)者充分理解這些智能“黑盒子”幕后細(xì)節(jié)的要求。

想要了解更多與反向傳播算法相關(guān)的數(shù)學(xué)知識(shí)嗎?以下資源供參考:

  • 神經(jīng)網(wǎng)絡(luò):通過反向傳播進(jìn)行訓(xùn)練

  • 反向傳播

  • 反向傳播算法的工作原理

通過學(xué)習(xí)英偉達(dá)深度學(xué)習(xí)研究所的各種課程,深入了解深度學(xué)習(xí)的世界。

作者:Richmond Alake

Richmond Alake是一名機(jī)器學(xué)習(xí)和計(jì)算機(jī)視覺工程師,他與各種初創(chuàng)公司合作,利用深度學(xué)習(xí)模型來解決商業(yè)應(yīng)用程序中的計(jì)算機(jī)視覺任務(wù)。他在技術(shù)領(lǐng)域深耕五年,為大型企業(yè)集團(tuán)構(gòu)建應(yīng)用程序,并將人工智能技術(shù)集成到移動(dòng)應(yīng)用程序中。他寫了100多篇關(guān)于人工智能和機(jī)器學(xué)習(xí)主題的文章,瀏覽量超過100萬次。Richmond認(rèn)為:機(jī)器學(xué)習(xí)在日常問題中會(huì)有功能強(qiáng)大的應(yīng)用。目前,他正主持多個(gè)項(xiàng)目,利用機(jī)器學(xué)習(xí)算法和深度學(xué)習(xí)模型來解決與人體工程學(xué)和社會(huì)網(wǎng)絡(luò)有關(guān)的問題。

原文標(biāo)題:

A Data Scientist’s Guide to Gradient Descent and Backpropagation Algorithms

https://developer.nvidia.com/blog/a-data-scientists-guide-to-gradient-descent-and-backpropagation-algorithms/

編輯:王菁



  業(yè)務(wù)實(shí)施流程

需求調(diào)研 →

團(tuán)隊(duì)組建和動(dòng)員 →

數(shù)據(jù)初始化 →

調(diào)試完善 →

解決方案和選型 →

硬件網(wǎng)絡(luò)部署 →

系統(tǒng)部署試運(yùn)行 →

系統(tǒng)正式上線 →

合作協(xié)議

系統(tǒng)開發(fā)/整合

制作文檔和員工培訓(xùn)

售后服務(wù)

馬上咨詢: 如果您有業(yè)務(wù)方面的問題或者需求,歡迎您咨詢!我們帶來的不僅僅是技術(shù),還有行業(yè)經(jīng)驗(yàn)積累。
QQ: 39764417/308460098     Phone: 13 9800 1 9844 / 135 6887 9550     聯(lián)系人:石先生/雷先生