面向多模態自監督學習的共享表示與獨有表示解耦

通俗說法:在多模態自監督學習中,將共享信息和獨有信息分離開來

Abstract

問題: 傳統方法通常假設在訓練和推理階段都可以訪問所有模態信息,這在實際應用中面對模態不完整輸入時會導致性能顯著下降。
解決方法:提出了一種面向遙感數據融合和多模態Transformer的全新不完整多模態學習方法,有監督自監督訓練都適用
方法簡述: 利用多模態Transformer ,結合模態注意力,掩碼自注意力機制,整合額外學習得到的token
方法結合重構損失與對比損失

Introduction

傳統方法: 為了融合不同模態的互補信息,依賴于基于特定領域知識的人為設計特征和融合策略;
基于CNN的深度方法通常假設所有模態在訓練與推理階段都是完整可用的,這在實際應用中卻是一個限制因素,因為數據采集過程中可能存在部分模態缺失。
不完整模態學習: 對缺失模態用生成模型,或者知識蒸餾(幻覺網絡)盡管有一定的效果,但是需要為每一類模態分別部署和訓練一個模型。
目標:一些新方法致力于訓練一個統一模型來應對下游任務中的不完整模態問題,在這種背景下,實現模態不變(modality-invariant)的融合嵌入表示成為提高魯棒性的重要手段,尤其適用于部分模態缺失的情況。

近年來沒有同時滿足自監督和允許不完整模態輸入
why 自監督:有監督訓練泛化能力差,訓練大規模數據集成本高
why 不完整模態輸入:實際應用場景存在不完整模態

方法簡述

貢獻:1.提出在多模態Transformer中引入模態注意力與掩碼自注意力機制,用于構建跨模態的融合token,以實現適用于不完整模態輸入的對比與重構預訓練。
2.在下游任務中,我們基于上述機制提出了隨機模態組合訓練策略,確保模型在推理階段面對模態缺失時依然具備強性能。
3.再公開的DFC2023 Track2數據集,和自己構建的四模態數據集,與標準多模態Transformer 對比取得了當前最優性能

Conclusion

本問提出了一種適用于多模態遙感數據融合任務的不完整模態學習框架,支持有監督和自監督,我們的方法支持模態不完整的條件下進行模型的訓練和推理。
通過引入模態注意力機制掩碼自注意力機制,我們能夠在 MultiMAE 框架中利用對比損失與重構損失對網絡進行預訓練,同時也可以通過隨機模態組合訓練策略,從零開始訓練或在下游任務中對模型進行微調。該策略使網絡在推理階段即便僅接收到部分模態甚至單一模態輸入時,也能保持較高的性能。
(通過倆注意力機制,用倆損失函數,和一個隨機組合模態的訓練策略訓練)

RELATED WORKS

多模態遙感數據融合

多模態掩碼自動編碼器(MultiMAE)

與依賴對比目標的自監督方法不同,MultiMAE 使用一種預訓練任務:對每個輸入模態的掩碼圖像塊進行重建。

多模態Transformer

METHODOLOGY

在這里插入圖片描述

A 網絡架構

主體架構采用VIT ,對每個模態劃分16*16patch 進入線性層映射為D維,加入位置嵌入,引入融合token
與瓶頸融合token 不同,采用的是空間融合token,數量與patch一樣,然后模態自注意力機制把不同模態的信息融合到token,然后拼接送入Transformer 編碼器,使用掩碼自注意力機制

B 模態注意力

在這里插入圖片描述
融合token :可學習參數,作為Query 在四種模態中學習怎么融合,整合信息。

C 掩碼自注意力機制

目的是讓每個模態輸出自己純凈的信息,讓融合的模態輸出的是融合的信息,需要通過掩碼來實現
在這里插入圖片描述
在這里插入圖片描述

左側是融合后的token ,重建成5*5的權限矩陣,每個模態只能與自己做SA ,而融合模態要與其他四個做CA

