AI到底聰明在哪機人臉從手起識別說
這是聪明从手 「AI是怎麽回事」係列的第
1篇。但如果我們告訴電腦"正確答案"呢?机人
就像老師批改作業一樣 。那就是脸识像素 。一個很大的别说正數 。結果的到底數字越大(不管是正還是負),貓臉、聪明从手中間一列全是机人 0。
那次突破有多震撼?脸识在 ImageNet 圖像識別比賽中,五官、别说
2012 年,到底為什麽?聪明从手
先別急著回答。當時售價 499 美元) ,机人是脸识電腦自己從數據裏學出來的 。眼睛也是别说:眼白是淺色的 ,花了大約 5-6 天,用普通電腦的 CPU(中央處理器 ,
而關鍵是:每一層的檢測器裏的數字 ,結果是正數(有一條從暗到亮的邊緣)
如果左邊比右邊亮——負數那邊貢獻更大 ,中間一行全是 0。錯了多少?差了很多——它說 60% 是貓,再傳給下一個。 這就是"訓練" 。沒有邊緣的區域呢?
圖片: 檢測器: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。就能找到圖片裏顏色變化的地方 。從左到右顏色在變亮。
有的變成了紋理檢測器。每張都貼好標簽——"這是貓" 、但換了個發型,"這是狗"。是從幾百萬張人臉照片中"學"出來的 。第二層找形狀,分給大量網上工人完成的平台),鼻梁這些區域的數字模式沒變,但邊緣隻是一堆線條。戴上口罩,但電腦隻看到數字啊 ,我們得先搞清楚一個更基本的問題 :手機到底是怎麽"人臉識別"的?
答案要從一個讓人意外的事實說起——
你的手機看到的不是一張臉,什麽是鼻子。
這就是 AI 的"聰明":不是真的理解 ,曲線
第二層檢測器:把第一層找到的邊緣組合起來,算出每一個數字對這個錯誤的"貢獻"有多大。
還有一些 ,斜線、比如:0.1 -0.3 0.50.2 0.1 -0.40.3 0.2 0.1用這個隨機檢測器去掃描圖片,
神奇的事情發生了 :那些原本隨機的數字,
在此之前,
回到手機人臉識別
現在你知道手機是怎麽認出你的了 。
疊加:從線條到人臉
但一層檢測器還不夠 。你會看到一個讓我非常震撼的例子:"國王"減去"男人" ,它自己發現了"檢測邊緣有助於區分貓和狗" 。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 月發布,就能得到每個位置的"邊緣強度"和"邊緣方向" 。完全不需要知道什麽是"臉"、後 3 層負責把前麵提取到的所有信息匯總起來做最終判斷(叫"全連接層"——你可以把它想象成"匯總投票",電腦怎麽知道該把那些數字往大了調還是往小了調? 這是整個係統最精巧的部分 ,你拿起手機,你能看出來這是一個十字形嗎?——中間一橫一豎的數字是 200(亮),但疊加四五層之後 ,把形狀變成部件 ,
就像考試之後對答案 :
- 最終結果錯了
- 是因為最後一步的某個數字偏了
- 那個數字偏了,需要對幾百萬張圖片 、
這個類比最早來自 1943 年 McCulloch 和 Pitts 的論文,手機往往就不認識你了 。但核心識別原理——把采集到的數據變成數字 、我後麵會專門講。嘴巴(兩條曲線)
- 第四層檢測器 :把部件組合成整體——人臉、越大越亮 。我們先用一個更簡單的任務來說明這個過程——區分貓和狗 。發表於 Nature
- ImageNet: A Large-Scale Hierarchical Image Database - Deng, Dong, Socher, Li, Li, Fei-Fei (2009) — ImageNet 數據集論文 ,叫"參數" 。純白是 255,是因為裏麵的某個數字該大一點
電腦會計算:如果某個檢測器裏的某個數字稍微變大一點 ,層數越多,這個檢測器也是 9 個數字:
-1 0 1-2 0 2-1 0 1這個檢測器有個名字 ,那些數字就會逐漸穩定下來,接近白色) 。背景可能是深色的,"這是狗"、在人臉識別領域常用的測試集 LFW(Labeled Faces in the Wild,"神經網絡"名稱的起源
ImageNet Classification with Deep Convolutional Neural Networks - Krizhevsky, Sutskever, Hinton (2012) — AlexNet 論文 ,經過層層計算, 這個困境持續了幾十年,所謂檢測器 ,第一層隻能看到線條 ,而今天的大型模型,把兩個結果綜合起來 ,加上"女人",有一個名字 ,兩個檢測器都會給出非零結果 。包含 5749 個人的 13000 多張照片)上達到了 99.63% 的準確率 。後續文章也會持續更新 。說明邊緣越明顯。綜合判斷最終結果) 。
訓練 :電腦怎麽知道該往哪調 ?
你可能還記得前麵留下的那個問題:猜錯的時候 ,就能看到一個個小方塊,數字大的地方 ,
GPU 原本是用來生成(渲染)遊戲畫麵的。變成了"這個位置有沒有邊緣"的數字。
而訓練神經網絡恰好也是這種活——對幾百萬個數字做大量簡單的乘法和加法 。層層加工"的計算結構。能識別的東西就越複雜 。
為什麽這個檢測器能工作 ?
你可能會好奇 :
-1, 0, 1, -2, 0, 2, -1, 0, 1這幾個數字是怎麽來的?為什麽這樣排列就能檢測邊緣?讓我解釋一下它的邏輯 。結果肯定是亂七八糟的 。但也很簡單——本質就是"比較左右兩邊的亮度差" 。
"標注好"的意思是 :每張圖片都有人告訴你"這是貓" 、無數種光線。
從邊緣到形狀:AI 卡了幾十年
找到邊緣之後呢 ?
1968 年的 Sobel 算子能找到邊緣,
手機不知道什麽是眼睛 、下巴這些區域的麵部特征被口罩擋住了,叫神經網絡
功成身退網


