
一文讀懂深度學(xué)習(xí)(附學(xué)習(xí)資源)
Medium上獲得超過(guò)一萬(wàn)五千贊的深度學(xué)習(xí)入門(mén)指南,結(jié)合圖文為你縷清深度學(xué)習(xí)中的各個(gè)基礎(chǔ)概念的內(nèi)涵。
Image credit: Datanami
人工智能(AI)
(https://en.wikipedia.org/wiki/Artificial_intelligence)
和機(jī)器學(xué)習(xí)(ML)
(https://en.wikipedia.org/wiki/Machine_learning)
都屬于目前最熱門(mén)的話題。
在日常生活中,AI這個(gè)術(shù)語(yǔ)我們隨處可見(jiàn)。你或許會(huì)從立志高遠(yuǎn)的開(kāi)發(fā)者哪那里聽(tīng)說(shuō)她(他)們想要學(xué)習(xí)AI。你又或許會(huì)從運(yùn)營(yíng)者那里聽(tīng)到他們想要在他們的的服務(wù)中實(shí)施AI。但往往這些人中的絕大多數(shù)都并不明白什么是AI。
在你閱讀完這篇文章之后,你將會(huì)了解AI和ML的基本知識(shí)。而更重要的是,你將會(huì)明白深度學(xué)習(xí)(https://en.wikipedia.org/wiki/Deep_learning),這類(lèi)最熱門(mén)的機(jī)器學(xué)習(xí),是如何運(yùn)作的。
這篇教程適用于所有人,所以本文并沒(méi)有涉及高級(jí)數(shù)學(xué)。
背景
理解深度學(xué)習(xí)如何工作的第一步是掌握下列重要術(shù)語(yǔ)之間的區(qū)別。
人工智能(AI)v.s.機(jī)器學(xué)習(xí)(ML)
人工智能是人類(lèi)智能在計(jì)算機(jī)上的復(fù)制。
AI的研究之初,那時(shí)的研究人員嘗試著復(fù)制人類(lèi)智能來(lái)完成像玩游戲這樣特定的任務(wù)。
他們引入了大量的計(jì)算機(jī)需要遵守的規(guī)則。有了這些規(guī)則,計(jì)算機(jī)就有了一份包含各種可能行動(dòng)的清單,并基于這些規(guī)則作出決定(https://en.wikipedia.org/wiki/Expert_system)。
機(jī)器學(xué)習(xí),指的是機(jī)器使用大量數(shù)據(jù)集而非硬編碼規(guī)則來(lái)進(jìn)行學(xué)習(xí)的能力。
ML允許計(jì)算機(jī)通過(guò)自身來(lái)學(xué)習(xí)。這種學(xué)習(xí)方法得益于現(xiàn)代計(jì)算機(jī)的強(qiáng)大性能,性能保證了計(jì)算機(jī)能夠輕松處理樣本數(shù)巨大的數(shù)據(jù)集。
監(jiān)督學(xué)習(xí) v.s. 非監(jiān)督學(xué)習(xí)
監(jiān)督學(xué)習(xí)
(https://en.wikipedia.org/wiki/Supervised_learning)
指的是利用已標(biāo)注數(shù)據(jù)集進(jìn)行的學(xué)習(xí),該數(shù)據(jù)中包含輸入和期望輸出。
當(dāng)你利用監(jiān)督學(xué)習(xí)來(lái)訓(xùn)練AI時(shí),你提供給它一份輸入,并告訴它預(yù)期的輸出。
如果AI所生成的輸出是錯(cuò)誤的(譯者注:與期望輸出不同),它將重新調(diào)整計(jì)算(注:應(yīng)該是對(duì)公式的參數(shù)進(jìn)行重新計(jì)算)。這個(gè)過(guò)程將會(huì)在數(shù)據(jù)集上迭代運(yùn)行,直到AI不再犯錯(cuò)誤。
預(yù)測(cè)天氣的AI便是監(jiān)督學(xué)習(xí)的一個(gè)典型例子。它通過(guò)學(xué)習(xí)過(guò)往數(shù)據(jù)來(lái)預(yù)測(cè)未來(lái)天氣。該訓(xùn)練數(shù)據(jù)擁有輸入(氣壓,濕度,風(fēng)速)和輸出(溫度)。
非監(jiān)督學(xué)習(xí)
(https://en.wikipedia.org/wiki/Unsupervised_learning)
是機(jī)器學(xué)習(xí)應(yīng)用沒(méi)有指定結(jié)構(gòu)的數(shù)據(jù)集來(lái)進(jìn)行學(xué)習(xí)的任務(wù)。
當(dāng)你應(yīng)用非監(jiān)督學(xué)習(xí)來(lái)訓(xùn)練AI時(shí),你可以讓AI對(duì)數(shù)據(jù)進(jìn)行邏輯分類(lèi)。
電商網(wǎng)站上的行為預(yù)測(cè)AI便是非監(jiān)督學(xué)習(xí)的一個(gè)例子。它無(wú)法通過(guò)擁有輸入和輸出的已標(biāo)注數(shù)據(jù)集來(lái)進(jìn)行學(xué)習(xí)。相反地,它在輸入數(shù)據(jù)上創(chuàng)建它自己的分類(lèi)。它將會(huì)告訴你哪一種用戶(hù)最可能購(gòu)買(mǎi)差異化的商品。
深度學(xué)習(xí)又是如何運(yùn)作的呢?
現(xiàn)在你已經(jīng)準(zhǔn)備好去理解什么是深度學(xué)習(xí),以及它是如何運(yùn)作的。
深度學(xué)習(xí)是機(jī)器學(xué)習(xí)中的一種方法。在給予它一組輸入后,它使我們能夠訓(xùn)練AI來(lái)預(yù)測(cè)結(jié)果。監(jiān)督學(xué)習(xí)和非監(jiān)督學(xué)習(xí)都能夠用來(lái)訓(xùn)練AI。
我們將通過(guò)建立一個(gè)假設(shè)的機(jī)票價(jià)格預(yù)估系統(tǒng)來(lái)闡述深度學(xué)習(xí)是如何運(yùn)作的。我們將應(yīng)用監(jiān)督學(xué)習(xí)方法來(lái)訓(xùn)練它。
我們想要該機(jī)票價(jià)格預(yù)估系統(tǒng)基于下列輸入來(lái)進(jìn)行預(yù)測(cè)(為了簡(jiǎn)潔,我們除去了返程機(jī)票):
起飛機(jī)場(chǎng)
到達(dá)機(jī)場(chǎng)
起飛日期
航空公司
接下來(lái)我們將視角轉(zhuǎn)向我們的AI的大腦內(nèi)部。
和動(dòng)物一樣,我們預(yù)估系統(tǒng)AI的大腦中有神經(jīng)元。將它們用圓圈表示。這些神經(jīng)元在內(nèi)部都是相互連接的。
Image credit: CS231n
這些神經(jīng)元又被分為三種層次:
輸入層
隱藏層
輸出層
輸入層接收輸入數(shù)據(jù)。在本案例中,在輸入層中有4個(gè)神經(jīng)元:起飛機(jī)場(chǎng),到達(dá)機(jī)場(chǎng),起飛日期以及航空公司。輸入層將輸入傳遞給第一個(gè)隱藏層。
隱藏層針對(duì)我們的輸入進(jìn)行數(shù)學(xué)運(yùn)算。創(chuàng)建神經(jīng)網(wǎng)絡(luò)的一大難點(diǎn)便是決定隱藏層的層數(shù),以及每層中神經(jīng)元的個(gè)數(shù)。
深度學(xué)習(xí)中的“深度”所指的是擁有多于一層的隱藏層。
輸出層返回的是輸出數(shù)據(jù)。在本案例中,輸出層返回的是價(jià)格預(yù)測(cè)。
那么它到底是如何來(lái)運(yùn)算價(jià)格預(yù)測(cè)的呢?
這便是我們將要揭曉的深度學(xué)習(xí)的奇妙之處了。
每?jī)蓚€(gè)神經(jīng)元之間的連接,都對(duì)應(yīng)著一個(gè)權(quán)重。該權(quán)重決定了輸入值的重要程度。初始的權(quán)重會(huì)被隨機(jī)設(shè)定。
當(dāng)預(yù)測(cè)機(jī)票價(jià)格時(shí),起飛日期是決定價(jià)格的最重要的因素之一。因此,與起飛日期這個(gè)神經(jīng)元相連的連接將會(huì)有更高的權(quán)重。
Image credit: CodeProject
每個(gè)神經(jīng)元都有一個(gè)激活函數(shù)(https://en.wikipedia.org/wiki/Activation_function)。若沒(méi)有數(shù)學(xué)推導(dǎo),這些函數(shù)十分晦澀難懂。
簡(jiǎn)而言之,激活函數(shù)的作用之一便是將神經(jīng)元的結(jié)果“標(biāo)準(zhǔn)化”。
一旦一組輸入數(shù)據(jù)通過(guò)了神經(jīng)網(wǎng)絡(luò)的所有層,神經(jīng)網(wǎng)絡(luò)將會(huì)通過(guò)輸出層返回輸出數(shù)據(jù)。
一點(diǎn)也不復(fù)雜,是吧?
訓(xùn)練神經(jīng)網(wǎng)絡(luò)
訓(xùn)練A是深度學(xué)習(xí)中最難的部分了。這又是為什么呢?
你需要一個(gè)龐大的數(shù)據(jù)集
你還需要強(qiáng)大的算力
對(duì)于我們的機(jī)票價(jià)格預(yù)估系統(tǒng),我們需要得到過(guò)往的票價(jià)數(shù)據(jù)。由于起始機(jī)場(chǎng)和起飛時(shí)間擁有大量可能的組合,所以我們需要的是一個(gè)非常龐大的票價(jià)列表。
為了訓(xùn)練機(jī)票價(jià)格預(yù)估系統(tǒng)的AI,我們需要將數(shù)據(jù)集的數(shù)據(jù)給予該系統(tǒng),然后將它輸出的結(jié)果與數(shù)據(jù)集的輸出進(jìn)行比對(duì)。因?yàn)榇藭r(shí)AI仍然沒(méi)有受過(guò)訓(xùn)練,所以它的輸出將會(huì)是錯(cuò)誤的。
一旦我們遍歷完了整個(gè)數(shù)據(jù)集,我們便能創(chuàng)造出一個(gè)函數(shù),該函數(shù)告訴我們AI的輸出和真實(shí)輸出到底相差多少。這個(gè)函數(shù)我們稱(chēng)為損失函數(shù)。
在理想情況下,我們希望我們的損失函數(shù)為0,該理想情況指的是AI的輸出和數(shù)據(jù)集的輸出相等之時(shí)。
如何減小損失函數(shù)呢?
改變神經(jīng)元之間的權(quán)重。我們可以隨機(jī)地改變這些權(quán)重直到損失函數(shù)足夠小,但是這種方法并不夠高效。
取而代之地,我們應(yīng)用一種叫做梯度下降(https://en.wikipedia.org/wiki/Gradient_descent)的技巧。
梯度下降是一種幫助我們找到函數(shù)最小值的技巧。在本案例中,我們尋找損失函數(shù)的最小值。
在每次數(shù)據(jù)集迭代之后,該方法以小增量的方式改變權(quán)重。通過(guò)計(jì)算損失函數(shù)在一組確定的權(quán)重集合上的導(dǎo)數(shù)(梯度),我們便能夠知悉最小值在哪個(gè)方向。
Image credit: Sebastian Raschka
為了最小化損失函數(shù),你需要多次迭代數(shù)據(jù)集。這便是需要高算力的原因了。
利用梯度下降更新權(quán)重的過(guò)程是自動(dòng)進(jìn)行的。這便是深度學(xué)習(xí)的魔力所在!
一旦我們訓(xùn)練好機(jī)票價(jià)格預(yù)估的AI之后,我們便能夠用它來(lái)預(yù)測(cè)未來(lái)的價(jià)格了。
拓展閱讀
神經(jīng)網(wǎng)絡(luò)有非常多的種類(lèi):用于計(jì)算機(jī)視覺(jué)(https://en.wikipedia.org/wiki/Computer_vision)的卷積神經(jīng)網(wǎng)絡(luò)(https://en.wikipedia.org/wiki/Convolutional_neural_network)以及應(yīng)用于自然語(yǔ)言處理(https://en.wikipedia.org/wiki/Natural_language_processing)的循環(huán)神經(jīng)網(wǎng)絡(luò)(https://en.wikipedia.org/wiki/Recurrent_neural_network)。
如果你想要學(xué)習(xí)深度學(xué)習(xí)的技術(shù)細(xì)節(jié),我建議你參加一個(gè)在線課程。
吳恩達(dá)(https://medium.com/@andrewng)的深度學(xué)習(xí)專(zhuān)項(xiàng)課程(https://www.coursera.org/specializations/deep-learning)是當(dāng)下最好的深度學(xué)習(xí)課程之一。如果你并不需要一個(gè)證書(shū),你便可以免費(fèi)旁聽(tīng)這門(mén)課程。
小結(jié)
1. 深度學(xué)習(xí)應(yīng)用神經(jīng)網(wǎng)絡(luò)來(lái)模仿動(dòng)物智能。
2. 神經(jīng)網(wǎng)絡(luò)中有三個(gè)層次的神經(jīng)元:輸入層、隱藏層以及輸出層。
3. 神經(jīng)元之間的連接對(duì)應(yīng)一個(gè)權(quán)重,該權(quán)重決定了各輸入數(shù)據(jù)的重要程度。
4. 神經(jīng)元中應(yīng)用一個(gè)激活函數(shù)來(lái)“標(biāo)準(zhǔn)化”神經(jīng)元輸出的數(shù)據(jù)。
5. 你需要一個(gè)龐大的數(shù)據(jù)集來(lái)訓(xùn)練神經(jīng)網(wǎng)絡(luò)。
6. 在數(shù)據(jù)集上迭代并與輸出結(jié)果相比較,我們將會(huì)得到一個(gè)損失函數(shù),損失函數(shù)能告訴我們AI生成的結(jié)果和真實(shí)結(jié)果相差多少。
7. 在每次數(shù)據(jù)集的迭代之后,都會(huì)利用梯度下降方法調(diào)整神經(jīng)元之間的權(quán)重,以減小損失函數(shù)。
數(shù)據(jù)分析咨詢(xún)請(qǐng)掃描二維碼
若不方便掃碼,搜微信號(hào):CDAshujufenxi
LSTM 模型輸入長(zhǎng)度選擇技巧:提升序列建模效能的關(guān)鍵? 在循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)家族中,長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM)憑借其解決長(zhǎng)序列 ...
2025-07-11CDA 數(shù)據(jù)分析師報(bào)考條件詳解與準(zhǔn)備指南? ? 在數(shù)據(jù)驅(qū)動(dòng)決策的時(shí)代浪潮下,CDA 數(shù)據(jù)分析師認(rèn)證愈發(fā)受到矚目,成為眾多有志投身數(shù) ...
2025-07-11數(shù)據(jù)透視表中兩列相乘合計(jì)的實(shí)用指南? 在數(shù)據(jù)分析的日常工作中,數(shù)據(jù)透視表憑借其強(qiáng)大的數(shù)據(jù)匯總和分析功能,成為了 Excel 用戶(hù) ...
2025-07-11尊敬的考生: 您好! 我們誠(chéng)摯通知您,CDA Level I和 Level II考試大綱將于 2025年7月25日 實(shí)施重大更新。 此次更新旨在確保認(rèn) ...
2025-07-10BI 大數(shù)據(jù)分析師:連接數(shù)據(jù)與業(yè)務(wù)的價(jià)值轉(zhuǎn)化者? ? 在大數(shù)據(jù)與商業(yè)智能(Business Intelligence,簡(jiǎn)稱(chēng) BI)深度融合的時(shí)代,BI ...
2025-07-10SQL 在預(yù)測(cè)分析中的應(yīng)用:從數(shù)據(jù)查詢(xún)到趨勢(shì)預(yù)判? ? 在數(shù)據(jù)驅(qū)動(dòng)決策的時(shí)代,預(yù)測(cè)分析作為挖掘數(shù)據(jù)潛在價(jià)值的核心手段,正被廣泛 ...
2025-07-10數(shù)據(jù)查詢(xún)結(jié)束后:分析師的收尾工作與價(jià)值深化? ? 在數(shù)據(jù)分析的全流程中,“query end”(查詢(xún)結(jié)束)并非工作的終點(diǎn),而是將數(shù) ...
2025-07-10CDA 數(shù)據(jù)分析師考試:從報(bào)考到取證的全攻略? 在數(shù)字經(jīng)濟(jì)蓬勃發(fā)展的今天,數(shù)據(jù)分析師已成為各行業(yè)爭(zhēng)搶的核心人才,而 CDA(Certi ...
2025-07-09【CDA干貨】單樣本趨勢(shì)性檢驗(yàn):捕捉數(shù)據(jù)背后的時(shí)間軌跡? 在數(shù)據(jù)分析的版圖中,單樣本趨勢(shì)性檢驗(yàn)如同一位耐心的偵探,專(zhuān)注于從單 ...
2025-07-09year_month數(shù)據(jù)類(lèi)型:時(shí)間維度的精準(zhǔn)切片? ? 在數(shù)據(jù)的世界里,時(shí)間是最不可或缺的維度之一,而year_month數(shù)據(jù)類(lèi)型就像一把精準(zhǔn) ...
2025-07-09CDA 備考干貨:Python 在數(shù)據(jù)分析中的核心應(yīng)用與實(shí)戰(zhàn)技巧? ? 在 CDA 數(shù)據(jù)分析師認(rèn)證考試中,Python 作為數(shù)據(jù)處理與分析的核心 ...
2025-07-08SPSS 中的 Mann-Kendall 檢驗(yàn):數(shù)據(jù)趨勢(shì)與突變分析的有力工具? ? ? 在數(shù)據(jù)分析的廣袤領(lǐng)域中,準(zhǔn)確捕捉數(shù)據(jù)的趨勢(shì)變化以及識(shí)別 ...
2025-07-08備戰(zhàn) CDA 數(shù)據(jù)分析師考試:需要多久?如何規(guī)劃? CDA(Certified Data Analyst)數(shù)據(jù)分析師認(rèn)證作為國(guó)內(nèi)權(quán)威的數(shù)據(jù)分析能力認(rèn)證 ...
2025-07-08LSTM 輸出不確定的成因、影響與應(yīng)對(duì)策略? 長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM)作為循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的一種變體,憑借獨(dú)特的門(mén)控機(jī)制,在 ...
2025-07-07統(tǒng)計(jì)學(xué)方法在市場(chǎng)調(diào)研數(shù)據(jù)中的深度應(yīng)用? 市場(chǎng)調(diào)研是企業(yè)洞察市場(chǎng)動(dòng)態(tài)、了解消費(fèi)者需求的重要途徑,而統(tǒng)計(jì)學(xué)方法則是市場(chǎng)調(diào)研數(shù) ...
2025-07-07CDA數(shù)據(jù)分析師證書(shū)考試全攻略? 在數(shù)字化浪潮席卷全球的當(dāng)下,數(shù)據(jù)已成為企業(yè)決策、行業(yè)發(fā)展的核心驅(qū)動(dòng)力,數(shù)據(jù)分析師也因此成為 ...
2025-07-07剖析 CDA 數(shù)據(jù)分析師考試題型:解鎖高效備考與答題策略? CDA(Certified Data Analyst)數(shù)據(jù)分析師考試作為衡量數(shù)據(jù)專(zhuān)業(yè)能力的 ...
2025-07-04SQL Server 字符串截取轉(zhuǎn)日期:解鎖數(shù)據(jù)處理的關(guān)鍵技能? 在數(shù)據(jù)處理與分析工作中,數(shù)據(jù)格式的規(guī)范性是保證后續(xù)分析準(zhǔn)確性的基礎(chǔ) ...
2025-07-04CDA 數(shù)據(jù)分析師視角:從數(shù)據(jù)迷霧中探尋商業(yè)真相? 在數(shù)字化浪潮席卷全球的今天,數(shù)據(jù)已成為企業(yè)決策的核心驅(qū)動(dòng)力,CDA(Certifie ...
2025-07-04CDA 數(shù)據(jù)分析師:開(kāi)啟數(shù)據(jù)職業(yè)發(fā)展新征程? ? 在數(shù)據(jù)成為核心生產(chǎn)要素的今天,數(shù)據(jù)分析師的職業(yè)價(jià)值愈發(fā)凸顯。CDA(Certified D ...
2025-07-03