智能网联汽车——深度学习与无人驾驶(一)
前面留下關(guān)于智能網(wǎng)聯(lián)汽車(chē)環(huán)境感知部分基于深度學(xué)習(xí)的目標(biāo)檢測(cè)的坑還沒(méi)填,接下來(lái)兩篇推送就來(lái)梳理一下基于深度學(xué)習(xí)的目標(biāo)檢測(cè)的具體實(shí)現(xiàn),順便再介紹下深度學(xué)習(xí)的發(fā)展歷程。當(dāng)然,這一切得先從人工智能開(kāi)始談起。
一、人工智能
1.定義
1)人工智能是研究模擬和擴(kuò)展人類(lèi)智能的理論、方法、技術(shù)及應(yīng)用系統(tǒng)的一門(mén)交叉學(xué)科(學(xué)術(shù)角度)。
2)人工智能是智能機(jī)器執(zhí)行的、與人類(lèi)智能有關(guān)的智能行為,如感知、識(shí)別、判斷、理解、設(shè)計(jì)、思考、學(xué)習(xí)和問(wèn)題求解等思維活動(dòng)(應(yīng)用角度)。
3)近期目標(biāo):研究如問(wèn)使系統(tǒng)能夠勝任一些通常需要人類(lèi)智能才能完成的復(fù)雜工作。
4)最終目標(biāo):探討智能形成的基本機(jī)理,研究利用智能機(jī)器模擬人的思維過(guò)程。
2.研究領(lǐng)域
機(jī)器學(xué)習(xí)是在人工智能的基礎(chǔ)上發(fā)展起來(lái),而深度學(xué)習(xí)又是在機(jī)器學(xué)習(xí)的基礎(chǔ)上發(fā)展起來(lái)的。
3.分類(lèi)
1)弱人工智能:也稱(chēng)“專(zhuān)用人工智能”或限定領(lǐng)域人工智能",是指專(zhuān)注于某個(gè)特定領(lǐng)域,只能解決單一問(wèn)題的人工智能,例如語(yǔ)音識(shí)別、圖像識(shí)別、翻譯等。
2)強(qiáng)人工智能:也稱(chēng)“通用人工智能”,是指能勝任人類(lèi)所有工作的人工智能,有知覺(jué),有自我意識(shí),既可下棋、又可駕駛、考試、翻譯、玩游戲等。
3)超人工智能:幾乎所有領(lǐng)域都比最聰明的人類(lèi)大腦聰明很多,包括科學(xué)創(chuàng)新、通識(shí)和社交技能。達(dá)到這個(gè)階段的人工智能的計(jì)算和思維能力遠(yuǎn)超人腦。
4.發(fā)展歷程
在早期,許多專(zhuān)家認(rèn)為只要程序員精心編寫(xiě)足夠多的明確規(guī)則來(lái)處理知識(shí),就可以實(shí)現(xiàn)與人類(lèi)相當(dāng)?shù)娜斯ぶ悄堋_@一方法被稱(chēng)為符號(hào)主義人工智能,在20世紀(jì)80年代的專(zhuān)家系統(tǒng)熱潮中,這一方法的熱度達(dá)到了頂峰。
二、機(jī)器學(xué)習(xí)
雖然符號(hào)主義人工智能適合用來(lái)解決定義明確的邏輯問(wèn)題,比如下國(guó)際象棋,但它難以給出明確的規(guī)則來(lái)解決更加復(fù)雜、模糊的問(wèn)題,比如圖像分類(lèi)、語(yǔ)音識(shí)別和語(yǔ)言翻譯。于是出現(xiàn)了一種新的方法來(lái)代替符號(hào)主義人工智能,這就是機(jī)器學(xué)習(xí)。
雖然機(jī)器學(xué)習(xí)在20世紀(jì)90年代才開(kāi)始蓬勃發(fā)展,但它迅速成為人工智能最受歡迎且最成功的分支領(lǐng)域。這一發(fā)展的驅(qū)動(dòng)力來(lái)自于速度更快的硬件與更大的數(shù)據(jù)集。
1.定義
計(jì)算機(jī)程序從經(jīng)驗(yàn)E(程序與自己下幾萬(wàn)次跳棋)中學(xué)習(xí),解決某一任務(wù)T(下跳棋),進(jìn)行某一性能度量P(與新對(duì)手玩跳棋時(shí)贏得概率),通過(guò)P測(cè)定在T上的表現(xiàn)因經(jīng)驗(yàn)E而提高。
2.三個(gè)分支
2.1監(jiān)督學(xué)習(xí)
監(jiān)督學(xué)習(xí)是目前最常見(jiàn)的機(jī)器學(xué)習(xí)類(lèi)型。給定一組樣本(通常由人工標(biāo)注),它可以學(xué)會(huì)將輸入數(shù)據(jù)映射到已知目標(biāo)。比如手寫(xiě)體數(shù)字識(shí)別、分類(lèi)問(wèn)題、回歸問(wèn)題。一般來(lái)說(shuō),深度學(xué)習(xí)應(yīng)用幾乎都屬于監(jiān)督學(xué)習(xí),比如光學(xué)字符識(shí)別、語(yǔ)音識(shí)別、圖像分類(lèi)和語(yǔ)言翻譯。
雖然監(jiān)督學(xué)習(xí)主要包括分類(lèi)和回歸,但還有其他主要包括:
序列生成。給定一張圖像,預(yù)測(cè)描述圖像的文字。序列有時(shí)生成有時(shí)可以被重新表示為一系列分類(lèi)問(wèn)題,比如反復(fù)預(yù)測(cè)序列中的單詞或標(biāo)記。
語(yǔ)法樹(shù)預(yù)測(cè)。給定一個(gè)句子,預(yù)測(cè)其分解生成的語(yǔ)法樹(shù)。
目標(biāo)檢測(cè)。給定一張圖像,在圖中特定目標(biāo)的周?chē)?huà)一個(gè)邊界框。這個(gè)問(wèn)題也可以表示為分類(lèi)問(wèn)題。(給定多個(gè)候選邊界框,對(duì)每個(gè)框內(nèi)的目標(biāo)進(jìn)行分類(lèi))或分類(lèi)與回歸聯(lián)合問(wèn)題(用向量回歸來(lái)預(yù)測(cè)邊界框的坐標(biāo))。
無(wú)人駕駛環(huán)境感知可以根據(jù)這一原理來(lái)檢測(cè)車(chē)輛、行人、交通標(biāo)志等目標(biāo)。
圖像分割。給定一張圖像,在特定物體上畫(huà)一個(gè)像素級(jí)的掩模。
無(wú)人駕駛環(huán)境感知可以根據(jù)這一原理來(lái)檢測(cè)車(chē)輛、行人、交通標(biāo)志等目標(biāo)。
注:分類(lèi)包括二分類(lèi)(比如電影評(píng)論的分類(lèi),經(jīng)過(guò)訓(xùn)練的模型可以對(duì)一條新的評(píng)論給出是好評(píng)還是差評(píng)的預(yù)測(cè)。)和多分類(lèi)(比如手寫(xiě)數(shù)字識(shí)別,經(jīng)過(guò)訓(xùn)練的模型可以對(duì)一張新的手寫(xiě)體數(shù)字圖像給出0-9之一的數(shù)字的預(yù)測(cè)。)
回歸問(wèn)題:比如現(xiàn)有某一處房?jī)r(jià)受面積、房間數(shù)和地理位置、年限等因素影響,待預(yù)測(cè)參數(shù)是房屋售價(jià)。根據(jù)現(xiàn)有的數(shù)據(jù)可以訓(xùn)練模型并預(yù)測(cè)出該處某個(gè)影響因素變化時(shí)對(duì)應(yīng)房屋價(jià)格的具體變化值。
2.2無(wú)監(jiān)督學(xué)習(xí)
無(wú)監(jiān)督序?qū)W習(xí)是指在沒(méi)有目標(biāo)的情況下尋找輸入數(shù)據(jù)的有趣變換,其目的在于數(shù)據(jù)可視化、數(shù)據(jù)壓縮、數(shù)據(jù)去躁或更好得理解數(shù)據(jù)中的相關(guān)性。無(wú)監(jiān)督學(xué)習(xí)是數(shù)據(jù)分析的必備技能,在解決監(jiān)督學(xué)習(xí)問(wèn)題之前,為了更好地了解數(shù)據(jù)集,它通常是一個(gè)必要步驟。降維和聚類(lèi)都是眾所周知的無(wú)監(jiān)督學(xué)習(xí)方法。
2.3增強(qiáng)學(xué)習(xí)
在強(qiáng)化學(xué)習(xí)中,智能體接收有關(guān)其環(huán)境的信息,并學(xué)會(huì)選擇使某種獎(jiǎng)勵(lì)最大化的行動(dòng)。例如,神經(jīng)網(wǎng)絡(luò)會(huì)“觀察”視頻游戲的屏幕并輸出游戲操作,目的是盡可能得高分,這種神經(jīng)網(wǎng)絡(luò)可以通過(guò)強(qiáng)化學(xué)習(xí)來(lái)訓(xùn)練。
3.從數(shù)據(jù)中學(xué)習(xí)表示(機(jī)器學(xué)習(xí)原理)
機(jī)器學(xué)習(xí),特殊在學(xué)習(xí)。經(jīng)典的程序設(shè)計(jì)往往是給定規(guī)則和數(shù)據(jù)得出預(yù)期的結(jié)果(比如給定變量a=1和變量b=1以及規(guī)則f(x)= a+b就可以得出預(yù)期的結(jié)果為2),而機(jī)器學(xué)習(xí)的編程范式則是給定數(shù)據(jù)和預(yù)期的結(jié)果,通過(guò)學(xué)習(xí)習(xí)得表示。
通常需要以下三個(gè)要素來(lái)進(jìn)行機(jī)器學(xué)習(xí)。
1)輸入數(shù)據(jù)點(diǎn)。例如你的任務(wù)是為圖像添加標(biāo)簽(這張圖像表示一只貓),那么這些數(shù)據(jù)點(diǎn)就是圖像以及對(duì)應(yīng)的標(biāo)簽(貓)。(今天新學(xué)了兩節(jié)數(shù)學(xué)課)
2)預(yù)期輸出的示例。對(duì)于圖像標(biāo)記任務(wù)來(lái)說(shuō),預(yù)期輸出結(jié)果可能就是“貓”、“狗”之類(lèi)的標(biāo)簽。(自己做數(shù)學(xué)作業(yè)的答案)
3)衡量算法好壞的方法。這一衡量方法為計(jì)算算法的正確輸出與預(yù)期輸出的差距。當(dāng)然我們的目的是為了最小化差距。對(duì)于圖像標(biāo)記任務(wù)來(lái)說(shuō),機(jī)器學(xué)習(xí)模型預(yù)測(cè)輸出的結(jié)果(標(biāo)簽)與正確結(jié)果(標(biāo)簽)一致所占總數(shù)的比例越高越好。(自己的答案與標(biāo)準(zhǔn)答案相比較)
4.評(píng)估機(jī)器學(xué)習(xí)模型
機(jī)器學(xué)習(xí)的目的是得到可以泛化的模型,即在前所未見(jiàn)的數(shù)據(jù)上表現(xiàn)很好的模型。討論機(jī)器學(xué)習(xí)模型學(xué)習(xí)和泛化的好壞時(shí),通常使用術(shù)語(yǔ):過(guò)擬合和欠擬合。(平時(shí)通過(guò)上課學(xué)習(xí)并做作業(yè),目的是看考試結(jié)果如何)
過(guò)擬合是指在訓(xùn)練數(shù)據(jù)上表現(xiàn)良好,在未知數(shù)據(jù)上表現(xiàn)差。——高考復(fù)習(xí)太死,改一個(gè)數(shù)就不會(huì)做。
欠擬合在訓(xùn)練數(shù)據(jù)和未知數(shù)據(jù)上表現(xiàn)都很差。——高考復(fù)習(xí)不充分,啥也不會(huì)。
5.數(shù)據(jù)預(yù)處理、特征工程
除模型評(píng)估外,我們還必須解決另一個(gè)重要問(wèn)題:將數(shù)據(jù)輸入神經(jīng)網(wǎng)絡(luò)之前,如何準(zhǔn)備輸入數(shù)據(jù)和目標(biāo)?(必要的學(xué)習(xí)方法,聽(tīng)課更有效率、做作業(yè)效果更好)
5.1神經(jīng)網(wǎng)絡(luò)數(shù)據(jù)預(yù)處理
1)向量化
神經(jīng)網(wǎng)絡(luò)的所有輸入和目標(biāo)都必須是浮點(diǎn)數(shù)張量。無(wú)論處理什么數(shù)據(jù)(聲音、圖像還是文本),都必須先將其轉(zhuǎn)換為張量,這一步叫做數(shù)據(jù)向量化。
可以通過(guò)one-hot編碼實(shí)現(xiàn)。
2)值標(biāo)準(zhǔn)化
一般來(lái)說(shuō),將取值相對(duì)較大的數(shù)據(jù)(比如多位整數(shù),比網(wǎng)絡(luò)權(quán)重的初始值大的多)或異質(zhì)數(shù)據(jù)(比如數(shù)據(jù)的一個(gè)特征在0-1范圍內(nèi),另一個(gè)特征在100-200范圍內(nèi))。輸入到神經(jīng)網(wǎng)絡(luò)中是不安全的。這么做可能導(dǎo)致較大的梯度更新,進(jìn)而導(dǎo)致網(wǎng)絡(luò)無(wú)法收斂。
可以通過(guò)對(duì)每個(gè)特征分別做標(biāo)準(zhǔn)化,使其均值為0、標(biāo)準(zhǔn)差為1。
5.2特征工程
特征工程是指將數(shù)據(jù)輸入模型之前,利用你自己關(guān)于數(shù)據(jù)和機(jī)器學(xué)習(xí)算法的知識(shí)對(duì)數(shù)據(jù)進(jìn)行硬編碼的變換,以改善模型的效果。多數(shù)情況下,一個(gè)機(jī)器學(xué)習(xí)模型無(wú)法從完全任意的數(shù)據(jù)中進(jìn)行學(xué)習(xí)。呈現(xiàn)給模型的數(shù)據(jù)應(yīng)該便于模型進(jìn)行學(xué)習(xí)。比如如何識(shí)別鐘表時(shí)間?(每個(gè)學(xué)生對(duì)老師教授的內(nèi)容理解程度不同,就會(huì)有不同的學(xué)習(xí)效果)
- 通過(guò)像素的分布。
- 通過(guò)時(shí)鐘指針的坐標(biāo)。
- 通過(guò)時(shí)鐘指針的角度。
很明顯第三種特征使問(wèn)題變得非常簡(jiǎn)單,根本不需要機(jī)器學(xué)習(xí),因?yàn)楹?jiǎn)單的舍入運(yùn)算和字典查找就可以給出大致的時(shí)間。
這就是特征工程的本質(zhì):用更簡(jiǎn)單的方式表述問(wèn)題,從而使問(wèn)題變得更容易。它通常需要深入理解問(wèn)題。
深度學(xué)習(xí)出現(xiàn)之前,特征工程曾經(jīng)非常重要,因?yàn)榻?jīng)典的淺層算法沒(méi)有足夠大的假設(shè)空間來(lái)自己學(xué)習(xí)有用的表示。將數(shù)據(jù)呈現(xiàn)給算法的方式對(duì)解決問(wèn)題至關(guān)重要。例如,卷積神經(jīng)在MNIST數(shù)字分類(lèi)問(wèn)題上取得成功之前,其解決方法通常是基于硬編碼的特征,比如數(shù)字圖像中的圓圈個(gè)數(shù)、圖像中每個(gè)數(shù)字的高度、像素值的直方圖等。
幸運(yùn)的是,對(duì)于現(xiàn)代深度學(xué)習(xí),大部分特征工程都是不需要的,因?yàn)樯窠?jīng)網(wǎng)絡(luò)能夠從原數(shù)據(jù)中自動(dòng)提取有用的特征。這是否意味著,只要使用深度神經(jīng)網(wǎng)絡(luò),就無(wú)須擔(dān)心特征工程呢?并不是這樣,原因有兩點(diǎn)。
- 良好的特征仍然可以讓你用更少的資源更優(yōu)雅地解決問(wèn)題。例如,使用卷積神經(jīng)網(wǎng)絡(luò)來(lái)
讀取鐘面上的時(shí)間是非常可笑的。 - 良好的特征可以讓你用更少的數(shù)據(jù)解決問(wèn)題。深度學(xué)習(xí)模型自主學(xué)習(xí)特征的能力依賴(lài)于
大量的訓(xùn)練數(shù)據(jù)。如果只有很少的樣本,那么特征的信息價(jià)值就變得非常重要。
6.已經(jīng)取得的進(jìn)展
-
瀏覽器網(wǎng)頁(yè)排序
-
過(guò)濾垃圾郵件
-
Facebook 或蘋(píng)果的圖片分類(lèi)程序能認(rèn)出你朋友的照片
-
瀏覽器開(kāi)發(fā)者收集 web 上的單擊數(shù)據(jù),也稱(chēng)為點(diǎn)擊流數(shù)據(jù),并嘗試使用機(jī)器學(xué)習(xí)算法來(lái)分析數(shù)據(jù),
更好的了解用戶(hù),并為用戶(hù)提供更好的服務(wù) -
電子醫(yī)療記錄。我們可以把醫(yī)療記錄變成醫(yī)學(xué)知識(shí),我們就可以更好地理解疾病
-
計(jì)算生物學(xué)。生物學(xué)家們收集的大量基因數(shù)據(jù)序列、DNA 序列等,機(jī)器運(yùn)行算法讓我們更好地了解人類(lèi)基因組
-
自然語(yǔ)言處理
-
計(jì)算機(jī)視覺(jué)
-
每次你去亞馬遜或 Netflix 或 iTunes Genius,它都會(huì)給出其他電影或產(chǎn)品或
音樂(lè)的建議
7.局限性
有限樣本和計(jì)算單元情況下對(duì)復(fù)雜函數(shù)的表示能力有限,針對(duì)復(fù)雜分類(lèi)問(wèn)題其泛化能力受限。
三、深度學(xué)習(xí)
1.概述
深度學(xué)習(xí)是機(jī)器學(xué)習(xí)的一個(gè)分支領(lǐng)域,它是從數(shù)據(jù)中學(xué)習(xí)的一種新方法,強(qiáng)調(diào)從連續(xù)的層中進(jìn)行學(xué)習(xí),這些層對(duì)應(yīng)于越來(lái)越有意義的表示。“深度學(xué)習(xí)”中的“深度“指的并不是利用這種方法所獲取的更深層次的理解,而是指一系列連續(xù)的表示層。數(shù)據(jù)模型中包含多少層,這被稱(chēng)為模型的深度。現(xiàn)代深度學(xué)習(xí)通常包含數(shù)十個(gè)甚至上百個(gè)連續(xù)的表示層,這些表示層全都是從訓(xùn)練數(shù)據(jù)中自動(dòng)學(xué)習(xí)的。與此相反,其他機(jī)器學(xué)習(xí)的重點(diǎn)往往是僅僅學(xué)習(xí)一兩層的數(shù)據(jù)表示,故有時(shí)也被稱(chēng)為淺層學(xué)習(xí)。
在深度學(xué)習(xí)中,這些不同層所學(xué)習(xí)到的表示總是通過(guò)叫做神經(jīng)網(wǎng)絡(luò)的模型來(lái)學(xué)習(xí)得到的。上圖所示的深度神經(jīng)網(wǎng)絡(luò)將數(shù)字圖像轉(zhuǎn)換成與原始圖像差異越來(lái)越大的表示 ,而其中關(guān)于最終結(jié)果的信息卻越來(lái)越豐富。
2.工作原理
2.1神經(jīng)網(wǎng)絡(luò)由其權(quán)重來(lái)參數(shù)化
神經(jīng)網(wǎng)絡(luò)中每層對(duì)輸入數(shù)據(jù)所做的具體操作保存在該層的權(quán)重中,其本質(zhì)是一串?dāng)?shù)字。用術(shù)語(yǔ)來(lái)說(shuō),每層實(shí)現(xiàn)的變換由其權(quán)重來(lái)參數(shù)化。權(quán)重有時(shí)也被稱(chēng)為該層的參數(shù)。在這種語(yǔ)境下,學(xué)習(xí)的意思是為神經(jīng)網(wǎng)絡(luò)的所有層找到一組權(quán)重值,使得該網(wǎng)絡(luò)能夠?qū)⒚總€(gè)示例輸入與其目標(biāo)正確的一一對(duì)應(yīng)。(通過(guò)做查看例題并去嘗試做一些課后習(xí)題)
2.2損失函數(shù)用來(lái)衡量網(wǎng)絡(luò)輸出結(jié)果的質(zhì)量
想要控制一件事物,首先需要能夠觀察它。想要控制神經(jīng)網(wǎng)絡(luò)的輸出,就需要能夠衡量該輸出與預(yù)期值之間的距離。這是神經(jīng)網(wǎng)絡(luò)損失函數(shù)的任務(wù),該函數(shù)也叫目標(biāo)函數(shù)。損失函數(shù)的輸入是網(wǎng)絡(luò)預(yù)測(cè)值與真實(shí)目標(biāo)值,然后計(jì)算一個(gè)距離值,衡量該網(wǎng)絡(luò)在這個(gè)示例上的效果好壞。(將自己課后習(xí)題的答案與標(biāo)準(zhǔn)答案作比較,得出準(zhǔn)確率)
2.3將損失值作為反饋信號(hào)來(lái)調(diào)節(jié)權(quán)重
利用這個(gè)距離作為反饋信號(hào)對(duì)權(quán)重值進(jìn)行微調(diào),以降低當(dāng)前示例對(duì)應(yīng)的損失值。這種調(diào)節(jié)由優(yōu)化器來(lái)完成,它實(shí)現(xiàn)了所謂的反向傳播算法,這是深度學(xué)習(xí)的核心算法。(通過(guò)多做題,多請(qǐng)教別人等方法是自己的正確率越來(lái)越高)
一開(kāi)始對(duì)神經(jīng)網(wǎng)絡(luò)的權(quán)重隨機(jī)賦值,因此網(wǎng)絡(luò)知識(shí)實(shí)現(xiàn)了一系列隨機(jī)變換。其輸出結(jié)果自然也和理想值相去甚遠(yuǎn),相應(yīng)地,損失值也很高。但隨著網(wǎng)絡(luò)處理的示例越來(lái)越多,權(quán)重值也在向正確的方向逐步微調(diào),損失值也逐漸降低。這就是訓(xùn)練循環(huán),將這種循環(huán)重復(fù)足夠多的次數(shù),得到的權(quán)重值可以使損失函數(shù)最小。具有最小損失的函數(shù),其輸出值與目標(biāo)值盡可能的接近,這就是訓(xùn)練好的網(wǎng)絡(luò)。也就是完成了所謂深度學(xué)習(xí)的過(guò)程。(最終達(dá)到能應(yīng)付考試的能力)
3.特點(diǎn)(與傳統(tǒng)機(jī)器學(xué)習(xí)相比):
3.1通過(guò)漸進(jìn)的、逐層的方式形成越來(lái)越復(fù)雜的表示
先前的機(jī)器學(xué)習(xí)技術(shù)僅包含將輸入數(shù)據(jù)變換到一兩個(gè)連續(xù)的表示空間,通常使用簡(jiǎn)單的變換,比如SVM和或決策樹(shù)。但這些技術(shù)無(wú)法得到復(fù)雜問(wèn)題所需要的精確表示。因此,人們必須竭盡全力讓初始數(shù)據(jù)更適合用這些方法來(lái)處理,也必須手動(dòng)為數(shù)據(jù)設(shè)計(jì)好的表示層。這叫做特征工程。與此相反,深度學(xué)習(xí)完全將這個(gè)步驟自動(dòng)化:利用深度學(xué)習(xí),你可以一次性學(xué)習(xí)所有特征,而無(wú)需自己動(dòng)手設(shè)計(jì)。這將原本復(fù)雜的多階段流程替換為一個(gè)簡(jiǎn)單的、端到端的深度學(xué)習(xí)模型。
3.2對(duì)中間這些漸進(jìn)的表示共同進(jìn)行學(xué)習(xí)
在實(shí)踐中,如果想要通過(guò)重復(fù)連續(xù)應(yīng)用淺層學(xué)習(xí)方法來(lái)達(dá)到多個(gè)連續(xù)表示層的效果,其收益會(huì)隨著層數(shù)增加迅速降低。因?yàn)槿龑幽P椭凶顑?yōu)的第一表示層并不是單層或雙層模型中最優(yōu)的第一表示層。深度學(xué)習(xí)的變革在于,模型可以在同一時(shí)間共同學(xué)習(xí)所有表示層,而不是依次連續(xù)學(xué)習(xí)。通過(guò)共同的特征學(xué)習(xí),一旦模型修改某個(gè)內(nèi)部特征,所有依賴(lài)于該特征的其他特征值都會(huì)相應(yīng)地自動(dòng)調(diào)節(jié)適應(yīng),無(wú)須人為干擾。
4.興起的原因
在帶來(lái)第三次人工智能熱潮,深度學(xué)習(xí)功不可沒(méi)。總的來(lái)說(shuō),有這么幾方面。
4.1硬件
在21世紀(jì)前十年里,NVIDIA和AMD等公司投資數(shù)十億美元來(lái)開(kāi)發(fā)快速的大規(guī)模并行芯片(GPU),以便為越來(lái)越逼真的視頻游戲提供圖形顯示支持。2007年,NVIDIA推出了CUDA,作為其GPU系列的編程接口。今天,NVIDIA TITAN X可以實(shí)現(xiàn)每秒進(jìn)行6.6萬(wàn)億次float32運(yùn)算。這比一臺(tái)現(xiàn)代筆記本電腦的速度快約350倍。
4.2數(shù)據(jù)
就數(shù)據(jù)而言,除了過(guò)去20年里存儲(chǔ)硬件的指數(shù)級(jí)增長(zhǎng),最大的變革來(lái)自于互聯(lián)網(wǎng)的興起,它使得收集和分發(fā)用于機(jī)器學(xué)習(xí)的超大型數(shù)據(jù)集變得可行。
4.3算法
到21世紀(jì)前十年的末期,神經(jīng)網(wǎng)絡(luò)仍然很淺,僅使用一兩個(gè)表示層,無(wú)法超越更為精確的淺層方法,比如SVM和隨機(jī)森林。關(guān)鍵問(wèn)題在于通過(guò)多層疊加的梯度傳播。隨著層數(shù)的增加,用于訓(xùn)練神經(jīng)網(wǎng)絡(luò)的反饋信號(hào)會(huì)消失。
這一情況在2009-2010年左右發(fā)生了變化,當(dāng)時(shí)出現(xiàn)了幾個(gè)很簡(jiǎn)單但很重要的算法改進(jìn),可以實(shí)現(xiàn)更好的梯度傳播。
- 更好的神經(jīng)層激活函數(shù)。
- 更好的權(quán)重初始化方案,一開(kāi)始使用逐層預(yù)訓(xùn)練的方法,不過(guò)這種方案很快就被放棄了。
- 更好的優(yōu)化方案,比如RMSProp和Adam。
4.4其他
1)在早期,從事深度學(xué)習(xí)需要精通C++和CUDA,而他們只有少數(shù)人才能掌握。如今,具有基本的Python腳本技能,就可以從事高級(jí)的深度學(xué)習(xí)研究。這主要得益于TensorFlow的開(kāi)發(fā),以及Keras等用戶(hù)友好型庫(kù)的興起。TensorFlow是符號(hào)式的張量運(yùn)算的Python框架,支持自動(dòng)求微分,這極大地簡(jiǎn)化了新模型的實(shí)現(xiàn)過(guò)程。Keras等用戶(hù)友好型庫(kù)則使深度學(xué)習(xí)變得像操縱樂(lè)高積木一樣簡(jiǎn)單。
2)在Kaggle上,有一系列不斷更新的數(shù)據(jù)科學(xué)競(jìng)賽,其中許多都涉及深度學(xué)習(xí)。公開(kāi)競(jìng)賽是激勵(lì)研究人員和工程師挑戰(zhàn)極限的極好方法。研究人員通過(guò)通過(guò)競(jìng)爭(zhēng)來(lái)挑戰(zhàn)共同基準(zhǔn),這極大地促進(jìn)了深度學(xué)習(xí)的興起。
5.關(guān)建網(wǎng)絡(luò)架構(gòu)
每種類(lèi)型的網(wǎng)絡(luò)都針對(duì)于特定的輸入模式,某種架構(gòu)能否解決某個(gè)問(wèn)題,這完全取決于數(shù)據(jù)結(jié)構(gòu)與網(wǎng)絡(luò)架構(gòu)的假設(shè)之間的匹配度。(比如有的知識(shí)點(diǎn)需要理解,有的知識(shí)點(diǎn)需要熟記,有的知識(shí)點(diǎn)了解就行)
向量數(shù)據(jù):全連接層
圖像數(shù)據(jù):二維卷積神經(jīng)網(wǎng)絡(luò)
聲音數(shù)據(jù)(比如波形):一維卷積神經(jīng)網(wǎng)絡(luò)(首選)或循環(huán)神經(jīng)網(wǎng)絡(luò)
文本數(shù)據(jù):一維卷積神經(jīng)網(wǎng)絡(luò)(首選)或循環(huán)神經(jīng)網(wǎng)絡(luò)
時(shí)間序列數(shù)據(jù):一維卷積神經(jīng)網(wǎng)絡(luò)或循環(huán)神經(jīng)網(wǎng)絡(luò)(首選)
其他類(lèi)型的序列數(shù)據(jù):循環(huán)神經(jīng)網(wǎng)絡(luò)或一維卷積神經(jīng)網(wǎng)絡(luò)。如果數(shù)據(jù)順序非常重要(比如時(shí)間序列,但文本不是),那么首選循環(huán)神經(jīng)網(wǎng)絡(luò)。
視頻數(shù)據(jù):三維卷積神經(jīng)網(wǎng)絡(luò)(如果你需要捕捉運(yùn)動(dòng)物體),或者幀級(jí)的二維神經(jīng)網(wǎng)絡(luò)(用于特征提取)+循環(huán)神經(jīng)網(wǎng)絡(luò)或一維卷積神經(jīng)網(wǎng)絡(luò)(用于處理得到的序列)。
立體數(shù)據(jù):三維卷積神經(jīng)網(wǎng)絡(luò)
5.1密集連接網(wǎng)絡(luò)
密集連接網(wǎng)絡(luò)是Dense層的堆疊,它用于處理向量數(shù)據(jù)(向量批量)。這種網(wǎng)絡(luò)假設(shè)輸入特征中沒(méi)有特定結(jié)構(gòu):之所以叫密集連接,是因?yàn)镈ense層的每個(gè)單元都和其他所有單元相連接。
密集連接網(wǎng)絡(luò)最常用于分類(lèi)數(shù)據(jù),比如房?jī)r(jià)預(yù)測(cè)。它還用于大多數(shù)網(wǎng)絡(luò)最終分類(lèi)或回歸的階段。例如卷積神經(jīng)網(wǎng)絡(luò)最后通常是一兩個(gè)Dense層,循環(huán)神經(jīng)網(wǎng)絡(luò)也是如此。
5.2卷積神經(jīng)網(wǎng)絡(luò)
卷積神經(jīng)網(wǎng)絡(luò)能夠查看空間局部模式,其方法是對(duì)輸入張量的不同空間位置應(yīng)用相同的幾何變換。這樣得到的表示具有平移不變性,這使得卷機(jī)層能夠高效利用數(shù)據(jù),并且能夠高度模塊化。
5.3循環(huán)神經(jīng)網(wǎng)絡(luò)
循環(huán)神經(jīng)網(wǎng)絡(luò)對(duì)輸入序列每次處理一個(gè)時(shí)間步,并且自始至終保存一個(gè)狀態(tài)。如果序列中的模式不具有時(shí)間平移不變性,(比如時(shí)間序列數(shù)據(jù),最近的過(guò)去比遙遠(yuǎn)的過(guò)去更加重要),那么應(yīng)該優(yōu)先使用循環(huán)神經(jīng)網(wǎng)絡(luò),而不是一維卷積神經(jīng)網(wǎng)絡(luò)。
6.已經(jīng)取得的進(jìn)展
深度學(xué)習(xí)已經(jīng)取得了一下突破,它們都是機(jī)器學(xué)習(xí)歷史上非常困難的領(lǐng)域。
- 接近人類(lèi)水平的圖像分類(lèi)
- 接近人類(lèi)水平的語(yǔ)音識(shí)別
- 更好的機(jī)器翻譯
- 更好的文本到語(yǔ)音轉(zhuǎn)換
- 接近人類(lèi)水平的自動(dòng)駕駛
- 更好的廣告定向投放,Google 、百度、必應(yīng)都在使用
- 更好的網(wǎng)絡(luò)搜索結(jié)果
- 能夠回答用自然語(yǔ)言提出的問(wèn)題
- 在圍棋上戰(zhàn)勝人類(lèi)
7.局限性
7.1將機(jī)器學(xué)習(xí)擬人化的風(fēng)險(xiǎn)
深度學(xué)習(xí)模型并不理解它們的輸入,至少不是人類(lèi)所說(shuō)的理解。我們自己對(duì)圖像、聲音和語(yǔ)言的理解是基于我們作為人類(lèi)的感覺(jué)運(yùn)動(dòng)體驗(yàn)。機(jī)器學(xué)習(xí)模型無(wú)法獲得這些體驗(yàn)。如果向神經(jīng)網(wǎng)絡(luò)展示與訓(xùn)練數(shù)據(jù)不一樣的數(shù)據(jù),它們可能會(huì)給出荒繆的結(jié)果。下圖是一個(gè)基于深度學(xué)習(xí)的圖像描述系統(tǒng)的失敗案例。
7.2局部泛化與極端泛化
極端泛化:人類(lèi)只用很少的數(shù)據(jù),甚至沒(méi)有新數(shù)據(jù),憑借自己的抽象和推理能力就可以適應(yīng)從未體驗(yàn)過(guò)的新情況。我們可以將已知的概念融合在一起,來(lái)表示之前從未體驗(yàn)過(guò)的事物,比如繪制一匹穿著牛仔褲的馬,或者想象我們中了彩票會(huì)做什么。
局部泛化:深度網(wǎng)絡(luò)執(zhí)行從輸入到輸出的映射,如果新的輸入與網(wǎng)絡(luò)訓(xùn)練時(shí)所見(jiàn)到的輸入稍有不同,這種映射就會(huì)變得沒(méi)有意義。
四、總結(jié)
給出本文的思維導(dǎo)圖,回憶一下~
總結(jié)
以上是生活随笔為你收集整理的智能网联汽车——深度学习与无人驾驶(一)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 第十四周 项目1抽象基类
- 下一篇: 2020第二届长安杯电子数据竞赛试题(二