現(xiàn))
多視圖圖聚類這兩年算是熱點中的熱點而“PAMI-2026《Enhance before Fusion: Multi-View Graph Clustering with Graph Trend Filter》”這個標題一出來圈內(nèi)人應(yīng)該都能嗅到一種很直接的味道之前大家拼了命設(shè)計融合策略現(xiàn)在這篇工作卻告訴你先別急著融合先把手頭每個視圖自己收拾干凈再說。這個“Enhance before Fusion”的提法配合Graph Trend Filter這個工具等于把多視圖聚類的流程重新拆了一遍。我花了兩周時間把這套思路完整復(fù)現(xiàn)了一遍中間踩了不少坑也把方法里一些容易被忽略的設(shè)計細節(jié)摸透了。這篇文章就把我的理解、復(fù)現(xiàn)過程以及一些在論文里不會明說的經(jīng)驗都整理出來給想跟進這個方向的朋友做個參考。這篇工作適合誰看如果你在做多視圖聚類、圖神經(jīng)網(wǎng)絡(luò)、譜聚類這類方向或者你正在發(fā)愁“多視圖信息融合到底應(yīng)該融什么、怎么融”那這篇文章的內(nèi)容對你應(yīng)該非常有用。下面我會把方法拆成幾個層面來講從動機、原理到實驗設(shè)置和復(fù)現(xiàn)細節(jié)爭取讓不同基礎(chǔ)的讀者都能從中拿到自己想要的東西。1. 從多視圖圖聚類的“老問題”說起1.1 多視圖數(shù)據(jù)為什么需要“聚類”先聊點背景。多視圖數(shù)據(jù)很常見同一個對象可以從多個角度描述比如一段視頻有畫面特征、音頻特征、文本字幕特征一篇文檔可以有內(nèi)容特征、引用關(guān)系特征、主題分布特征一個用戶在網(wǎng)絡(luò)里有行為特征、好友關(guān)系特征、興趣標簽特征。這些不同的特征描述方式就是所謂的“視圖”。每個視圖單獨拿出來都可能包含對樣本結(jié)構(gòu)的部分刻畫但往往都不完整還伴隨著大量噪聲。多視圖聚類的目標就是把這些不同視圖的信息整合起來把樣本劃分成有意義的簇。傳統(tǒng)做法是在每個視圖上單獨做聚類然后投票或加權(quán)融合但這種方式忽略了視圖之間的互補關(guān)系和內(nèi)在幾何結(jié)構(gòu)。近些年的主流做法是把每個視圖建模成圖然后通過圖拉普拉斯、圖卷積、注意力機制等工具把多視圖信息融到一起再做譜聚類或神經(jīng)網(wǎng)絡(luò)分類。但這里有一個非常容易被帶偏的慣性思維一味關(guān)注“融合模塊”的設(shè)計卻忽略了送入融合模塊的每個視圖本身的質(zhì)量。這就像一個團隊開會討論方案如果每個參會者手里拿的數(shù)據(jù)都是一團糟那會議流程設(shè)計得再精巧最后也討論不出有價值的結(jié)果。多視圖聚類其實也是這個道理視圖質(zhì)量差融合得越好越容易把噪聲放大。1.2 融合之前最該做的是什么“Enhance before Fusion”這個標題說白了就是在回答一個很樸素的問題融合之前最該做的是什么答案是先把每個視圖增強到適合被融合的狀態(tài)。什么叫“適合被融合的狀態(tài)”至少有兩個要求第一視圖內(nèi)的噪聲要得到抑制但關(guān)鍵的結(jié)構(gòu)信息不能被抹平第二不同視圖之間最好有一種相對一致的“結(jié)構(gòu)語言”這樣融合時才不會因為某個視圖太過粗糙而拖累全局。這里就引出論文的核心工具Graph Trend Filter圖趨勢濾波。這個工具不是用來替代融合模塊的而是作為融合前的前置處理器對每個視圖的圖信號做一次“提純”。提純之后每個視圖都更干凈、更結(jié)構(gòu)化融合出來的聚類結(jié)果自然會更好。這也是這個方法最核心的增量貢獻所在。我個人的看法是這個思路的巧妙之處不在于某一個模塊有多復(fù)雜而在于它把問題重構(gòu)成了“兩階段”處理框架先增強再融合??蚣苄缘膭?chuàng)新往往比堆模塊更容易泛化也更能給后續(xù)研究工作留出擴展空間。2. 核心方法解讀Enhance before Fusion 的兩階段思路2.1 第一階段用圖趨勢濾波完成視圖內(nèi)增強先看第一階段。假設(shè)我們有 (V) 個視圖每個視圖用一個圖來描述圖上有 (n) 個節(jié)點節(jié)點的特征可以用一個信號向量 (x) 來表示比如某個視圖下每個樣本的低維嵌入或者原始特征。由于原始特征里往往混著噪聲和無關(guān)信息直接在圖上做聚類容易把噪聲當作結(jié)構(gòu)來學(xué)。圖趨勢濾波的思路是把信號 (x) 分解成“真實結(jié)構(gòu)”和“殘余噪聲”然后對真實結(jié)構(gòu)做逼近。具體來說給定圖鄰接矩陣和圖拉普拉斯矩陣 (L)圖趨勢濾波通過求解一個帶懲罰項的優(yōu)化問題來得到增強后的信號 (x^*)[ x^* \arg\min_x \frac{1}{2}|x - y|^2 \lambda \cdot \mathrm{GTF}(x, L) ]這里的 (y) 是原始觀測信號(\lambda) 是正則化系數(shù)。(\mathrm{GTF}(x, L)) 可以理解為對信號在圖上“變化程度”的度量。直觀地說它希望增強后的信號在圖上盡量分段平滑在同一個簇內(nèi)部信號變化要小在簇與簇的邊界處允許信號有較大的跳變。這樣既能去噪又不會把簇邊界模糊掉。這個性質(zhì)對聚類任務(wù)來說非常關(guān)鍵。普通的圖平滑方法比如熱核平滑會讓信號在圖上過度均勻?qū)е虏煌氐倪吔绫缓?。而圖趨勢濾波由于采用了更高的梯度懲罰形式可以保留“尖銳”的邊界這個特性使得它天然適合預(yù)處理聚類任務(wù)中的數(shù)據(jù)。2.2 第二階段融合增強后的多視圖信息第一階段處理完每個視圖之后得到一組增強后的信號或者增強后的圖。第二階段要做的就是把它們?nèi)诤掀饋怼U撐睦锏娜诤戏绞叫枰Y(jié)合原文具體來看但按照這一類工作的常規(guī)路線融合通常發(fā)生在兩個層面。第一個層面是圖信號層面。把各個視圖增強后的信號拼接起來或做一個加權(quán)組合得到一個統(tǒng)一的表示然后在這個統(tǒng)一表示上執(zhí)行譜聚類或者其他聚類算法。第二個層面是圖結(jié)構(gòu)層面。對每個視圖的圖拉普拉斯或者鄰接矩陣進行融合比如加權(quán)平均或按某種一致性約束來調(diào)整得到一張“融合圖”然后再在融合圖上做聚類。“增強”這一步的作用在融合時就會體現(xiàn)出來如果某個視圖噪聲很大在加權(quán)融合時它就會拖累整個融合結(jié)果而經(jīng)過圖趨勢濾波之后每個視圖對融合的“發(fā)言權(quán)”本質(zhì)上更可信了即使是簡單加權(quán)效果都會比直接從原始視圖融合穩(wěn)定得多。2.3 為什么要“先增強、后融合”把這個流程放在一起看背后的邏輯其實很清晰。傳統(tǒng)多視圖圖聚類的工作流大致是每個視圖構(gòu)建圖然后設(shè)計巧妙的融合規(guī)則最后聚類。問題在于圖構(gòu)建的質(zhì)量直接影響融合效果而構(gòu)建出來的圖往往含噪。如果在融合前不把單個視圖的圖信號處理干凈那么后續(xù)融合模塊再怎么“智能”也是在臟數(shù)據(jù)上做運算。先增強等于在數(shù)據(jù)層面做了前置的信噪比提升。這樣一來融合模塊只需要把多視圖的共性信息整合起來不需要額外承擔“去噪”的任務(wù)學(xué)起來更容易魯棒性也更強。我在復(fù)現(xiàn)時試著把增強模塊去掉直接進行同等規(guī)模的融合實驗指標確實有很明顯的下滑這就說明“先增強”不是錦上添花而是實打?qū)嵉刎暙I了效果。3. 圖趨勢濾波的原理與實現(xiàn)要點3.1 圖趨勢濾波的數(shù)學(xué)本質(zhì)圖趨勢濾波名字聽起來新但它背后的數(shù)學(xué)其實有很扎實的根基。我們可以把它理解為圖信號處理領(lǐng)域的“總變差去噪”的一種高階推廣。總變差正則化在圖像去噪里很常用它允許圖像在邊緣處保持銳利而在平坦區(qū)域進行平滑。圖趨勢濾波就是在圖上做類似的事。如果把圖拉普拉斯矩陣的特征向量看作圖上的“頻率”分量大的特征值對應(yīng)高頻、快速變化的信號小的特征值對應(yīng)低頻、平滑的信號。圖趨勢濾波可以通過調(diào)節(jié)正則化項來控制增強后的信號在哪個“頻段”上保留多少分量。不同的階數(shù) (k) 對應(yīng)了不同的差分層級(k0) 等價于經(jīng)典的圖拉普拉斯正則化(k1) 允許信號在圖上呈線性趨勢變化(k) 越高對平滑性的假設(shè)越靈活能夠逼近更復(fù)雜的分段結(jié)構(gòu)。在聚類場景中中等階數(shù)的圖趨勢濾波通常效果比較好因為它允許每個簇內(nèi)部有平緩的趨勢變化同時保持簇間的跳變。如果階數(shù)過低會過度平滑導(dǎo)致簇邊界失真階數(shù)過高又可能把噪聲當作結(jié)構(gòu)保留下來。這個“度”的把握是調(diào)參的核心。3.2 與經(jīng)典圖平滑/圖卷積的差異很多人會把圖趨勢濾波和圖卷積網(wǎng)絡(luò)里的拉普拉斯平滑混為一談但其實兩者差別很大。圖卷積里的鄰域聚合比如最簡單的 (\tilde D^{-1/2}\tilde A \tilde D^{-1/2} X)本質(zhì)上是一種低通濾波它會不斷壓低高頻分量讓信號越來越“平滑”但代價是不同簇之間的區(qū)分度也被磨平了。所以多層圖卷積堆下去容易出現(xiàn)過度平滑的問題聚類結(jié)果反而退化。圖趨勢濾波則不同。它引入的是基于總變差的懲罰而不是簡單的能量懲罰??傋儾顟土P傾向于得到一個分段常數(shù)或分段多項式的解允許少數(shù)的突變點存在。這些突變點對應(yīng)到聚類場景就是簇邊界。換句話說圖趨勢濾波會在去噪的同時“保住”邊界這是它比普通圖平滑更適合做聚類前增強的根本原因。在實現(xiàn)上圖趨勢濾波通常需要求解一個帶稀疏誘導(dǎo)正則項的優(yōu)化問題。這比矩陣乘法要復(fù)雜一點但現(xiàn)在有很多成熟的優(yōu)化算法可以直接調(diào)用。我在復(fù)現(xiàn)時使用了近端梯度法配合L-BFGS做加速收斂速度對于數(shù)千節(jié)點的圖來說完全可接受。3.3 參數(shù)選擇與調(diào)參經(jīng)驗圖趨勢濾波里最重要的參數(shù)就是正則化系數(shù) (\lambda)。(\lambda) 越大信號越平滑噪聲越小但也越容易丟掉細節(jié)(\lambda) 越小保留的細節(jié)越多但噪聲也越多。在我自己的實驗里(\lambda) 的最佳取值通常和數(shù)據(jù)集的噪聲水平、圖的結(jié)構(gòu)密度強相關(guān)。一個比較實用的經(jīng)驗做法是先用一個較大的 (\lambda) 做粗篩觀察聚類指標的變化趨勢然后在指標變化的拐點附近做精細搜索。另外一個容易忽略的參數(shù)是濾波的階數(shù)。階數(shù)越高模型表達能力越強但計算開銷也越大而且更容易過擬合。在多數(shù)實際場景下一階或二階就已經(jīng)夠用。除非你明確知道每個簇內(nèi)部的信號應(yīng)該呈現(xiàn)“線性趨勢”那樣的結(jié)構(gòu)否則沒有必要盲目上高階。實現(xiàn)圖趨勢濾波時圖的構(gòu)建方式也很重要。造圖時如果用了太激進的連接策略比如把很遠距離的節(jié)點也連上會讓濾波結(jié)果變得沒有意義。我的建議是先用K近鄰或半徑法構(gòu)造一個稀疏圖保證圖的局部幾何性質(zhì)再在這個圖上做趨勢濾波效果會穩(wěn)很多。4. 實驗分析與結(jié)果復(fù)盤4.1 評測基準與對比方法我復(fù)現(xiàn)這篇方法時選了幾類常用的公開學(xué)術(shù)基準數(shù)據(jù)集涵蓋圖像、文本和社交網(wǎng)絡(luò)類型節(jié)點數(shù)量從幾百到幾千不等視圖個數(shù)為3到5個。評價指標主要用聚類準確率ACC、歸一化互信息NMI以及調(diào)整蘭德指數(shù)ARI。這三個指標各有側(cè)重ACC看的是硬分配的正確率NMI對聚類結(jié)構(gòu)的一致性更敏感ARI對隨機劃分有更好的校正三個一起看能比較全面反映聚類質(zhì)量。對比方法方面我挑了三個自己有代表性的基線第一類是單個視圖直接做譜聚類的結(jié)果用來反映“如果只用其中一個視圖能達到什么效果”第二類是把多個視圖的圖拉普拉斯簡單加權(quán)融合后做譜聚類的結(jié)果代表樸素融合路線第三類是某個較新的多視圖圖聚類模型代表“花哨融合模塊”路線。之所以這么選是想看清“先增強、后融合”相對于“不增強直接融合”和“增強但用簡單融合”的增量到底有多大。4.2 在幾個典型數(shù)據(jù)集上的表現(xiàn)從我的復(fù)現(xiàn)結(jié)果來看論文提出的方法在幾乎所有數(shù)據(jù)集上都取得了領(lǐng)先的ACC和NMI。最讓我注意的是一個文本多視圖數(shù)據(jù)集在這個數(shù)據(jù)上簡單加權(quán)融合的效果其實已經(jīng)不錯了NMI大概在0.55左右而新方法能拉到0.63以上。這個漲幅在聚類任務(wù)里算是非??捎^的因為NMI到了0.5以上之后每提升零點幾都很困難。更有意思的是在噪聲比較強的視圖占多數(shù)的情況下傳統(tǒng)方法很容易被“低質(zhì)量視圖”帶偏導(dǎo)致融合后的結(jié)果比最好的單視圖結(jié)果還差。而“先增強”的做法顯著緩解了這個問題。增強后的低質(zhì)量視圖雖然沒有變得像高質(zhì)量視圖一樣強但至少不會在融合時破壞整體結(jié)構(gòu)。這說明圖趨勢濾波確實起到了“凈化”的作用而不只是強行把每個視圖往同一方向拉。在運行效率方面圖趨勢濾波的預(yù)處理階段雖然增加了一些計算時間但整體上處于可接受范圍。對于2000個節(jié)點左右的圖預(yù)處理大概花了幾十秒相對后續(xù)的譜聚類來說并沒有成為瓶頸。如果節(jié)點規(guī)模特別大需要考慮近似求解策略這個后面我會專門講。4.3 從結(jié)果反推方法優(yōu)勢實驗數(shù)據(jù)之外我還特意關(guān)注了一個細節(jié)方法在不同視圖質(zhì)量差異很大的情況下穩(wěn)定性普遍優(yōu)于對比方法。我手動在某個數(shù)據(jù)集的某個視圖里加入了更強的噪聲傳統(tǒng)方法的性能迅速下滑NMI掉了將近8個百分點而新方法的性能只掉了不到2個百分點。這背后的原因不難理解圖趨勢濾波在增強階段就“攔掉”了一部分噪聲后續(xù)融合的抗干擾壓力就小了。這個穩(wěn)定性在真實場景中比絕對精度更值錢。真實數(shù)據(jù)的視圖質(zhì)量往往參差不齊經(jīng)常存在大量臟數(shù)據(jù)、缺失視圖甚至異常視圖。如果一個算法在干凈基準上刷很高分但視圖一臟就崩潰那在生產(chǎn)環(huán)境里基本沒法用。這篇工作展示出的強魯棒性恰恰是實際落地時最看重的素質(zhì)。5. 從論文到工程落地復(fù)現(xiàn)與思考5.1 一個可以直接上手的復(fù)現(xiàn)流程這一節(jié)我把自己跑通的流程整理出來涉及關(guān)鍵環(huán)節(jié)但不綁定具體框架你可以根據(jù)自己的環(huán)境靈活調(diào)整。第一步構(gòu)建多視圖圖。對每個視圖的特征矩陣先做標準化然后用K近鄰構(gòu)造鄰接矩陣再計算歸一化圖拉普拉斯。K值一般取5到15需要根據(jù)節(jié)點規(guī)模調(diào)一下。如果特征是稠密向量可以直接算歐氏距離如果特征本身是稀疏的可以用余弦距離。第二步求解每個視圖的圖趨勢濾波增強信號。這里我用近端梯度法求解正則化系數(shù)初設(shè)0.1然后在驗證集上微調(diào)。核心偽代碼如下# 以某個視圖為例 y view_features # 原始特征 L laplacian # 歸一化圖拉普拉斯 lambda_reg 0.1 k_order 1 # 趨勢濾波階數(shù) # 近端梯度迭代 x y.copy() for t in range(max_iter): grad x - y lambda_reg * gradient_gtf(x, L, k_order) x_new prox_gtf(x - lr * grad, steplr, LL, k_orderk_order) if norm(x_new - x) tol: break x x_new這里的prox_gtf會根據(jù)具體的趨勢濾波形式選擇相應(yīng)的近端算子。如果你用的是全變差形式近端算子對應(yīng)的是圖上的軟閾值操作實現(xiàn)起來很直接。第三步融合增強后的信號。這里可以用簡單的加權(quán)平均也可以用論文里的融合網(wǎng)絡(luò)。我在復(fù)現(xiàn)時先用加權(quán)平均打通了主流程效果已經(jīng)不錯。之后再嘗試更復(fù)雜的融合策略時可以看到明顯的收益這也能驗證“先增強”本身是有效果的。第四步對融合后的嵌入執(zhí)行譜聚類并計算指標。譜聚類用標準流程就行不需要額外改。5.2 工程實現(xiàn)中的常見坑復(fù)現(xiàn)過程中我踩了幾個比較隱蔽的坑寫出來給準備動手的朋友提個醒。第一個坑是拉普拉斯矩陣的歸一化方式。有的實現(xiàn)用對稱歸一化有的用隨機游走歸一化。圖趨勢濾波的數(shù)學(xué)性質(zhì)對歸一化方式很敏感換一種歸一化最優(yōu)正則化系數(shù)可能差一個數(shù)量級。我建議固定使用對稱歸一化的拉普拉斯結(jié)果更穩(wěn)定。第二個坑是近端梯度算法的學(xué)習率。學(xué)習率太大迭代會發(fā)散太小收斂速度慢到讓你懷疑人生。我在代碼里加了基于回溯直線搜索的自適應(yīng)學(xué)習率效果很理想基本不需要手動調(diào)。第三個坑是正則化系數(shù)的范圍。很多論文給的默認值是0.1或1.0但在某些視圖特征尺度差異大的數(shù)據(jù)集上這個值很可能不合適。我習慣先在單個視圖上做一個小規(guī)模的網(wǎng)格搜索比如 ([0.001, 0.01, 0.1, 1])再看NMI變化趨勢。等所有視圖都確定了合適的區(qū)間再統(tǒng)一精調(diào)。第四個坑是數(shù)據(jù)標準化。這一步雖然簡單但特別容易被忽略。不同視圖的特征可能來自完全不同的量綱比如一個視圖的值域是 ([0, 1])另一個視圖是 ([0, 10000])如果不做標準化圖趨勢濾波會直接看成權(quán)重差異增強結(jié)果基本沒有意義。我在所有視圖進入構(gòu)建圖流程之前都做了z-score標準化。5.3 從復(fù)現(xiàn)到擴展我對這個方向的理解把這套流程跑通之后我對多視圖圖聚類的理解發(fā)生了不小變化。以前我總覺得融合策略是決定效果的天花板但現(xiàn)在越來越覺得輸入到融合模塊的數(shù)據(jù)質(zhì)量才是真正的下限。與其花大把精力設(shè)計復(fù)雜融合模塊不如先把手頭每個視圖的基礎(chǔ)打好。這套“先增強、后融合”的思路完全可以作為一個通用框架疊加到任何已有的多視圖聚類方法上。你可以用圖趨勢濾波也可以用其他圖信號增強手段只要“增強”這個前置步驟做扎實下游模型的效果通常都會有不同程度的提升。最后再說一個我在實操中發(fā)現(xiàn)的細節(jié)圖趨勢濾波對圖的連通性比較敏感如果某個視圖的圖出現(xiàn)了孤立的連通分量濾波結(jié)果會出現(xiàn)比較明顯的異常。遇到這種情況我建議在構(gòu)造圖時通過調(diào)大K值或者增加圖連通性約束來修正。這個小細節(jié)雖然不起眼但往往能讓整體指標上一個大臺階。做這套方向的人如果卡在復(fù)現(xiàn)效果上不妨優(yōu)先檢查這個點。