日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > pytorch >内容正文

pytorch

【模型解读】深度学习网络之Siamese Network网络

發(fā)布時間:2025/3/20 pytorch 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【模型解读】深度学习网络之Siamese Network网络 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

文章首發(fā)于微信公眾號《有三AI》

【模型解讀】深度學(xué)習(xí)網(wǎng)絡(luò)只能有一個輸入嗎

繼續(xù)我們之前的專欄《模型解讀》,今天說多輸入網(wǎng)絡(luò),很久沒寫了因為實在是有更重要的事情。

平常我們所見的深度學(xué)習(xí)模型,都是輸入一個圖像或者視頻序列,輸出分類,分割,目標檢測等結(jié)果,但是還有一種模型需要輸入兩張,或者多張圖片,這就是多輸入網(wǎng)絡(luò)結(jié)構(gòu)。

作者?|?言有三

編輯?|?言有三

?

01?多輸入網(wǎng)絡(luò)的應(yīng)用背景

首先我們說說在什么情況下,需要多個輸入,只以純圖像應(yīng)用為例。

1.1?圖像驗證與匹對

早在上個世紀90年代的時候,LeCun等研究人員就開始利用神經(jīng)網(wǎng)絡(luò)陸續(xù)進行一些研究,比如我們熟知的大名鼎鼎的LeNet5,但這絕不是唯一,今天我們來說他們的另一種網(wǎng)絡(luò)結(jié)構(gòu),Siamese?Network,網(wǎng)絡(luò)細節(jié)我們后面這些,這里先說應(yīng)用背景。

簽名驗證:

無獨有偶,還是從手寫字開始,同樣是用于銀行,用于驗證簽名是否一致。兩個網(wǎng)絡(luò)都是同樣規(guī)格的圖像輸入,最后輸出一個相似度。

看到這里,你應(yīng)該能夠想起來如今它的更加廣泛的應(yīng)用,沒錯,就是人臉驗證,或者說人臉識別了。

其實用的時候都不需要兩個輸入,因為可以建立一個離線數(shù)據(jù)集專門用于檢索匹配。

而且,你可以在此基礎(chǔ)上拓展出非常多的玩法,什么夫妻臉之類的。

1.2?目標跟蹤

目標跟蹤是一個什么過程?就是在時序幀中搜索目標的過程,本質(zhì)上就是檢索。

不管是傳統(tǒng)的目標跟蹤中的生成模型和判別模型,還是用深度學(xué)習(xí)來做目標跟蹤,本質(zhì)上都是來求取目標區(qū)域與搜索區(qū)域的相似度,這就是典型的多輸入。

用深度學(xué)習(xí)來做,就是一個小圖像和一個大圖像分別輸入網(wǎng)絡(luò),輸出相似度。

1.3?排序

還有一類問題,可以用多輸入網(wǎng)絡(luò)來做,那就是排序。有的時候,我們很難估計一個人的實際年齡或者顏值,但是估計相對年齡和顏值就簡單多了。

而且,在此之上,做些什么誰更可愛,誰更成熟之類的,可以想出無數(shù)花樣,解釋的通就行了。

?

02?多輸入網(wǎng)絡(luò)

在這里,給大家介紹兩個常見的網(wǎng)絡(luò),一個是siamese網(wǎng)絡(luò),一個是triplet網(wǎng)絡(luò)。

2.1?siamese?network????????????????????????

Siamese本意是“暹羅”人或“泰國”人,后在英語中指“孿生”、“連體”,這是一個外來詞,來源于十九世紀泰國出生的一對連體嬰兒,具體的故事我們就不說了,挺有看頭,大家可以自己去了解。

顧名思義,有兩個輸入,兩個網(wǎng)絡(luò),根據(jù)這兩個網(wǎng)絡(luò)是否共享權(quán)重,可以分為真孿生網(wǎng)絡(luò)siamese?network和偽孿生網(wǎng)絡(luò)pseudo-siamese?network

真孿生網(wǎng)絡(luò)siamese?network的結(jié)構(gòu)示意圖如下:

