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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Siamese Network 孪生网络基础学习笔记

發(fā)布時(shí)間:2023/12/20 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Siamese Network 孪生网络基础学习笔记 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Siamese Network 孿生網(wǎng)絡(luò)基礎(chǔ)學(xué)習(xí)筆記


本筆記主要是對(duì)相關(guān)文章的摘錄梳理,作為小白學(xué)習(xí)目標(biāo)跟蹤的學(xué)習(xí)筆記。

孿生網(wǎng)絡(luò)在目標(biāo)跟蹤中有很重要的應(yīng)用,故特作此整理,希望為后續(xù)的學(xué)習(xí)打好基礎(chǔ)。

整理的比較倉(cāng)促,后續(xù)會(huì)修改完善。


參考文章鏈接:

  • Siamese network 孿生神經(jīng)網(wǎng)絡(luò):一個(gè)簡(jiǎn)單神奇的結(jié)構(gòu)
  • Siamese network總結(jié)
  • [視覺(jué)跟蹤] Siamese Network方法概述:從SiamFC到SiamRPN系列
  • 卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)筆記——Siamese networks(孿生神經(jīng)網(wǎng)絡(luò))

  • 一. Siamese Network 名字的由來(lái)

    Siamese在英語(yǔ)中是“孿生”、“連體”的意思。具體由來(lái)參見(jiàn)Siamese network 孿生神經(jīng)網(wǎng)絡(luò):一個(gè)簡(jiǎn)單神奇的結(jié)構(gòu)

    二. 孿生網(wǎng)絡(luò)的主要特點(diǎn)

  • Siamese 網(wǎng)絡(luò)采用兩個(gè)不同的輸入,通過(guò)兩個(gè)具有相同架構(gòu)、參數(shù)和權(quán)重的相似子網(wǎng)絡(luò)。

  • 這兩個(gè)子網(wǎng)互為鏡像,就像連體雙胞胎一樣。 因此,對(duì)任何子網(wǎng)架構(gòu)、參數(shù)或權(quán)重的任何更改也適用于其他子網(wǎng)。

  • 兩個(gè)子網(wǎng)絡(luò)輸出一個(gè)編碼來(lái)計(jì)算兩個(gè)輸入之間的差異。

  • Siamese 網(wǎng)絡(luò)的目標(biāo)是使用相似度分?jǐn)?shù)對(duì)兩個(gè)輸入是相同還是不同進(jìn)行分類。可以使用二元交叉熵、對(duì)比函數(shù)或三元組損失來(lái)計(jì)算相似度分?jǐn)?shù),這些都是用于一般距離度量學(xué)習(xí)方法的技術(shù)。

  • Siamese 網(wǎng)絡(luò)是一種one-shot分類器,它使用判別特征從未知分布中概括不熟悉的類別。

  • 三. Siamese Network的模型架構(gòu)

  • 將輸入pair送入編碼器,映射到新的空間,得到編碼后的向量化表示。需要注意的是,在Siamese Network中,輸入pair是共用編碼器參數(shù)的,不論在訓(xùn)練還是在測(cè)試過(guò)程中,編碼器只有一套,所有輸入共用。

  • 向量特征組合和交叉。這一步的目的是為了讓模型能夠?qū)W習(xí)輸入pair的“匹配”特征,得到交叉后的特征向量;

  • 將上一步特征向量送入特征映射層,并設(shè)計(jì)損失函數(shù)來(lái)評(píng)價(jià)兩個(gè)輸入的相似度,使得模型能夠完成指定任務(wù)。

  • 孿生網(wǎng)絡(luò)的核心特征是兩個(gè)子網(wǎng)絡(luò)的權(quán)重是共享的。因?yàn)檫@種共享,兩個(gè)輸入相當(dāng)于采用了相同的編碼機(jī)制映射到相同的向量空間。進(jìn)而我們就能通過(guò)對(duì)embedding后得到的的向量進(jìn)行處理,計(jì)算兩者的相似度。

    四. 孿生神經(jīng)網(wǎng)絡(luò)的用途是什么?

    孿生網(wǎng)絡(luò)主要用來(lái)衡量?jī)蓚€(gè)輸入的相似程度。該模型能夠處理但不局限于“匹配”問(wèn)題。

    五. 孿生神經(jīng)網(wǎng)絡(luò)和偽孿生神經(jīng)網(wǎng)絡(luò)

    Pseudo Siamese Network 偽孿生網(wǎng)絡(luò)

    如果兩個(gè)子體網(wǎng)絡(luò)不共享權(quán)重,即兩個(gè)子體是不同的神經(jīng)網(wǎng)絡(luò),則稱為Pseudo Siamese Network,偽孿生神經(jīng)網(wǎng)絡(luò)。偽連體孿生經(jīng)網(wǎng)絡(luò)的兩個(gè)子體,可以是結(jié)構(gòu)相同但權(quán)重不同,也可以是完全不同的結(jié)構(gòu),如一個(gè)是CNN,另一個(gè)是RNN。CNN和RNN的這種連體網(wǎng)絡(luò),可以用來(lái)比對(duì)不同數(shù)據(jù)類型的信息所表達(dá)的內(nèi)容的相似性,如一個(gè)圖片和一段文字。

    孿生神經(jīng)網(wǎng)絡(luò)和偽孿生神經(jīng)網(wǎng)絡(luò)分別適用的場(chǎng)景

    孿生神經(jīng)網(wǎng)絡(luò)用于處理兩個(gè)輸入"比較類似"的情況。偽孿生神經(jīng)網(wǎng)絡(luò)適用于處理兩個(gè)輸入"有一定差別"的情況。比如,我們要計(jì)算兩個(gè)句子或者詞匯的語(yǔ)義相似度,使用siamese network比較適合;如果驗(yàn)證標(biāo)題與正文的描述是否一致(標(biāo)題和正文長(zhǎng)度差別很大),或者文字是否描述了一幅圖片(一個(gè)是圖片,一個(gè)是文字),就應(yīng)該使用pseudo-siamese network。也就是說(shuō),要根據(jù)具體的應(yīng)用,判斷應(yīng)該使用哪一種結(jié)構(gòu),哪一種Loss。

    六. Siamese network 的 loss function

  • Siamese 網(wǎng)絡(luò)使用相似度分?jǐn)?shù)來(lái)預(yù)測(cè)兩個(gè)輸入是相似還是不同,使用度量學(xué)習(xí)方法,該方法找到其輸入之間的相對(duì)距離。

  • 可以使用二元交叉熵、對(duì)比函數(shù)或三重?fù)p失計(jì)算相似度分?jǐn)?shù)。

  • Siamese 網(wǎng)絡(luò)執(zhí)行二元分類,將輸入分類為相似或不相似;因此,默認(rèn)使用二元交叉熵?fù)p失函數(shù)。

  • 常用損失

    1. contrastive loss 對(duì)比損失函數(shù)

  • 對(duì)比損失函數(shù)通過(guò)對(duì)比兩個(gè)輸入來(lái)區(qū)分相似和不同的圖像。當(dāng)你在訓(xùn)練時(shí)不了解所有類別并且訓(xùn)練數(shù)據(jù)有限時(shí),它會(huì)有所幫助。它創(chuàng)建了一種數(shù)據(jù)編碼,可以在將來(lái)有新類時(shí)使用。

  • 對(duì)比損失需要一對(duì)正負(fù)訓(xùn)練數(shù)據(jù)。 正對(duì)包含一個(gè)anchor樣本和一個(gè)正樣本,負(fù)對(duì)包含一個(gè)anchor樣本和一個(gè)負(fù)樣本。

  • 對(duì)比損失函數(shù)的目標(biāo)是使正對(duì)具有較小的距離,對(duì)負(fù)對(duì)具有較大的距離。

  • 2. cosine距離與exp距離

    3. Triplet loss

    在 Triplet loss 中,我們使用數(shù)據(jù)的三元組而不是二元對(duì)。 三元組由anchor、正樣本和負(fù)樣本組成,主要用于面部識(shí)別。

    在 Triplet loss 中,anchor和正樣本編碼之間的距離被最小化,而anchor和負(fù)樣本編碼之間的距離被最大化。

    Triplet loss 將 d(a,p) 推到 0 ,并且 d(a,n) 大于 d(a,p)+margin

    七. 為什么Siamese神經(jīng)網(wǎng)絡(luò)被稱為one-shot分類?

  • one-shot分類模型僅使用每個(gè)新類別的單個(gè)訓(xùn)練樣本即可正確進(jìn)行預(yù)測(cè)。

  • Siamese 網(wǎng)絡(luò)使用有監(jiān)督的訓(xùn)練方法來(lái)學(xué)習(xí)通用輸入特征,然后根據(jù)訓(xùn)練數(shù)據(jù)對(duì)未知的類分布進(jìn)行預(yù)測(cè)。

  • 受過(guò)訓(xùn)練的 Siamese 網(wǎng)絡(luò)使用一次性學(xué)習(xí)來(lái)預(yù)測(cè)兩個(gè)輸入之間的相似性或不相似性,即使這些新分布中的樣本很少。

  • 八. Siamese 網(wǎng)絡(luò)的優(yōu)點(diǎn)

  • Siamese 網(wǎng)絡(luò)是一種one-shot分類模型,只需一個(gè)訓(xùn)練樣本即可進(jìn)行預(yù)測(cè)。

  • 對(duì)類別不平衡更魯棒,因?yàn)樗枰苌俚男畔ⅰ?它可以用于某些類的樣本很少的數(shù)據(jù)集。

  • Siamese 網(wǎng)絡(luò)的one-shot學(xué)習(xí)特性不依賴于特定領(lǐng)域的知識(shí),而是利用了深度學(xué)習(xí)技術(shù)。

  • 九. Siamese 網(wǎng)絡(luò)的缺點(diǎn)

    僅輸出相似性分?jǐn)?shù)而不輸出概率。(互斥事件的概率總和為 1。而距離不限于小于或等于 1。)

    十. Siamese network是雙胞胎連體,整一個(gè)三胞胎連體行不行?

    不好意思,已經(jīng)有人整過(guò)了,叫Triplet network,論文是《Deep metric learning using Triplet network》,輸入是三個(gè),一個(gè)正例+兩個(gè)負(fù)例,或者一個(gè)負(fù)例+兩個(gè)正例,訓(xùn)練的目標(biāo)是讓相同類別間的距離盡可能的小,讓不同類別間的距離盡可能的大。Triplet在cifar, mnist的數(shù)據(jù)集上,效果都是很不錯(cuò)的,超過(guò)了siamese network。四胞胎,五胞胎會(huì)不會(huì)更屌?。。。。。目前還沒(méi)見(jiàn)過(guò)。。。。

    十一. Siamese network的應(yīng)用

  • 簽名驗(yàn)證

  • 面部識(shí)別

  • 比較指紋

  • 根據(jù)臨床分級(jí)評(píng)估疾病嚴(yán)重程度

  • 工作資料的文本相似度以恢復(fù)匹配

  • 用于配對(duì)相似問(wèn)題的文本相似度

  • 總結(jié)

    以上是生活随笔為你收集整理的Siamese Network 孪生网络基础学习笔记的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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