63 人臉驗證與二分類

2022-10-11 01:39:08 字數 1933 閱讀 7941

1. 二分類問題

triplet loss是乙個學習人臉識別卷積網路引數的好方法

還有其他學習引數的方法

可以嘗試將人臉識別當成乙個二分類問題

另乙個訓練神經網路的方法是選取一對神經網路,選取siamese網路

使其同時計算這些嵌入,比如說128維的嵌入(編號1),或者更高維

然後將其輸入到邏輯回歸單元,然後進行**

如果是相同的人,那麼輸出是1,若是不同的人,輸出是0

這就把人臉識別問題轉換為乙個二分類問題,訓練這種系統時可以替換triplet loss的方法

2. 邏輯回歸單元的處理

最後的邏輯回歸單元的處理

比如說sigmoid函式應用到某些特徵上,相比起直接放入這些編碼(f(x(i)),f(x(j)))

可以利用編碼之間的不同

f(x(i))k 代表x^((i))的編碼,下標 k 代表選擇這個向量中的第 k 個元素

|f(x(i))k - f(x(j))k |對這兩個編碼取元素差的絕對值

可能想把這128個元素當作特徵,然後把他們放入邏輯回歸中

最後的邏輯回歸可以增加引數 wi 和 b ,就像普通的邏輯回歸一樣

將在這128個單元上訓練合適的權重,用來**兩張是否是乙個人

這是乙個很合理的方法來學習**0或者1,即是否是同乙個人

還有其他不同的形式來計算綠色標記的這部分公式(|f(x(i))k - f(x(j))k|)

比如說,公式可以是

這個公式也被叫做 χ2公式,是乙個希臘字母 χ,也被稱為 χ平方相似度

yaniv taigman, ming yang, marc』aurelio ranzato, lior wolf (2014). deepface:closing the gap to human-level performance in face verification

這些公式及其變形在這篇deepface**中有討論

但是在這個學習公式中:

輸入是一對,這是訓練輸入x(編號1、2)

輸出y是0或者1,取決於輸入是相似還是非相似

與之前類似,正在訓練乙個siamese網路

意味著上面這個神經網路擁有的引數和下面神經網路的相同(編號3和4所示的網路)

兩組引數是繫結的,這樣的系統效果很好

3. 計算技巧

之前提到乙個計算技巧可以顯著提高部署效果

如果這是一張新(編號1),當員工走進門時,希望門可以自動為他們開啟

這個(編號2)是在資料庫中的,不需要每次都計算這些特徵(編號6),不需要每次都計算這個嵌入

可以提前計算好,那麼當乙個新員工走近時,可以使用上方的卷積網路來計算這些編碼(編號5)

然後使用它,和預先計算好的編碼6進行比較,然後輸出**值

因為不需要儲存原始影象,如果有乙個很大的成員資料庫,不需要為每個成員每次都計算這些編碼

這個預先計算的思想,可以節省大量的計算,這個預訓練的工作可以用在siamese網路結構中

將人臉識別當作乙個二分類問題,也可以用在學習和使用triplet loss函式上

總結一下,把人臉驗證當作乙個監督學習,建立乙個只有成對的訓練集

不是三個一組,而是成對的

目標標籤是1表示一對是乙個人,目標標籤是0表示中是不同的人

利用不同的成對,使用反向傳播演算法去訓練神經網路,訓練siamese神經網路

二分類 多分類

怎麼樣把兩類的分類的模型推廣到多類上?答 a.一對多法 one versus rest,簡稱ovr svms 訓練時依次把某個類別的樣本歸為一類,其他剩餘的樣本歸為另一類,這樣k個類別的樣本就構造出了k個svm。分類時將未知樣本分類為具有最大分類函式值的那類。b.一對一法 one versus on...

二分類問題

模型 帶有relu啟用的dense層堆疊 對於二分類問題,網路的最後一層應該是只有乙個單元並使用sigmoid啟用的dense層,網路的輸出應該是0 1的標量,表示概率值 對於二分類問題的sigmoid標量輸出,應該使用binary crossentroy 二元交叉熵 損失函式 實驗 1 嘗試增加或...

二分類問題

深度學習中的基本問題就是這個,上午我還達到90 85 的acc,現在只有76 臥槽,我動 了啊?有鬼。明明沒怎麼改引數,卻再也回不到過去,這個trick不小啊。既然回不到過去,不妨重新開始吧。我套了一下vgg,發現網路太深了,根本跑不動,效果也不好,減少網路後,acc反而有提高,之前我還以為驗證集有...