盡管 CNN 在引入 LeNet 后在計算機視覺和機器學(xué)習(xí)社區(qū)中廣為人知 (LeCun等人,1995 年),但它們并沒有立即占據(jù)該領(lǐng)域的主導(dǎo)地位。盡管 LeNet 在早期的小型數(shù)據(jù)集上取得了不錯的成績,但在更大、更真實的數(shù)據(jù)集上訓(xùn)練 CNN 的性能和可行性尚未確定。事實上,在 1990 年代初期和 2012 年分水嶺結(jié)果之間的大部分時間里(Krizhevsky等人,2012 年),神經(jīng)網(wǎng)絡(luò)經(jīng)常被其他機器學(xué)習(xí)方法超越,例如內(nèi)核方法(Sch?lkopf 和 Smola,2002 年) , 集成方法 ( Freund et al. , 1996 )和結(jié)構(gòu)化估計 ( Taskar et al. , 2004 )。
對于計算機視覺,這種比較可能并不完全準確。也就是說,盡管卷積網(wǎng)絡(luò)的輸入由原始或輕微處理(例如,通過居中)的像素值組成,但從業(yè)者永遠不會將原始像素輸入傳統(tǒng)模型。相反,典型的計算機視覺管道由人工設(shè)計的特征提取管道組成,例如 SIFT ( Lowe, 2004 )、SURF ( Bay et al. , 2006 )和視覺詞袋 ( Sivic and Zisserman, 2003 )。不是學(xué)習(xí)這些特征,而是精心制作這些特征. 大多數(shù)進步一方面來自于對特征提取有更聰明的想法,另一方面來自于對幾何學(xué)的深刻洞察(Hartley和 Zisserman,2000 年) 。學(xué)習(xí)算法通常被認為是事后才想到的。
盡管在 1990 年代出現(xiàn)了一些神經(jīng)網(wǎng)絡(luò)加速器,但它們的功能還不足以制作具有大量參數(shù)的深度多通道、多層 CNN。例如,NVIDIA 的 GeForce 256 從 1999 年開始能夠每秒處理最多 4.8 億次操作 (MFLOP),而沒有任何有意義的編程框架用于游戲以外的操作。今天的加速器每臺設(shè)備能夠執(zhí)行超過 300 TFLOPs(NVIDIA 的 Ampere A100)。請注意,FLOP是浮點運算,例如乘法和加法。此外,數(shù)據(jù)集仍然相對較?。篛CR on 60,000 low-resolution28×28像素圖像被認為是一項極具挑戰(zhàn)性的任務(wù)。除了這些障礙之外,訓(xùn)練神經(jīng)網(wǎng)絡(luò)的關(guān)鍵技巧包括參數(shù)初始化啟發(fā)式 (Glorot 和 Bengio,2010 年)、隨機梯度下降的巧妙變體(Kingma 和 Ba,2014 年)、非壓縮激活函數(shù) (Nair 和 Hinton,2010 年),和有效的正則化技術(shù) ( Srivastava et al. , 2014 )仍然缺失。
因此,與其訓(xùn)練端到端(像素到分類)系統(tǒng),經(jīng)典管道看起來更像這樣:
-
獲得一個有趣的數(shù)據(jù)集。在早期,這些數(shù)據(jù)集需要昂貴的傳感器。例如, 1994 年的Apple QuickTake 100擁有高達 0.3 兆像素 (VGA) 的分辨率,能夠存儲多達 8 張圖像,而所有這些的價格都是 1,000 美元。
-
根據(jù)光學(xué)、幾何學(xué)和其他分析工具的一些知識,偶爾根據(jù)幸運研究生的偶然發(fā)現(xiàn),使用手工制作的特征對數(shù)據(jù)集進行預(yù)處理。
-
通過一組標準的特征提取器輸入數(shù)據(jù),例如 SIFT(尺度不變特征變換)(Lowe,2004 年)、SURF(加速穩(wěn)健特征) (Bay等人,2006 年),或任何數(shù)量的其他手-調(diào)整管道。OpenCV 至今仍提供 SIFT 提取器!
-
將生成的表示轉(zhuǎn)儲到您最喜歡的分類器中,可能是線性模型或內(nèi)核方法,以訓(xùn)練分類器。
如果您與機器學(xué)習(xí)研究人員交談,他們認為機器學(xué)習(xí)既重要又美麗。優(yōu)雅的理論證明了各種分類器的特性 (Boucheron等人,2005 年),凸優(yōu)化 (Boyd 和 Vandenberghe,2004 年)已成為獲得它們的中流砥柱。機器學(xué)習(xí)領(lǐng)域蓬勃發(fā)展、嚴謹且非常有用。但是,如果您與計算機視覺研究人員交談,您會聽到截然不同的故事。他們會告訴你,圖像識別的骯臟真相是特征、幾何 (Hartley 和 Zisserman,2000 年,Hartley 和 Kahl,2009 年)和工程學(xué),而不是新穎的學(xué)習(xí)算法,推動了進步。計算機視覺研究人員有理由相信,與任何學(xué)習(xí)算法相比,稍微更大或更清潔的數(shù)據(jù)集或稍微改進的特征提取管道對最終準確性的影響要大得多。
import tensorflow as tf
from d2l import tensorflow as d2l
8.1.1. 表征學(xué)習(xí)
另一種表達事態(tài)的方法是管道中最重要的部分是表示。直到 2012 年,表示法主要是機械計算的。事實上,設(shè)計一組新的特征函數(shù)、改進結(jié)果并編寫方法是一種突出的論文類型。SIFT (Lowe,2004)、SURF (Bay等人,2006)、HOG(定向梯度直方圖)(Dalal 和 Triggs,2005)、視覺詞袋 (Sivic 和 Zisserman,2003)和類似的特征提取器統(tǒng)治了棲息。
另一組研究人員,包括 Yann LeCun、Geoff Hinton、Yoshua Bengio、Andrew Ng、Shun-ichi Amari 和 Juergen Schmidhuber,有不同的計劃。他們認為應(yīng)該學(xué)習(xí)特征本身。此外,他們認為要合理復(fù)雜,特征應(yīng)該由多個聯(lián)合學(xué)習(xí)層分層組成,每個層都有可學(xué)習(xí)的參數(shù)。在圖像的情況下,最低層可能會檢測邊緣、顏色和紋理,類似于動物的視覺系統(tǒng)如何處理其輸入。特別是,視覺特征的自動設(shè)計,例如通過稀疏編碼獲得的特征(Olshausen 和 Field,1996 年)在現(xiàn)代 CNN 出現(xiàn)之前仍然是一個開放的挑戰(zhàn)。直到 Dean等人。( 2012 ), Le ( 2013 ),從圖像數(shù)據(jù)自動生成特征的想法獲得了顯著的吸引力。
第一個現(xiàn)代 CNN (Krizhevsky等人,2012 年)以其發(fā)明者之一 Alex Krizhevsky 的名字命名為 AlexNet ,主要是對 LeNet 的進化改進。它在 2012 年的 ImageNet 挑戰(zhàn)賽中取得了優(yōu)異的成績。

