丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號安全和更好的產(chǎn)品體驗,強烈建議使用更快更安全的瀏覽器
此為臨時鏈接,僅用于文章預(yù)覽,將在時失效
人工智能開發(fā)者 正文
發(fā)私信給AI研習(xí)社
發(fā)送

0

深度學(xué)習(xí)如何入門?

本文作者: AI研習(xí)社 編輯:賈智龍 2017-09-27 16:06
導(dǎo)語:本文是針對初學(xué)者,高手可以無視。

雷鋒網(wǎng)按:本文原作者 Jacky Yang,本文整理自作者在知乎《深度學(xué)習(xí)如何入門?》問題下的回答。雷鋒網(wǎng)已獲得轉(zhuǎn)載授權(quán)。

關(guān)于深度學(xué)習(xí),網(wǎng)上的資料很多,不過貌似大部分都不太適合初學(xué)者。 這里有幾個原因: 

  1. 深度學(xué)習(xí)確實需要一定的數(shù)學(xué)基礎(chǔ)。如果不用深入淺出地方法講,有些讀者就會有畏難的情緒,因而容易過早地放棄。

  2. 中國人或美國人寫的書籍或文章,普遍比較難一些。我不太清楚為什么,不過確實是這樣子的。

深度學(xué)習(xí),確實需要一定的數(shù)學(xué)基礎(chǔ),但真的那么難么?這個,還真沒有。不信?聽我來給你侃侃??赐?,你也會覺得沒那么難了。

本文是針對初學(xué)者,高手可以無視,有不對的地方,還請多多批評指正。

這里,先推薦一篇非常不錯的文章: 《1 天搞懂深度學(xué)習(xí)》,300 多頁的 ppt,臺灣李宏毅教授寫的,非常棒。 不夸張地說,是我看過最系統(tǒng),也最通俗易懂的,關(guān)于深度學(xué)習(xí)的文章。

這是 slideshare 的鏈接:http://www.slideshare.net/tw_dsconf/ss-62245351?qid=108adce3-2c3d-4758-a830-95d0a57e46bc&v=&b=&from_search=3

沒梯子的同學(xué),可以從我的網(wǎng)盤下: 

鏈接:http://pan.baidu.com/s/1nv54p9R 密碼:3mty

要說先準(zhǔn)備什么,私以為,其實只需要知道導(dǎo)數(shù)和相關(guān)的函數(shù)概念就可以了。高等數(shù)學(xué)也沒學(xué)過?很好,我就是想讓文科生也能看懂,您只需要學(xué)過初中數(shù)學(xué)就可以了。

其實不必有畏難的情緒,個人很推崇李書福的精神,在一次電視采訪中,李書福說:誰說中國人不能造汽車?造汽車有啥難的,不就是四個輪子加兩排沙發(fā)嘛。當(dāng)然,他這個結(jié)論有失偏頗,不過精神可嘉。

導(dǎo)數(shù)是什么,無非就是變化率唄,王小二今年賣了 100 頭豬,去年賣了 90 頭,前年賣了 80 頭。。。變化率或者增長率是什么?每年增長 10 頭豬,多簡單。這里需要注意有個時間變量 --- 年。王小二賣豬的增長率是 10 頭 / 年,也就是說,導(dǎo)數(shù)是 10. 函數(shù) y=f(x)=10x+30,這里我們假設(shè)王小二第一年賣了 30 頭,以后每年增長 10 頭,x 代表時間(年),y 代表豬的頭數(shù)。 當(dāng)然,這是增長率固定的情形,現(xiàn)實生活中,很多時候,變化量也不是固定的,也就是說增長率也不是恒定的。比如,函數(shù)可能是這樣: y=f(x)=5x2+30,這里 x 和 y 依然代表的是時間和頭數(shù),不過增長率變了,怎么算這個增長率,我們回頭再講。或者你干脆記住幾個求導(dǎo)的公式也可以。

