????????
【寫作背景】因為最近一直在研究大模型,在與客戶進行交流時,如果要將大模型的變革性能力講清楚,就一定要能將AI小模型的一些原理和效果講清楚,進而形成對比。當然這不是一件簡單的事情,一方面大模型分析問題的的本質原理業界依然無法清楚解釋,另外一方面理解AI小模型原理本身也有一定門檻,但是我認為必須得試圖去理解這些問題。這個背景下,我找出了多年前買的一本《刷臉背后》的書籍重新學習,試圖從人臉識別這個場景去理解AI小模型處理問題的思路,進而找出大模型更好的解釋之道。
????????人臉識別包括三個基本步驟:
????????第一步:從圖像中檢索人臉邊框,所用的是人臉檢測技術。而人臉檢測技術有多種,可以基于膚色的,也可以基于人臉特征點(如眼睛)的方法,等等。
????????人臉檢測算法主要有DPM、LAEO、Viola&Jones算法,這些算法基本也是通過有標注的圖像訓練而來;也有基于深度學習的人臉檢測算法,如CNN Facial Point Detection人臉檢測算法,DDFD人臉檢測算法,以及多種算法的混合應用。(類似與當前大模型的MOE,混合專家模型)
????????【意外發現,DDFD人臉檢測算法是基于基于Alexnet進行微調改造而來的神經網絡模型,而Alexnet作為一種深度卷積神經網絡模型,其創始人居然是Alex Krizhevsky , Ilya Sutskever and Geoffrey Hinton。Ilya Sutskever 是誰?就是當前火爆的 OpenAI 的聯合創始人兼首席科學家,最近聯合董事會開除了OPEN AI CEO Sam Altman; Geoffrey Hinton就更厲害了,掃地僧,Ilya Sutskever 的博導)
????????第二步:是人臉區域的特征提取。根據算法原理和關注點的不同,人臉特征可以有很多種。深度學習特征是一種特征;還有Gabor,SIFT、HOG等多種特征提取方法。通過PCA、LDA等特征降維的方法得到特征,也可以作為人臉的特征;人臉面部的特征點信息,可以選取5個特征點(雙眼中心、鼻子、兩個嘴角),或2個特征點(包括眉梢、鼻端、下巴、雙眼中心、鼻子、兩個嘴角等信息),或30個乃至更多的特征點,每個特征點的位置和像素都可以用于表征人臉的特征。學術界已經有人臉特征點自動定位算法。 人臉特征提取方法,以及最后所使用的特征,對人臉識別的準確度具有關鍵作用。
????????第三步:是訓練識別人臉特征與人的標簽對應關系的分類模型。經過第二步,訓練圖像集中每個圖像都可以用一個特征向量來表示(如一個4096維的特征向量),最后加上該圖像的標簽(表示是那個人的人臉)。一個圖像對應一行類似與上面所屬的記錄,如果有m個訓練圖像,就得到m行這樣的記錄矩陣。然后,在該矩陣上,使用SVM,KNN,SOFTMAX regression,Logistic regression等方法訓練分類模型。利用最后得到的模型,預測測試圖像中每個圖像對應的人的標簽。
????????思考:上面人臉識別的三個步驟,可以簡單理解為先通過少量特征點找到人臉,然后通過算法提取每個人臉的特征,并用一組特征向量表示,且每個特征向量后面增加一個該人的姓名。比如
【A1,A2,A3,A4,A5,小明】,
如果有m個測試集,就會有一個行的矩陣,就類似構建了數據庫,接下來就是使用該數據庫。如何使用?把人臉輸入,通過特征提取算法提取該人臉的特征向量,然后通過計算與之前構建數據庫(就是那個m行的大矩陣)的歐式距離或者余弦相似度,從而找到輸入的人臉是誰。
????????可以發現,人臉識別的認證,首先必須構建一個全量的人臉特征向量數據庫,然后進行識別,那么這類應用其實之中識別已知的對象,對于不在特征庫里面的人臉,就沒法檢出,當然,在人臉識別認證這個場景不存在未知人臉,比如公安部門構建的人臉庫,不可能存在漏錄(每個人都用身份證)。
關于Alexnet:
?
經常問的問題
Q1.?AlexNet有什么用?
答:AlexNet 是一種開創性的卷積神經網絡 (CNN),主要用于圖像識別和分類任務。它在2012年贏得了ImageNet大規模視覺識別挑戰賽,標志著深度學習的突破。AlexNet 的架構憑借其對卷積層和修正線性單元 (ReLU) 的創新使用,為現代深度學習模型奠定了基礎,推動了計算機視覺和模式識別應用的發展。
Q2。為什么 AlexNet 比 CNN 更好?
A. AlexNet是CNN的一種特定類型,是一種特別擅長理解圖像的神經網絡。當 AlexNet 被引入時,它在識別圖片中的物體方面表現出了令人印象深刻的結果。它變得流行是因為它更深(有更多層)并使用一些聰明的技巧來提高準確性。所以,AlexNet并不比CNN更好;它是一種 CNN,對使 CNN 在圖像相關任務中流行起來具有重要影響。
尾注
快速總結我們在本文中看到的架構。
- 它有 8 層,具有可學習的參數。
- 模型的輸入是 RGB 圖像。
- 它有 5 個卷積層和最大池化層的組合。
- 然后它有 3 個全連接層。
- 所有層使用的激活函數是Relu。
- 它使用了兩個 Dropout 層。
- 輸出層使用的激活函數是Softmax。
- 該架構中的參數總數為 6230 萬個。
參考:
1、《刷臉背后》張重生。
2、【人工智能】回顧人工智能十年發展歷程 | 2013-2023 | AlexNet | GAN | Transformer | Resnet | GNN | GPT | Stable Diffusion
3、Introduction to The Architecture of Alexnet?