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