- Python快樂編程:人工智能深度學(xué)習(xí)基礎(chǔ)
- 千鋒教育高教產(chǎn)品研發(fā)部編著
- 2256字
- 2022-07-27 18:55:54
1.2 什么是深度學(xué)習(xí)
深度學(xué)習(xí)是機(jī)器學(xué)習(xí)的一個重要分支,通過構(gòu)建具有多個隱藏層的機(jī)器學(xué)習(xí)模型和海量的訓(xùn)練數(shù)據(jù)來學(xué)習(xí)更有用的特征,從而最終提升分類或預(yù)測的準(zhǔn)確性。簡單來講,機(jī)器學(xué)習(xí)是實現(xiàn)人工智能的一種方法,而深度學(xué)習(xí)則是實現(xiàn)機(jī)器學(xué)習(xí)的一種技術(shù)。
在涉及語音、圖像等復(fù)雜對象的應(yīng)用中,深度學(xué)習(xí)技術(shù)證明了其優(yōu)越的性能。與通過人工規(guī)則構(gòu)造特征的方法相比,利用大數(shù)據(jù)來學(xué)習(xí)特征,更能夠刻畫數(shù)據(jù)的豐富內(nèi)在信息。在大數(shù)據(jù)時代,更加復(fù)雜且更加強大的深度模型能深刻揭示海量數(shù)據(jù)中所承載的復(fù)雜而豐富的信息,并對未來或未知事件做更精準(zhǔn)的預(yù)測。與以往的機(jī)器學(xué)習(xí)相比,深度學(xué)習(xí)對使用者的要求有所降低,使用者只需調(diào)節(jié)相關(guān)參數(shù),學(xué)習(xí)的效果一般都較為理想,這促進(jìn)了機(jī)器學(xué)習(xí)從實驗技術(shù)走向工程實踐。以上只是對深度學(xué)習(xí)的一個簡單概括,并不能全面地解釋什么是深度學(xué)習(xí)。因為神經(jīng)網(wǎng)絡(luò)中的深層構(gòu)架差異巨大,對不同任務(wù)或目標(biāo)的優(yōu)化會有不同的操作。通過機(jī)器學(xué)習(xí)的發(fā)展歷程來理解深度學(xué)習(xí)可能是一種更好的方法。
在人工智能的發(fā)展初期,計算機(jī)主要表現(xiàn)出了善于處理形式化的數(shù)學(xué)規(guī)則的特性,能夠比人類更加快速高效地完成形式化的任務(wù)。這讓人工智能在初期相對樸素和形式化的環(huán)境中取得了成功,這種環(huán)境對計算機(jī)所需具備的關(guān)于世界的知識的要求很低。例如,在形式和規(guī)則十分固定的國際象棋領(lǐng)域,人工智能取得了巨大成就。1997年,IBM公司研制的“深藍(lán)”(Deep Blue)擊敗了當(dāng)時的國際象棋世界冠軍。事實上,一臺計算機(jī)理解國際象棋中固定的64格棋盤、嚴(yán)格按照規(guī)則進(jìn)行移動的32個棋子以及勝利條件并不難,相關(guān)概念完全可以由一個非常簡短、完全形式化的規(guī)則列表進(jìn)行描述并輸入計算機(jī)中。
然而,在處理抽象的非形式化任務(wù)時,人工智能卻顯得比人類“笨拙”得多,人工智能的處理水平往往難以達(dá)到人類的平均水平。例如,對于人類而言可以很輕松地通過直覺識別出靜物油畫中的一串香蕉,但是機(jī)器卻難以識別出被油畫抽象出的“香蕉”。如今隨著人工智能相關(guān)領(lǐng)域的飛速發(fā)展,計算機(jī)對于非形式化任務(wù)的處理能力取得了巨大進(jìn)步,計算機(jī)完成識別對象和語音的任務(wù)的能力已經(jīng)達(dá)到了人類的一般水平。人類的大腦中存儲了巨量的有關(guān)世界的知識來維持日常生活的需要,讓計算機(jī)實現(xiàn)強人工智能就需要讓其理解這些關(guān)于世界的巨量知識,然而,許多相關(guān)知識具有主觀性,難以通過形式化的方法進(jìn)行描述,讓計算機(jī)理解這些非形式化的知識無疑是人工智能的一項巨大挑戰(zhàn)。
此處有必要先了解一下人類大腦的工作機(jī)理。在1981年,Hubel、Wiesel和Sperry等人發(fā)現(xiàn)了一種可以有效地降低反饋神經(jīng)網(wǎng)絡(luò)復(fù)雜性的、獨特的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),進(jìn)而提出了卷積神經(jīng)網(wǎng)絡(luò)。卷積神經(jīng)網(wǎng)絡(luò)的發(fā)現(xiàn)揭示了人類視覺的分級系統(tǒng),在收到視覺刺激后,信息從視網(wǎng)膜出發(fā),經(jīng)過低級區(qū)提取目標(biāo)的邊緣特征,在高一級的區(qū)域提取目標(biāo)的基本形狀或目標(biāo)的局部特征,再到下一層更高級的區(qū)域?qū)φ麄€目標(biāo)進(jìn)行識別,以及到更高層的前額葉皮層進(jìn)行分類判斷等,即高層的特征是低層特征的組合,信息的表達(dá)由低層到高層越來越抽象和概念化。這個發(fā)現(xiàn)激發(fā)了人們對于神經(jīng)系統(tǒng)的進(jìn)一步思考。大腦的工作過程是一個對接收信號不斷迭代、不斷抽象概念化的過程。以識別油畫中的香蕉為例,首先攝入原始信號(瞳孔攝入像素),然后進(jìn)行初步處理(大腦皮層某些神經(jīng)細(xì)胞發(fā)現(xiàn)香蕉的邊緣和方向),對處理后的信息進(jìn)行抽象(大腦判定香蕉的形狀,比如是長而略微彎曲的),進(jìn)一步抽象(大腦進(jìn)一步判定該物體是香蕉),最后識別出圖中畫的是一串香蕉。由此例可以看出,大腦是一個深度架構(gòu),認(rèn)知的過程是通過大腦逐層分級處理表示的信息實現(xiàn)的。