深度學(xué)習(xí)還有一個重要的數(shù)學(xué)概念:偏導(dǎo)數(shù),偏導(dǎo)數(shù)的偏怎么理解?偏頭疼的偏,還是我不讓你導(dǎo),你偏要導(dǎo)?都不是,我們還以王小二賣豬為例,剛才我們講到,x 變量是時間(年),可是賣出去的豬,不光跟時間有關(guān)啊,隨著業(yè)務(wù)的增長,王小二不僅擴大了養(yǎng)豬場,還雇了很多員工一起養(yǎng)豬。所以方程式又變了:y=f(x)=5x?2+8x? + 35x? +30 這里 x?代表面積,x?代表員工數(shù),當(dāng)然 x?還是時間。 上面我們講了,導(dǎo)數(shù)其實就是變化率,那么偏導(dǎo)數(shù)是什么?偏導(dǎo)數(shù)無非就是多個變量的時候,針對某個變量的變化率唄。在上面的公式里,如果針對 x?求偏導(dǎo)數(shù),也就是說,員工對于豬的增長率貢獻有多大,或者說,隨著(每個)員工的增長,豬增加了多少,這里等于 35--- 每增加一個員工,就多賣出去 35 頭豬. 計算偏導(dǎo)數(shù)的時候,其他變量都可以看成常量,這點很重要,常量的變化率為 0,所以導(dǎo)數(shù)為 0,所以就剩對 35x? 求導(dǎo)數(shù),等于 35. 對于 x?求偏導(dǎo),也是類似的。 求偏導(dǎo)我們用一個符號 表示:比如 y/ x? 就表示 y 對 x?求偏導(dǎo)。

廢話半天,這些跟深度學(xué)習(xí)到底有啥關(guān)系?有關(guān)系,我們知道,深度學(xué)習(xí)是采用神經(jīng)網(wǎng)絡(luò),用于解決線性不可分的問題。關(guān)于這一點,我們回頭再討論,大家也可以網(wǎng)上搜一下相關(guān)的文章。我這里主要講講數(shù)學(xué)與深度學(xué)習(xí)的關(guān)系。先給大家看幾張圖:

深度學(xué)習(xí)如何入門?

圖 1. 所謂深度學(xué)習(xí),就是具有很多個隱層的神經(jīng)網(wǎng)絡(luò)。

深度學(xué)習(xí)如何入門?

圖 2. 單輸出的時候,怎么求偏導(dǎo)數(shù)

深度學(xué)習(xí)如何入門?

圖 3. 多輸出的時候,怎么求偏導(dǎo)數(shù)。后面兩張圖是日語的,這是日本人寫的關(guān)于深度學(xué)習(xí)的書。感覺寫的不錯,把圖盜來用一下。所謂入力層,出力層,中間層,分別對應(yīng)于中文的:輸入層,輸出層,和隱層。

大家不要被這幾張圖嚇著,其實很簡單的。干脆再舉一個例子,就以撩妹為例。男女戀愛我們大致可以分為三個階段: 1. 初戀期。相當(dāng)于深度學(xué)習(xí)的輸入層。別人吸引你,肯定是有很多因素,比如:身高,身材,臉蛋,學(xué)歷,性格等等,這些都是輸入層的參數(shù),對每個人來說權(quán)重可能都不一樣。 2. 熱戀期。我們就讓它對應(yīng)于隱層吧。這個期間,雙方各種磨合,柴米油鹽醬醋茶。 3. 穩(wěn)定期。對應(yīng)于輸出層,是否合適,就看磨合得咋樣了。

大家都知道,磨合很重要,怎么磨合呢?就是不斷學(xué)習(xí)訓(xùn)練和修正的過程嘛!比如女朋友喜歡草莓蛋糕,你買了藍莓的,她的反饋是 negative,你下次就別買了藍莓,改草莓了。

看完這個,有些小伙可能要開始對自己女友調(diào)參了。有點不放心,所以補充一下。 撩妹和深度學(xué)習(xí)一樣,既要防止欠擬合,也要防止過擬合。所謂欠擬合,對深度學(xué)習(xí)而言,就是訓(xùn)練得不夠,數(shù)據(jù)不足,就好比,你撩妹經(jīng)驗不足,需要多學(xué)著點,送花當(dāng)然是最基本的了,還需要提高其他方面,比如,提高自身說話的幽默感等,因為本文重點并不是撩妹,所以就不展開講了。這里需要提一點,欠擬合固然不好,但過擬合就更不合適了。過擬合跟欠擬合相反,一方面,如果過擬合,她會覺得你有陳冠希老師的潛質(zhì),更重要的是,每個人情況不一樣,就像深度學(xué)習(xí)一樣,訓(xùn)練集效果很好,但測試集不行!就撩妹而言,她會覺得你受前任 (訓(xùn)練集) 影響很大,這是大忌!如果給她這個映象,你以后有的煩了,切記切記!

