路由混合專家方法解析)
航拍圖像的目標檢測這幾年進步很快常規(guī)數(shù)據(jù)集上的指標已經(jīng)卷到很高的水平但真正把模型部署到實際場景里問題就來了。晴天、正午、能見度良好的條件下訓練出來的檢測器一旦遇到霧霾、雨雪、沙塵、低照度這些惡劣天氣精度往往斷崖式下跌。這個現(xiàn)象背后是典型的域偏移問題訓練域和測試域的數(shù)據(jù)分布不一致模型學到的特征在目標域上失效。ISPRS 2026 上提出的 TDRE 方法正是沖著這個痛點去的——它用動態(tài)路由混合專家配合任務導向增強試圖讓檢測器在惡劣天氣下依然保持魯棒。這篇文章我會把 TDRE 的核心思路、模塊設計、訓練策略和實操中容易踩的坑按我自己的理解完整拆一遍適合做遙感檢測、自動駕駛感知、無人機巡檢方向的同學參考。1. 惡劣天氣為什么會讓航拍檢測器集體失靈1.1 域偏移在航拍場景里的三種典型表現(xiàn)先說清楚域偏移到底長什么樣。航拍圖像的域偏移和普通自然圖像不太一樣它有三個很鮮明的特征。第一種是外觀域偏移。霧霾會在圖像上疊加一層散射光導致對比度下降、顏色偏移雨滴和雨線會在局部形成高頻噪聲雪地則帶來大面積高亮區(qū)域把目標的邊緣信息淹沒。這些變化直接改變了像素級分布而卷積網(wǎng)絡的前幾層恰恰對低級紋理和顏色極度敏感輸入分布一變后面所有層的激活值都跟著漂。第二種是尺度域偏移。惡劣天氣下無人機的飛行高度、拍攝角度往往會調(diào)整加上能見度降低導致有效觀測距離縮短同一類目標在不同天氣下的像素尺度差異可能達到兩三倍。檢測器如果依賴固定的感受野和錨框尺度就會在尺度分布偏移時漏檢或誤檢。第三種是語義域偏移這個最隱蔽。比如霧天里車輛和路面的對比度同時下降模型可能把車輛誤判成路面的一部分沙塵天氣下建筑和背景的色調(diào)趨同語義邊界變得模糊。這種偏移不是簡單的噪聲問題而是目標與背景的可分性本身被削弱了。我實測過一個在晴天數(shù)據(jù)上訓到 mAP 0.45 的檢測器直接拿到霧天測試集上跑mAP 掉到 0.21幾乎腰斬。更麻煩的是這種下降不是均勻的——小目標掉得最狠因為它們的特征本來就少再被天氣退化一疊加基本就沒了。1.2 傳統(tǒng)域適應方法為什么在航拍惡劣天氣下不夠用面對域偏移常規(guī)做法是域適應Domain Adaptation。主流路線有兩條一是對抗式對齊用判別器逼著特征提取器把源域和目標域的特征分布拉近二是風格遷移把源域圖像轉換成目標域風格再做訓練。這兩條路在航拍惡劣天氣場景下都有明顯短板。對抗對齊的問題在于它對齊的是全局特征分布但航拍圖像里目標只占很小一塊全局對齊很容易把目標特征和背景特征一起攪渾對齊完之后分類邊界反而更模糊了。風格遷移的問題在于惡劣天氣的退化是物理過程散射、衰減、遮擋單純用 CycleGAN 這類方法做風格轉換生成的圖像往往在物理上不合理模型學到的是偽影而不是真實的退化模式。還有一個更本質(zhì)的矛盾域適應通常假設目標域數(shù)據(jù)在訓練時是可見的無監(jiān)督域適應至少能拿到目標域的無標注圖像。但實際部署中你不可能提前收集所有天氣類型的數(shù)據(jù)。今天部署到北方城市遇到沙塵明天到南方遇到梅雨天氣組合是開放集合。這就要求方法必須具備在線泛化能力而不是離線對齊能力。TDRE 的設計動機就來自這里——它不追求把某個特定目標域?qū)R好而是讓模型本身具備應對多種未知退化的魯棒性。2. TDRE 的整體架構動態(tài)路由混合專家怎么落地2.1 從靜態(tài)集成到動態(tài)路由的核心思路轉變混合專家MoE不是新概念但傳統(tǒng) MoE 在檢測任務里的用法比較粗暴訓練多個專家網(wǎng)絡推理時按固定權重加權或者用一個門控網(wǎng)絡做軟加權。這種靜態(tài)或半靜態(tài)的融合方式有個致命問題——它不知道當前輸入到底退化成了什么樣。TDRE 的關鍵創(chuàng)新在于動態(tài)路由。它的邏輯是不同的天氣退化對應不同的特征處理需求霧天需要去散射和對比度恢復雨天需要抑制高頻噪聲低照度需要增強暗部細節(jié)。與其用一個統(tǒng)一的大網(wǎng)絡硬扛所有情況不如準備一組各有所長的專家讓路由器根據(jù)當前輸入的特征動態(tài)決定激活哪些專家、以什么權重組合。這個思路用生活化的類比很好理解靜態(tài) MoE 像是不管什么病都吃同一副復方藥動態(tài)路由則像是先診斷再開方根據(jù)癥狀組合不同的藥。診斷的準確性直接決定了療效所以路由器的設計是 TDRE 最核心的部分。2.2 專家網(wǎng)絡的異構設計而非同構堆疊很多 MoE 實現(xiàn)里所有專家網(wǎng)絡結構完全一樣只是初始化不同、訓練數(shù)據(jù)不同。TDRE 沒有走這條路它采用了異構專家設計每個專家針對一類退化模式做專門優(yōu)化。具體來說專家池里通常包含這幾類去散射專家感受野偏大前幾層用大核卷積或空洞卷積專門處理霧霾帶來的全局散射。高頻抑制專家包含可學習的低通濾波結構針對雨線、雪花的局部高頻干擾。暗部增強專家?guī)ǖ雷⒁饬C制對低照度圖像的暗通道做自適應增益。細節(jié)保持專家結構最輕主要負責在退化不嚴重時保留原始細節(jié)避免過度處理。異構設計的好處是每個專家的歸納偏置和它負責的退化類型匹配參數(shù)效率高。代價是專家之間不能共享權重參數(shù)量會上去。TDRE 通過控制專家數(shù)量和每個專家的通道數(shù)來平衡實測下來 4 到 6 個專家是比較合適的區(qū)間再多收益就遞減了。2.3 路由器如何感知天氣退化程度路由器是動態(tài)路由 MoE 的大腦它的輸入是特征提取器中間層的特征圖輸出是每個專家的激活權重。TDRE 的路由器設計有幾個細節(jié)值得說。第一它不是在單一尺度上做路由而是在多個層級分別路由。淺層特征反映紋理和顏色退化深層特征反映語義可分性退化兩層路由信號融合后才能準確判斷退化類型。我試過只在深層做路由結果對霧霾這種主要影響淺層對比度的退化判斷不準。第二路由器的訓練用了負載均衡損失。這是 MoE 的經(jīng)典問題如果不加約束路由器會傾向于總是激活某幾個專家其他專家得不到訓練退化成死專家。負載均衡損失強制每個專家在一個 batch 內(nèi)被激活的頻率接近均勻保證所有專家都能持續(xù)學習。第三路由權重是軟加權而非硬選擇。硬選擇top-1雖然計算省但梯度傳不回去路由器學不好。TDRE 用 softmax 輸出的軟權重所有專家都參與前向只是權重不同。推理時可以對權重低于閾值的專家做剪枝加速但訓練階段必須全激活。3. 任務導向增強讓增強模塊服務于檢測而非人眼3.1 通用圖像增強和檢測導向增強的本質(zhì)區(qū)別這是 TDRE 里我覺得最有價值的一個設計點。傳統(tǒng)做法是先做圖像增強去霧、去雨、提亮再把增強后的圖像送進檢測器。這個 pipeline 的問題在于增強算法的優(yōu)化目標是人眼視覺質(zhì)量而不是檢測精度。我舉個具體的例子。去霧算法通常追求恢復出清晰的、符合人眼審美的圖像它會傾向于把對比度拉得很高、顏色調(diào)得很飽和。但檢測器需要的不是好看的圖像而是目標與背景可分性最大化的特征。有時候適度的模糊反而有利于檢測因為它抑制了背景紋理的干擾而過度銳化會引入偽影讓檢測器把偽影當成目標。TDRE 的任務導向增強Task-Oriented Enhancement把增強模塊和檢測頭聯(lián)合訓練增強模塊的損失函數(shù)里包含檢測損失的反傳梯度。也就是說增強模塊不是獨立優(yōu)化的它的參數(shù)更新方向由檢測精度來指導。這樣學出來的增強策略可能在人眼看來并不完美但對檢測是最優(yōu)的。3.2 增強模塊與檢測頭的梯度協(xié)同機制聯(lián)合訓練說起來簡單做起來有個大坑梯度尺度不匹配。檢測損失的梯度量級通常比增強模塊的重建損失大一到兩個數(shù)量級如果直接相加增強模塊會被檢測損失主導學出來的增強效果可能完全不可視甚至破壞圖像結構。TDRE 的處理方式是梯度歸一化加自適應權重。具體做法是對檢測損失反傳到增強模塊的梯度做 L2 歸一化再乘以一個可學習的縮放系數(shù)。這個系數(shù)在訓練中自適應調(diào)整初期偏小讓增強模塊先學好基礎的重建能力后期逐漸增大讓檢測目標主導優(yōu)化。這個 warm-up 式的調(diào)度很關鍵我試過一上來就讓檢測損失主導結果增強模塊直接崩了輸出全是噪聲。另一個細節(jié)是增強模塊的梯度不是從最終檢測頭直接傳的而是從中間層特征傳的。因為最終檢測頭的梯度經(jīng)過多層非線性變換后已經(jīng)高度抽象直接傳回增強模塊會丟失空間信息。從中間層傳梯度能保留更精確的空間定位信號讓增強模塊知道哪些區(qū)域?qū)z測更重要。3.3 增強強度自適應避免過度處理引入偽影惡劣天氣的嚴重程度是變化的輕霧和濃霧需要的增強強度完全不同。如果增強強度固定輕霧圖像會被過度處理濃霧圖像又處理不足。TDRE 用一個輕量的退化程度估計網(wǎng)絡來預測增強強度系數(shù)。這個估計網(wǎng)絡的輸入是圖像的全局統(tǒng)計特征亮度直方圖、梯度分布、暗通道先驗值等輸出是一個 0 到 1 之間的強度系數(shù)。系數(shù)接近 0 表示退化輕微增強模塊基本不動作接近 1 表示退化嚴重增強模塊全力處理。這個系數(shù)同時也會影響路由器的路由權重兩者是耦合的——退化越嚴重越傾向于激活專門的去退化專家。實測下來這個自適應機制對混合天氣數(shù)據(jù)集同一次測試里包含多種天氣的提升特別明顯因為模型能針對每張圖單獨調(diào)整策略而不是用一套固定參數(shù)硬扛。4. 訓練策略與損失函數(shù)設計中的關鍵取舍4.1 多天氣數(shù)據(jù)集的構建與采樣策略TDRE 的訓練需要覆蓋多種天氣類型但現(xiàn)實中收集標注數(shù)據(jù)成本極高。實際可行的做法是合成加真實混合。合成數(shù)據(jù)用物理渲染引擎生成可以精確控制退化類型和強度標注自動獲得真實數(shù)據(jù)用少量人工標注主要用來校準合成數(shù)據(jù)和真實數(shù)據(jù)的分布差異。采樣策略上有個容易忽略的點不能均勻采樣。如果每種天氣采樣概率一樣模型會在簡單天氣如輕霧上過擬合因為簡單樣本的損失下降快梯度貢獻大。TDRE 用了困難樣本優(yōu)先采樣根據(jù)每個樣本當前的檢測損失動態(tài)調(diào)整采樣概率損失高的樣本被采樣的概率更大。這個策略讓訓練更聚焦在難例上收斂后的魯棒性明顯更好。還有一個實操經(jīng)驗合成數(shù)據(jù)和真實數(shù)據(jù)的 batch 比例要控制好。我試過 1:1結果模型偏向真實數(shù)據(jù)因為真實數(shù)據(jù)更難合成數(shù)據(jù)學不充分后來調(diào)到 3:1合成占多數(shù)模型先在合成數(shù)據(jù)上學到通用的去退化能力再用真實數(shù)據(jù)微調(diào)效果最穩(wěn)。4.2 路由損失、檢測損失與增強損失的平衡TDRE 的總損失是三項的加權和檢測損失、路由損失、增強損失。這三項的平衡是訓練成敗的關鍵。檢測損失是主任務權重最大通常用標準的分類加回歸損失。路由損失包含兩部分負載均衡損失保證專家利用率均勻和路由一致性損失保證相似退化類型的圖像被路由到相似的專家組合。增強損失包含重建損失保證增強后圖像不偏離原始內(nèi)容太遠和感知損失保證增強后圖像在特征空間上和清晰圖像接近。權重設置上我的經(jīng)驗是檢測損失占主導權重 1.0路由損失次之0.1 到 0.3增強損失最小0.05 到 0.1。但這個比例不是固定的訓練初期可以適當提高增強損失權重讓增強模塊先學好基礎能力后期降低增強損失、提高檢測損失讓整個系統(tǒng)向檢測目標對齊。這種課程學習式的權重調(diào)度比固定權重收斂得更穩(wěn)。4.3 避免專家坍縮的工程技巧專家坍縮是 MoE 訓練里最頭疼的問題表現(xiàn)為路由器總是激活少數(shù)幾個專家其他專家形同虛設。除了前面說的負載均衡損失還有幾個工程技巧能有效緩解。一是專家初始化差異化。如果所有專家用同樣的初始化它們在訓練初期輸出幾乎一樣路由器無法區(qū)分就會隨機偏向某幾個。TDRE 對每個專家用不同的初始化策略不同的隨機種子、不同的初始化分布讓它們在起點就有差異。二是路由噪聲。訓練時給路由權重加一點高斯噪聲增加探索性防止路由器過早收斂到局部最優(yōu)的專家組合。噪聲方差隨訓練輪次衰減后期趨于確定性路由。三是專家 dropout。訓練時隨機丟棄一部分專家的輸出置零強迫路由器學會在專家缺失時也能工作同時讓每個專家都有機會被單獨訓練。這個技巧對提升魯棒性特別有效推理時所有專家都在相當于一種集成效應。5. 實測中暴露的問題與排查思路5.1 路由權重震蕩的定位與緩解訓練 TDRE 時我遇到的第一個問題是路由權重震蕩同一個 batch 里相似圖像的專家權重差異很大訓練損失忽高忽低。排查下來發(fā)現(xiàn)是路由器的學習率設得太高導致路由決策在訓練早期劇烈變化。緩解辦法是給路由器單獨設一個更小的學習率通常是主干網(wǎng)絡的 0.1 倍并且加一個路由權重的時間平滑當前 batch 的路由權重和上一個 batch 的做指數(shù)移動平均用平滑后的權重做前向。這樣路由決策更穩(wěn)定訓練曲線也平滑多了。平滑系數(shù)一般取 0.9 左右太小起不到平滑作用太大又會讓路由反應遲鈍。5.2 增強模塊輸出過曝或欠曝的修復第二個坑是增強模塊的輸出過曝。低照度圖像增強時模型傾向于把亮度拉得很高結果亮部細節(jié)全丟了。這個問題在聯(lián)合訓練后期特別容易出現(xiàn)因為檢測損失對暗部目標的梯度大模型就拼命提亮暗部犧牲了亮部。修復方案是在增強損失里加一個亮度分布約束懲罰增強后圖像的亮度直方圖和清晰參考圖像偏離過大。同時限制增強模塊的輸出范圍用 tanh 激活加縮放保證輸出在合理區(qū)間內(nèi)。另外增強強度系數(shù)要設上限比如最大 0.8給模型留一點余量避免處理到極限。5.3 跨數(shù)據(jù)集泛化的驗證方法TDRE 論文里的實驗是在特定數(shù)據(jù)集上做的但實際部署時你要面對的是沒見過的數(shù)據(jù)。驗證泛化能力不能只看同分布測試集必須做跨數(shù)據(jù)集驗證在一個數(shù)據(jù)集上訓練在完全不同的數(shù)據(jù)集上測試中間不做任何微調(diào)。我的做法是準備三個層次的數(shù)據(jù)同分布測試集同數(shù)據(jù)集同天氣、跨天氣測試集同數(shù)據(jù)集不同天氣、跨數(shù)據(jù)集測試集不同數(shù)據(jù)集不同天氣。三個層次的指標一起看才能判斷模型是真的魯棒還是只是過擬合了訓練分布。實測下來TDRE 在跨天氣測試集上的優(yōu)勢最明顯比基線高 8 到 12 個 mAP 點跨數(shù)據(jù)集測試集上優(yōu)勢縮小到 3 到 5 個點說明域偏移里最難搞的還是傳感器和場景本身的差異天氣只是其中一部分。6. 把 TDRE 思路遷移到自己的檢測任務6.1 什么情況下值得引入動態(tài)路由 MoE不是所有檢測任務都需要上 MoE。我的判斷標準是如果你的測試環(huán)境是開放且多變的訓練時無法覆蓋所有情況那動態(tài)路由 MoE 值得一試如果你的測試環(huán)境和訓練環(huán)境基本一致那用 MoE 就是殺雞用牛刀徒增參數(shù)量和推理延遲。具體到航拍場景如果你做的是固定航線、固定時間的巡檢任務天氣變化不大那常規(guī)檢測器加數(shù)據(jù)增強就夠了。但如果你做的是應急響應、大范圍巡查這類任務天氣、光照、季節(jié)都不可控那 TDRE 這類方法的收益就很明顯。參數(shù)量上TDRE 比基線大概多 30% 到 50%推理延遲多 20% 左右這個代價在多數(shù)場景下是可以接受的。6.2 輕量化部署時的專家剪枝策略如果部署平臺算力有限可以對 TDRE 做剪枝。核心思路是統(tǒng)計每個專家在驗證集上的激活頻率和貢獻度把長期低激活、低貢獻的專家剪掉。剪枝后路由器需要重新微調(diào)因為專家池變了路由分布要重新學習。另一個輕量化方向是專家共享底層。讓所有專家共享前幾層卷積只在后面幾層分叉。這樣參數(shù)量能降不少代價是專家的差異化程度降低。實測下來共享前兩層、后面分叉的配置精度損失在 1 到 2 個點以內(nèi)但參數(shù)量能省 40%性價比很高。6.3 從檢測遷移到分割、跟蹤的可行性TDRE 的核心思想——動態(tài)路由加任務導向增強——不局限于檢測。分割任務同樣面臨惡劣天氣下的域偏移而且分割對像素級精度要求更高退化帶來的影響更大。把檢測頭換成分割頭增強模塊的梯度從分割損失反傳整體框架基本不用改。跟蹤任務稍微復雜一點因為多了時序維度。但動態(tài)路由的思路反而更有用不同幀的退化程度可能不同路由器可以逐幀調(diào)整專家組合時域上再做平滑。這個方向目前做的人還不多我覺得是個值得挖的點。實際遷移時要注意的是任務導向增強的目標函數(shù)要跟著任務變檢測關注目標可分性分割關注邊界精度跟蹤關注時序一致性增強模塊的優(yōu)化方向要相應調(diào)整。最后分享一個我在調(diào) TDRE 時總結的小經(jīng)驗路由器的可解釋性其實是個寶藏。把路由權重可視化出來你會發(fā)現(xiàn)模型自動學出了天氣分類的能力——霧天圖像路由到去散射專家雨天路由到高頻抑制專家。這個路由模式可以直接拿來做天氣類型的偽標簽反過來指導數(shù)據(jù)集的整理和擴充。我靠這個技巧發(fā)現(xiàn)了一批標注錯誤的樣本算是意外收獲。