圖1.3 兩種不同的表示方式
無論在計算機(jī)科學(xué)領(lǐng)域還是人類的日常生活中,對各種事物的理解都要依賴信息的表示。例如大多數(shù)學(xué)生可能已經(jīng)習(xí)慣了閱讀國內(nèi)英語考試中全部由小寫字母組成的文章,可以很快地閱讀并完成后面的題目,但是在有些國際性英語能力測試中會出現(xiàn)全部由大寫英文字母組成的文章,這時考生可能就需要花更多的時間去適應(yīng)大寫字母組成的單詞。同樣的單詞以不同的表示方式會對考生的閱讀產(chǎn)生巨大的影響。相應(yīng)地,不同的表示方式同樣會對機(jī)器學(xué)習(xí)的算法性能產(chǎn)生影響。接下來通過圖示的方法展示表示方式對算法性能的影響,如圖1.3所示。
在圖1.3中,左圖使用了笛卡兒坐標(biāo)表示兩種類型的數(shù)據(jù),顯然在這種表示方式下,無法用一條直線來分隔圓形和三角形兩種類型的數(shù)據(jù);而右圖使用極坐標(biāo)表示可以很容易用一條垂直的線將兩種類型的數(shù)據(jù)分隔開。
一般情況下,處理人工智能問題的方法可以概括為:提取一個恰當(dāng)?shù)奶卣骷缓髮⑦@些特征提供給簡單的機(jī)器學(xué)習(xí)算法。例如,在語音識別中,對聲道大小這一特征的識別可以作為判斷說話者的性別以及大致年齡的重要線索。
然而在大多數(shù)情況下,人類很難確定哪些是有效的信息特征。例如,希望讓一個程序能夠檢測出油畫中的水果——香蕉。香蕉的特征有黃色的果皮,長而略微彎曲的外形,但是僅以油畫中的某一個像素值很難準(zhǔn)確地描述香蕉看上去像什么,因為不同的場景下香蕉的擺放角度和光影效果都會不同,如圖1.4所示。

圖1.4 兩種不同情景下的香蕉
為了解決識別圖1.4中香蕉的問題,需要讓計算機(jī)自身去發(fā)掘表示的特征。通過學(xué)習(xí)讓程序去理解一個表示的特征往往比直接輸入人為總結(jié)的特征更加準(zhǔn)確。這就要求計算機(jī)學(xué)會從原始數(shù)據(jù)中提取高層次、抽象的特征。
深度學(xué)習(xí)讓計算機(jī)可以通過組合低層次特征形成更加抽象的高層次特征(或?qū)傩灶悇e)。深度學(xué)習(xí)可以從原始圖像去學(xué)習(xí)一個低層次表達(dá),例如,邊緣檢測器、小波濾波器等,然后在這些低層次表達(dá)的基礎(chǔ)上,通過線性或者非線性組合,來獲得一個高層次的表達(dá)。
- C++程序設(shè)計教程
- Learning Neo4j
- Learning Docker
- 算法精粹:經(jīng)典計算機(jī)科學(xué)問題的Java實現(xiàn)
- Python機(jī)器學(xué)習(xí)算法與實戰(zhàn)
- 從0到1:Python數(shù)據(jù)分析
- Selenium Testing Tools Cookbook(Second Edition)
- MySQL從入門到精通(軟件開發(fā)視頻大講堂)
- 第一行代碼 C語言(視頻講解版)
- Scratch3.0趣味編程動手玩:比賽訓(xùn)練營
- Orchestrating Docker
- Mastering Docker
- Oracle實用教程
- Qt 4開發(fā)實踐
- Web編程基礎(chǔ):HTML5、CSS3、JavaScript(第2版)