是要設計權限矩陣也就是圖中的m,為每個模態計算時只關注每個模態純凈的信息。

D 重構預訓練

用融合后的token 去做生成與原圖計算損失,并應用于下游任務
使用淺解碼器是為了避免decoder過強而抹殺encoder 的學習

理解Transformer :最后算完的token 怎么用?當作庫,利用Qeury 不斷的和庫里的KV 算,進行預測

E 對比學習

為每個模態引入一個class_token ,對最后一個自注意力層輸出的token 做CA ,損失函數在這里插入圖片描述
目的是在同一批次的樣本中,強迫模型認出哪個融合向量是與當前單模態向量真正“配對”的,并拉近它們的距離

F. Random Modalities Combination

Transformer 容易對任務中占主導地位的模態過擬合,為了提升魯棒性,提出一種隨機模態組合策略,在預訓練下游任務訓練中
預訓練:patch 隨機掩碼
下游任務:1.patchdropout 2.隨機模態組合

實驗

數據集:

DFC2023 Track2 - 建筑物實例/語義分割
四元組數據集 - 土地利用土地覆蓋制圖

實驗部分核心內容提煉
一、 實驗目標與設置
核心目標:證明該方法在**模態不完整(有模態缺失)**的情況下,依然能保持強大性能,遠超傳統方法。

兩大任務:實驗在兩個實際的下游任務上進行,分別是建筑物分割和土地利用覆蓋(LULC)制圖。

兩種范式:對每個任務,都進行了兩種模式的評估:

從零開始監督學習:不使用任何預訓練權重,直接在任務數據上訓練。

預訓練后微調:先在大量數據上進行“重建+對比”的自監督預訓練,然后用預訓練好的模型去微調下游任務。

二、 主要實驗結論
模態完整時表現更優:在所有模態都可用的理想情況下,該方法性能已經優于一個簡化的對比模型(MultiViT)。

模態不完整時優勢巨大(最關鍵的結論):

當輸入模態有缺失時,對比模型(MultiViT)因為嚴重“偏科”(過擬合)于主導模態(如光學圖像),性能會斷崖式下跌,甚至完全失效。

而本文提出的方法,得益于**“隨機模態組合”的訓練策略,即使只輸入單一模態(甚至是“非主導”的模態),依然能保持非常高的性能**,展現出極強的魯棒性。

預訓練的有效性因任務而異:

對于建筑物分割任務,一個有趣的發現是“從零開始訓練”的模型表現最佳。

而對于土地利用覆蓋(LULC)制圖任務,經過“重建+對比”雙重預訓練的模型表現最好。這說明對比學習對于增強該任務的特征有顯著幫助。

三、 核心模塊有效性驗證(消融實驗)
作者通過“控制變量法”證明了其提出的每個模塊都是必不可少的:

隨機模態組合策略:極其重要。如果不使用這個策略,模型在模態缺失時性能會嚴重下降,證明這個“魔鬼訓練法”是提升魯棒性的關鍵。

模態注意力 (即交叉注意力):非常有效。如果移除這個模塊,性能會顯著下降,證明這是融合Token有效匯集各模態信息的關鍵一步。

掩碼自注意力:有益處。雖然它限制了模態間的直接交互,但實驗證明它對于保持單模態的“純凈性”和性能至關重要,最終對整體訓練過程產生了積極影響。

四、 對模態貢獻的分析與洞察
該框架還能幫助分析不同模態對特定任務的貢獻度:

對于建筑物分割:光學圖像的貢獻最大,其次是DSM(高度圖),而SAR圖像貢獻最小,有時甚至會引入噪聲。

對于土地利用覆蓋制圖:DNW地圖和Sentinel-2圖像貢獻最大,而DEM(高程)數據則不太關鍵。

這個分析表明,該方法不僅性能強大,還能為實際應用中如何選擇最優、最經濟的模態組合提供決策依據。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/93557.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/93557.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/93557.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【iOS】weak修飾符