圖 8.1.1 AlexNet 第一層學(xué)習(xí)的圖像過濾器。復(fù)制由Krizhevsky等人提供。( 2012 )。
有趣的是,在網(wǎng)絡(luò)的最低??層,該模型學(xué)習(xí)了類似于一些傳統(tǒng)過濾器的特征提取器。 圖 8.1.1顯示了較低級別的圖像描述符。網(wǎng)絡(luò)中的更高層可能基于這些表示來表示更大的結(jié)構(gòu),如眼睛、鼻子、草葉等。甚至更高的層可能代表整個對象,如人、飛機、狗或飛盤。最終,最終的隱藏狀態(tài)學(xué)習(xí)圖像的緊湊表示,總結(jié)其內(nèi)容,這樣屬于不同類別的數(shù)據(jù)可以很容易地分開。
AlexNet (2012) 及其前身 LeNet (1995) 共享許多架構(gòu)元素。這就引出了一個問題:為什么花了這么長時間?一個關(guān)鍵區(qū)別在于,在過去二十年中,可用的數(shù)據(jù)量和計算能力顯著增加。因此 AlexNet 更大:與 1995 年可用的 CPU 相比,它使用更多數(shù)據(jù)和更快的 GPU 進行訓(xùn)練。
8.1.1.1。缺少的成分:數(shù)據(jù)
具有多層的深度模型需要大量數(shù)據(jù)才能進入顯著優(yōu)于基于凸優(yōu)化的傳統(tǒng)方法(例如,線性和核方法)的狀態(tài)。然而,鑒于計算機的存儲容量有限、(成像)傳感器的相對費用以及 1990 年代相對緊張的研究預(yù)算,大多數(shù)研究都依賴于微小的數(shù)據(jù)集。許多論文依賴于 UCI 的數(shù)據(jù)集集合,其中許多僅包含數(shù)百或(幾)數(shù)千張以低分辨率捕獲的圖像,并且通常具有人為清潔的背景。
2009 年,ImageNet 數(shù)據(jù)集發(fā)布 (Deng等人,2009 年),挑戰(zhàn)研究人員從 100 萬個示例中學(xué)習(xí)模型,每個示例來自 1000 個不同類別的對象 1000 個。類別本身基于 WordNet 中最流行的名詞節(jié)點(Miller,1995)。ImageNet 團隊使用 Google Image Search 為每個類別預(yù)過濾大型候選集,并使用 Amazon Mechanical Turk 眾包管道來確認每個圖像是否屬于相關(guān)類別。這個規(guī)模是前所未有的,超過其他規(guī)模超過一個數(shù)量級(例如,CIFAR-100 有 60,000 張圖像)。另一個方面是圖像的分辨率相對較高224×224 像素,不同于 8000 萬大小的 TinyImages 數(shù)據(jù)集 (Torralba等人,2008 年),包括 32×32像素縮略圖。這允許形成更高級別的特征。相關(guān)競賽被稱為 ImageNet 大規(guī)模視覺識別挑戰(zhàn)賽 (Russakovsky等人,2015 年),推動了計算機視覺和機器學(xué)習(xí)研究的發(fā)展,挑戰(zhàn)研究人員確定哪些模型在比學(xué)術(shù)界之前考慮的更大的規(guī)模上表現(xiàn)最好。最大的視覺數(shù)據(jù)集,如 LAION-5B (Schuhmann等人,2022 年)包含數(shù)十億張帶有附加元數(shù)據(jù)的圖像。
8.1.1.2。缺少的成分:硬件
深度學(xué)習(xí)模型是計算周期的貪婪消費者。訓(xùn)練可能需要數(shù)百個時期,每次迭代都需要通過多層計算昂貴的線性代數(shù)運算來傳遞數(shù)據(jù)。這是為什么在 1990 年代和 2000 年代初期,基于更有效優(yōu)化的凸目標的簡單算法受到青睞的主要原因之一。
圖形處理單元(GPU) 被證明是使深度學(xué)習(xí)可行的游戲規(guī)則改變者。這些芯片長期以來一直被開發(fā)用于加速圖形處理以造福于計算機游戲。特別是,它們針對高吞吐量進行了優(yōu)化4×4 許多計算機圖形任務(wù)都需要矩陣向量積。幸運的是,數(shù)學(xué)與計算卷積層所需的數(shù)學(xué)驚人地相似。大約在那個時候,NVIDIA 和 ATI 已經(jīng)開始針對通用計算操作優(yōu)化 GPU (Fernando,2004 年),甚至將它們作為 通用 GPU (GPGPU) 推向市場。
為了提供一些直覺,請考慮現(xiàn)代微處理器 (CPU) 的內(nèi)核。每個內(nèi)核都相當(dāng)強大,以高時鐘頻率運行并運行大型緩存(高達幾兆字節(jié)的 L3)。每個內(nèi)核都非常適合執(zhí)行各種指令,具有分支預(yù)測器、深度管道、專門的執(zhí)行單元、推測執(zhí)行和許多其他功能,使其能夠運行具有復(fù)雜控制流的各種程序。
評論