有的机人變成了邊緣檢測器(類似 Sobel 算子——電腦自己"發明"了類似的東西) 。而是脸识一堆數字 。重複幾百萬次之後,别说比如 :
0.1 -0.3 0.50.2 0.1 -0.40.3 0.2 0.1用這個隨機檢測器去掃描圖片,到底
這個數字的聪明从手意思是:這裏有一條明顯的邊緣 ,
但文字呢?机人
當你對 ChatGPT 說"蘋果" ,叫"參數" 。脸识
這需要大量的别说計算 。它專門用來檢測垂直方向的到底邊緣。豎線、聪明从手為什麽?机人
先別急著回答。
讓我一步一步算給你看:
圖片: 檢測器:10 10 10 -1 0 110 10 200 -2 0 210 200 200 -1 0 1對應位置相乘,脸识核心突破:讓電腦自己學
還記得前麵的别说 Sobel 算子嗎?
-1 0 1-2 0 2-1 0 1
這 9 個數字是人類設計的。超過 1400 萬張標注圖片
The data that transformed AI research — and possibly the world - Quartz — ImageNet 的建設過程 ,實際使用時,讓下次更可能猜對
怎麽調整?不是隨機亂調,然後比較兩組數字有多接近 。"測量鼻子的位置"
但這些方法都撞上了同一堵牆:需要人類告訴電腦什麽是"眼睛"
、那就是像素。下巴這些區域的麵部特征被口罩擋住了,6000 萬參數
,這可能要算好幾個月甚至幾年。AlexNet 將錯誤率從同年第二名的 26.2% 直接降到了 15.3%(這裏的"錯誤率"叫 top-5 錯誤率——給電腦 5 次機會猜圖片內容,分別表示紅色 、擅長一件一件地處理複雜任務),眼睛也是
:眼白是淺色的,動用了來自 167 個國家的近 5 萬名標注工人
,需要給電腦看幾百萬張人臉照片,本質上就是:右邊的亮度 - 左邊的亮度 。你會看到一個讓我非常震撼的例子
:"國王"減去"男人"
,結果肯定是亂七八糟的
。這個方法叫"反向傳播",都是黑色線框" loading="lazy">
比如你的臉和背景之間——皮膚是淺色的,發現了很多有意思的東西,但疊加四五層之後,是從幾百萬張人臉照片中"學"出來的。沒有邊緣的區域呢?
圖片: 檢測器:100 100 100 -1 0 1100 100 100 -2 0 2100 100 100 -1 0 1計算 :(100×-1) + (100×0) + (100×1) +(100×-2) + (100×0) + (100×2) +(100×-1) + (100×0) + (100×1)= -100 + 0 + 100 + -200 + 0 + 200 + -100 + 0 + 100= 0
結果是 0。建議零售價 $499
訂閱
如果覺得有意思 ,幾千萬個參數反複做計算。神經網絡的概念在 1940 年代就有了,綠色
、沒有人花這麽大力氣去收集和標注這麽多圖片。
還有一些,嘴巴(兩條曲線)
第四層檢測器
:把部件組合成整體——人臉
、檢測更複雜的東西 。都不是人類設計的,就能看到一個個小方塊,手機往往就不認識你了。中間一列全是 0
。看一眼屏幕,五官 、其中前 5 層做的就是我們前麵演示的操作——用檢測器在圖片上滑動、我一直很好奇 AI 到底是怎麽工作的,兩個檢測器都會給出非零結果 。一個很大的正數。這些可調整的數字,這些小點叫像素——你把手機照片放大再放大
,在 AI 領域有一個專門的名稱
,當時售價 499 美元)
,邊緣勾勒出了圖片裏"有東西"的地方 。而發型屬於臉的外圍,
神奇的事情發生了
:那些原本隨機的數字,
所以當你拿手機對著自己的臉,每張都貼好標簽——"這是貓"、就能得到每個位置的"邊緣強度"和"邊緣方向"。數字越小越暗,電腦的"大腦"
,就能看到"臉"了。叫 Sobel 算子("算子"就是"計算工具"的意思)
。三角形、逼網絡學到更通用的規律
,
2009 年,這些技術讓更深的網絡變得可訓練。
但你可能已經發現了一個問題:這個檢測器隻能找到垂直方向的邊緣(左右亮度差)
。
最簡單的情況是黑白照片:純黑是 0,中間有一條從左上到右下的分界線——這就是一條邊緣。
Alex Krizhevsky 正是用兩塊遊戲顯卡(NVIDIA GTX 580 ,打個比方:所有人都在 74 分左右競爭,我們得先搞清楚一個更基本的問題:手機到底是怎麽"人臉識別"的
?
答案要從一個讓人意外的事實說起——
你的手機看到的不是一張臉
,突然有人考了 85 分
。測量臉的立體形狀,神經網絡研究的先驅 Geoffrey Hinton 的學生 Alex Krizhevsky 用這種"多層疊加"的方法做了一個圖像識別程序,它自己在反複的"猜對了/猜錯了"中發現了某些數字組合對區分不同人臉特別有用 。但對所有數字同時做這種微調 ,說明邊緣越明顯。如果邊緣是水平的(上下亮度差)呢 ?
很簡單——把檢測器旋轉 90°:
-1 -2 -1 0 0 0 1 2 1
看出來了嗎
?現在上麵一行全是負數,
現在我用一個"檢測器"來掃描它 。而是把它們變成"空的"——可以填入任何數值:
? ? ?? ? ?? ? ?
一開始,而是從海量數據中找到了反複出現的模式——比如"眼睛區域的像素通常呈現這樣的數字組合" 。
重複這個過程幾百萬次
。貓臉、5 次都猜錯才算錯)——領先超過 10 個百分點。至今已經用了半個多世紀 。但應該是 0%。
它錯了
。
為什麽這個檢測器能工作?
你可能會好奇
:-1, 0, 1, -2, 0, 2, -1, 0, 1這幾個數字是怎麽來的
?為什麽這樣排列就能檢測邊緣?
讓我解釋一下它的邏輯 。但換發型還能認出來?
因為口罩遮住了臉的下半部分——嘴巴、所以選擇了這樣的數字組合
。花了大約 5-6 天
,它有 8 層 。但邊緣隻是一堆線條。斯坦福大學的李飛飛教授團隊發布了 ImageNet 數據集 。從互聯網上收集的真實場景人臉照片
,為什麽這幾個數字能檢測邊緣 ?先看看它怎麽用
,對每個位置都做一次這樣的計算。把那個數字調大一點
如果變大——反過來,這個檢測器也是 9 個數字
:-1 0 1-2 0 2-1 0 1
這個檢測器有個名字
,它輸出"60% 可能是貓"
,而顏色在電腦裏是用數字表示的 。什麽是"眼睛"
。結果的數字越大(不管是正還是負),檢測器提取出來的數字指紋和你錄入時的差太遠了。其餘全是 0(暗) 。層層加工"的計算結構。是因為裏麵的某個數字該大一點
電腦會計算 :如果某個檢測器裏的某個數字稍微變大一點,它不知道什麽是"臉"
、表情——這些讓一張臉變得獨特的要素 。接近黑色),我們來聊這個問題。
整個網絡包含 6000 萬個可調整的數字 。就有 100 萬個像素。
一個現代的人臉識別模型可能有幾百萬到上億個參數。也就無法調整那些數字 。是為了讓檢測器更關注正中間一行的變化,它隻是在做加減乘除:把像素變成邊緣
,最終這個數據集包含了超過 1400 萬張標注好的圖片,無數種光線。所以這幾層叫"卷積層")。
反向傳播做的事情是:從最後的錯誤出發
,是因為它的工作方式有點像人腦中的神經元——每個神經元接收信號、右邊一列全是正數,比如
,是電腦自己從數據裏學出來的。人類知道"要檢測垂直邊緣,不是咬一口的味道——那它"看到"的是什麽?
文字怎麽變成數字?AI 又怎麽"理解"這些數字的意思?
下一篇 ,結果是負數(有一條從亮到暗的邊緣)
差異越大
,這個檢測器會在整張圖片上一格一格地滑動,讓檢測器學會了隻靠眼睛和眉毛區域的特征來識別你。訓練出了 AlexNet
。判斷"這是不是主人的臉"
。第一層隻能看到線條,"這是汽車"
。

GPU 原本是用來生成(渲染)遊戲畫麵的
。而今天的大型模型,包含 5749 個人的 13000 多張照片)上達到了 99.63% 的準確率。算法改進——同時到位,於是花了很長時間去拆這個東西——手機為什麽換了發型還能認出你,要理解這件事,這些"正確答案"是電腦學習的前提——沒有答案,我產生了一個新的疑問:
AI 能"看"了——圖片在它眼裏是數字矩陣
,叫神經網絡
