新手第一课-什么是深度学习
新手第一課-什么是深度學(xué)習(xí)
文章目錄
- 新手第一課-什么是深度學(xué)習(xí)
- 一、深度學(xué)習(xí)的發(fā)展歷程
- 1.1 Turing Testing (圖靈測試)
- 1.2 醫(yī)學(xué)上的發(fā)現(xiàn)
- 1.3 Deep Learning的出現(xiàn)
- 二、機器學(xué)習(xí)
- 2.1 人工智能vs機器學(xué)習(xí)
- 2.2 監(jiān)督式學(xué)習(xí)vs非監(jiān)督式學(xué)習(xí)
- 三、深度學(xué)習(xí)如何工作
- 3.1 神經(jīng)網(wǎng)絡(luò)
- 3.2 通過訓(xùn)練改進神經(jīng)網(wǎng)絡(luò)
- 3.3 我們?nèi)绾谓档统杀竞瘮?shù)呢?
一、深度學(xué)習(xí)的發(fā)展歷程
1.1 Turing Testing (圖靈測試)
圖靈測試是人工智能是否真正能夠成功的一個標(biāo)準(zhǔn),“計算機科學(xué)之父”、“人工智能之父”英國數(shù)學(xué)家圖靈在1950年的論文《機器會思考嗎》中提出了圖靈測試的概念。即把一個人和一臺計算機分別放在兩個隔離的房間中,房間外的一個人同時詢問人和計算機相同的問題,如果房間外的人無法分別哪個是人,哪個是計算機,就能夠說明計算機具有人工智能。
1.2 醫(yī)學(xué)上的發(fā)現(xiàn)
1981年的諾貝爾將頒發(fā)給了David Hubel和Torsten Wiesel,以及Roger Sperry。他們發(fā)現(xiàn)了人的視覺系統(tǒng)處理信息是分級的。
從視網(wǎng)膜(Retina)出發(fā),經(jīng)過低級的V1區(qū)提取邊緣特征,到V2區(qū)的基本形狀或目標(biāo)的局部,再到高層的整個目標(biāo)(如判定為一張人臉),以及到更高層的PFC(前額葉皮層)進行分類判斷等。也就是說高層的特征是低層特征的組合,從低層到高層的特征表達越來越抽象和概念化,也即越來越能表現(xiàn)語義或者意圖。
邊緣特征 —–> 基本形狀和目標(biāo)的局部特征——>整個目標(biāo) 這個過程其實和我們的常識是相吻合的,因為復(fù)雜的圖形,往往就是由一些基本結(jié)構(gòu)組合而成的。同時我們還可以看出:大腦是一個深度架構(gòu),認(rèn)知過程也是深度的。
1.3 Deep Learning的出現(xiàn)
低層次特征 - - - - (組合) - - ->抽象的高層特征
深度學(xué)習(xí),恰恰就是通過組合低層特征形成更加抽象的高層特征(或?qū)傩灶悇e)。例如,在計算機視覺領(lǐng)域,深度學(xué)習(xí)算法從原始圖像去學(xué)習(xí)得到一個低層次表達,例如邊緣檢測器、小波濾波器等,然后在這些低層次表達的基礎(chǔ)上,通過線性或者非線性組合,來獲得一個高層次的表達。此外,不僅圖像存在這個規(guī)律,聲音也是類似的。比如,研究人員從某個聲音庫中通過算法自動發(fā)現(xiàn)了20種基本的聲音結(jié)構(gòu),其余的聲音都可以由這20種基本結(jié)構(gòu)來合成!
二、機器學(xué)習(xí)
機器學(xué)習(xí)是實現(xiàn)人工智能的一種手段,也是目前被認(rèn)為比較有效的實現(xiàn)人工智能的手段,目前在業(yè)界使用機器學(xué)習(xí)比較突出的領(lǐng)域很多,例如:計算機視覺、自然語言處理、推薦系統(tǒng)等等。大家生活中經(jīng)常用到的比如高速上的ETC的車牌識別,今日頭條的新聞推薦,天貓上的評價描述。 機器學(xué)習(xí)是人工智能的一個分支,而在很多時候,幾乎成為人工智能的代名詞。簡單來說,機器學(xué)習(xí)就是通過算法,使得機器能從大量歷史數(shù)據(jù)中學(xué)習(xí)規(guī)律,從而對新的樣本做智能識別或?qū)ξ磥碜鲱A(yù)測。
2.1 人工智能vs機器學(xué)習(xí)
人工智能是計算機科學(xué)的一個分支,研究計算機中智能行為的仿真。
每當(dāng)一臺機器根據(jù)一組預(yù)先定義的解決問題的規(guī)則來完成任務(wù)時,這種行為就被稱為人工智能。開發(fā)人員引入了大量計算機需要遵守的規(guī)則。計算機內(nèi)部存在一個可能行為的具體清單,它會根據(jù)這個清單做出決定。如今,人工智能是一個概括性術(shù)語,涵蓋了從高級算法到實際機器人的所有內(nèi)容。
我們有四個不同層次的AI,讓我們來解釋前兩個:
- 弱人工智能,也被稱為狹義人工智能,是一種為特定的任務(wù)而設(shè)計和訓(xùn)練的人工智能系統(tǒng)。弱人工智能的形式之一是虛擬個人助理,比如蘋果公司的Siri。
- 強人工智能,又稱人工通用智能,是一種具有人類普遍認(rèn)知能力的人工智能系統(tǒng)。當(dāng)計算機遇到不熟悉的任務(wù)時,它具有足夠的智能去尋找解決方案。
機器學(xué)習(xí)是指計算機使用大數(shù)據(jù)集而不是硬編碼規(guī)則來學(xué)習(xí)的能力。
機器學(xué)習(xí)允許計算機自己學(xué)習(xí)。這種學(xué)習(xí)方式利用了現(xiàn)代計算機的處理能力,可以輕松地處理大型數(shù)據(jù)集。
基本上,機器學(xué)習(xí)是人工智能的一個子集;更為具體地說,它只是一種實現(xiàn)AI的技術(shù),一種訓(xùn)練算法的模型,這種算法使得計算機能夠?qū)W習(xí)如何做出決策。從某種意義上來說,機器學(xué)習(xí)程序根據(jù)計算機所接觸的數(shù)據(jù)來進行自我調(diào)整。
2.2 監(jiān)督式學(xué)習(xí)vs非監(jiān)督式學(xué)習(xí)
監(jiān)督式學(xué)習(xí)需要使用有輸入和預(yù)期輸出標(biāo)記的數(shù)據(jù)集。
當(dāng)你使用監(jiān)督式學(xué)習(xí)訓(xùn)練人工智能時,你需要提供一個輸入并告訴它預(yù)期的輸出結(jié)果。如果人工智能產(chǎn)生的輸出結(jié)果是錯誤的,它將重新調(diào)整自己的計算。這個過程將在數(shù)據(jù)集上不斷迭代地完成,直到AI不再出錯。
監(jiān)督式學(xué)習(xí)的一個例子是天氣預(yù)報人工智能。它學(xué)會利用歷史數(shù)據(jù)來預(yù)測天氣。訓(xùn)練數(shù)據(jù)包含輸入(過去天氣的壓力、濕度、風(fēng)速)和輸出(過去天氣的溫度)。
我們還可以想象您正在提供一個帶有標(biāo)記數(shù)據(jù)的計算機程序。例如,如果指定的任務(wù)是使用一種圖像分類算法對男孩和女孩的圖像進行分類,那么男孩的圖像需要帶有“男孩”標(biāo)簽,女孩的圖像需要帶有“女孩”標(biāo)簽。這些數(shù)據(jù)被認(rèn)為是一個“訓(xùn)練”數(shù)據(jù)集,直到程序能夠以可接受的速率成功地對圖像進行分類,以上的標(biāo)簽才會失去作用。
它之所以被稱為監(jiān)督式學(xué)習(xí),是因為算法從訓(xùn)練數(shù)據(jù)集學(xué)習(xí)的過程就像是一位老師正在監(jiān)督學(xué)習(xí)。在我們預(yù)先知道正確的分類答案的情況下,算法對訓(xùn)練數(shù)據(jù)不斷進行迭代預(yù)測,然后預(yù)測結(jié)果由“老師”進行不斷修正。當(dāng)算法達到可接受的性能水平時,學(xué)習(xí)過程才會停止。
非監(jiān)督式學(xué)習(xí)是利用既不分類也不標(biāo)記的信息進行機器學(xué)習(xí),并允許算法在沒有指導(dǎo)的情況下對這些信息進行操作。
當(dāng)你使用非監(jiān)督式學(xué)習(xí)訓(xùn)練人工智能時,你可以讓人工智能對數(shù)據(jù)進行邏輯分類。這里機器的任務(wù)是根據(jù)相似性、模式和差異性對未排序的信息進行分組,而不需要事先對數(shù)據(jù)進行處理。
非監(jiān)督式學(xué)習(xí)的一個例子是亞馬遜等電子商務(wù)網(wǎng)站的行為預(yù)測AI。它將創(chuàng)建自己輸入數(shù)據(jù)的分類,幫助亞馬遜識別哪種用戶最有可能購買不同的產(chǎn)品(交叉銷售策略)。
另一個例子是,程序可以任意地使用以下兩種算法中的一種來完成男孩女孩的圖像分類任務(wù)。一種算法被稱為“聚類”,它根據(jù)諸如頭發(fā)長度、下巴大小、眼睛位置等特征將相似的對象分到同一個組。另一種算法被稱為“相關(guān)”,它根據(jù)自己發(fā)現(xiàn)的相似性創(chuàng)建if/then規(guī)則。換句話說,它確定了圖像之間的公共模式,并相應(yīng)地對它們進行分類。
三、深度學(xué)習(xí)如何工作
深度學(xué)習(xí)是一種機器學(xué)習(xí)方法 , 它允許我們訓(xùn)練人工智能來預(yù)測輸出,給定一組輸入(指傳入或傳出計算機的信息)。監(jiān)督學(xué)習(xí)和非監(jiān)督學(xué)習(xí)都可以用來訓(xùn)練人工智能。
Andrew Ng:“與深度學(xué)習(xí)類似的是,火箭發(fā)動機是深度學(xué)習(xí)模型,燃料是我們可以提供給這些算法的海量數(shù)據(jù)。”
我們將通過建立一個公交票價估算在線服務(wù)來了解深度學(xué)習(xí)是如何工作的。為了訓(xùn)練它,我們將使用監(jiān)督學(xué)習(xí)方法。
我們希望我們的巴士票價估價師使用以下信息/輸入來預(yù)測價格:
- 出發(fā)站點
- 到達站點
- 出發(fā)日期
- 巴士公司
3.1 神經(jīng)網(wǎng)絡(luò)
神經(jīng)網(wǎng)絡(luò)是一組粗略模仿人類大腦,用于模式識別的算法。神經(jīng)網(wǎng)絡(luò)這個術(shù)語來源于這些系統(tǒng)架構(gòu)設(shè)計背后的靈感,這些系統(tǒng)是用于模擬生物大腦自身神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu),以便計算機能夠執(zhí)行特定的任務(wù)。
和人類一樣, “AI價格評估”也是由神經(jīng)元(圓圈)組成的。此外,這些神經(jīng)元還是相互連接的。
神經(jīng)元分為三種不同類型的層次:
- 輸入層接收輸入數(shù)據(jù)。在我們的例子中,輸入層有四個神經(jīng)元:出發(fā)站、目的地站、出發(fā)日期和巴士公司。輸入層會將輸入數(shù)據(jù)傳遞給第一個隱藏層。
- 隱藏層對輸入數(shù)據(jù)進行數(shù)學(xué)計算。創(chuàng)建神經(jīng)網(wǎng)絡(luò)的挑戰(zhàn)之一是決定隱藏層的數(shù)量,以及每一層中的神經(jīng)元的數(shù)量。
- 人工神經(jīng)網(wǎng)絡(luò)的輸出層是神經(jīng)元的最后一層,主要作用是為此程序產(chǎn)生給定的輸出,在本例中輸出結(jié)果是預(yù)測的價格值。
神經(jīng)元之間的每個連接都有一個權(quán)重。這個權(quán)重表示輸入值的重要性。模型所做的就是學(xué)習(xí)每個元素對價格的貢獻有多少。這些“貢獻”是模型中的權(quán)重。一個特征的權(quán)重越高,說明該特征比其他特征更為重要。在預(yù)測公交票價時,出發(fā)日期是影響最終票價的最為重要的因素之一。因此,出發(fā)日期的神經(jīng)元連接具有較大的“權(quán)重”。
每個神經(jīng)元都有一個激活函數(shù)。它主要是一個根據(jù)輸入傳遞輸出的函數(shù)。 當(dāng)一組輸入數(shù)據(jù)通過神經(jīng)網(wǎng)絡(luò)中的所有層時,最終通過輸出層返回輸出數(shù)據(jù)。
3.2 通過訓(xùn)練改進神經(jīng)網(wǎng)絡(luò)
為了提高“AI價格評估”的精度,我們需要將其預(yù)測結(jié)果與過去的結(jié)果進行比較,為此,我們需要兩個要素:
訓(xùn)練AI的過程中,重要的是給它的輸入數(shù)據(jù)集(一個數(shù)據(jù)集是一個單獨地或組合地或作為一個整體被訪問的數(shù)據(jù)集合),此外還需要對其輸出結(jié)果與數(shù)據(jù)集中的輸出結(jié)果進行對比。因為AI一直是“新的”,它的輸出結(jié)果有可能是錯誤的。
對于我們的公交票價模型,我們必須找到過去票價的歷史數(shù)據(jù)。由于有大量“公交車站”和“出發(fā)日期”的可能組合,因而我們需要一個非常大的票價清單。
一旦我們遍歷了整個數(shù)據(jù)集,就有可能創(chuàng)建一個函數(shù)來衡量AI輸出與實際輸出(歷史數(shù)據(jù))之間的差異。這個函數(shù)叫做成本函數(shù)。即成本函數(shù)是一個衡量模型準(zhǔn)確率的指標(biāo),衡量依據(jù)為此模型估計X與Y間關(guān)系的能力。
模型訓(xùn)練的目標(biāo)是使成本函數(shù)等于零,即當(dāng)AI的輸出結(jié)果與數(shù)據(jù)集的輸出結(jié)果一致時(成本函數(shù)等于0)。
3.3 我們?nèi)绾谓档统杀竞瘮?shù)呢?
通過使用一種叫做梯度下降的方法。梯度衡量得是,如果你稍微改變一下輸入值,函數(shù)的輸出值會發(fā)生多大的變化。
梯度下降法是一種求函數(shù)最小值的方法。在這種情況下,目標(biāo)是取得成本函數(shù)的最小值。 它通過每次數(shù)據(jù)集迭代之后優(yōu)化模型的權(quán)重來訓(xùn)練模型。通過計算某一權(quán)重集下代價函數(shù)的梯度,可以看出最小值的梯度方向。
為了降低成本函數(shù)值,多次遍歷數(shù)據(jù)集非常重要。這就是為什么需要大量計算能力的原因。 一旦我們通過訓(xùn)練改進了AI,我們就可以利用它根據(jù)上述四個要素來預(yù)測未來的價格。
《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的新手第一课-什么是深度学习的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第四章-分布式数据库HBase
- 下一篇: 新手第四课-PaddlePaddle快速