深度學(xué)習(xí)也是一個不斷磨合的過程,剛開始定義一個標(biāo)準(zhǔn)參數(shù)(這些是經(jīng)驗值。就好比情人節(jié)和生日必須送花一樣),然后不斷地修正,得出圖 1 每個節(jié)點間的權(quán)重。為什么要這樣磨合?試想一下,我們假設(shè)深度學(xué)習(xí)是一個小孩,我們怎么教他看圖識字?肯定得先把圖片給他看,并且告訴他正確的答案,需要很多圖片,不斷地教他,訓(xùn)練他,這個訓(xùn)練的過程,其實就類似于求解神經(jīng)網(wǎng)絡(luò)權(quán)重的過程。以后測試的時候,你只要給他圖片,他就知道圖里面有什么了。

所以訓(xùn)練集,其實就是給小孩看的,帶有正確答案的圖片,對于深度學(xué)習(xí)而言,訓(xùn)練集就是用來求解神經(jīng)網(wǎng)絡(luò)的權(quán)重的,最后形成模型;而測試集,就是用來驗證模型的準(zhǔn)確度的。

對于已經(jīng)訓(xùn)練好的模型,如下圖所示,權(quán)重(w1,w2...)都已知。

深度學(xué)習(xí)如何入門?

圖 4

深度學(xué)習(xí)如何入門?

圖 5

我們知道,像上面這樣,從左至右容易算出來。但反過來呢,我們上面講到,測試集有圖片,也有預(yù)期的正確答案,要反過來求 w1,w2......,怎么辦?

繞了半天,終于該求偏導(dǎo)出場了。目前的情況是:

1. 我們假定一個神經(jīng)網(wǎng)絡(luò)已經(jīng)定義好,比如有多少層,都什么類型,每層有多少個節(jié)點,激活函數(shù)(后面講)用什么等。這個沒辦法,剛開始得有一個初始設(shè)置(大部分框架都需要 define-and-run,也有部分是 define-by-run)。你喜歡一個美女,她也不是剛從娘胎里出來的,也是帶有各種默認(rèn)設(shè)置的。至于怎么調(diào)教,那就得求偏導(dǎo)。

2. 我們已知正確答案,比如圖 2 和 3 里的 r,訓(xùn)練的時候,是從左至右計算,得出的結(jié)果為 y,r 與 y 一般來說是不一樣的。那么他們之間的差距,就是圖 2 和 3 里的 E。這個差距怎么算?當(dāng)然,直接相減是一個辦法,尤其是對于只有一個輸出的情況,比如圖 2; 但很多時候,其實像圖 3 里的那樣,那么這個差距,一般可以這樣算,當(dāng)然,還可以有其他的評估辦法,只是函數(shù)不同而已,作用是類似的:

深度學(xué)習(xí)如何入門?

不得不說,理想跟現(xiàn)實還是有差距的,我們當(dāng)然是希望差距越小越好,怎么才能讓差距越來越小呢?得調(diào)整參數(shù)唄,因為輸入(圖像)確定的情況下,只有調(diào)整參數(shù)才能改變輸出的值。怎么調(diào)整,怎么磨合?剛才我們講到,每個參數(shù)都有一個默認(rèn)值,我們就對每個參數(shù)加上一定的數(shù)值?,然后看看結(jié)果如何?如果參數(shù)調(diào)大,差距也變大,你懂的,那就得減小?,因為我們的目標(biāo)是要讓差距變?。环粗嗳?。所以為了把參數(shù)調(diào)整到最佳,我們需要了解誤差對每個參數(shù)的變化率,這不就是求誤差對于該參數(shù)的偏導(dǎo)數(shù)嘛。

關(guān)鍵是怎么求偏導(dǎo)。圖 2 和圖 3 分別給了推導(dǎo)的方法,其實很簡單,從右至左挨個求偏導(dǎo)就可以。相鄰層的求偏導(dǎo)其實很簡單,因為是線性的,所以偏導(dǎo)數(shù)其實就是參數(shù)本身嘛,就跟求解 x?的偏導(dǎo)類似。然后把各個偏導(dǎo)相乘就可以了。

這里有兩個點:

