日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

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

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

文章首發于微信公眾號《有三AI》

【模型解讀】深度學習網絡只能有一個輸入嗎

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

平常我們所見的深度學習模型,都是輸入一個圖像或者視頻序列,輸出分類,分割,目標檢測等結果,但是還有一種模型需要輸入兩張,或者多張圖片,這就是多輸入網絡結構。

作者?|?言有三

編輯?|?言有三

?

01?多輸入網絡的應用背景

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

1.1?圖像驗證與匹對

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

簽名驗證:

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

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

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

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

1.2?目標跟蹤

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

不管是傳統的目標跟蹤中的生成模型和判別模型,還是用深度學習來做目標跟蹤,本質上都是來求取目標區域與搜索區域的相似度,這就是典型的多輸入。

用深度學習來做,就是一個小圖像和一個大圖像分別輸入網絡,輸出相似度。

1.3?排序

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

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

?

02?多輸入網絡

在這里,給大家介紹兩個常見的網絡,一個是siamese網絡,一個是triplet網絡。

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

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

顧名思義,有兩個輸入,兩個網絡,根據這兩個網絡是否共享權重,可以分為真孿生網絡siamese?network和偽孿生網絡pseudo-siamese?network

真孿生網絡siamese?network的結構示意圖如下:

偽孿生網絡pseudo-siamese?network的結構示意圖如下:

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

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

2.2?triplet?network

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

沒錯,就是triplet?network。

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

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

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

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

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

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

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

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

然后優化目標就等于:

我們假如網絡訓練的特別好,令margin=1,此時

那么上面的距離:

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

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

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

?

總結

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

咱們這個系列未完待續,盡情期待,不要忘了領取我們的卡片噢。

?

深度學習模型

?

轉載文章請后臺聯系

侵權必究

本系列的完整目錄:

【模型解讀】從LeNet到VGG,看卷積+池化串聯的網絡結構

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

【模型解讀】GoogLeNet中的inception結構,你看懂了嗎

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

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

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

【模型解讀】“不正經”的卷積神經網絡

【模型解讀】“全連接”的卷積網絡,有什么好?

【模型解讀】從“局部連接”回到“全連接”的神經網絡

【模型解讀】深度學習網絡只能有一個輸入嗎

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

【模型解讀】淺析RNN到LSTM

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

?

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。