劉小玲 崔艷榮



摘要:隨著深度學(xué)習(xí)的快速發(fā)展,各種人工神經(jīng)網(wǎng)絡(luò)框架應(yīng)運(yùn)而生,孿生神經(jīng)網(wǎng)絡(luò)就是其中的一種。孿生神經(jīng)網(wǎng)絡(luò)用于衡量兩個(gè)樣本間的相似性,其概念由來已久,在發(fā)展過程中其結(jié)構(gòu)也不斷演化。目前孿生神經(jīng)網(wǎng)絡(luò)的研究側(cè)重于應(yīng)用,而對框架的整體了解與把握是應(yīng)用研究的重要前提。本文主要從四個(gè)方面來介紹孿生神經(jīng)網(wǎng)絡(luò)框架,首先闡述其概念與結(jié)構(gòu),其次分析幾個(gè)改進(jìn)的網(wǎng)絡(luò)結(jié)構(gòu),然后列舉其常見的應(yīng)用領(lǐng)域,最后總結(jié)其研究價(jià)值。
關(guān)鍵詞:孿生神經(jīng)網(wǎng)絡(luò);樣本相似度;對比損失函數(shù);改進(jìn)孿生網(wǎng)絡(luò)應(yīng)用
中圖分類號:TP391? ? ? ? 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2021)28-0097-02
開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID):
1 引言
1993年Bromley和LeCun發(fā)表了一篇用于驗(yàn)證手寫簽名的論文,首次提出了“暹羅”神經(jīng)網(wǎng)絡(luò)[1],也就是孿生神經(jīng)網(wǎng)絡(luò)。孿生神經(jīng)網(wǎng)絡(luò),顧名思義,就是由兩個(gè)神經(jīng)網(wǎng)絡(luò)構(gòu)成的一種耦合架構(gòu)。傳統(tǒng)的人工神經(jīng)網(wǎng)絡(luò),例如卷積神經(jīng)網(wǎng)絡(luò),只能接收一個(gè)輸入,輸出為預(yù)測值或分類標(biāo)簽;而孿生神經(jīng)網(wǎng)絡(luò)接收兩個(gè)輸入,輸出為兩個(gè)樣本的相似度。
孿生神經(jīng)網(wǎng)絡(luò)基于距離計(jì)算輸入樣本的相似度,主要用于識別或驗(yàn)證任務(wù),特別適用于類別數(shù)量多、單個(gè)類別樣本數(shù)量少的分類任務(wù)[2]。因此,孿生神經(jīng)網(wǎng)絡(luò)在目標(biāo)跟蹤、人臉識別、語義匹配、文本識別等領(lǐng)域均有應(yīng)用,在目標(biāo)跟蹤領(lǐng)域應(yīng)用較為廣泛。
關(guān)于孿生神經(jīng)網(wǎng)絡(luò)應(yīng)用的論文層出不窮,對孿生神經(jīng)網(wǎng)絡(luò)的系統(tǒng)介紹卻少之又少,本文從孿生神經(jīng)網(wǎng)絡(luò)的概念與結(jié)構(gòu)、改進(jìn)的網(wǎng)絡(luò)結(jié)構(gòu)、應(yīng)用、總結(jié)這四個(gè)方面,整體地介紹孿生神經(jīng)網(wǎng)絡(luò),旨在讓讀者更好了解與運(yùn)用孿生神經(jīng)網(wǎng)絡(luò)。
2 孿生神經(jīng)網(wǎng)絡(luò)的概念與結(jié)構(gòu)
狹義上的孿生神經(jīng)網(wǎng)絡(luò),是由兩個(gè)相同的神經(jīng)網(wǎng)絡(luò)構(gòu)成的,例如兩個(gè)卷積神經(jīng)網(wǎng)絡(luò),它們結(jié)構(gòu)相同參數(shù)共享,適用于人臉識別、指紋比對等任務(wù);廣義上的孿生神經(jīng)網(wǎng)絡(luò),也叫偽孿生神經(jīng)網(wǎng)絡(luò),則是由兩個(gè)任意的神經(jīng)網(wǎng)絡(luò)進(jìn)行連接,參數(shù)無法共享,適用于判斷文本標(biāo)題與內(nèi)容是否相符這類任務(wù)。
本文主要介紹狹義上的孿生神經(jīng)網(wǎng)絡(luò),其結(jié)構(gòu)圖如圖1:
如圖1所示,孿生神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)包含兩個(gè)相同的子網(wǎng)絡(luò),也叫分支網(wǎng)絡(luò),它們之間共享權(quán)重W。分支網(wǎng)絡(luò)用于提取輸入樣本的特征向量GW(X),計(jì)算得到兩個(gè)特征向量之間的距離DW。這個(gè)距離可以是曼哈頓距離(L1范數(shù)),也可以是歐氏距離(L2范數(shù))。訓(xùn)練時(shí),損失函數(shù)Loss用來衡量該網(wǎng)絡(luò)的性能,反向傳播算法用來更新網(wǎng)絡(luò)參數(shù)。
值得一提的是,孿生神經(jīng)網(wǎng)絡(luò)的目的是區(qū)分而不是分類,因此訓(xùn)練時(shí)采用對比損失函數(shù),來評估該網(wǎng)絡(luò)區(qū)分一對給定數(shù)據(jù)的能力或效果。對比損失函數(shù)公式如下:
[LossY=1-Y12Dw2+12Ymax0,m-DW2 (1)]
公式(1)中,Y=0時(shí)表示樣本相似,Loss值隨DW值減小而減小,說明該網(wǎng)絡(luò)區(qū)分相似樣本的效果越好;Y=1時(shí)表示樣本不相似,m表示特征向量距離的閾值,若DW趨近于m,Loss值將趨近于0,說明該網(wǎng)絡(luò)區(qū)分不相似樣本的效果越好。系數(shù)Y與(1-Y)是自定義的,若將這兩個(gè)系數(shù)交換位置,則Y取值0或1的含義也會相應(yīng)改變。
3 改進(jìn)的孿生神經(jīng)網(wǎng)絡(luò)
改進(jìn)的孿生神經(jīng)網(wǎng)絡(luò),主要是對其結(jié)構(gòu)作改進(jìn),查閱文獻(xiàn)發(fā)現(xiàn),大致可以分為兩類:局部改進(jìn)和整體改進(jìn)。局部改進(jìn),就是在原有的孿生神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)基礎(chǔ)上,對局部區(qū)域做改進(jìn),例如調(diào)整輸入或子網(wǎng)絡(luò)層;整體改進(jìn),就是改變整個(gè)孿生神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),例如將孿生神經(jīng)網(wǎng)絡(luò)改進(jìn)為三重神經(jīng)網(wǎng)絡(luò)。
從兩個(gè)輸入樣本的角度來看,孿生神經(jīng)網(wǎng)絡(luò)就是一個(gè)雙分支網(wǎng)絡(luò);若是以一個(gè)輸入樣本的角度來看,也就是把一個(gè)樣本看作是雙通道(2-channel)樣本,孿生神經(jīng)網(wǎng)絡(luò)就相當(dāng)于一個(gè)雙通道網(wǎng)絡(luò)。這種思維變換,對孿生神經(jīng)網(wǎng)絡(luò)的輸入做了改進(jìn),其結(jié)構(gòu)圖如下:
一般我們會對神經(jīng)網(wǎng)絡(luò)的輸入樣本作預(yù)處理,使得樣本的尺寸統(tǒng)一,若是輸入樣本尺寸大小不同呢?以一般的孿生卷積神經(jīng)網(wǎng)絡(luò)為例,輸入層、卷積層、池化層對樣本的尺寸并沒有要求,問題的關(guān)鍵在于全連接層--提取的特征圖經(jīng)過全連接層后輸出為特征向量,而樣本相似度是通過計(jì)算兩個(gè)特征向量的距離得到的,兩個(gè)特征向量的尺寸不同,自然也就無法計(jì)算了。在全連接層之前加入空間金字塔池化SSP(Spatial pyramid pooling)層,就可以得到統(tǒng)一尺度的特征向量,其結(jié)構(gòu)圖如下:
三重神經(jīng)網(wǎng)絡(luò)是一種三元組結(jié)構(gòu),受孿生神經(jīng)網(wǎng)絡(luò)啟發(fā)而提出[3]。三個(gè)輸入為一個(gè)正例和兩個(gè)負(fù)例,或一個(gè)負(fù)例和兩個(gè)正例,三個(gè)子網(wǎng)絡(luò)間參數(shù)共享。訓(xùn)練目標(biāo)是使得相似樣本間的距離盡可能小,不相似樣本間的距離盡可能大。其結(jié)構(gòu)圖如下:
圖中x表示參考樣本,x-表示異類樣本,x+表示同類樣本,提取三個(gè)樣本的特征向量,分別計(jì)算樣本x與x-、x與x+的特征向量的L2距離。該結(jié)構(gòu)相當(dāng)于將任務(wù)表示為二分類問題,即判斷x+與x-哪一個(gè)與x屬于同一類,采用了softmax分類函數(shù),損失函數(shù)改進(jìn)為簡單的均方誤差函數(shù)。
4 孿生神經(jīng)網(wǎng)絡(luò)的應(yīng)用
目標(biāo)跟蹤任務(wù)是指在有序的視頻序列中,獲取運(yùn)動目標(biāo)的運(yùn)動軌跡,以分析目標(biāo)運(yùn)動行為。在相鄰幀中尋找目標(biāo),實(shí)際上就是將兩幀圖像進(jìn)行對比,這正好可以由孿生結(jié)構(gòu)來實(shí)現(xiàn),因此孿生神經(jīng)網(wǎng)絡(luò)在目標(biāo)跟蹤領(lǐng)域的應(yīng)用較為廣泛。相關(guān)的經(jīng)典算法有孿生全卷積神經(jīng)網(wǎng)絡(luò)(Siamese-FC)、孿生候選區(qū)域生成網(wǎng)絡(luò)(Siamese-RPN)、AOTM算法等[4]。
對于識別任務(wù),例如人臉識別和文本識別,通常都是將兩個(gè)圖像或兩段文本進(jìn)行比較,也正好能借助于孿生神經(jīng)網(wǎng)絡(luò)。早在2005年提出相似性度量時(shí),已有學(xué)者采用孿生卷積網(wǎng)絡(luò)實(shí)現(xiàn)人臉識別,由于該網(wǎng)絡(luò)結(jié)構(gòu)尤其適合樣本少類別多的任務(wù),因此也應(yīng)用于小樣本學(xué)習(xí)。隨后,孿生的長短期記憶網(wǎng)絡(luò)被提出,應(yīng)用于文本識別。此外,對于一般的分類任務(wù),孿生神經(jīng)網(wǎng)絡(luò)也能完成。
5 總結(jié)
本文系統(tǒng)地介紹了孿生神經(jīng)網(wǎng)絡(luò)的概念與結(jié)構(gòu)、改進(jìn)結(jié)構(gòu)與應(yīng)用,作為一種神經(jīng)網(wǎng)絡(luò)框架,孿生神經(jīng)網(wǎng)絡(luò)并未引起高度重視,但其發(fā)展正逐漸趨于成熟。目前,基于孿生神經(jīng)網(wǎng)絡(luò)的目標(biāo)跟蹤算法改進(jìn)是一個(gè)比較熱門的研究方向,引入注意力機(jī)制和模板更新機(jī)制是已有的兩個(gè)創(chuàng)新點(diǎn),因此孿生神經(jīng)網(wǎng)絡(luò)具有較好的研究前景,在未來的研究工作中,提出新的改進(jìn)方法或應(yīng)用于新的領(lǐng)域都是可供參考的方向。
參考文獻(xiàn):
[1] Bromley J,Bentz J W,Bottou L,et al.Signature verification using a “Siamese” time delay neural network[M]//Series in Machine Perception and Artificial Intelligence.WORLD SCIENTIFIC,1994:25-44.
[2] Chopra S,Hadsell R,LeCun Y.Learning a similarity metric discriminatively,with application to face verification[C]//2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'05).June 20-25,2005,San Diego,CA,USA.IEEE,2005:539-546.
[3] Hoffer E,Ailon N.Deep metric learning using triplet network[M]//Similarity-Based Pattern Recognition.Cham:Springer International Publishing,2015:84-92.
[4] 程棟棟,呂宗旺,祝玉華.孿生網(wǎng)絡(luò)目標(biāo)跟蹤算法[J].福建電腦,2021,37(2):85-86.
【通聯(lián)編輯:梁書】