行人重識(shí)別:共享與獨(dú)有特征分離的遷移學(xué)習(xí)實(shí)踐)
1. 跨模態(tài)行人重識(shí)別到底在解決什么實(shí)際問(wèn)題跨模態(tài)行人重識(shí)別英文叫 Cross-modality Person Re-identification簡(jiǎn)稱(chēng) Cross-modality ReID是計(jì)算機(jī)視覺(jué)里一個(gè)非常具體、也非常棘手的任務(wù)。它的核心場(chǎng)景是這樣的假設(shè)你手頭有一段可見(jiàn)光攝像頭拍到的行人畫(huà)面想從另一組紅外攝像頭拍攝的圖庫(kù)里把同一個(gè)人找出來(lái)。注意這里不是簡(jiǎn)單的“以圖搜圖”因?yàn)閮山M圖像的成像原理完全不同——可見(jiàn)光圖像依賴(lài)環(huán)境光照反射能拍到顏色、紋理這些細(xì)節(jié)紅外圖像依賴(lài)熱輻射畫(huà)面是灰度的沒(méi)有顏色信息紋理也弱得多。你讓一個(gè)模型去匹配這兩種模態(tài)下的同一個(gè)人它面對(duì)的困難不只是“同一個(gè)人換了角度、換了姿態(tài)”而是“同一個(gè)人在兩套完全不同的成像體系下看起來(lái)像兩個(gè)物種”。這個(gè)任務(wù)為什么值得研究因?yàn)樗蟹浅V苯拥默F(xiàn)實(shí)需求。夜間或者光線極差的環(huán)境下普通可見(jiàn)光攝像頭基本失效但紅外攝像頭可以正常工作。很多安防場(chǎng)景、園區(qū)管理、夜間巡檢都會(huì)同時(shí)部署可見(jiàn)光和紅外兩套設(shè)備。如果系統(tǒng)只能做同模態(tài)檢索那可見(jiàn)光攝像頭拍到的目標(biāo)就沒(méi)法在紅外圖庫(kù)里查反之亦然。跨模態(tài) ReID 要做的就是打通這兩套體系讓檢索不再受模態(tài)限制。但這里有一個(gè)根本性的矛盾可見(jiàn)光圖像和紅外圖像之間既有“共享”的信息也有“各自獨(dú)有”的信息。共享信息是什么是行人的體型、輪廓、步態(tài)相關(guān)的整體結(jié)構(gòu)、大致的身高比例。這些東西不管在哪種模態(tài)下都存在是跨模態(tài)匹配的基礎(chǔ)。獨(dú)有信息是什么可見(jiàn)光圖像里的衣服顏色、背包花紋、鞋子款式紅外圖像里某些熱輻射分布特征——這些信息在另一個(gè)模態(tài)里根本不存在你沒(méi)法直接拿來(lái)匹配。問(wèn)題在于很多模型在訓(xùn)練時(shí)會(huì)把這兩種信息混在一起學(xué)結(jié)果就是模型可能過(guò)度依賴(lài)顏色這種“只在可見(jiàn)光里有效”的線索一旦切換到紅外模態(tài)這些線索全部失效性能斷崖式下跌。Shared-Specific Feature Transfer 這個(gè)思路就是針對(duì)這個(gè)矛盾提出的。它不滿足于讓模型“囫圇吞棗”地學(xué)一個(gè)混合特征而是明確地把特征拆成共享部分和獨(dú)有部分然后設(shè)計(jì)機(jī)制讓共享特征真正跨模態(tài)對(duì)齊同時(shí)讓獨(dú)有特征在模態(tài)內(nèi)部發(fā)揮作用。這個(gè)“拆開(kāi)再對(duì)齊”的思路比直接端到端硬學(xué)要精細(xì)得多也是這篇論文最值得細(xì)讀的地方。我讀這篇論文的時(shí)候最大的感受是它沒(méi)有停留在“堆模塊、刷點(diǎn)”的層面而是在認(rèn)真回答一個(gè)結(jié)構(gòu)性問(wèn)題——跨模態(tài)匹配到底應(yīng)該匹配什么、忽略什么。這個(gè)問(wèn)題的答案直接決定了模型的上限。下面我會(huì)從任務(wù)本質(zhì)、特征解耦邏輯、共享特征對(duì)齊機(jī)制、獨(dú)有特征的處理方式、訓(xùn)練策略、實(shí)驗(yàn)設(shè)計(jì)幾個(gè)角度把這篇論文的核心內(nèi)容拆開(kāi)講清楚。適合正在做 ReID 方向、或者對(duì)多模態(tài)特征學(xué)習(xí)感興趣的人參考。2. 可見(jiàn)光與紅外之間的模態(tài)鴻溝為什么直接匹配會(huì)失效2.1 模態(tài)差異不是簡(jiǎn)單的“顏色變灰度”很多人第一次接觸跨模態(tài) ReID會(huì)下意識(shí)覺(jué)得紅外圖像不就是可見(jiàn)光圖像去色再加點(diǎn)噪聲嗎如果真是這樣那直接把可見(jiàn)光圖像轉(zhuǎn)成灰度再和紅外圖像做匹配就行了。但實(shí)際完全不是這么回事??梢?jiàn)光圖像的像素值反映的是物體表面對(duì)不同波長(zhǎng)光線的反射率顏色信息本質(zhì)上來(lái)自材質(zhì)和光照的交互。紅外圖像的像素值反映的是物體表面的熱輻射強(qiáng)度跟材質(zhì)、溫度、環(huán)境散熱條件有關(guān)。一個(gè)人穿黑色棉衣和白色棉衣在可見(jiàn)光下顏色差異巨大但在紅外圖像里如果兩件衣服的保溫性能接近熱輻射分布可能非常相似。反過(guò)來(lái)一個(gè)人剛運(yùn)動(dòng)完體表溫度分布不均勻紅外圖像里會(huì)出現(xiàn)可見(jiàn)光下完全看不到的熱斑。這意味著兩種模態(tài)之間的差異不是線性變換能描述的它們背后的物理量根本不同。更麻煩的是紅外圖像的分辨率通常低于可見(jiàn)光圖像細(xì)節(jié)紋理?yè)p失嚴(yán)重??梢?jiàn)光下能看清的背包拉鏈、鞋子logo在紅外圖像里可能只剩一團(tuán)模糊的亮斑。如果模型在訓(xùn)練時(shí)過(guò)度依賴(lài)這些高頻紋理跨模態(tài)泛化能力就會(huì)很差。2.2 共享信息與獨(dú)有信息的糾纏是性能瓶頸跨模態(tài) ReID 的難點(diǎn)可以概括為一句話模型需要學(xué)會(huì)“什么該跨模態(tài)對(duì)齊什么該模態(tài)內(nèi)保留”。但普通訓(xùn)練方式不會(huì)告訴模型這個(gè)邊界在哪里。假設(shè)我們用一個(gè)共享的骨干網(wǎng)絡(luò)提取特征然后用一個(gè)分類(lèi)損失去訓(xùn)練。模型為了降低損失會(huì)盡可能利用所有可用的判別信息。在可見(jiàn)光分支里顏色是最容易學(xué)的判別線索——紅色上衣和藍(lán)色上衣的特征很容易分開(kāi)。模型會(huì)傾向于把大量容量分配給顏色相關(guān)的特征維度。但到了紅外分支顏色信息不存在這些維度就變成了噪聲。更糟糕的是共享骨干網(wǎng)絡(luò)會(huì)被可見(jiàn)光分支的梯度主導(dǎo)導(dǎo)致紅外分支學(xué)到的特征也被拉向顏色敏感的方向最終兩個(gè)模態(tài)的特征空間無(wú)法對(duì)齊。這就是為什么很多樸素方法在跨模態(tài)設(shè)置下性能大幅下降。不是模型容量不夠而是它學(xué)到的特征里混入了太多“模態(tài)獨(dú)有且不可遷移”的成分。Shared-Specific Feature Transfer 的核心動(dòng)機(jī)就是要把這部分成分顯式地分離出來(lái)避免它們干擾跨模態(tài)對(duì)齊。2.3 一個(gè)生活化類(lèi)比雙語(yǔ)翻譯中的“文化專(zhuān)有詞”你可以把這個(gè)任務(wù)類(lèi)比成中英翻譯。有些詞是兩種語(yǔ)言都有的概念比如“水”“跑”“大”這些可以直譯對(duì)應(yīng)共享特征。但有些詞是某種文化獨(dú)有的比如中文里的“緣分”、英文里的“serendipity”你硬翻過(guò)去就會(huì)丟失原意對(duì)應(yīng)模態(tài)獨(dú)有特征。一個(gè)好的翻譯系統(tǒng)應(yīng)該先把可直譯的部分準(zhǔn)確對(duì)應(yīng)再把不可直譯的部分用注釋或意譯處理而不是把兩者混在一起硬翻??缒B(tài) ReID 里的共享-獨(dú)有特征分離邏輯完全一樣。如果模型不區(qū)分這兩類(lèi)信息就會(huì)像把“緣分”硬翻成“destiny”一樣表面上有個(gè)對(duì)應(yīng)實(shí)際上語(yǔ)義已經(jīng)偏了??缒B(tài)匹配要的是“同一個(gè)人”的語(yǔ)義對(duì)應(yīng)而不是像素級(jí)的強(qiáng)行對(duì)齊。3. Shared-Specific Feature Transfer 的整體架構(gòu)拆解3.1 雙流骨干與特征分離的基本設(shè)計(jì)這篇論文的架構(gòu)可以理解為“雙流提取 顯式分離 跨模態(tài)遷移”三段式。輸入是一對(duì)圖像一張可見(jiàn)光、一張紅外可能來(lái)自同一個(gè)人也可能來(lái)自不同人。骨干網(wǎng)絡(luò)通常采用 ResNet-50 這類(lèi)結(jié)構(gòu)但為了處理紅外單通道輸入第一層卷積會(huì)做相應(yīng)調(diào)整。兩個(gè)模態(tài)各自經(jīng)過(guò)一個(gè)分支得到初始特征圖。關(guān)鍵步驟在于作者沒(méi)有直接拿這些特征去做匹配而是設(shè)計(jì)了一個(gè)特征分離模塊把每個(gè)模態(tài)的特征拆成兩部分共享特征和獨(dú)有特征。共享特征的目標(biāo)是捕捉跨模態(tài)一致的信息比如人體輪廓、整體姿態(tài)、大致體型比例。獨(dú)有特征則保留模態(tài)特有的信息比如可見(jiàn)光里的顏色分布、紅外里的熱輻射模式。這個(gè)分離不是靠人工標(biāo)注告訴模型“哪些維度是共享的”而是通過(guò)損失函數(shù)約束實(shí)現(xiàn)的。具體來(lái)說(shuō)共享特征會(huì)被送入一個(gè)跨模態(tài)對(duì)齊模塊要求同一身份在不同模態(tài)下的共享特征盡可能接近獨(dú)有特征則被約束為在模態(tài)內(nèi)部具有判別力但不參與跨模態(tài)匹配。這樣模型在訓(xùn)練中會(huì)逐漸學(xué)會(huì)把可遷移的信息壓縮到共享子空間把不可遷移的信息隔離到獨(dú)有子空間。3.2 為什么分離比混合更有效梯度視角的解釋從梯度傳播的角度看分離機(jī)制相當(dāng)于給不同性質(zhì)的信息分配了不同的優(yōu)化路徑。共享特征分支的梯度來(lái)自跨模態(tài)對(duì)齊損失這個(gè)損失只關(guān)心“同一身份在不同模態(tài)下是否靠近”不關(guān)心顏色或紋理細(xì)節(jié)。因此共享分支會(huì)傾向于學(xué)習(xí)那些在兩種模態(tài)下都穩(wěn)定存在的結(jié)構(gòu)信息。獨(dú)有特征分支的梯度來(lái)自模態(tài)內(nèi)的分類(lèi)損失或重建損失它可以在本模態(tài)內(nèi)充分利用顏色、紋理等線索而不會(huì)污染共享分支。如果沒(méi)有這個(gè)分離所有梯度都會(huì)匯入同一個(gè)特征向量模型會(huì)優(yōu)先優(yōu)化最容易降低總損失的方向。由于顏色在可見(jiàn)光模態(tài)內(nèi)判別力極強(qiáng)模型會(huì)大量依賴(lài)顏色導(dǎo)致共享特征空間被顏色主導(dǎo)。分離之后顏色相關(guān)的梯度被導(dǎo)向獨(dú)有分支共享分支被迫去尋找其他更穩(wěn)定的線索。這就是為什么顯式分離往往比隱式正則更有效——它改變了梯度的流向而不僅僅是增加一個(gè)約束項(xiàng)。3.3 共享特征遷移的具體實(shí)現(xiàn)方式論文標(biāo)題里的“Transfer”指的是共享特征在不同模態(tài)之間的遷移。具體怎么做一種常見(jiàn)設(shè)計(jì)是把可見(jiàn)光分支的共享特征和紅外分支的共享特征投影到同一個(gè)子空間然后計(jì)算它們之間的距離要求同一身份的樣本對(duì)距離小、不同身份的樣本對(duì)距離大。這個(gè)投影可以是簡(jiǎn)單的全連接層也可以是帶歸一化的嵌入層。更精細(xì)的設(shè)計(jì)會(huì)引入一個(gè)“共享特征生成”或“特征交換”機(jī)制。比如把可見(jiàn)光圖像的共享特征和紅外圖像的獨(dú)有特征組合起來(lái)看能否重建出合理的紅外特征表示反過(guò)來(lái)也一樣。這種重建或交換操作會(huì)迫使共享特征真正包含跨模態(tài)通用的信息因?yàn)槿绻蚕硖卣骼锘烊肓四B(tài)獨(dú)有成分交換后重建就會(huì)失敗。我讀到這里時(shí)的體會(huì)是遷移不是簡(jiǎn)單的“對(duì)齊”而是要讓共享特征具備“可替換性”。也就是說(shuō)你把一個(gè)人的共享特征從可見(jiàn)光模態(tài)搬到紅外模態(tài)它應(yīng)該仍然描述的是這個(gè)人而不是某個(gè)模態(tài)的成像特性。這個(gè)標(biāo)準(zhǔn)比單純的距離拉近更嚴(yán)格也更能保證學(xué)到的共享特征質(zhì)量。4. 獨(dú)有特征的處理不是丟棄而是模態(tài)內(nèi)增強(qiáng)4.1 獨(dú)有特征為什么不能一扔了之既然獨(dú)有特征不能跨模態(tài)遷移那是不是直接丟掉就行了不行。原因有兩個(gè)。第一獨(dú)有特征在模態(tài)內(nèi)部仍然有判別價(jià)值。在可見(jiàn)光圖庫(kù)里檢索可見(jiàn)光目標(biāo)時(shí)顏色信息非常有用在紅外圖庫(kù)里檢索紅外目標(biāo)時(shí)熱輻射模式也能提供區(qū)分度。如果完全丟棄獨(dú)有特征模態(tài)內(nèi)檢索性能會(huì)下降。第二獨(dú)有特征的存在可以幫助共享特征學(xué)得更干凈。如果模型知道有一部分容量專(zhuān)門(mén)用來(lái)編碼模態(tài)獨(dú)有信息它就不需要把共享特征也用來(lái)編碼這些信息。這相當(dāng)于給共享特征“減負(fù)”讓它專(zhuān)注于跨模態(tài)通用的部分。所以正確的做法不是丟棄而是隔離并利用。論文里通常會(huì)對(duì)獨(dú)有特征施加模態(tài)內(nèi)的分類(lèi)損失或三元組損失讓它在各自模態(tài)內(nèi)保持判別力同時(shí)通過(guò)梯度阻斷或正交約束防止它影響共享特征空間。4.2 正交約束與對(duì)抗訓(xùn)練在分離中的作用為了保證共享特征和獨(dú)有特征真正“各司其職”論文往往會(huì)引入正交約束。簡(jiǎn)單說(shuō)就是要求共享特征向量和獨(dú)有特征向量在統(tǒng)計(jì)上不相關(guān)。實(shí)現(xiàn)方式可以是計(jì)算兩者的內(nèi)積并最小化或者用對(duì)抗訓(xùn)練讓一個(gè)判別器無(wú)法從共享特征預(yù)測(cè)出獨(dú)有特征的信息。正交約束的好處是它不硬性指定哪些維度是共享的而是讓模型自己去找一個(gè)自然的分解。這比人工設(shè)計(jì)特征劃分規(guī)則要靈活得多。實(shí)際訓(xùn)練中正交約束的權(quán)重需要仔細(xì)調(diào)太小了分離不徹底太大了可能損害特征的表達(dá)能力。論文里通常會(huì)給出一個(gè)經(jīng)驗(yàn)范圍比如 0.01 到 0.1 之間具體要看數(shù)據(jù)集和骨干網(wǎng)絡(luò)。4.3 一個(gè)容易忽略的細(xì)節(jié)獨(dú)有特征的模態(tài)內(nèi)對(duì)齊很多人關(guān)注跨模態(tài)對(duì)齊卻忽略了獨(dú)有特征在模態(tài)內(nèi)部也需要對(duì)齊。比如同一件衣服在不同光照下的可見(jiàn)光圖像顏色表現(xiàn)會(huì)有差異同一個(gè)人的紅外圖像在不同環(huán)境溫度下熱輻射分布也會(huì)變化。如果獨(dú)有特征對(duì)這些模態(tài)內(nèi)變化過(guò)于敏感模態(tài)內(nèi)檢索也會(huì)不穩(wěn)定。因此論文通常會(huì)在獨(dú)有特征上也施加模態(tài)內(nèi)的身份一致性約束確保同一身份在同一模態(tài)下的獨(dú)有特征足夠緊湊。這個(gè)細(xì)節(jié)在復(fù)現(xiàn)時(shí)很容易被漏掉但去掉之后性能往往會(huì)有明顯下降。我在自己搭實(shí)驗(yàn)的時(shí)候一開(kāi)始只關(guān)注跨模態(tài)損失結(jié)果模態(tài)內(nèi)檢索指標(biāo)一直上不去后來(lái)補(bǔ)上獨(dú)有特征的模態(tài)內(nèi)約束情況才好轉(zhuǎn)。5. 訓(xùn)練策略與損失函數(shù)組合的實(shí)操要點(diǎn)5.1 損失函數(shù)的三大組成部分這篇論文的訓(xùn)練目標(biāo)通常由三塊組成跨模態(tài)共享特征對(duì)齊損失、模態(tài)內(nèi)獨(dú)有特征判別損失、以及分離約束損失??缒B(tài)對(duì)齊損失常用的是帶難樣本挖掘的三元組損失或者 ID 損失配合中心損失。模態(tài)內(nèi)判別損失可以是標(biāo)準(zhǔn)的分類(lèi)交叉熵也可以是模態(tài)內(nèi)的三元組損失。分離約束損失則包括正交損失或?qū)箵p失。這三塊損失的權(quán)重不是隨便設(shè)的??缒B(tài)對(duì)齊損失權(quán)重太小共享特征學(xué)不好太大可能壓制獨(dú)有特征的學(xué)習(xí)。分離約束太強(qiáng)特征空間可能被割裂得太碎影響整體判別力。論文里一般會(huì)給出一個(gè)基準(zhǔn)配置但實(shí)際遷移到新數(shù)據(jù)集時(shí)需要根據(jù)模態(tài)差異程度做調(diào)整。如果兩個(gè)模態(tài)差異特別大比如可見(jiàn)光和遠(yuǎn)紅外分離約束可以適當(dāng)加強(qiáng)如果差異較小比如可見(jiàn)光和近紅外可以適當(dāng)減弱。5.2 采樣策略對(duì)跨模態(tài)三元組的影響跨模態(tài)三元組損失的采樣比單模態(tài)復(fù)雜得多。一個(gè)標(biāo)準(zhǔn)的跨模態(tài)三元組通常包含一個(gè)可見(jiàn)光錨點(diǎn)、一個(gè)同身份的紅外正樣本、一個(gè)不同身份的紅外負(fù)樣本或者反過(guò)來(lái)。采樣時(shí)要注意正樣本對(duì)必須跨模態(tài)負(fù)樣本對(duì)可以跨模態(tài)也可以同模態(tài)但跨模態(tài)負(fù)樣本通常更難對(duì)訓(xùn)練更有價(jià)值。實(shí)際訓(xùn)練中如果 batch 里每個(gè)身份只有一張可見(jiàn)光和一張紅外那正樣本對(duì)很容易構(gòu)造但負(fù)樣本的多樣性可能不夠。常見(jiàn)做法是每個(gè) batch 采樣 P 個(gè)身份每個(gè)身份采樣 K 張可見(jiàn)光和 K 張紅外這樣正負(fù)樣本對(duì)的數(shù)量都比較充足。P 和 K 的取值需要根據(jù)顯存和數(shù)據(jù)集大小權(quán)衡一般 P8 或 16K4 或 8。注意跨模態(tài)三元組采樣時(shí)一定要確保正樣本對(duì)是真正跨模態(tài)的。如果正樣本對(duì)里混入了同模態(tài)樣本訓(xùn)練信號(hào)會(huì)變?nèi)跄P涂赡軐W(xué)不到跨模態(tài)對(duì)齊。5.3 訓(xùn)練過(guò)程中的常見(jiàn)不穩(wěn)定現(xiàn)象與應(yīng)對(duì)跨模態(tài)訓(xùn)練比單模態(tài)更容易出現(xiàn)不穩(wěn)定。常見(jiàn)現(xiàn)象包括損失突然飆升、共享特征和獨(dú)有特征的范數(shù)差異過(guò)大、某個(gè)模態(tài)的梯度主導(dǎo)另一個(gè)模態(tài)。應(yīng)對(duì)方法有幾個(gè)一是使用梯度裁剪防止個(gè)別難樣本產(chǎn)生過(guò)大梯度二是對(duì)兩個(gè)模態(tài)的損失分別做歸一化避免某個(gè)模態(tài)因?yàn)闃颖倦y度不同而主導(dǎo)訓(xùn)練三是采用 warm-up 策略先讓模型在單模態(tài)內(nèi)學(xué)一段時(shí)間再引入跨模態(tài)對(duì)齊損失。我在復(fù)現(xiàn)類(lèi)似方法時(shí)發(fā)現(xiàn) warm-up 特別重要。如果一上來(lái)就加跨模態(tài)損失模型還沒(méi)學(xué)會(huì)提取基本特征跨模態(tài)對(duì)齊會(huì)引入大量噪聲導(dǎo)致訓(xùn)練早期就發(fā)散。通常先做 10 到 20 個(gè) epoch 的模態(tài)內(nèi)預(yù)訓(xùn)練再逐步加入跨模態(tài)損失效果會(huì)穩(wěn)很多。6. 實(shí)驗(yàn)設(shè)計(jì)與性能驗(yàn)證中的關(guān)鍵觀察6.1 數(shù)據(jù)集與評(píng)價(jià)指標(biāo)的基本設(shè)定跨模態(tài) ReID 常用的數(shù)據(jù)集是 SYSU-MM01 和 RegDB。SYSU-MM01 包含多個(gè)攝像頭其中可見(jiàn)光和紅外都有場(chǎng)景比較復(fù)雜RegDB 規(guī)模小一些但模態(tài)對(duì)齊更干凈。評(píng)價(jià)指標(biāo)主要是 mAP 和 Rank-1 準(zhǔn)確率分模態(tài)內(nèi)檢索和跨模態(tài)檢索兩種設(shè)置??凑撐膶?shí)驗(yàn)結(jié)果時(shí)不要只看跨模態(tài)指標(biāo)也要看模態(tài)內(nèi)指標(biāo)。如果跨模態(tài)指標(biāo)很高但模態(tài)內(nèi)指標(biāo)下降明顯說(shuō)明模型可能過(guò)度犧牲了模態(tài)內(nèi)判別力來(lái)?yè)Q取跨模態(tài)對(duì)齊這種 trade-off 在實(shí)際部署中未必劃算。6.2 消融實(shí)驗(yàn)揭示的模塊貢獻(xiàn)論文的消融實(shí)驗(yàn)通常會(huì)驗(yàn)證幾個(gè)關(guān)鍵設(shè)計(jì)去掉共享-獨(dú)有分離、去掉正交約束、去掉獨(dú)有特征損失、去掉跨模態(tài)遷移。從常見(jiàn)結(jié)果來(lái)看共享-獨(dú)有分離帶來(lái)的提升最大說(shuō)明顯式解耦確實(shí)是核心貢獻(xiàn)。正交約束的貢獻(xiàn)次之它保證了分離的徹底性。獨(dú)有特征損失的貢獻(xiàn)相對(duì)小一些但在模態(tài)內(nèi)檢索指標(biāo)上影響明顯。還有一個(gè)值得注意的現(xiàn)象如果只做跨模態(tài)對(duì)齊而不做分離模型在訓(xùn)練集上可能表現(xiàn)不錯(cuò)但在測(cè)試集上泛化較差。這說(shuō)明分離機(jī)制不僅提升了性能上限還改善了泛化能力。原因可能是分離后的共享特征更少依賴(lài)數(shù)據(jù)集特有的模態(tài)偏差遷移到新場(chǎng)景時(shí)更穩(wěn)定。6.3 可視化分析特征分布到底變了什么論文里通常會(huì)用 t-SNE 可視化共享特征和獨(dú)有特征的分布。從常見(jiàn)圖來(lái)看共享特征在分離后同一身份的不同模態(tài)樣本會(huì)聚得更緊不同身份之間的邊界更清晰。獨(dú)有特征則呈現(xiàn)模態(tài)內(nèi)聚類(lèi)、模態(tài)間分離的格局說(shuō)明它確實(shí)保留了模態(tài)特有信息。如果你自己復(fù)現(xiàn)建議也做一下可視化。有時(shí)候指標(biāo)提升不明顯但特征分布已經(jīng)發(fā)生了有意義的變化這對(duì)理解模型行為很有幫助。另外可以計(jì)算共享特征和獨(dú)有特征之間的互信息定量驗(yàn)證分離效果?;バ畔⒃降驼f(shuō)明分離越徹底。7. 復(fù)現(xiàn)這類(lèi)方法時(shí)最容易踩的坑7.1 骨干網(wǎng)絡(luò)修改不當(dāng)導(dǎo)致紅外分支失效紅外圖像是單通道的但大多數(shù)預(yù)訓(xùn)練骨干網(wǎng)絡(luò)是在 ImageNet 三通道圖像上訓(xùn)練的。直接把第一層卷積改成單通道輸入會(huì)丟失預(yù)訓(xùn)練權(quán)重中的大部分信息。常見(jiàn)做法是保留三通道卷積把紅外圖像復(fù)制成三通道或者用加權(quán)求和把單通道映射到三通道。前者簡(jiǎn)單但冗余后者更合理但需要額外參數(shù)。論文里通常采用復(fù)制通道的方式因?yàn)閷?shí)現(xiàn)簡(jiǎn)單且效果穩(wěn)定。但要注意復(fù)制通道后紅外分支的第一層卷積實(shí)際上在處理三個(gè)相同的通道這會(huì)導(dǎo)致梯度也是三倍疊加。如果不做縮放紅外分支的初始梯度可能比可見(jiàn)光分支大訓(xùn)練時(shí)容易失衡。一個(gè)實(shí)用技巧是在紅外分支第一層后加一個(gè)縮放因子或者用較小的學(xué)習(xí)率。7.2 共享特征和獨(dú)有特征的維度分配共享特征和獨(dú)有特征各占多少維度論文里通常是對(duì)半開(kāi)比如總特征 2048 維共享 1024 維獨(dú)有 1024 維。但這個(gè)比例不是固定的。如果模態(tài)差異特別大共享特征可以少一些獨(dú)有特征多一些如果模態(tài)差異小共享特征可以多一些。實(shí)際調(diào)參時(shí)可以嘗試 3:1、1:1、1:3 幾個(gè)比例看哪個(gè)在驗(yàn)證集上最好。另外共享特征和獨(dú)有特征的維度不宜太小否則表達(dá)能力不足也不宜太大否則分離約束難以生效。1024 維左右是一個(gè)比較穩(wěn)妥的起點(diǎn)。7.3 跨模態(tài)損失的難樣本挖掘陷阱跨模態(tài)三元組損失通常需要難樣本挖掘。但在跨模態(tài)設(shè)置下難樣本的定義需要小心。如果只按特征距離選最難負(fù)樣本可能會(huì)選到那些因?yàn)槟B(tài)差異大而距離遠(yuǎn)的樣本而不是因?yàn)樯矸莶煌嚯x遠(yuǎn)的樣本。這會(huì)導(dǎo)致模型把精力花在彌合模態(tài)差異上而不是區(qū)分身份。一個(gè)改進(jìn)做法是在選負(fù)樣本時(shí)同時(shí)考慮身份標(biāo)簽和模態(tài)標(biāo)簽優(yōu)先選同模態(tài)但不同身份的難樣本或者跨模態(tài)但身份不同的中等難度樣本。這樣訓(xùn)練信號(hào)更聚焦于身份判別而不是模態(tài)對(duì)齊。論文里可能沒(méi)有詳細(xì)展開(kāi)這一點(diǎn)但實(shí)際復(fù)現(xiàn)時(shí)這個(gè)細(xì)節(jié)對(duì)性能影響不小。8. 從這篇論文延伸出的幾個(gè)思考方向跨模態(tài) ReID 的共享-獨(dú)有特征分離思路其實(shí)可以遷移到很多其他多模態(tài)任務(wù)上。比如多模態(tài)情感分析文本和語(yǔ)音之間也有共享信息語(yǔ)義內(nèi)容和獨(dú)有信息語(yǔ)調(diào)、表情分離后再對(duì)齊可能比直接拼接更有效。再比如跨模態(tài)檢索里的圖像-文本匹配共享的是語(yǔ)義概念獨(dú)有的是各自模態(tài)的表達(dá)方式分離機(jī)制同樣適用。另一個(gè)值得思考的點(diǎn)是共享和獨(dú)有的邊界是不是固定的在這篇論文里分離是通過(guò)損失約束動(dòng)態(tài)學(xué)出來(lái)的但邊界可能隨數(shù)據(jù)分布變化。如果測(cè)試時(shí)遇到訓(xùn)練時(shí)沒(méi)見(jiàn)過(guò)的模態(tài)組合共享特征是否還能保持穩(wěn)定這個(gè)問(wèn)題目前還沒(méi)有很好的答案也是后續(xù)研究可以切入的方向。我在實(shí)際做項(xiàng)目時(shí)遇到過(guò)一個(gè)類(lèi)似情況訓(xùn)練時(shí)只有可見(jiàn)光和近紅外部署時(shí)突然要接入中紅外設(shè)備。共享特征雖然有一定泛化能力但性能還是下降了不少。后來(lái)通過(guò)在線微調(diào)用少量中紅外樣本更新共享特征投影層才恢復(fù)到可用水平。這說(shuō)明共享-獨(dú)有分離提供了好的基礎(chǔ)但面對(duì)新模態(tài)時(shí)仍然需要一定的適應(yīng)機(jī)制。最后分享一個(gè)讀論文的小技巧看這類(lèi)方法論文時(shí)不要只盯著最終指標(biāo)要重點(diǎn)看消融實(shí)驗(yàn)和可視化分析。指標(biāo)提升可能來(lái)自多個(gè)模塊的疊加但消融實(shí)驗(yàn)?zāi)芨嬖V你哪個(gè)模塊真正關(guān)鍵??梢暬瘎t能幫你判斷模型學(xué)到的特征是否符合直覺(jué)。如果可視化結(jié)果和你的預(yù)期不符那往往意味著你對(duì)方法的理解還有偏差值得回頭再讀一遍方法部分。