就像考試之後對答案:
- 最終結果錯了
- 是聪明从手因為最後一步的某個數字偏了
- 那個數字偏了
,
一個新的問題
理解了 AI 怎麽"認人"之後,你拿起手機,脸识無數種角度、别说
讓我用一個簡化的到底例子來說明。就能找到圖片裏顏色變化的聪明从手地方。但正確答案是机人"狗" 。而是脸识一堆數字。是别说從幾百萬張人臉照片中"學"出來的。
而訓練神經網絡恰好也是到底這種活——對幾百萬個數字做大量簡單的乘法和加法。加上"女人",聪明从手而是机人有一套精巧的方法能算出每個數字該往大了調還是往小了調 。這也是脸识邊緣。
3. 算法
AlexNet 還用了幾個關鍵的别说技術改進。上百層 ,所以這幾層叫"卷積層")。為什麽這幾個數字能檢測邊緣?先看看它怎麽用 ,現在一些新手機即使戴口罩也能解鎖——那是因為廠商後來專門用大量戴口罩的照片重新訓練了模型,就是"深度學習"。如果邊緣是水平的(上下亮度差)呢 ?
很簡單——把檢測器旋轉 90°:
-1 -2 -1 0 0 0 1 2 1看出來了嗎?現在上麵一行全是負數,處理一下、
你看,無數種光線。下巴這些區域的麵部特征被口罩擋住了 ,GPU 算力、這樣就不會被一張照片騙過去 。
Alex Krizhevsky 正是用兩塊遊戲顯卡(NVIDIA GTX 580 ,然後比較兩組數字有多接近。經過層層計算 ,但對所有數字同時做這種微調 ,那可能是一張臉"
- 有人試著提取更複雜的特征
:"檢測眼睛的形狀"、不過你不需要把這個類比想得太深——它隻是一種"層層傳遞、突然有人考了 85 分。

GPU 原本是用來生成(渲染)遊戲畫麵的。瞳孔是深色的,找到了邊緣,人臉識別的學習過程完全一樣。什麽是"鼻子"。它不知道什麽是"臉"、LFW 準確率 99.63%
- Labeled Faces in the Wild — LFW 人臉識別測試集官方頁麵
- Learning representations by back-propagating errors - Rumelhart, Hinton, Williams (1986) — 反向傳播算法的奠基論文
,
有的變成了邊緣檢測器(類似 Sobel 算子——電腦自己"發明"了類似的東西) 。"神經網絡"名稱的起源
- ImageNet Classification with Deep Convolutional Neural Networks - Krizhevsky, Sutskever, Hinton (2012) — AlexNet 論文,幾千萬個參數反複做計算。算出每一個數字對這個錯誤的"貢獻"有多大。打個比方:所有人都在 74 分左右競爭,手機"看到"的是這樣的東西
:
142 98 87 134 156 178 ... 78 45 52 89 123 145 ...134 167 189 201 178 156 ...... (幾百萬個數字)手機要做的事情是:看這幾百萬個數字,算法改進——同時到位,
2012 年的突破用了一個聰明的辦法 :用遊戲顯卡(GPU ,綜合判斷最終結果)。
這就是 AI 的"聰明":不是真的理解 ,而發型屬於臉的外圍 ,沒有人花這麽大力氣去收集和標注這麽多圖片。結果是負數(有一條從亮到暗的邊緣)
差異越大,
這就是電腦"看"圖片的第一步:找到所有顏色突變的位置。
核心突破 :讓電腦自己學
還記得前麵的 Sobel 算子嗎?
-1 0 1-2 0 2-1 0 1這 9 個數字是人類設計的 。斯坦福的吳恩達(Andrew Ng)團隊就發表了一篇論文,表情——這些讓一張臉變得獨特的要素。200 是亮色(接近白色)。
所以當你拿手機對著自己的臉,層數很多的神經網絡 ,
不過你可能注意過一個奇怪的事:在幾年前,層層提取特征——和我們前麵講的完全一樣)
那為什麽到 2012 年才突然成功?
因為三個條件終於同時湊齊了:
1. 數據
2009 年,層層疊加
至於中間那列的係數(-2, 0, 2)比兩側的(-1, 0, 1)更大 ,把兩個結果綜合起來,
讓我用一個具體例子來演示 。
反向傳播做的事情是:從最後的錯誤出發,

這個類比最早來自 1943 年 McCulloch 和 Pitts 的論文,就 9 個像素 ,但換發型還能認出來?
因為口罩遮住了臉的下半部分——嘴巴 、讓檢測器學會了隻靠眼睛和眉毛區域的特征來識別你。把邊緣變成形狀,五官 、右下角是淺色(數字 200,手機往往就不認識你了。涵蓋 2 萬多個類別。反向傳播算法在 1986 年就發表了。
現在可以回答文章開頭的那個問題了:為什麽戴口罩手機就不認識你
,最終這個數據集包含了超過 1400 萬張標注好的圖片,這可能要算好幾個月甚至幾年。
還有一些,比如
:
0.1 -0.3 0.50.2 0.1 -0.40.3 0.2 0.1用這個隨機檢測器去掃描圖片,鼻子(一個三角形輪廓) 、為什麽 ?
先別急著回答。
但如果讓電腦自己來選呢 ?
假設我們不再指定這 9 個數字 ,這個方法叫"反向傳播" ,不是圖像,旗艦模型超過 1 億個參數,AI 為什麽能通過律師考試卻會一本正經地撒謊。鼻梁這些區域的數字模式沒變,用它來學習的方法,就是一串能代表你長相特征的數字)
整個過程沒有任何"理解" 。
邊緣勾勒出了圖片裏"有東西"的地方。曲線

每天早上,我產生了一個新的疑問:
AI 能"看"了——圖片在它眼裏是數字矩陣 ,第一層隻能看到線條 ,什麽是"眼睛",是因為裏麵的某個數字該大一點
電腦會計算:如果某個檢測器裏的某個數字稍微變大一點 ,於是花了很長時間去拆這個東西——手機為什麽換了發型還能認出你,就能檢測出圖片裏有沒有某種特征。就能得到每個位置的"邊緣強度"和"邊緣方向" 。證明在特定任務上 ,一個管上下——就能找到圖片中任意方向的邊緣。取名 AlexNet(Alex 的網絡)。神經網絡研究的先驅 Geoffrey Hinton 的學生 Alex Krizhevsky 用這種"多層疊加"的方法做了一個圖像識別程序 ,分別表示紅色、什麽是"眼睛" 。側臉怎麽辦 ?戴帽子怎麽辦?隻露出半張臉怎麽辦 ?
你怎麽可能把所有情況都寫成規則?
規則越寫越多,這個檢測器會在整張圖片上一格一格地滑動 ,他們第一次用數學來描述神經元的工作方式。電腦的"大腦" ,排成 3×3:
10 10 1010 10 20010 200 200左上角是深色(數字 10 ,錯了多少?差了很多——它說 60% 是貓 ,
實際使用時,純白是 255,
一個邊緣檢測器隻能告訴你"這裏有一條線",
怎麽用呢?把檢測器疊放到圖片上 ,最終的錯誤會變大還是變小?
- 如果變小——好 ,發表於 Nature
- ImageNet: A Large-Scale Hierarchical Image Database - Deng, Dong, Socher, Li, Li, Fei-Fei (2009) — ImageNet 數據集論文 ,它專門用來檢測垂直方向的邊緣。保持
- 如果猜錯了——調整那 9 個數字
