
作者 | Jean-Louis Queguiner
來源 | 機(jī)器之心
「神經(jīng)網(wǎng)絡(luò)就像數(shù)數(shù)一樣簡單」,「卷積層只是一個蝙蝠信號燈」……在本文中,一位奶爸從手寫數(shù)字識別入手,用這樣簡單的語言向自己 8 歲的女兒解釋了一下「深度學(xué)習(xí)」。當(dāng)然,用這篇文章向女朋友(如果有的話)科普自己的工作也是可以的。
機(jī)器學(xué)習(xí),尤其是深度學(xué)習(xí)是一個熱門話題,你肯定會在媒體上看到流行語「人工智能」。
然而,這些并非新概念。第一個人工神經(jīng)網(wǎng)絡(luò)(ANN)是在 40 年代引入的。那么為什么最近的熱點話題都是關(guān)于神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)的呢?我們將在 GPU 和機(jī)器學(xué)習(xí)的一系列博客文章中探討這些概念。
在 80 年代,我記得我父親構(gòu)建了用于銀行支票的字符識別工具。檢查這么多不同類型的筆跡真的是一件痛苦的事,因為他需要一個方程來適應(yīng)所有的變化。
在過去幾年中,很明顯,處理這類問題的最佳方法是通過卷積神經(jīng)網(wǎng)絡(luò)。人類設(shè)計的方程不再適合處理無限的手寫模式。
讓我們來看看最經(jīng)典的例子之一:構(gòu)建一個數(shù)字識別系統(tǒng),一個識別手寫數(shù)字的神經(jīng)網(wǎng)絡(luò)。
事實 1:神經(jīng)網(wǎng)絡(luò)就像數(shù)數(shù)一樣簡單
我們首先計算最上面一行的紅色形狀在每個黑色手寫數(shù)字中出現(xiàn)了幾次。
▲手寫數(shù)字的簡化矩陣
現(xiàn)在讓我們嘗試通過計算具有相同紅色形狀的匹配數(shù)來識別(推斷)新的手寫數(shù)字。然后我們將其與之前的表格進(jìn)行比較,以確定這個數(shù)字與哪個數(shù)字有最強(qiáng)的關(guān)聯(lián):
▲匹配手寫數(shù)字的形狀
恭喜!你剛剛構(gòu)建了世界上最簡單的神經(jīng)網(wǎng)絡(luò)系統(tǒng),用于識別手寫數(shù)字。
事實 2:圖像只是一個矩陣
計算機(jī)將圖像視為矩陣。一張黑白圖像是個 2D 矩陣。
我們來考慮一張圖像。為了簡單起見,我們拍攝一張數(shù)字 8 的小黑白圖像,方形尺寸為 28 像素。
矩陣的每個單元表示從 0(表示黑色)到 255(表示純白色像素)的像素強(qiáng)度。
因此,圖像將表示為以下 28×28 的像素矩陣。
▲手寫數(shù)字 8 的圖像和相關(guān)的強(qiáng)度矩陣
事實 3:卷積層只是一個蝙蝠信號燈
為了確定圖片中顯示的圖案(此處指手寫數(shù)字 8),我們將使用一種蝙蝠信號燈/手電筒。在機(jī)器學(xué)習(xí)中,手電筒被稱為過濾器(filter)。該過濾器用于執(zhí)行 Gimp 等常見圖像處理軟件中用到的經(jīng)典卷積矩陣計算。
過濾器將掃描圖片,以便在圖像中找到圖案,并在匹配成功時觸發(fā)正反饋。它有點像兒童形狀分類盒:三角形過濾器匹配三角形孔,方形過濾器匹配方孔等。
▲圖像過濾器像兒童形狀分類盒一樣工作。
事實 4:過濾器匹配是一項易并行任務(wù)
更科學(xué)地來講,圖像過濾過程看起來有點像下面的動畫。如你所見,過濾器掃描的每個步驟都是相互獨立的,這意味著此任務(wù)可以高度并行化。
要注意,數(shù)十個過濾器將同時運(yùn)行,因為它們不相互依賴。
事實 5:盡可能多次重復(fù)過濾操作(矩陣卷積)
我們剛剛看到,輸入圖像/矩陣使用多個矩陣卷積進(jìn)行過濾。
為了提高圖像識別的準(zhǔn)確率,只需從前一個操作中獲取過濾后的圖像,然后一次又一次地過濾......
當(dāng)然,我們過分簡化了一些事情,但通常你使用的過濾器越多,按順序重復(fù)這個操作的次數(shù)越多,你的結(jié)果就越精確。
這就像創(chuàng)建新的抽象層以獲得更清晰的對象過濾器描述,從原始過濾器到看起來像邊緣、輪子、正方形、立方體等的過濾器......
事實 6:矩陣卷積只是乘、加運(yùn)算
一圖勝千言:下圖是使用卷積過濾器(3×3)過濾的源圖像(8×8)的簡化視圖。手電筒(此處為 Sobel Gx 過濾器)的投影提供一個值。
▲應(yīng)用于輸入矩陣的卷積過濾器(Sobel Gx)示例
這就是這種方法的神奇之處,簡單的矩陣運(yùn)算是高度并行化的,完全符合通用圖形處理單元的用例。
事實 7:需要簡化和總結(jié)檢測到的內(nèi)容嗎?只需使用 max()
我們需要總結(jié)過濾器檢測到的內(nèi)容,以便學(xué)到概括性的知識。
為此,我們將對先前過濾操作的輸出進(jìn)行采樣。
此操作稱為池化或下采樣,但實際上它是為了減小矩陣的大小。
你可以使用任何縮小操作,例如:最大化,最小化,取平均值,計數(shù),取中位數(shù),求和等等。
▲最大池化層示例
事實 8:將輸出扁平化,得出最終結(jié)果
不要忘記我們正在研究的神經(jīng)網(wǎng)絡(luò)的主要目的:建立一個圖像識別系統(tǒng),也稱為圖像分類。
如果神經(jīng)網(wǎng)絡(luò)的目的是檢測手寫數(shù)字,那么輸入圖像最后將被映射到 10 個類:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]。
要在通過所有這些過濾器和下采樣層之后,才將此輸入映射到類,我們將只有 10 個神經(jīng)元(每個神經(jīng)元代表一個類),每個神經(jīng)元將連接到最后一個子采樣層。
以下是由 Yann Lecun 設(shè)計的原始 LeNet-5 卷積神經(jīng)網(wǎng)絡(luò)的概述,他是早期采用該技術(shù)進(jìn)行圖像識別的人之一。
▲原始論文中的 LeNet-5 架構(gòu)
事實 9:深度學(xué)習(xí)只是基于反饋回路的持續(xù)改進(jìn)
技術(shù)之美不僅來自卷積,而且來自網(wǎng)絡(luò)自身學(xué)習(xí)和適應(yīng)的能力。通過實現(xiàn)名為反向傳播的反饋回路,網(wǎng)絡(luò)將使用權(quán)重來減輕和抑制不同層中的一些「神經(jīng)元」。
我們來看看網(wǎng)絡(luò)的輸出,如果猜測(輸出 0, 1, 2, 3, 4, 5, 6, 7, 8 或 9)是錯誤的,我們要看一下是哪個/些過濾器「出了錯」,找到之后,我們給這個/些過濾器一個小小的權(quán)重,這樣它們下次就不會犯同樣的錯誤。瞧!系統(tǒng)在學(xué)習(xí)并不斷改進(jìn)自己。
事實 10:這一切都說明,深度學(xué)習(xí)是易并行過程
提取數(shù)千個圖像,運(yùn)行數(shù)十個過濾器,采用下采樣,扁平化輸出...... 所有這些步驟可以并行完成,這使得系統(tǒng)易于并行。它只是 GPGPU(通用圖形處理單元)的完美用例,非常適合大規(guī)模并行計算。
事實 11:需要更精確?那網(wǎng)絡(luò)就再深一點
當(dāng)然這有點過于簡單化,但如果我們看一下主要的「圖像識別競賽」,即 ImageNet 挑戰(zhàn),我們就可以看到錯誤率隨著神經(jīng)網(wǎng)絡(luò)的深度增加而降低。人們普遍認(rèn)為,排除其他因素,網(wǎng)絡(luò)深度的增加將帶來更好的泛化能力和準(zhǔn)確性。
▲Imagenet 挑戰(zhàn)賽獲勝者錯誤率 VS 網(wǎng)絡(luò)中的層數(shù)
結(jié)論
我們簡要介紹了應(yīng)用于圖像識別的深度學(xué)習(xí)概念。值得注意的是,幾乎所有用于圖像識別的新架構(gòu)(醫(yī)療、衛(wèi)星、自動駕駛......)都使用相同的原理,只是具有不同數(shù)量的層,不同類型的濾波器,不同的初始化點,不同的矩陣大小,不同的技巧(如圖像增強(qiáng)、dropout、權(quán)重壓縮...)。概念都是一樣的:
▲手寫數(shù)字識別過程
深度學(xué)習(xí)模型的訓(xùn)練和推理可以歸結(jié)為并行完成的大量基本矩陣運(yùn)算,確切地說,這正是我們已有的圖形處理器(GPU)的用途。
數(shù)據(jù)分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
SQL Server 中 CONVERT 函數(shù)的日期轉(zhuǎn)換:從基礎(chǔ)用法到實戰(zhàn)優(yōu)化 在 SQL Server 的數(shù)據(jù)處理中,日期格式轉(zhuǎn)換是高頻需求 —— 無論 ...
2025-09-18MySQL 大表拆分與關(guān)聯(lián)查詢效率:打破 “拆分必慢” 的認(rèn)知誤區(qū) 在 MySQL 數(shù)據(jù)庫管理中,“大表” 始終是性能優(yōu)化繞不開的話題。 ...
2025-09-18CDA 數(shù)據(jù)分析師:表結(jié)構(gòu)數(shù)據(jù) “獲取 - 加工 - 使用” 全流程的賦能者 表結(jié)構(gòu)數(shù)據(jù)(如數(shù)據(jù)庫表、Excel 表、CSV 文件)是企業(yè)數(shù)字 ...
2025-09-18DSGE 模型中的 Et:理性預(yù)期算子的內(nèi)涵、作用與應(yīng)用解析 動態(tài)隨機(jī)一般均衡(Dynamic Stochastic General Equilibrium, DSGE)模 ...
2025-09-17Python 提取 TIF 中地名的完整指南 一、先明確:TIF 中的地名有哪兩種存在形式? 在開始提取前,需先判斷 TIF 文件的類型 —— ...
2025-09-17CDA 數(shù)據(jù)分析師:解鎖表結(jié)構(gòu)數(shù)據(jù)特征價值的專業(yè)核心 表結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 規(guī)范存儲的結(jié)構(gòu)化數(shù)據(jù),如數(shù)據(jù)庫表、Excel 表、 ...
2025-09-17Excel 導(dǎo)入數(shù)據(jù)含缺失值?詳解 dropna 函數(shù)的功能與實戰(zhàn)應(yīng)用 在用 Python(如 pandas 庫)處理 Excel 數(shù)據(jù)時,“缺失值” 是高頻 ...
2025-09-16深入解析卡方檢驗與 t 檢驗:差異、適用場景與實踐應(yīng)用 在數(shù)據(jù)分析與統(tǒng)計學(xué)領(lǐng)域,假設(shè)檢驗是驗證研究假設(shè)、判斷數(shù)據(jù)差異是否 “ ...
2025-09-16CDA 數(shù)據(jù)分析師:掌控表格結(jié)構(gòu)數(shù)據(jù)全功能周期的專業(yè)操盤手 表格結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 存儲的結(jié)構(gòu)化數(shù)據(jù),如 Excel 表、數(shù)據(jù) ...
2025-09-16MySQL 執(zhí)行計劃中 rows 數(shù)量的準(zhǔn)確性解析:原理、影響因素與優(yōu)化 在 MySQL SQL 調(diào)優(yōu)中,EXPLAIN執(zhí)行計劃是核心工具,而其中的row ...
2025-09-15解析 Python 中 Response 對象的 text 與 content:區(qū)別、場景與實踐指南 在 Python 進(jìn)行 HTTP 網(wǎng)絡(luò)請求開發(fā)時(如使用requests ...
2025-09-15CDA 數(shù)據(jù)分析師:激活表格結(jié)構(gòu)數(shù)據(jù)價值的核心操盤手 表格結(jié)構(gòu)數(shù)據(jù)(如 Excel 表格、數(shù)據(jù)庫表)是企業(yè)最基礎(chǔ)、最核心的數(shù)據(jù)形態(tài) ...
2025-09-15Python HTTP 請求工具對比:urllib.request 與 requests 的核心差異與選擇指南 在 Python 處理 HTTP 請求(如接口調(diào)用、數(shù)據(jù)爬取 ...
2025-09-12解決 pd.read_csv 讀取長浮點數(shù)據(jù)的科學(xué)計數(shù)法問題 為幫助 Python 數(shù)據(jù)從業(yè)者解決pd.read_csv讀取長浮點數(shù)據(jù)時的科學(xué)計數(shù)法問題 ...
2025-09-12CDA 數(shù)據(jù)分析師:業(yè)務(wù)數(shù)據(jù)分析步驟的落地者與價值優(yōu)化者 業(yè)務(wù)數(shù)據(jù)分析是企業(yè)解決日常運(yùn)營問題、提升執(zhí)行效率的核心手段,其價值 ...
2025-09-12用 SQL 驗證業(yè)務(wù)邏輯:從規(guī)則拆解到數(shù)據(jù)把關(guān)的實戰(zhàn)指南 在業(yè)務(wù)系統(tǒng)落地過程中,“業(yè)務(wù)邏輯” 是連接 “需求設(shè)計” 與 “用戶體驗 ...
2025-09-11塔吉特百貨孕婦營銷案例:數(shù)據(jù)驅(qū)動下的精準(zhǔn)零售革命與啟示 在零售行業(yè) “流量紅利見頂” 的當(dāng)下,精準(zhǔn)營銷成為企業(yè)突圍的核心方 ...
2025-09-11CDA 數(shù)據(jù)分析師與戰(zhàn)略 / 業(yè)務(wù)數(shù)據(jù)分析:概念辨析與協(xié)同價值 在數(shù)據(jù)驅(qū)動決策的體系中,“戰(zhàn)略數(shù)據(jù)分析”“業(yè)務(wù)數(shù)據(jù)分析” 是企業(yè) ...
2025-09-11Excel 數(shù)據(jù)聚類分析:從操作實踐到業(yè)務(wù)價值挖掘 在數(shù)據(jù)分析場景中,聚類分析作為 “無監(jiān)督分組” 的核心工具,能從雜亂數(shù)據(jù)中挖 ...
2025-09-10統(tǒng)計模型的核心目的:從數(shù)據(jù)解讀到?jīng)Q策支撐的價值導(dǎo)向 統(tǒng)計模型作為數(shù)據(jù)分析的核心工具,并非簡單的 “公式堆砌”,而是圍繞特定 ...
2025-09-10