一文了解Siamese network
前言:
本文介紹了Siamese (連體)網(wǎng)絡(luò)的主要特點(diǎn)、訓(xùn)練和測試Siamese網(wǎng)絡(luò)的步驟、Siamese網(wǎng)絡(luò)的應(yīng)用場合、Siamese網(wǎng)絡(luò)的優(yōu)缺點(diǎn)、為什么Siamese被稱為One-shot分類,以及Siamese的損失函數(shù)。
更多內(nèi)容請關(guān)注公眾號CV技術(shù)指南,專注于計算機(jī)視覺的技術(shù)總結(jié),最新技術(shù)跟蹤。
Siamese Network的主要特點(diǎn)
1. Siamese 網(wǎng)絡(luò)采用兩個不同的輸入,通過兩個具有相同架構(gòu)、參數(shù)和權(quán)重的相似子網(wǎng)絡(luò)。
2. 這兩個子網(wǎng)互為鏡像,就像連體雙胞胎一樣。 因此,對任何子網(wǎng)架構(gòu)、參數(shù)或權(quán)重的任何更改也適用于其他子網(wǎng)。
3. 兩個子網(wǎng)絡(luò)輸出一個編碼來計算兩個輸入之間的差異。
4. Siamese 網(wǎng)絡(luò)的目標(biāo)是使用相似度分?jǐn)?shù)對兩個輸入是相同還是不同進(jìn)行分類?梢允褂枚徊骒亍Ρ群瘮(shù)或三元組損失來計算相似度分?jǐn)?shù),這些都是用于一般距離度量學(xué)習(xí)方法的技術(shù)。
5. Siamese 網(wǎng)絡(luò)是一種one-shot分類器,它使用判別特征從未知分布中概括不熟悉的類別。
訓(xùn)練 Siamese 神經(jīng)網(wǎng)絡(luò)
1. 加載包含不同類的數(shù)據(jù)集
2. 創(chuàng)建正負(fù)數(shù)據(jù)對。 當(dāng)兩個輸入相同時為正數(shù)據(jù)對,當(dāng)兩個輸入不同時為負(fù)數(shù)據(jù)對。
3. 構(gòu)建卷積神經(jīng)網(wǎng)絡(luò),它使用全連接層輸出特征編碼。我們將通過姊妹 CNN傳遞兩個輸入。姐妹 CNN 應(yīng)該具有相同的架構(gòu)、超參數(shù)和權(quán)重。
4. 構(gòu)建差分層以計算兩個姐妹 CNN 網(wǎng)絡(luò)編碼輸出之間的歐幾里得距離。
5. 最后一層是具有單個節(jié)點(diǎn)的全連接層,使用 sigmoid 激活函數(shù)輸出相似度分?jǐn)?shù)。
6. 使用二元交叉熵作為損失函數(shù)。
測試 Siamese 神經(jīng)網(wǎng)絡(luò)
1. 向訓(xùn)練模型發(fā)送兩個輸入以輸出相似度分?jǐn)?shù)。
2. 由于最后一層使用 sigmoid 激活函數(shù),它輸出一個范圍在 0 到 1 之間的值。接近 1 的相似度得分意味著兩個輸入是相似的。接近 0 的相似度得分意味著兩個輸入不相似。一個好的經(jīng)驗(yàn)法則是使用 0.5 的相似性截止閾值。
Siamese 神經(jīng)網(wǎng)絡(luò)的應(yīng)用
1. 簽名驗(yàn)證
2. 面部識別
3. 比較指紋
4. 根據(jù)臨床分級評估疾病嚴(yán)重程度
5. 工作資料的文本相似度以恢復(fù)匹配
6. 用于配對相似問題的文本相似度
為什么Siamese神經(jīng)網(wǎng)絡(luò)被稱為one-shot分類?
1. one-shot分類模型僅使用每個新類別的單個訓(xùn)練樣本即可正確進(jìn)行預(yù)測。
2. Siamese 網(wǎng)絡(luò)使用有監(jiān)督的訓(xùn)練方法來學(xué)習(xí)通用輸入特征,然后根據(jù)訓(xùn)練數(shù)據(jù)對未知的類分布進(jìn)行預(yù)測。
3. 受過訓(xùn)練的 Siamese 網(wǎng)絡(luò)使用一次性學(xué)習(xí)來預(yù)測兩個輸入之間的相似性或不相似性,即使這些新分布中的樣本很少。
Siamese 網(wǎng)絡(luò)的優(yōu)點(diǎn)
1. Siamese 網(wǎng)絡(luò)是一種one-shot分類模型,只需一個訓(xùn)練樣本即可進(jìn)行預(yù)測。
2. 對類別不平衡更魯棒,因?yàn)樗枰苌俚男畔ⅰ?它可以用于某些類的樣本很少的數(shù)據(jù)集。
3. Siamese 網(wǎng)絡(luò)的one-shot學(xué)習(xí)特性不依賴于特定領(lǐng)域的知識,而是利用了深度學(xué)習(xí)技術(shù)。
Siamese 網(wǎng)絡(luò)的缺點(diǎn)
僅輸出相似性分?jǐn)?shù)而不輸出概率。:互斥事件的概率總和為 1。而距離不限于小于或等于 1。
為什么姐妹網(wǎng)絡(luò)一定要一樣?
兩個姐妹卷積網(wǎng)絡(luò)((sister convolutional network))的模型架構(gòu)、超參數(shù)和權(quán)重必須相同。 它確保它們各自的網(wǎng)絡(luò)不會將兩個極其相似的圖像映射到非常不同的特征空間,因?yàn)槊總網(wǎng)絡(luò)計算相同的函數(shù)。
Siamese 網(wǎng)絡(luò)使用的損失函數(shù)
1. Siamese 網(wǎng)絡(luò)使用相似度分?jǐn)?shù)來預(yù)測兩個輸入是相似還是不同,使用度量學(xué)習(xí)方法,該方法找到其輸入之間的相對距離。
2. 可以使用二元交叉熵、對比函數(shù)或三重?fù)p失計算相似度分?jǐn)?shù)。
3. Siamese 網(wǎng)絡(luò)執(zhí)行二元分類,將輸入分類為相似或不相似;因此,默認(rèn)使用二元交叉熵?fù)p失函數(shù)。
對比損失函數(shù)
1. 對比損失函數(shù)通過對比兩個輸入來區(qū)分相似和不同的圖像。當(dāng)你在訓(xùn)練時不了解所有類別并且訓(xùn)練數(shù)據(jù)有限時,它會有所幫助。它創(chuàng)建了一種數(shù)據(jù)編碼,可以在將來有新類時使用。
2. 對比損失需要一對正負(fù)訓(xùn)練數(shù)據(jù)。 正對包含一個anchor樣本和一個正樣本,負(fù)對包含一個anchor樣本和一個負(fù)樣本。
3. 對比損失函數(shù)的目標(biāo)是使正對具有較小的距離,對負(fù)對具有較大的距離。
在上面的等式中,當(dāng)輸入來自同一類時,Y 為 0;否則,Y 的值為 1。
m 是定義半徑的余量,以指示超出此余量的不同對不會造成損失,并且始終大于 0。
Dw 是姐妹 siamese 網(wǎng)絡(luò)輸出之間的歐幾里得距離。
Triplet Loss
在 Triplet loss 中,我們使用數(shù)據(jù)的三元組而不是二元對。 三元組由anchor、正樣本和負(fù)樣本組成,主要用于面部識別。
在 Triplet loss 中,anchor和正樣本編碼之間的距離被最小化,而anchor和負(fù)樣本編碼之間的距離被最大化。
Triplet loss 將 d(a,p) 推到 0 ,并且 d(a,n) 大于 d(a,p)+margin
結(jié)論
Siamese 網(wǎng)絡(luò)受到 Siamese twins 的啟發(fā),是一種one-shot分類,用于區(qū)分相似和不同的圖像。 即使不知道所有訓(xùn)練時的類別并且訓(xùn)練數(shù)據(jù)有限,它也可以應(yīng)用。 Siamese 網(wǎng)絡(luò)基于度量學(xué)習(xí)方法,該方法使用二元交叉熵或?qū)Ρ葥p失或三重?fù)p失找到其輸入之間的相對距離。
在公眾號中回復(fù)關(guān)鍵字 “技術(shù)總結(jié)” 可獲取以下文章的匯總pdf。
更多內(nèi)容請關(guān)注公眾號CV技術(shù)指南,專注于計算機(jī)視覺的技術(shù)總結(jié),最新技術(shù)跟蹤。

發(fā)表評論
請輸入評論內(nèi)容...
請輸入評論/評論長度6~500個字
最新活動更多
-
7月22-29日立即報名>> 【線下論壇】第三屆安富利汽車生態(tài)圈峰會
-
7.30-8.1火熱報名中>> 全數(shù)會2025(第六屆)機(jī)器人及智能工廠展
-
7月31日免費(fèi)預(yù)約>> OFweek 2025具身智能機(jī)器人產(chǎn)業(yè)技術(shù)創(chuàng)新應(yīng)用論壇
-
免費(fèi)參會立即報名>> 7月30日- 8月1日 2025全數(shù)會工業(yè)芯片與傳感儀表展
-
即日-2025.8.1立即下載>> 《2024智能制造產(chǎn)業(yè)高端化、智能化、綠色化發(fā)展藍(lán)皮書》
-
8月5日立即報名>> 【在線會議】CAE優(yōu)化設(shè)計:醫(yī)療器械設(shè)計的應(yīng)用案例與方案解析
推薦專題