偽孿生網(wǎng)絡(luò)pseudo-siamese?network的結(jié)構(gòu)示意圖如下:

可以看出差別就在于是否共享權(quán)重,loss的選擇就多了,相似度計算方法就多少,它的計算方法就有多少,交叉熵,歐式距離,余弦距離等都很常用。

那么是否需要共享權(quán)重呢?這就看研究的問題而定了,很明顯不共享權(quán)重有更大的發(fā)揮空間,這個問題本文不展開講。

2.2?triplet?network

如果將上面的二輸入拓展為三輸入怎么樣?做人臉識別的同學(xué)想必不陌生。

沒錯,就是triplet?network。

大家都知道,訓(xùn)練人臉識別網(wǎng)絡(luò)的時候需要輸入圖像對來判斷是不是同一個人,loss是兩個樣本之間的相似度。不過,光是相似度是不夠的。

我們以前有一篇文章,專門講述了人臉識別中的softmax損失的變種,可以回顧。

【技術(shù)綜述】一文道盡softmax loss及其變種

大家在研究的是同一個問題,如果想得到更優(yōu)良的性能,不僅要將正負樣本區(qū)分開,還要讓類內(nèi)更加緊湊(方差小),類間更加疏遠(方差大)

triplet?network將輸入改成三個,訓(xùn)練的時候使用一個正例+兩個負例,或者一個負例+兩個正例。

訓(xùn)練的目標就是上面的:同類別間的距離盡可能的小,不同類別間的距離盡可能的大。

基準樣本x和負樣本x-之間的距離定義如下:

基準樣本x和正樣本x+之間的距離定義如下:

然后優(yōu)化目標就等于:

我們假如網(wǎng)絡(luò)訓(xùn)練的特別好,令margin=1,此時

那么上面的距離:

損失也就趨向于0,當然這種要求是不可能達到的,也不合理,因為有的正樣本的確不那么相似,有的負樣本的確很相似,強行學(xué)習(xí)過擬合風(fēng)險就增加了

所以實際用的時候,這個margin應(yīng)該取一個合理的值,而且樣本的選擇也很有技巧,所以triplet?network沒有看起來那么好訓(xùn)練。Anyway,這還是很優(yōu)雅的思想的。

今天就這么多,更多的并行的輸入也是有的,就作為大家的延伸閱讀吧。

?

總結(jié)

好像文章越寫越簡單了,不過這是好事。

咱們這個系列未完待續(xù),盡情期待,不要忘了領(lǐng)取我們的卡片噢。

?

深度學(xué)習(xí)模型

?

轉(zhuǎn)載文章請后臺聯(lián)系

侵權(quán)必究

本系列的完整目錄:

【模型解讀】從LeNet到VGG,看卷積+池化串聯(lián)的網(wǎng)絡(luò)結(jié)構(gòu)

【模型解讀】network in network中的1*1卷積,你懂了嗎

【模型解讀】GoogLeNet中的inception結(jié)構(gòu),你看懂了嗎

【模型解讀】說說移動端基準模型MobileNets

【模型解讀】pooling去哪兒了?

【模型解讀】resnet中的殘差連接,你確定真的看懂了?

【模型解讀】“不正經(jīng)”的卷積神經(jīng)網(wǎng)絡(luò)

【模型解讀】“全連接”的卷積網(wǎng)絡(luò),有什么好?

【模型解讀】從“局部連接”回到“全連接”的神經(jīng)網(wǎng)絡(luò)

【模型解讀】深度學(xué)習(xí)網(wǎng)絡(luò)只能有一個輸入嗎

【模型解讀】從2D卷積到3D卷積,都有什么不一樣

【模型解讀】淺析RNN到LSTM

感謝各位看官的耐心閱讀,不足之處希望多多指教。后續(xù)內(nèi)容將會不定期奉上,歡迎大家關(guān)注有三公眾號 有三AI

?

總結(jié)

以上是生活随笔為你收集整理的【模型解读】深度学习网络之Siamese Network网络的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。