一個是激活函數(shù),這主要是為了讓整個網(wǎng)絡(luò)具有非線性特征,因為我們前面也提到了,很多情況下,線性函數(shù)沒辦法對輸入進行適當(dāng)?shù)姆诸悾ê芏嗲闆r下識別主要是做分類),那么就要讓網(wǎng)絡(luò)學(xué)出來一個非線性函數(shù),這里就需要激活函數(shù),因為它本身就是非線性的,所以讓整個網(wǎng)絡(luò)也具有非線性特征。另外,激活函數(shù)也讓每個節(jié)點的輸出值在一個可控的范圍內(nèi),這樣計算也方便。

貌似這樣解釋還是很不通俗,其實還可以用撩妹來打比方;女生都不喜歡白開水一樣的日子,因為這是線性的,生活中當(dāng)然需要一些浪漫情懷了,這個激活函數(shù)嘛,我感覺類似于生活中的小浪漫,小驚喜,是不是?相處的每個階段,需要時不時激活一下,制造點小浪漫,小驚喜,比如;一般女生見了可愛的小杯子,瓷器之類都邁不開步子,那就在她生日的時候送一個特別樣式,要讓她感動得想哭。前面講到男人要幽默,這是為了讓她笑;適當(dāng)?shù)臅r候還要讓她激動得哭。一哭一笑,多整幾個回合,她就離不開你了。因為你的非線性特征太強了。

當(dāng)然,過猶不及,小驚喜也不是越多越好,但完全沒有就成白開水了。就好比每個 layer 都可以加激活函數(shù),當(dāng)然,不見得每層都要加激活函數(shù),但完全沒有,那是不行的。

由于激活函數(shù)的存在,所以在求偏導(dǎo)的時候,也要把它算進去,激活函數(shù),一般用 sigmoid,也可以用 Relu 等。激活函數(shù)的求導(dǎo)其實也非常簡單:

深度學(xué)習(xí)如何入門?

求導(dǎo): f'(x)=f(x)*[1-f(x)] 這個方面,有時間可以翻看一下高數(shù),沒時間,直接記住就行了。 至于 Relu,那就更簡單了,就是 f(x) 當(dāng) x<0 的時候 y 等于 0,其他時候,y 等于 x。 當(dāng)然,你也可以定義你自己的 Relu 函數(shù),比如 x 大于等于 0 的時候,y 等于 0.01x,也可以。

另一個是學(xué)習(xí)系數(shù),為什么叫學(xué)習(xí)系數(shù)?剛才我們上面講到?增量,到底每次增加多少合適?是不是等同于偏導(dǎo)數(shù)(變化率)?經(jīng)驗告訴我們,需要乘以一個百分比,這個就是學(xué)習(xí)系數(shù),而且,隨著訓(xùn)練的深入,這個系數(shù)是可以變的。

當(dāng)然,還有一些很重要的基本知識,比如 SGD(隨機梯度下降),mini batch 和 epoch(用于訓(xùn)練集的選擇),限于篇幅,以后再侃吧。其實參考李宏毅的那篇文章就可以了。

這篇拙文,算是對我另一個回答的補充吧:深度學(xué)習(xí)入門必看的書和論文?有哪些必備的技能需學(xué)習(xí)? (https://www.zhihu.com/question/31785984/answer/129108774)

其實上面描述的,主要是關(guān)于怎么調(diào)整參數(shù),屬于初級階段。上面其實也提到,在調(diào)參之前,都有默認(rèn)的網(wǎng)絡(luò)模型和參數(shù),如何定義最初始的模型和參數(shù)?就需要進一步深入了解。 不過對于一般做工程而言,只需要在默認(rèn)的網(wǎng)絡(luò)上調(diào)參就可以了,相當(dāng)于用算法; 對于學(xué)者和科學(xué)家而言,他們會發(fā)明算法,難度還是不小的。向他們致敬!

寫得很辛苦,覺得好就給我點個贊吧:)


雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。

深度學(xué)習(xí)如何入門?

分享:
相關(guān)文章

編輯

聚焦數(shù)據(jù)科學(xué),連接 AI 開發(fā)者。更多精彩內(nèi)容,請訪問:yanxishe.com
當(dāng)月熱門文章
最新文章
請?zhí)顚懮暾埲速Y料
姓名
電話
郵箱
微信號
作品鏈接
個人簡介
為了您的賬戶安全,請驗證郵箱
您的郵箱還未驗證,完成可獲20積分喲!
請驗證您的郵箱
立即驗證
完善賬號信息
您的賬號已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說