<code id='73B6996EF4'></code><style id='73B6996EF4'></style>
    • <acronym id='73B6996EF4'></acronym>
      <center id='73B6996EF4'><center id='73B6996EF4'><tfoot id='73B6996EF4'></tfoot></center><abbr id='73B6996EF4'><dir id='73B6996EF4'><tfoot id='73B6996EF4'></tfoot><noframes id='73B6996EF4'>

    • <optgroup id='73B6996EF4'><strike id='73B6996EF4'><sup id='73B6996EF4'></sup></strike><code id='73B6996EF4'></code></optgroup>
        1. <b id='73B6996EF4'><label id='73B6996EF4'><select id='73B6996EF4'><dt id='73B6996EF4'><span id='73B6996EF4'></span></dt></select></label></b><u id='73B6996EF4'></u>
          <i id='73B6996EF4'><strike id='73B6996EF4'><tt id='73B6996EF4'><pre id='73B6996EF4'></pre></tt></strike></i>

          匹夫無罪網匹夫無罪網

              <code id='73B6996EF4'></code><style id='73B6996EF4'></style>
            • <acronym id='73B6996EF4'></acronym>
              <center id='73B6996EF4'><center id='73B6996EF4'><tfoot id='73B6996EF4'></tfoot></center><abbr id='73B6996EF4'><dir id='73B6996EF4'><tfoot id='73B6996EF4'></tfoot><noframes id='73B6996EF4'>

            • <optgroup id='73B6996EF4'><strike id='73B6996EF4'><sup id='73B6996EF4'></sup></strike><code id='73B6996EF4'></code></optgroup>
                1. <b id='73B6996EF4'><label id='73B6996EF4'><select id='73B6996EF4'><dt id='73B6996EF4'><span id='73B6996EF4'></span></dt></select></label></b><u id='73B6996EF4'></u>
                  <i id='73B6996EF4'><strike id='73B6996EF4'><tt id='73B6996EF4'><pre id='73B6996EF4'></pre></tt></strike></i>

                  在哪AI到底聰明識別說機人臉起從手

                  遊戲畫麵需要同時計算屏幕上幾百萬個像素的到底顏色 ,隨機填一組數字 ,聪明从手

                  重複這個過程幾百萬次 。机人就能看到"臉"了 。脸识就叫"深度神經網絡",别说

                  讓我用一個具體例子來演示。到底豎線 、聪明从手旗艦模型超過 1 億個參數,机人超過 1400 萬張標注圖片

                2. The 脸识data that transformed AI research — and possibly the world - Quartz — ImageNet 的建設過程,那些數字就會逐漸穩定下來,别说

                  神奇的到底事情發生了 :那些原本隨機的數字,電腦的聪明从手"大腦",

                  順便說一下這個檢測器的机人來曆:Sobel 算子是 1968 年由 Irwin Sobel 和 Gary Feldman 在斯坦福人工智能實驗室的一次演講中提出的 ,

                  "標注好"的脸识意思是 :每張圖片都有人告訴你"這是貓"、而是别说從海量數據中找到了反複出現的模式——比如"眼睛區域的像素通常呈現這樣的數字組合"。把部件變成一組代表你這張臉的數字,用它來學習的方法  ,而是一堆數字。說明邊緣越明顯 。後續文章也會持續更新。

                  這就是 AI 在"看"這件事上卡住了幾十年的地方。ChatGPT 回答你的那三秒鍾裏究竟在算什麽 ,

                  這種"很多層檢測器疊加"的結構 ,識別簡單形狀——圓形 、

                  但文字呢?

                  當你對 ChatGPT 說"蘋果" ,隻用加減乘除 ,幾千萬個參數反複做計算。

                  整個過程不到一秒 。人臉識別的學習過程完全一樣 。它自己發現了"檢測邊緣有助於區分貓和狗" 。其中前 5 層做的就是我們前麵演示的操作——用檢測器在圖片上滑動 、AlexNet 的 6000 萬個參數震驚了整個計算機視覺領域 。檢測器關注的主要是五官區域的特征——發型變了,

                  2012 年的突破用了一個聰明的辦法 :用遊戲顯卡(GPU,分給大量網上工人完成的平台),

                  那為什麽到 2012 年才突然成功?

                  因為三個條件終於同時湊齊了:

                  1. 數據

                  2009 年 ,一張 1000×1000 的照片 ,而是它從大量的對錯反饋中,人類知道"要檢測垂直邊緣 ,這些可調整的數字 ,比如 Google 在 2015 年發表的 FaceNet ,"這是狗"、接近白色) 。然後比較兩組數字有多接近 。對應位置的數字相乘,叫神經網絡。

                  GPU 原本是用來生成(渲染)遊戲畫麵的 。不能告訴你"這是一隻眼睛" 。一種讓深層網絡更容易訓練的數學技巧(叫 ReLU) ,是因為它的工作方式有點像人腦中的神經元——每個神經元接收信號、

                  為什麽這個檢測器能工作?

                  你可能會好奇  :-1, 0, 1, -2, 0, 2, -1, 0, 1這幾個數字是怎麽來的?為什麽這樣排列就能檢測邊緣?

                  讓我解釋一下它的邏輯。就能檢測出圖片裏有沒有某種特征。

                  3. 算法

                  AlexNet 還用了幾個關鍵的技術改進 。你會看到一個讓我非常震撼的例子:"國王"減去"男人" ,眼睛也是 :眼白是淺色的 ,8 層網絡,也會同時在左右和上下兩個方向上產生亮度差,

                  回到手機人臉識別

                  現在你知道手機是怎麽認出你的了。

                  一個邊緣檢測器隻能告訴你"這裏有一條線" ,

                  這就是"深度學習"裏"深度"的含義——很多層檢測器疊加在一起 。

                  給電腦看 1000 張貓的照片和 1000 張狗的照片 ,它自己在反複的"猜對了/猜錯了"中發現了某些數字組合對區分不同人臉特別有用 。

                  手機不知道什麽是眼睛、曲線

                3. 第二層檢測器 :把第一層找到的邊緣組合起來 ,

                  而關鍵是:每一層的檢測器裏的數字,但邊緣隻是一堆線條。這個方法叫"反向傳播",解鎖 。同步更新在個人博客和微信公眾號

                  微信搜索"我沒有三顆心髒"或者掃描二維碼,也就無法調整那些數字。為什麽這幾個數字能檢測邊緣 ?先看看它怎麽用 ,但原理完全一樣——歸根到底還是數字 。

                  這個設計很聰明 ,這樣就能得到一張新的"邊緣地圖"——原圖中每個位置的數字 ,但對所有數字同時做這種微調 ,它就是這樣一張表格:

                  0   0  200   0   0  0   0  200   0   0200 200  200 200 200  0   0  200   0   0  0   0  200   0   0

                  0 是黑色,歡迎分享+關注。別擔心 ,就能得到每個位置的"邊緣強度"和"邊緣方向"  。然後全部加起來。參數量更是以億計。你拿起手機 ,它怎麽找到邊緣?

                  答案讓我很驚訝  :隻用簡單的加減乘除就能做到 。沒有邊緣的區域呢?

                  圖片:          檢測器: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 。

                  現在我用一個"檢測器"來掃描它。第二層找形狀 ,花了大約 5-6 天 ,它專門用來檢測垂直方向的邊緣。而不是死記每張圖的細節)。結果是正數(有一條從暗到亮的邊緣)

                4. 如果左邊比右邊亮——負數那邊貢獻更大,我後麵會專門講 。變成了"這個位置有沒有邊緣"的數字。反向傳播算法在 1986 年就發表了 。圖形處理器)來算 。這些"正確答案"是電腦學習的前提——沒有答案 ,

                  在此之前,需要給電腦看幾百萬張人臉照片,這些小點叫像素——你把手機照片放大再放大,

                  這是 「AI是怎麽回事」係列的第 1篇。"這是狗"。

                  • 如果上下顏色一樣——結果是 0(沒有水平邊緣)
                  • 如果下麵比上麵亮——結果是正數(有一條水平邊緣)

                  兩個檢測器配合使用——一個管左右,兩個檢測器都會給出非零結果 。它不知道什麽是"臉"、等於什麽 ?

                  參考資料

                  1. Sobel operator - Wikipedia — Sobel 算子由 Irwin Sobel 和 Gary Feldman 於 1968 年在斯坦福人工智能實驗室提出
                  2. A logical calculus of the ideas immanent in nervous activity - McCulloch & Pitts (1943) — 第一個神經元數學模型 ,它隻是在做加減乘除:把像素變成邊緣,嘴巴(兩條曲線)
                  3. 第四層檢測器:把部件組合成整體——人臉、而今天的大型模型 ,

                    讓我一步一步算給你看  :

                    圖片:          檢測器:10  10  10     -1  0  110  10 200     -2  0  210 200 200     -1  0  1對應位置相乘,這就形成了一條邊緣,中間有一條從左上到右下的分界線——這就是一條邊緣。經過層層計算,當時售價 499 美元),就有 100 萬個像素
                    。讓電腦自己學。於是花了很長時間去拆這個東西——手機為什麽換了發型還能認出你	,

                    核心突破 :讓電腦自己學

                    還記得前麵的 Sobel 算子嗎?

                    -1  0  1-2  0  2-1  0  1

                    這 9 個數字是人類設計的。數字大的地方 ,所以這幾層叫"卷積層") 。覺得不錯的話,把那個數字調大一點

                  4. 如果變大——反過來  ,

                    反向傳播做的事情是:從最後的錯誤出發 ,

                    電腦眼中的照片

                    要理解手機怎麽"人臉識別",但正確答案是"狗" 。它"看到"的是什麽?不是一個水果的畫麵,

                    而訓練神經網絡恰好也是這種活——對幾百萬個數字做大量簡單的乘法和加法 。層數越多 ,但也很簡單——本質就是"比較左右兩邊的亮度差"。無數種角度 、

                    但電腦隻看到數字啊,它照樣能解鎖。沒有邊緣。錯了多少 ?差了很多——它說 60% 是貓 ,

                    一個人的臉可以有無數種表情、是從幾百萬張人臉照片中"學"出來的 。49000 名標注工人來自 167 個國家

                  5. Large-scale Deep Unsupervised Learning using Graphics Processors - Raina, Madhavan, Ng (2009) — GPU 訓練神經網絡比 CPU 快約 70 倍
                  6. NVIDIA GeForce GTX 580 - VideoCardz — GTX 580 於 2010 年 11 月發布,結果是負數(有一條從亮到暗的邊緣)
                  7. 差異越大 ,想分享給你 。檢測更複雜的東西 。"測量鼻子的位置"

                    但這些方法都撞上了同一堵牆:需要人類告訴電腦什麽是"眼睛" 、Graphics Processing Unit,本質上就是:右邊的亮度 - 左邊的亮度。哪怕是一條 45° 的斜線,

                    最簡單的情況是黑白照片 :純黑是 0 ,

                    但如果我們告訴電腦"正確答案"呢?

                    就像老師批改作業一樣 。

                    這就是"訓練" 。上百層,

                    這個圖的邊緣就很明顯,就無法判斷對錯,手機

                    142  98  87 134 156 178 ... 78  45  52  89 123 145 ...134 167 189 201 178 156 ...... (幾百萬個數字)

                    手機要做的事情是:看這幾百萬個數字 ,

                    比如下麵這個 5×5 的小圖:

                    在電腦裏,比如 ,叫做反向傳播——1986 年由 Rumelhart、取名 AlexNet(Alex 的網絡) 。

                  每天早上,是因為裏麵的某個數字該大一點

                5. 電腦會計算:如果某個檢測器裏的某個數字稍微變大一點,越大越亮 。把兩個結果綜合起來  ,動用了來自 167 個國家的近 5 萬名標注工人 ,

                  一個新的問題

                  理解了 AI 怎麽"認人"之後 ,從互聯網上收集的真實場景人臉照片,這個係列就是我的探索筆記,

                  解決方法是:疊加很多層。

                  那些檢測器裏的數字,

                  實際使用時,而是有一套精巧的方法能算出每個數字該往大了調還是往小了調。

                  為什麽 2012 年才成功 ?

                  你可能會好奇 :如果"讓電腦自己學"這個想法這麽好,我們得先搞清楚一個更基本的問題 :手機到底是怎麽"人臉識別"的 ?

                  答案要從一個讓人意外的事實說起——

                  你的手機看到的不是一張臉,最終這個數據集包含了超過 1400 萬張標注好的圖片,但眼睛 、電腦怎麽知道該把那些數字往大了調還是往小了調?

                  這是整個係統最精巧的部分,實際上在做這件事 :

                  • 右邊像素的亮度 × 正數(加分)
                  • 左邊像素的亮度 × 負數(減分)
                  • 中間像素 × 0(不影響結果)

                  所以最終的結果 ,

                  所以當你拿手機對著自己的臉 ,

                  有的變成了邊緣檢測器(類似 Sobel 算子——電腦自己"發明"了類似的東西) 。讓檢測器學會了隻靠眼睛和眉毛區域的特征來識別你。叫 Sobel 算子("算子"就是"計算工具"的意思) 。所謂檢測器 ,

                  Alex Krizhevsky 正是用兩塊遊戲顯卡(NVIDIA GTX 580,直到一個想法改變了一切:

                  不要人類來設計檢測器  ,那可能是一張臉"

                6. 有人試著提取更複雜的特征:"檢測眼睛的形狀" 、不是咬一口的味道——那它"看到"的是什麽  ?

                  文字怎麽變成數字  ?AI 又怎麽"理解"這些數字的意思?

                  下一篇 ,你很快就會明白。用普通電腦的 CPU(中央處理器 ,五官、沒有人花這麽大力氣去收集和標注這麽多圖片。第三層找五官部件 ,而顏色在電腦裏是用數字表示的。在 AI 領域有一個專門的名稱 ,斯坦福大學的李飛飛教授團隊發布了 ImageNet 數據集。結果是 0(沒有邊緣)

                7. 如果右邊比左邊亮——正數那邊貢獻更大 ,數字越小越暗 ,

                  2012 年 ,

                  科學家們嚐試了很多方法  :

                  • 有人試著寫規則 :"如果有兩個圓形在上麵 ,檢測的東西連人類都說不清楚——但它們確實對區分貓和狗有用。什麽是鼻子 。現在一些新手機即使戴口罩也能解鎖——那是因為廠商後來專門用大量戴口罩的照片重新訓練了模型,

                    你看 ,而是把它們變成"空的"——可以填入任何數值 :

                    ?  ?  ??  ?  ??  ?  ?

                    一開始,是數字。結果肯定是亂七八糟的 。把所有檢測器發現的信息都匯集在一起 ,

                    三個條件——海量數據 、和正確答案對比:

                    • 如果猜對了——不錯,能識別的東西就越複雜。AlexNet 將錯誤率從同年第二名的 26.2% 直接降到了 15.3%(這裏的"錯誤率"叫 top-5 錯誤率——給電腦 5 次機會猜圖片內容,

                      這就是"學習"的本質 :不是有人教了它規則,數字越大,就是邊緣 。

                      2009 年,訓練出了 AlexNet 。我一直很好奇 AI 到底是怎麽工作的 ,GPU 訓練神經網絡比 CPU 快約 70 倍。綜合判斷最終結果)。貓臉、我產生了一個新的疑問:

                      AI 能"看"了——圖片在它眼裏是數字矩陣 ,一個三角形在中間,

                      電腦用隨機檢測器算出一個結果 ,

                      用自己的壁紙放大演示

                      每個像素都有一個顏色 ,但應該是 0%。為了建成 ImageNet,

                      如果我們換一塊顏色完全相同 、即可訂閱  。打個比方 :所有人都在 74 分左右競爭,處理一下、

                      疊加:從線條到人臉

                      但一層檢測器還不夠。背景可能是深色的,就是一組數字組成的小模板——把它疊到圖片上 ,

                      它錯了 。對每個位置都做一次這樣的計算 。完全不需要知道什麽是"臉" 、原理完全一樣 ,

                      這就是 AI 的"聰明" :不是真的理解 ,

                      彩色照片稍微複雜一點:每個像素需要三個數字,把形狀變成部件,檢測器提取出來的數字指紋和你錄入時的差太遠了 。得先回答一個基本問題:電腦看到的"照片"長什麽樣  ?

                      一張照片是由很多個小點組成的 ,找到了邊緣,怎麽可能認出一張臉 ?

                      第一個線索:邊緣

                      什麽是邊緣  ?就是照片裏顏色突然變化的地方 。一層一層往回追溯  ,什麽是"眼睛" ,建議零售價 $499

                    • 訂閱

                      如果覺得有意思 ,一個管上下——就能找到圖片中任意方向的邊緣。它輸出"60% 可能是貓",

                      這需要大量的計算。

                      仔細看這個檢測器的結構:左邊一列全是負數 ,比如 :

                      0.1  -0.3   0.50.2   0.1  -0.40.3   0.2   0.1

                      用這個隨機檢測器去掃描圖片,所以選擇了這樣的數字組合 。

                      這個類比最早來自 1943 年 McCulloch 和 Pitts 的論文 ,

                      這就是電腦"看到"的東西。

                      一堆數字 ,為什麽 ?

                      先別急著回答 。李飛飛團隊通過亞馬遜的眾包平台(一種把任務拆成小塊  、叫"參數"  。

                      電腦沒有被告知"要檢測邊緣"。

                      訓練:電腦怎麽知道該往哪調 ?

                      你可能還記得前麵留下的那個問題:猜錯的時候,top-5 錯誤率 15.3%

                    • AlexNet - Wikipedia — AlexNet 架構細節與參數量
                    • FaceNet: A Unified Embedding for Face Recognition and Clustering - Schroff, Kalenichenko, Philbin (2015) — Google 的人臉識別模型 ,你就找到了輪廓、"神經網絡"名稱的起源
                    • ImageNet Classification with Deep Convolutional Neural Networks - Krizhevsky, Sutskever, Hinton (2012) — AlexNet 論文,到達一個"很少出錯"的狀態。6000 萬參數,這個檢測器會在整張圖片上一格一格地滑動,

                      邊緣勾勒出了圖片裏"有東西"的地方 。神經網絡研究的先驅 Geoffrey Hinton 的學生 Alex Krizhevsky 用這種"多層疊加"的方法做了一個圖像識別程序 ,所以 GPU 特別擅長"同時做很多簡單的計算" 。綠色、鼻梁這些區域的數字模式沒變 ,從左到右顏色在變亮。是因為上一層的某個檢測器輸出偏了

                    • 那個檢測器偏了,中間一列全是 0。其餘全是 0(暗)。一堆線條還不能告訴我們"這是一張臉" 。

                      2. 算力

                      訓練一個模型,表情——這些讓一張臉變得獨特的要素 。後 3 層負責把前麵提取到的所有信息匯總起來做最終判斷(叫"全連接層"——你可以把它想象成"匯總投票" ,下麵一行全是正數,

                      不過你可能注意過一個奇怪的事 :在幾年前,LFW 準確率 99.63%

                    • Labeled Faces in the Wild — LFW 人臉識別測試集官方頁麵
                    • Learning representations by back-propagating errors - Rumelhart, Hinton, Williams (1986) — 反向傳播算法的奠基論文,就能找到圖片裏顏色變化的地方 。也就是你臉的輪廓 。神經網絡的概念在 1940 年代就有了,它有 8 層  。它通過層層檢測器從數字中提取特征 。

                      讓我用一個簡化的例子來說明 。涵蓋 2 萬多個類別 。這可能要算好幾個月甚至幾年 。Hinton 和 Williams 發表在《Nature》(全球最權威的科學期刊之一)上的一篇論文奠定了這個方法的基礎。

                      一道簡單的數學題

                      假設我們有一小塊圖片,把邊緣變成形狀 ,層層疊加

                    • 提取特征 :最後一層輸出一組數字——你可以把它理解為你這張臉的"數字指紋"(專業術語叫"特征向量",

                      這個困境持續了幾十年,再傳給下一個 。我們來聊這個問題。200 是亮色(接近白色)。你從來沒想過這件事有什麽特別的。"這是汽車" 。就是一串能代表你長相特征的數字)

                    • 比較:把這個數字指紋和你第一次錄入時存下的數字指紋做比較
                    • 判斷 :如果兩組數字足夠接近——解鎖
                    • 整個過程沒有任何"理解" 。就 9 個像素 ,

                      這個數字的意思是:這裏有一條明顯的邊緣 ,逼網絡學到更通用的規律 ,不是圖像,每張都貼好標簽——"這是貓"、這個檢測器也是 9 個數字:

                      -1  0  1-2  0  2-1  0  1

                      這個檢測器有個名字,

                      一個現代的人臉識別模型可能有幾百萬到上億個參數。都是黑色線框" loading="lazy">

                      比如你的臉和背景之間——皮膚是淺色的,這也是邊緣 。至今已經用了半個多世紀 。不過你不需要把這個類比想得太深——它隻是一種"層層傳遞、有一個名字 ,第一層隻能看到線條,

                      這就是電腦"看"圖片的第一步:找到所有顏色突變的位置。

                      從邊緣到形狀 :AI 卡了幾十年

                      找到邊緣之後呢  ?

                      1968 年的 Sobel 算子能找到邊緣,分別表示紅色、

                      但如果讓電腦自己來選呢?

                      假設我們不再指定這 9 個數字 ,變成幾百萬個數字(說明一下:現代手機的人臉解鎖不隻靠普通攝像頭——比如 iPhone 的 Face ID 會用紅外線在你臉上投射上萬個不可見的小點 ,以及一種防止網絡"死記硬背"訓練數據的方法(叫 Dropout——隨機"關掉"一部分檢測器,

                      那次突破有多震撼?在 ImageNet 圖像識別比賽中,三角形、中間的灰色就是 1 到 254。都不是人類設計的,戴上口罩 ,但永遠覆蓋不了真實世界的複雜性 。但換發型還能認出來?

                      因為口罩遮住了臉的下半部分——嘴巴 、那就是像素 。GPU 算力、才有了 2012 年的突破。一個很大的正數 。發表於 Nature

                    • ImageNet: A Large-Scale Hierarchical Image Database - Deng, Dong, Socher, Li, Li, Fei-Fei (2009) — ImageNet 數據集論文 ,

                      現在可以回答文章開頭的那個問題了:為什麽戴口罩手機就不認識你 ,

                      想象這樣一個過程:

                      • 第一層檢測器 :從原始像素中找到各種邊緣——橫線 、會自己變成有意義的檢測器。對應位置相乘再相加(這個操作的專業名稱叫"卷積" ,判斷"這是不是主人的臉" 。鼻子(一個三角形輪廓) 、

                        但你可能已經發現了一個問題 :這個檢測器隻能找到垂直方向的邊緣(左右亮度差) 。

                        右下角是淺色(數字 200 ,下麵有一條橫線,動輒幾十層 、發現了很多有意思的東西 ,我們先用一個更簡單的任務來說明這個過程——區分貓和狗。之所以叫這個名字,斯坦福的吳恩達(Andrew Ng)團隊就發表了一篇論文,這些技術讓更深的網絡變得可訓練。5 次都猜錯才算錯)——領先超過 10 個百分點 。接近黑色),什麽是"鼻子" 。看一眼屏幕,訓練這樣一個模型 ,需要對幾百萬張圖片 、汽車
                      像素 → 邊緣 → 形狀 → 部件 → 整體

                      每一層都是在上一層的基礎上 ,所以還能匹配上  。為什麽沒有更早實現 ?

                      事實上,然後全部相加 :(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 ,他們第一次用數學來描述神經元的工作方式。
                      有的變成了紋理檢測器 。但核心識別原理——把采集到的數據變成數字 、說明邊緣越明顯 。斜線、下巴這些區域的麵部特征被口罩擋住了,

                      -1  0  1-2  0  2-1  0  1

                      當它掃描圖片的一個區域時,瞳孔是深色的 ,

                      整個網絡包含 6000 萬個可調整的數字 。讓檢測結果更穩定。但換了個發型,最終的錯誤會變大還是變小 ?