不過你可能注意過一個奇怪的别说事:在幾年前,
這就是到底電腦"看"圖片的第一步 :找到所有顏色突變的位置。錯了多少?聪明从手差了很多——它說 60% 是貓,
一個新的問題
理解了 AI 怎麽"認人"之後,參數量更是脸识以億計。這些"正確答案"是别说電腦學習的前提——沒有答案,
彩色照片稍微複雜一點:每個像素需要三個數字,這樣就能得到一張新的"邊緣地圖"——原圖中每個位置的數字 ,重複幾百萬次之後 ,覺得不錯的話 ,
讓我用一個具體例子來演示。但換發型還能認出來?
因為口罩遮住了臉的下半部分——嘴巴、
這需要大量的計算。能識別的東西就越複雜 。排成 3×3:
10 10 1010 10 20010 200 200左上角是深色(數字 10,所謂檢測器,我們先用一個更簡單的任務來說明這個過程——區分貓和狗 。
仔細看這個檢測器的結構 :左邊一列全是負數 ,這些技術讓更深的網絡變得可訓練。你就找到了輪廓 、用普通電腦的 CPU(中央處理器,找到了邊緣,斯坦福大學的李飛飛教授團隊發布了 ImageNet 數據集。AlexNet 將錯誤率從同年第二名的 26.2% 直接降到了 15.3%(這裏的"錯誤率"叫 top-5 錯誤率——給電腦 5 次機會猜圖片內容,但換了個發型 ,
-1 0 1-2 0 2-1 0 1當它掃描圖片的一個區域時 ,判斷"這是不是主人的臉" 。

"標注好"的意思是 :每張圖片都有人告訴你"這是貓"、它就是這樣一張表格:
0 0 200 0 0 0 0 200 0 0200 200 200 200 200 0 0 200 0 0 0 0 200 0 00 是黑色,至今已經用了半個多世紀。但眼睛 、隻用加減乘除 ,算法改進——同時到位 ,200 是亮色(接近白色)。而今天的大型模型 ,它通過層層檢測器從數字中提取特征 。那可能是一張臉"
像素 → 邊緣 → 形狀 → 部件 → 整體
每一層都是在上一層的基礎上,再傳給下一個。它專門用來檢測垂直方向的邊緣。曲線
微信搜索"我沒有三顆心髒"或者掃描二維碼 ,是電腦自己從數據裏學出來的。豎線 、
科學家們嚐試了很多方法:
- 有人試著寫規則:"如果有兩個圓形在上麵,突然有人考了 85 分。就是"深度學習"。然後全部加起來。一層一層往回追溯,是因為裏麵的某個數字該大一點
電腦會計算:如果某個檢測器裏的某個數字稍微變大一點,一個三角形在中間,

- 如果左右兩邊顏色一樣——正數和負數互相抵消 ,就要比較左右兩邊的亮度"
,這就形成了一條邊緣,是從幾百萬張人臉照片中"學"出來的。打個比方 :所有人都在 74 分左右競爭
,
為什麽 2012 年才成功?
你可能會好奇 :如果"讓電腦自己學"這個想法這麽好 ,兩個檢測器都會給出非零結果 。怎麽可能認出一張臉 ?
第一個線索:邊緣
什麽是邊緣 ?就是照片裏顏色突然變化的地方。歡迎關注我 ,所以選擇了這樣的數字組合。結果的數字越大(不管是正還是負),
實際使用時 ,下麵一行全是正數,從左到右顏色在變亮 。斜線 、弧線
- 第三層檢測器
:把形狀組合成部件——眼睛(兩條弧線圍成的橢圓)
、
三個條件——海量數據 、所以這幾層叫"卷積層")。為什麽這幾個數字能檢測邊緣?先看看它怎麽用 ,
疊加 :從線條到人臉
但一層檢測器還不夠 。LFW 準確率 99.63%
- Labeled Faces in the Wild — LFW 人臉識別測試集官方頁麵
- Learning representations by back-propagating errors - Rumelhart, Hinton, Williams (1986) — 反向傳播算法的奠基論文 ,從 1.6 億張候選圖片中篩選和標注。李飛飛團隊通過亞馬遜的眾包平台(一種把任務拆成小塊 、每一張都要把所有參數調整一遍。"這是汽車"。涵蓋 2 萬多個類別
。實際上在做這件事:
- 右邊像素的亮度 × 正數(加分)
- 左邊像素的亮度 × 負數(減分)
- 中間像素 × 0(不影響結果)
所以最終的結果 ,到達一個"很少出錯"的狀態 。表情——這些讓一張臉變得獨特的要素 。而顏色在電腦裏是用數字表示的 。把那個數字調小一點
每次調整的幅度都很小(比如 0.001),動用了來自 167 個國家的近 5 萬名標注工人,你會看到一個讓我非常震撼的例子:"國王"減去"男人" ,嘴巴(兩條曲線)
那次突破有多震撼?在 ImageNet 圖像識別比賽中 ,
但如果我們告訴電腦"正確答案"呢?
就像老師批改作業一樣 。後續文章也會持續更新 。
重複這個過程幾百萬次。人臉識別的學習過程完全一樣 。鼻子(一個三角形輪廓) 、什麽是"鼻子"。這可能要算好幾個月甚至幾年。別擔心,但原理完全一樣——歸根到底還是數字。每張都貼好標簽——"這是貓"、神經網絡的概念在 1940 年代就有了 ,就能看到"臉"了。所以 GPU 特別擅長"同時做很多簡單的計算" 。用它來學習的方法 ,
這個數字的意思是:這裏有一條明顯的邊緣,無數種角度 、
假設電腦要判斷一張圖是貓還是狗。叫做反向傳播——1986 年由 Rumelhart 、和正確答案對比:
- 如果猜對了——不錯,右下角是淺色(數字 200
,當時售價 499 美元) ,不過你不需要把這個類比想得太深——它隻是一種"層層傳遞、都是黑色線框" loading="lazy">
比如你的臉和背景之間——皮膚是淺色的 ,但對所有數字同時做這種微調,說明邊緣越明顯。後 3 層負責把前麵提取到的所有信息匯總起來做最終判斷(叫"全連接層"——你可以把它想象成"匯總投票",
邊緣勾勒出了圖片裏"有東西"的地方。
2012 年的突破用了一個聰明的辦法:用遊戲顯卡(GPU,也就是你臉的輪廓 。層數越多,
讓我把完整的過程串起來:
- 采集麵部數據:手機用攝像頭和傳感器采集你的麵部信息 ,綠色、發表於 Nature
- ImageNet: A Large-Scale Hierarchical Image Database - Deng, Dong, Socher, Li, Li, Fei-Fei (2009) — ImageNet 數據集論文,而是它從大量的對錯反饋中,一堆線條還不能告訴我們"這是一張臉"。
電腦用隨機檢測器算出一個結果 ,等於什麽?
參考資料
- Sobel operator - Wikipedia — Sobel 算子由 Irwin Sobel 和 Gary Feldman 於 1968 年在斯坦福人工智能實驗室提出
- A logical calculus of the ideas immanent in nervous activity - McCulloch & Pitts (1943) — 第一個神經元數學模型 ,就無法判斷對錯,層層加工"的計算結構。
整個過程不到一秒 。
電腦沒有被告知"要檢測邊緣"。其中前 5 層做的就是我們前麵演示的操作——用檢測器在圖片上滑動 、然後全部相加 :(10×-1) + (10×0) + (10×1) +(10×-2) + (10×0) + (200×2) +(10×-1) + (200×0) + (200×1)= -10 + 0 + 10 + -20 + 0 + 400 + -10 + 0 + 200= 570
結果是 570,
讓我用一個簡化的例子來說明 。中間一列全是 0。
一個邊緣檢測器隻能告訴你"這裏有一條線" ,結果是正數(有一條從暗到亮的邊緣)
- 如果左邊比右邊亮——負數那邊貢獻更大 ,5 次都猜錯才算錯)——領先超過 10 個百分點。
那為什麽到 2012 年才突然成功 ?
因為三個條件終於同時湊齊了:
1. 數據
2009 年 ,眼睛也是:眼白是淺色的 ,純白是 255,藍色的強度(也是 0 到 255)。你從來沒想過這件事有什麽特別的 。結果是負數(有一條從亮到暗的邊緣)
差異越大,都不是人類設計的,AI 為什麽能通過律師考試卻會一本正經地撒謊 。隻是方向變了:它比較的是"下麵的亮度 - 上麵的亮度" 。我一直很好奇 AI 到底是怎麽工作的,這個方法叫"反向傳播",
手機不知道什麽是眼睛 、其餘全是 0(暗) 。這也是邊緣 。
這就是"學習"的本質:不是有人教了它規則 ,而是一堆數字。它有 8 層 。
不過你可能發現了,有一個名字,
但文字呢 ?
當你對 ChatGPT 說"蘋果",也就無法調整那些數字 。也會同時在左右和上下兩個方向上產生亮度差,讓檢測結果更穩定。GPU 算力、

每天早上,於是花了很長時間去拆這個東西——手機為什麽換了發型還能認出你 ,為什麽沒有更早實現?
事實上 ,不是咬一口的味道——那它"看到"的是什麽 ?
文字怎麽變成數字?AI 又怎麽"理解"這些數字的意思 ?
下一篇 ,
這就是"深度學習"裏"深度"的含義——很多層檢測器疊加在一起。
但如果讓電腦自己來選呢?
假設我們不再指定這 9 個數字 ,
讓我一步一步算給你看 :
圖片: 檢測器:10 10 10 -1 0 110 10 200 -2 0 210 200 200 -1 0 1對應位置相乘,右邊一列全是正數,就叫"深度神經網絡"
,什麽是"眼睛",8 層網絡,對每個位置都做一次這樣的計算。最終這個數據集包含了超過 1400 萬張標注好的圖片 ,得先回答一個基本問題
:電腦看到的"照片"長什麽樣?一張照片是由很多個小點組成的,所以還能匹配上。現在一些新手機即使戴口罩也能解鎖——那是因為廠商後來專門用大量戴口罩的照片重新訓練了模型,第一層隻能看到線條,比如
,以及一種防止網絡"死記硬背"訓練數據的方法(叫 Dropout——隨機"關掉"一部分檢測器 ,
有的變成了顏色變化檢測器。為了建成 ImageNet ,數字大的地方 ,
它錯了。他們第一次用數學來描述神經元的工作方式 。一個管上下——就能找到圖片中任意方向的邊緣 。想分享給你。手機"看到"的是這樣的東西:
142 98 87 134 156 178 ... 78 45 52 89 123 145 ...134 167 189 201 178 156 ...... (幾百萬個數字)
手機要做的事情是:看這幾百萬個數字,叫神經網絡。保持
這就是電腦"看到"的東西。神經網絡研究的先驅 Geoffrey Hinton 的學生 Alex Krizhevsky 用這種"多層疊加"的方法做了一個圖像識別程序,才有了 2012 年的突破。遊戲畫麵需要同時計算屏幕上幾百萬個像素的顏色,就是邊緣 。
核心突破:讓電腦自己學
還記得前麵的 Sobel 算子嗎?
-1 0 1-2 0 2-1 0 1這 9 個數字是人類設計的 。超過 1400 萬張標注圖片
AI 能"看"了——圖片在它眼裏是數字矩陣,訓練這樣一個模型 ,歡迎分享+關注。你能看出來這是一個十字形嗎?——中間一橫一豎的數字是 200(亮) ,反向傳播算法在 1986 年就發表了 。直到一個想法改變了一切:
不要人類來設計檢測器 ,而是從海量數據中找到了反複出現的模式——比如"眼睛區域的像素通常呈現這樣的數字組合"。沒有邊緣。是因為它的工作方式有點像人腦中的神經元——每個神經元接收信號、
最簡單的情況是黑白照片 :純黑是 0,"神經網絡"名稱的起源
很簡單——把檢測器旋轉 90° :
-1 -2 -1 0 0 0 1 2 1看出來了嗎?現在上麵一行全是負數 ,分給大量網上工人完成的平台) ,top-5 錯誤率 15.3%
這是 「AI是怎麽回事」係列的第
1篇。背景可能是深色的,一個人的臉可以有無數種表情 、這個檢測器會在整張圖片上一格一格地滑動,哪怕是一條 45° 的斜線,
回到手機人臉識別
現在你知道手機是怎麽認出你的了。
還有一些 ,讓電腦自己學。沒有人花這麽大力氣去收集和標注這麽多圖片。它自己在反複的"猜對了/猜錯了"中發現了某些數字組合對區分不同人臉特別有用。比如 Google 在 2015 年發表的 FaceNet ,不能告訴你"這是一隻眼睛" 。那些檢測器裏的數字,就 9 個像素 ,它怎麽找到邊緣?
答案讓我很驚訝:隻用簡單的加減乘除就能做到 。變成幾百萬個數字(說明一下:現代手機的人臉解鎖不隻靠普通攝像頭——比如 iPhone 的 Face ID 會用紅外線在你臉上投射上萬個不可見的小點 ,它不知道什麽是"臉" 、
給電腦看 1000 張貓的照片和 1000 張狗的照片,就能檢測出圖片裏有沒有某種特征 。取名 AlexNet(Alex 的網絡) 。
從邊緣到形狀 :AI 卡了幾十年
找到邊緣之後呢?
1968 年的 Sobel 算子能找到邊緣,上百層,為什麽 ?
先別急著回答 。層層疊加
這就是 AI 的"聰明":不是真的理解,
至於中間那列的係數(-2, 0, 2)比兩側的(-1, 0, 1)更大,
這種"很多層檢測器疊加"的結構 ,
原理完全一樣,算出每一個數字對這個錯誤的"貢獻"有多大。現在可以回答文章開頭的那個問題了:為什麽戴口罩手機就不認識你,讓下次更可能猜對
怎麽調整?不是隨機亂調 ,
解決方法是
:疊加很多層。但永遠覆蓋不了真實世界的複雜性
。電腦的"大腦",這些可調整的數字,發現了很多有意思的東西 ,建議零售價 $499 如果覺得有意思
,訂閱
有的變成了邊緣檢測器(類似 Sobel 算子——電腦自己"發明"了類似的東西) 。
而關鍵是 :每一層的檢測器裏的數字,處理一下 、對應位置的數字相乘 ,
整個網絡包含 6000 萬個可調整的數字。我後麵會專門講。而是把它們變成"空的"——可以填入任何數值:
? ? ?? ? ?? ? ?一開始,證明在特定任務上 ,之所以叫這個名字,
在此之前 ,它自己發現了"檢測邊緣有助於區分貓和狗"。
神奇的事情發生了
:那些原本隨機的數字 ,"測量鼻子的位置" 但這些方法都撞上了同一堵牆 :需要人類告訴電腦什麽是"眼睛"、 要理解手機怎麽"人臉識別",就有 100 萬個像素。 但電腦隻看到數字啊,但疊加四五層之後 ,下麵有一條橫線,戴上口罩,Hinton 和 Williams 發表在《Nature》(全球最權威的科學期刊之一)上的一篇論文奠定了這個方法的基礎。 這個設計很聰明 ,現在你隻需要知道:電腦有辦法算出調整的方向和幅度。然後比較兩組數字有多接近。 但你可能已經發現了一個問題:這個檢測器隻能找到垂直方向的邊緣(左右亮度差)。解鎖 。第二層找形狀,一個很大的正數。 這就是 AI 在"看"這件事上卡住了幾十年的地方。 一堆數字
,把兩個結果綜合起來 , 電腦眼中的照片



