3C科技 娛樂遊戲 美食旅遊 時尚美妝 親子育兒 生活休閒 金融理財 健康運動 寰宇綜合

Zi 字媒體

2017-07-25T20:27:27+00:00
加入好友
今天我給大家帶來一篇來自谷歌的文章,眾所周知,谷歌是全世界最有情懷,最講究技術的公司,比我們天朝的莆田廣告商良心多了。還有就是前段時間的最強大腦,莆田廣告商的那個小機器,也就忽悠忽悠行外人了,懂的人深深知道。感覺自己就是黑子,當然,最強大腦節目組本身就是演員。傳統的進行人臉識別的模型一般都是這樣: 但是現在我們要換個思路了,facenet直接學習圖像到歐式空間上的映射,那麼如果兩張圖片在歐式空間的距離很近,是不是說明就是很相似?如果離得遠就不相似,也就不是同一個人?下面的圖詳細的說明了,具體過程。你看如果是一個人的照片,他們的距離就會低於這個閥值,此處應該是1.05左右。這個有點類似於LDA的思想了。類內的距離就小,類間的距離就大,其實本質上並沒有什麼差別。Facenet的結構如下圖:前面就是一個傳統的卷積神經網路,然後在求L2范數之前進行歸一化,就建立了這個嵌入空間,最後的損失函數,就是本文的最大亮點。Triplet loss三重損失函數:以前我們的損失函數一般都是一個的,或者是兩個的。這裡弄三個,結構圖如下:我來帶大家理解這個結構圖。現在我們有一個樣本名字叫anchor,還有兩個樣本名字叫positive,另外一個叫Negative。一開始啊,我們都以為這個三個人是親兄弟,但是呢Negative一個是隔壁老王的,而且這個人和我們的Anchor關係很好,這不行,這是仇人的孩子,我們得讓這兩個人遠離,於是我們就讓神經網路學習,讓positive和anchor近一點,讓Negative滾蛋。(當然例子可能取的不恰當,還請見諒,哈哈)課外補充:在高維或者無窮維中,距離的度量沒有意義的,因為他們都在一個超球面上,你又如何度量他們的遠近呢(這就是為什麼不能直接用KNN分類的原因,他在處理高維數據就玩不轉了),所以我們才要用深度卷積神經網路進行訓練啊,至於其中的原理,神經網路就是一個黑匣子,我不懂啊,鬼知道他是怎麼玩的。記住下面的所有數據都是經過歸一化的,沒有經過歸一化求距離就是胡扯!,和分別代表三個不同的樣本,我們一定想要:這個是我們前面所說的參數。那麼我們的優化函數就出來了: 優化問題解決:但是呢,知道這些還不夠,為什麼呢,一個演算法的優劣,還要通過他的時間複雜度來判斷,這裡一定要確保他的收斂速度。 那麼我們怎做呢,其實也很簡單,假設給你一個anchor,我們找一個positive就要在這一類中找到一個最難分類的,什麼樣叫最難分類呢,就是在歐式空間距離最遠的那個,但是屬於一類,這叫hard_positive,另外找nepositive那就找最近的,這樣不就完美解決了么。當然在找nepositive很容易產生局部最優,所以我們要滿足:。這叫semi-hard,防止找到他一類里了。本文的CNN結構:一種是來自M. D. Zeiler and R. Fergus. Visualizing and understanding convolutional networks. CoRR, abs/1311.2901, 2013. 2, 4, 6。結構:另一種來自:C. Szegedy, W. Liu, Y. Jia, P. Sermanet, S. Reed,D. Anguelov, D. Erhan, V. Vanhoucke,and A. Rabinovich.Going deeper with convolutions. CoRR, abs/1409.4842,2014. 2, 4, 5, 6, 9結構:結果在LFW上正確率很高,在這裡我就不說了。 論文:FaceNet: A Unified Embedding for Face Recognition and Clustering

本文由yidianzixun提供 原文連結

寫了 5860316篇文章,獲得 23313次喜歡
精彩推薦