前言前面我們已經學習了解了sideTable,今天來看看在OC中,sideTable是如何在我們使用weak時工作的。在OC中,weak修飾符是一種用于聲明“弱引用”的關鍵字,其核心特性是不參與對象的引用計數管理,而且當被引用的對象被釋…

【JVM篇10】:三種垃圾回收算法對比詳解

文章目錄1. 標記-清除算法2. 復制算法3. 標記-整理算法總結與面試要點在通過 可達性分析等算法識別出所有存活對象和垃圾對象后,垃圾收集器(GC:Garbage Collector)就需要執行回收操作來釋放垃圾對象所占用的內存。以下是三種最基礎…

JXD進步25.7.30

1.為啥是update,因為你if判斷有問題。或者是你上來就給id賦值了。2. 這個是清空network歷史3.斷點位置打在這里:打在上面它進不來4.

Flutter開發實戰之網絡請求與數據處理

第6章:網絡請求與數據處理 “數據是應用的血液,網絡是連接世界的橋梁。” 在移動應用開發中,與服務器進行數據交互是必不可少的功能。無論是獲取用戶信息、提交表單數據,還是上傳圖片、下載文件,都離不開網絡請求。本章將帶你深入掌握Flutter中的網絡編程技巧。 6.1 網絡…

快速分頁實現熱點功能-索引和order by

需求:分頁求出進三天的發布視頻的權重熱度 權重 / 衰減時間 衰減時間 當前時間 - 視頻發布時間 小根堆來實現這個公式可以很好的利用半衰期來進行解決難點:如果一次性加載太多到springBoot服務器里面會造成堆內存占用過多,分頁又有可能造成深分頁問題,…

HAProxy(高可用性代理)

1 HAProxy 簡介 HAProxy( High Availability Proxy)是一個高性能的負載均衡器和代理服務器,為基于 TCP 和 HTTP 的應用程序提供高可用性、負載平衡和代理,廣泛應用于提高 web 應用程序的性能和可靠性。它支持多種協議&#xff0c…

Vulnhub靶場:ica1

一、信息收集nmap掃描一下IP。(掃不出來的可以看一下前面幾篇找ip的步驟)下面給了框架的版本是9.2的,我們去kali里搜一下有沒有已經公開的漏洞。searchsploit qdPM 9.2 locate 50176.txt more /usr/share/exploitdb/exploits/php/webapps/50…

【Dv3admin】ORM數據庫無法查詢的問題

Django 運行過程中,數據庫連接的健康狀態直接影響應用的穩定性和數據訪問準確性。長時間空閑的數據庫連接經常因外部機制被回收,進而引發數據查詢異常和返回無效結果。 本文圍繞 Django 中數據庫連接長時間空閑導致的連接失效問題,介紹相關的…

使用 Flownex 對機械呼吸機進行建模

當患者無法獨立呼吸時,機械呼吸機通過氣管插管將富氧空氣輸送到患者的肺部。肺是敏感而復雜的器官,因此在無法忍受的壓力和體積范圍內提供空氣,根據每分鐘所需的呼吸次數計時,并適當加濕和加熱。機械呼吸機的精確建模對于其安全有…

力扣刷題日常(7-8)

力扣刷題日常(7-8) 第7題: 整數反轉(難度: 中等) 原題: 給你一個 32 位的有符號整數 x ,返回將 x 中的數字部分反轉后的結果. 如果反轉后整數超過 32 位的有符號整數的范圍 [?231, 231 ? 1] ,就返回 0. 假設環境不允許存儲 64 位整數(有符號或無符號).…

串口接收數據包(協議帶幀頭幀尾)的編程實現方法:1、數據包格式定義結構體2、使用隊列進行數據接收、校驗解包

