孪生网络 Siamese Network
文章目錄
- 孿生網(wǎng)絡(luò)的發(fā)展
- 孿生網(wǎng)絡(luò)
- 定義
- 功能與用途
- 損失函數(shù)
孿生網(wǎng)絡(luò)的發(fā)展
孿生網(wǎng)絡(luò)又稱為連體網(wǎng)絡(luò),網(wǎng)絡(luò)中的連體是通過共享權(quán)值來實(shí)現(xiàn)。孿生網(wǎng)絡(luò)最早是出現(xiàn)在1993年的論文《Signature Verification using a ‘Siamese’ Time Delay Neural Network》用于美國支票上的簽名驗(yàn)證,即驗(yàn)證支票上的簽名與銀行預(yù)留簽名是否一致。
孿生網(wǎng)絡(luò)是一種監(jiān)督學(xué)習(xí),用于度量學(xué)習(xí)。
隨后由于硬件的限制網(wǎng)絡(luò)技術(shù)的發(fā)展,幾乎停滯不前。
- 2010年Hinton在ICML上發(fā)表了文章《Rectified Linear Units Improve Restricted Boltzmann Machines》,用來做人臉驗(yàn)證,效果很好。其原理很簡(jiǎn)單,將兩個(gè)人臉feed進(jìn)卷積神經(jīng)網(wǎng)絡(luò),輸出same or different。
- 2015年CVPR的一篇關(guān)于圖像相似度計(jì)算的文章:《Learning to Compare Image Patches via Convolutional Neural Networks》,本篇文章對(duì)經(jīng)典的算法Siamese Networks 做了改進(jìn)。
以上算法都是使用孿生網(wǎng)絡(luò)來進(jìn)行圖片相似度的對(duì)比。隨后孿生網(wǎng)絡(luò)開始慢慢地出現(xiàn)在計(jì)算機(jī)視覺目標(biāo)跟蹤領(lǐng)域。
- 2016年ECCV Fully-Convolutional Siamese Networks for Object Tracking
- 2016年ECCV Learning to Track at 100 FPS with Deep Regression Networks
- 2017年CVPR End-to-end representation learning for Correlation Filter based tracking
孿生網(wǎng)絡(luò)
孿生網(wǎng)絡(luò)最早提出在1993年的下面這篇論文中。
Bromley J, Bentz J W, Bottou L, et al. Signature verification using a “siamese” time delay neural network[J]. International Journal of Pattern Recognition and Artificial Intelligence, 1993, 7(04): 669-688.
定義
簡(jiǎn)單來說,Siamese Network就是"連體的神經(jīng)網(wǎng)絡(luò)",神經(jīng)網(wǎng)絡(luò)的"連體"是通過共享權(quán)值來實(shí)現(xiàn)的,如下圖所示:
左右兩個(gè)網(wǎng)絡(luò)可以是同一個(gè),也可以是不同網(wǎng)絡(luò),比如一個(gè)是CNN,另一個(gè)是LSTM,如果左右兩邊權(quán)重不共享,此時(shí)叫偽孿生網(wǎng)絡(luò)。
功能與用途
孿生網(wǎng)絡(luò)最早用于驗(yàn)證支票上的簽名與銀行預(yù)留簽名是否一致,后用于對(duì)比兩個(gè)輸入的相似度,隨后又慢慢應(yīng)用到目標(biāo)跟蹤領(lǐng)域。
孿生網(wǎng)絡(luò)針對(duì)兩個(gè)輸入 input1 和 input2,分別進(jìn)入神經(jīng)網(wǎng)絡(luò) network1 和network2,通過最后的 loss 計(jì)算,可以評(píng)價(jià)兩個(gè) network 后向量的相似度,即兩個(gè) input 輸入的相似度。
孿生網(wǎng)絡(luò)由于權(quán)重共享,所以一定程度上限制了 network1 和 network2 的差異不能太大,所以通常用來處理兩個(gè)輸入差異不是非常大的問題,比如,對(duì)比兩張圖片、兩個(gè)句子,兩個(gè)詞匯的相似度。對(duì)于輸入差異很大的相似度,比如圖片與相應(yīng)的文字描述,文章標(biāo)題與文章段落的相似度,這時(shí)候就需要使用偽孿生網(wǎng)絡(luò)。
所以針對(duì)不同的情況,需要選擇合適的網(wǎng)絡(luò)結(jié)構(gòu)和對(duì)應(yīng)的損失函數(shù)。
損失函數(shù)
Siamese network的輸入是兩個(gè)經(jīng)過 network表示后的向量,在新的向量空間中,只要能判斷兩個(gè)向量的距離,讓同類的距離越小,一類的距離越大就能達(dá)到目標(biāo)。所以這里的距離可以有很多,比如歐式距離、余弦距離、指數(shù)距離都可以。
參考資料:
總結(jié)
以上是生活随笔為你收集整理的孪生网络 Siamese Network的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: resnet152训练_Resnet-1
- 下一篇: 集成算法——Adaboost代码