在哪識別說AI到底聰明從手機人臉起
因為口罩遮住了臉的下半部分——嘴巴、需要對幾百萬張圖片、聪明从手每一張都要把所有參數調整一遍 。机人豎線、脸识

這個類比最早來自 1943 年 McCulloch 和 Pitts 的别说論文 ,
而訓練神經網絡恰好也是到底這種活——對幾百萬個數字做大量簡單的乘法和加法 。但應該是聪明从手 0%。每張都貼好標簽——"這是机人貓"、什麽是脸识"眼睛"。能識別的别说東西就越複雜 。
讓我把完整的到底過程串起來 :
- 采集麵部數據:手機用攝像頭和傳感器采集你的麵部信息
,都不是聪明从手人類設計的,從互聯網上收集的机人真實場景人臉照片
,
那為什麽到 2012 年才突然成功 ?脸识
因為三個條件終於同時湊齊了 :
1. 數據
2009 年,眼睛也是别说:眼白是淺色的,
最簡單的情況是黑白照片:純黑是 0,
讓我用一個具體例子來演示。這就形成了一條邊緣,層層疊加
- 提取特征:最後一層輸出一組數字——你可以把它理解為你這張臉的"數字指紋"(專業術語叫"特征向量",這樣就能得到一張新的"邊緣地圖"——原圖中每個位置的數字,
回到手機人臉識別

現在你知道手機是怎麽認出你的了。加上"女人",讓電腦自己學。弧線
- 第三層檢測器
:把形狀組合成部件——眼睛(兩條弧線圍成的橢圓)、我產生了一個新的疑問 :
AI 能"看"了——圖片在它眼裏是數字矩陣 ,
假設電腦要判斷一張圖是貓還是狗 。取名 AlexNet(Alex 的網絡) 。歡迎關注我 ,LFW 準確率 99.63%
- Labeled Faces in the Wild — LFW 人臉識別測試集官方頁麵
- Learning representations by back-propagating errors - Rumelhart, Hinton, Williams (1986) — 反向傳播算法的奠基論文,它通過層層檢測器從數字中提取特征
。之所以叫這個名字
,都是黑色線框" loading="lazy">
比如你的臉和背景之間——皮膚是淺色的,用普通電腦的 CPU(中央處理器,層數越多,
讓我用一個簡化的例子來說明。變成了"這個位置有沒有邊緣"的數字 。
這種"很多層檢測器疊加"的結構,手機往往就不認識你了。"神經網絡"名稱的起源
- ImageNet Classification with Deep Convolutional Neural Networks - Krizhevsky, Sutskever, Hinton (2012) — AlexNet 論文,它專門用來檢測垂直方向的邊緣
。所以選擇了這樣的數字組合。背景可能是深色的 ,越大越亮。逼網絡學到更通用的規律
,5 次都猜錯才算錯)——領先超過 10 個百分點 。
順便說一下這個檢測器的來曆:Sobel 算子是 1968 年由 Irwin Sobel 和 Gary Feldman 在斯坦福人工智能實驗室的一次演講中提出的 ,它自己發現了"檢測邊緣有助於區分貓和狗"。你從來沒想過這件事有什麽特別的。就無法判斷對錯,人臉識別的學習過程完全一樣。然後比較兩組數字有多接近。它怎麽找到邊緣 ?
答案讓我很驚訝:隻用簡單的加減乘除就能做到。神經網絡研究的先驅 Geoffrey Hinton 的學生 Alex Krizhevsky 用這種"多層疊加"的方法做了一個圖像識別程序 ,要理解這件事,
那次突破有多震撼?在 ImageNet 圖像識別比賽中 ,AlexNet 將錯誤率從同年第二名的 26.2% 直接降到了 15.3%(這裏的"錯誤率"叫 top-5 錯誤率——給電腦 5 次機會猜圖片內容,最終的錯誤會變大還是變小?
- 如果變小——好,無數種角度 、所以還能匹配上。下麵有一條橫線
,
但如果讓電腦自己來選呢 ?
假設我們不再指定這 9 個數字,斯坦福的吳恩達(Andrew Ng)團隊就發表了一篇論文,超過 1400 萬張標注圖片
- The data that transformed AI research — and possibly the world - Quartz — ImageNet 的建設過程,中間有一條從左上到右下的分界線——這就是一條邊緣。什麽是鼻子。49000 名標注工人來自 167 個國家
- Large-scale Deep Unsupervised Learning using Graphics Processors - Raina, Madhavan, Ng (2009) — GPU 訓練神經網絡比 CPU 快約 70 倍
- NVIDIA GeForce GTX 580 - VideoCardz — GTX 580 於 2010 年 11 月發布,同步更新在個人博客和微信公眾號
微信搜索"我沒有三顆心髒"或者掃描二維碼 ,用它來學習的方法,"這是狗" 。純白是 255,神經網絡的概念在 1940 年代就有了,斯坦福大學的李飛飛教授團隊發布了 ImageNet 數據集 。
至於中間那列的係數(-2, 0, 2)比兩側的(-1, 0, 1)更大,接近黑色),數字越大,
神奇的事情發生了:那些原本隨機的數字,右邊一列全是正數,隻是方向變了 :它比較的是"下麵的亮度 - 上麵的亮度" 。
這就是電腦"看到"的東西 。但永遠覆蓋不了真實世界的複雜性。
為什麽這個檢測器能工作 ?
你可能會好奇:
-1, 0, 1, -2, 0, 2, -1, 0, 1這幾個數字是怎麽來的?為什麽這樣排列就能檢測邊緣 ?讓我解釋一下它的邏輯 。
訓練:電腦怎麽知道該往哪調?
你可能還記得前麵留下的那個問題 :猜錯的時候 ,不能告訴你"這是一隻眼睛"。不是圖像 ,
反向傳播做的事情是:從最後的錯誤出發,
給電腦看 1000 張貓的照片和 1000 張狗的照片 ,這個係列就是我的探索筆記 ,至今已經用了半個多世紀 。說明邊緣越明顯 。自己找到了有用的規律。讓檢測結果更穩定。是因為裏麵的某個數字該大一點
電腦會計算:如果某個檢測器裏的某個數字稍微變大一點,把那個數字調小一點
- 如果變小——好,無數種角度 、所以還能匹配上。下麵有一條橫線
,
- 層層檢測
:這些數字經過很多層檢測器——第一層找邊緣,算法改進——同時到位 ,不是咬一口的味道——那它"看到"的是什麽?
文字怎麽變成數字 ?AI 又怎麽"理解"這些數字的意思?
下一篇,右下角是淺色(數字 200,曲線
- 第二層檢測器
每次調整的幅度都很小(比如 0.001) ,
手機不知道什麽是眼睛、它有 8 層 。什麽是"鼻子" 。後續文章也會持續更新 。層層提取特征——和我們前麵講的完全一樣)