這種帶幀頭幀尾的數據包處理流程可以簡單概括為 “識別邊界→提取有效數據→驗證完整性” 三個核心步驟,具體操作如下:1. 數據包格式定義(先約定規則)首先明確一個 “合格數據包” 的結構,比如: 幀頭&#…

JSON 對象封裝教程

JSON 對象封裝方法在 Java 中封裝 JSON 對象通常使用第三方庫&#xff0c;如 org.json、Gson 或 Jackson。以下是幾種常見的方法&#xff1a;使用 org.json 庫添加 Maven 依賴&#xff1a;<dependency><groupId>org.json</groupId><artifactId>json<…

【WRF-Chem】EDGAR 排放數據處理:分部門合并轉化為二進制(Python全代碼)

目錄 process.py process_biofl.py process_fossil.py process_micro.py process_sector.py 參考 process.py 讀取 EDGAR 排放數據庫中 2000 至 2023 年間不同行業的甲烷(CH?)排放數據,進行合并處理,并將總排放以二進制格式保存到文件中。 導入必要的庫 import numpy as n…

【學習過程記錄】【czsc】1、安裝

文章目錄 背景 安裝 安裝python 安裝czsc 功能測試 附錄 奇葩的報錯 背景 詳見: https://github.com/waditu/czsc 安裝 安裝python !重要!作者強調,python必須是大于等于3.8 為此呢,我也是花了一點時間裝了一個python3.13。 安裝czsc 關于czsc的安裝呢,官方也是給出…

Python批量生成N天前的多word個文件,并根據excel統計數據,修改word模板,合并多個word文件

1&#xff0c;需求 根據word模板文件&#xff0c;生成多個帶日期后綴的word文件根據excel-每日告警統計數量&#xff0c;逐個修改當日的文檔2&#xff0c;實現 shell腳本&#xff1a;根據word模板文件&#xff0c;生成多個帶日期后綴的word文件 #!/bin/bash # 生成近一年日期 …

基于uni-app的血糖血壓刻度滑動控件

想要做一個基于uni-app的血糖血壓刻度滑動控件&#xff0c;hbuilder市場沒有好的&#xff0c;參照別人的寫了一個。如圖&#xff1a;源碼&#xff0c;自己放入components里面。<!-- 刻度滑動選擇 --> <template><view><view class"slide-title"…

C語言(02)——標準庫函數大全(持續更新)

想要了解更多的C語言知識&#xff0c;可以訂閱下面的專欄&#xff0c;里面也有很多品質好文&#xff1a; 打怪升級之路——C語言之路_ankleless的博客-CSDN博客 還在持續更新中&#xff0c;以下是學習過程中遇到的一些庫函數&#xff08;排序不分先后&#xff09;&#xff1a…

永磁同步電機無速度算法--靜態補償電壓模型Harnefors觀測器

一、原理介紹本文基于Harnefors教授提出的靜態補償電壓模型&#xff0c;可以實現帶載零速啟動、正反轉切換等功能&#xff0c;原理清晰&#xff0c;實現簡便。二、仿真模型在MATLAB/simulink里面驗證所提算法&#xff0c;搭建仿真。采用和實驗中一致的控制周期1e-4&#xff0c;…

[SKE]Python gmssl庫的C綁定

Python gmssl庫的C綁定 摘要:本文展示gmssl庫的C綁定,并給出完整代碼。將參考模型從Python腳本遷移到純C代碼中使用gmssl庫(TongSuo項目,支持國密算法如SM4,同時兼容AES、DES、3DES、RSA等)。這樣,UVM(SystemVerilog)可以通過DPI-C直接調用C函數,而無需嵌入Py…

4.方法的使用

方法是指一段具有獨立功能的代碼塊&#xff0c;只有被調用時才會執行方法的主要作用體現在&#xff1a;代碼組織&#xff1a;將原本擠在一起的臃腫代碼按照功能進行分類管理例如&#xff1a;將用戶注冊的驗證邏輯、數據庫操作、結果返回等分離成不同方法提高復用性&#xff1a;…