本發(fā)明屬于人工智能和機器學習領(lǐng)域,具體的說是涉及一種具有魯棒性的多模態(tài)聯(lián)邦學習方法。
背景技術(shù):
1、近年來,物聯(lián)網(wǎng)規(guī)模日益壯大,海量的物聯(lián)網(wǎng)設(shè)備可以不斷收集多模態(tài)數(shù)據(jù),例如文本、語音、圖像、視頻等。隨著人工智能技術(shù)的不斷發(fā)展,多模態(tài)模型被認為是提高人工智能系統(tǒng)能力的最佳途徑之一。相對于傳統(tǒng)的單模態(tài)模型,多模態(tài)模型可以利用多種不同的數(shù)據(jù)輸入,如文本、語音、圖像、視頻等更加全面地理解和處理信息,提高系統(tǒng)的性能。例如,通過同時利用圖像和語音輸入,可以更加準確地識別和理解物體的特征和環(huán)境背景,從而提高圖像識別和語音識別的準確度。
2、聯(lián)邦學習(federated?learning)是一種分布式機器學習方法,能夠在多個設(shè)備或節(jié)點之間進行協(xié)同訓練,而無需將數(shù)據(jù)集中到一個中央服務(wù)器。聯(lián)邦學習不僅保護了數(shù)據(jù)隱私,還能有效地利用分布式資源,提高模型訓練的效率和靈活性。目前,大多數(shù)聯(lián)邦學習方法只考慮客戶端的私有數(shù)據(jù)是相同模態(tài)的場景。少數(shù)工作嘗試利用多模態(tài)數(shù)據(jù)進行多模態(tài)聯(lián)邦學習,提升系統(tǒng)的訓練精度。然而,上述工作假設(shè)所有模態(tài)對于每個多模態(tài)樣本都是充分且完整的。在現(xiàn)實世界中,當采集數(shù)據(jù)的傳感器遇到故障或者接觸不良等一系列軟硬件問題時,多模態(tài)數(shù)據(jù)會不可避免地存在部分丟失。由于某些模態(tài)的缺失,不同模態(tài)之間的關(guān)聯(lián)和互補信息無法得到充分利用,導(dǎo)致模型難以建立準確的特征表達和預(yù)測能力,從而導(dǎo)致訓練精度的急劇下降。因此,如何在多模態(tài)數(shù)據(jù)缺失的情況下,獲得高精度的訓練模型,是本領(lǐng)域技術(shù)人員亟需解決的問題。
技術(shù)實現(xiàn)思路
1、為了解決上述技術(shù)問題,本發(fā)明提出了一種具有魯棒性的多模態(tài)聯(lián)邦學習方法,在模態(tài)數(shù)據(jù)缺失情況下獲得高精度訓練結(jié)果。該方法提出一種基于插補的模式的算法,對缺失模態(tài)進行預(yù)測并對齊,采用多頭注意力機制將各模態(tài)進行融合,并通過聯(lián)邦學習提升模型精度,有效減少模態(tài)缺失對系統(tǒng)性能的影響。
2、為了實現(xiàn)上述目的,本發(fā)明是通過以下技術(shù)方案實現(xiàn)的:
3、本發(fā)明是一種具有魯棒性的多模態(tài)聯(lián)邦學習方法,該多模態(tài)聯(lián)邦學習方法具體包括以下步驟:該多模態(tài)聯(lián)邦學習方法在模態(tài)數(shù)據(jù)缺失情況下獲得高精度訓練結(jié)果,具體包括如下步驟:
4、步驟1、對于具有缺失模態(tài)的客戶端,根據(jù)現(xiàn)有模態(tài)數(shù)據(jù)對缺失模態(tài)數(shù)據(jù)進行預(yù)測:先從現(xiàn)有模態(tài)數(shù)據(jù)中篩選出和缺失模態(tài)數(shù)據(jù)相關(guān)程度性強的特征,對這部分特征數(shù)據(jù)采用多層感知機訓練,預(yù)測未知模態(tài),完成模態(tài)對齊的操作;
5、步驟2、對現(xiàn)有模態(tài)和預(yù)測的缺失模態(tài)中的特征進行處理:對于每個特征,根據(jù)特征對其所在的影響的重要程度,對其打上特征標簽,并結(jié)合特征標簽對特征進行融合,構(gòu)成特征向量;
6、步驟3、對步驟1中對齊的模態(tài)數(shù)據(jù)進行融合:根據(jù)模態(tài)數(shù)據(jù)是否為預(yù)測出的數(shù)據(jù),以及模態(tài)數(shù)據(jù)的重要程度,設(shè)計模態(tài)標簽矩陣,將步驟2構(gòu)成的特征向量與模態(tài)標簽矩陣中的模態(tài)標簽進行融合,得到多模態(tài)加權(quán)數(shù)據(jù),合成各客戶端的模態(tài)向量;
7、步驟4、對融合的多模態(tài)加權(quán)數(shù)據(jù)進行本地訓練:利用客戶端冗余的計算資源訓練多模態(tài)加權(quán)數(shù)據(jù),各客戶端在本地采用全連接神經(jīng)網(wǎng)絡(luò)模型,對多模態(tài)加權(quán)數(shù)據(jù)進行訓練操作,得到多模態(tài)模型;
8、步驟5、將步驟4得到的各客戶端本地訓練多模態(tài)模型上傳到服務(wù)器,在服務(wù)器上共享各客戶端的訓練結(jié)果,實現(xiàn)多模態(tài)模型的集體學習和優(yōu)化,根據(jù)實際情況采用相應(yīng)的聯(lián)邦聚合算法進行聚合操作,更新全局多模態(tài)模型,將聚合后的多模態(tài)模型重新分發(fā)至各客戶端進行下輪迭代,直至多模態(tài)模型收斂。
9、本發(fā)明的進一步改進在于:步驟1中,根據(jù)現(xiàn)有模態(tài)數(shù)據(jù),預(yù)測缺失模態(tài)數(shù)據(jù),具體包括如下步驟:
10、步驟1.1、特征提?。簭默F(xiàn)有模態(tài)數(shù)據(jù)中提取和缺失模態(tài)數(shù)據(jù)相關(guān)性強的特征,判斷特征信息是否能用于預(yù)測缺失模態(tài),特征信息可用則放入預(yù)測缺失模態(tài)的特征隊列;
11、步驟1.2、模態(tài)預(yù)測:根據(jù)特征隊列中的特征對目標缺失模態(tài)的重要性程度進行打分并歸一化,得到粗目標模態(tài)數(shù)據(jù),經(jīng)過多層感知機訓練后得到預(yù)測的缺失模態(tài),具體為:
12、
13、其中,表示對特征的打分,表示篩選出的特征信息在獲得權(quán)重后,合并所有的加權(quán)特征信息,表示歸一化函數(shù),通過計算現(xiàn)有模態(tài)中對目標缺失模態(tài)的加權(quán)特征信息,得到粗目標模態(tài)數(shù)據(jù),對得到的粗目標模態(tài)數(shù)據(jù)合并后經(jīng)過兩輪多層感知機計算,獲得最終的預(yù)測的缺失模態(tài),完成插補操作。
14、本發(fā)明的進一步改進在于:所述步驟1.1特征提取具體包括如下步驟:
15、步驟1.1.1、通過發(fā)掘現(xiàn)有模態(tài)數(shù)據(jù)特征和缺失模態(tài)數(shù)據(jù)的關(guān)系,來提取和缺失模態(tài)數(shù)據(jù)相關(guān)性強的特征,對現(xiàn)有模態(tài)的特征提取過程表示為:
16、
17、其中,表示現(xiàn)有模態(tài)的數(shù)據(jù),表示從現(xiàn)有模態(tài)中提取的特征;
18、步驟1.1.2、對于提取出的特征,篩出其中不可用于缺失模態(tài)數(shù)據(jù)預(yù)測的特征進行舍棄;
19、步驟1.1.3、將所提取的能用于缺失模態(tài)數(shù)據(jù)預(yù)測的特征放入預(yù)測缺失模態(tài)的特征隊列,用于缺失模態(tài)數(shù)據(jù)預(yù)測。
20、本發(fā)明的進一步改進在于:步驟2具體包括以下步驟:
21、步驟2.1、從現(xiàn)有模態(tài)和預(yù)測的缺失模態(tài)中提取各自的模態(tài)特征數(shù)據(jù),如聲音、圖像等模態(tài),對于現(xiàn)有模態(tài)和預(yù)測出的缺失模態(tài)中的每個模態(tài)包含的各特征樣本,根據(jù)特征樣本的重要程度,構(gòu)建特征標簽,并進行歸一化,具體為:
22、其中,表示計算出的特征標簽,表示訓練編碼網(wǎng)絡(luò)的具體計算過程,用來判斷特征樣本對特征標簽訓練的重要程度,指??激活函數(shù),將數(shù)據(jù)映射到0到1的范圍內(nèi);
23、步驟2.2、對于每個模態(tài)的特征,合成歸一化后的加權(quán)特征信息并進行特征拼接,得到一維的模態(tài)特征向量:
24、
25、其中,表示對特征信息的加權(quán)過程,累加過程表示將每個模態(tài)中的個加權(quán)特征信息拼接。
26、本發(fā)明的進一步改進在于:步驟3中,對模態(tài)融合合成模態(tài)向量,具體包括以下步驟:
27、步驟3.1、處理多模態(tài)數(shù)據(jù),在獲得權(quán)重后,加上偏置量通過多層感知機訓練,得到用于進一步獲得重要性評分的預(yù)處理的多模態(tài)數(shù)據(jù):
28、
29、其中,是由模態(tài)特征向量拼接后的多模態(tài)數(shù)據(jù),是權(quán)重矩陣,是偏置量,通過一層多層感知機將拼接后的多模態(tài)數(shù)據(jù)轉(zhuǎn)換為多模態(tài)數(shù)據(jù);
30、步驟3.2、通過設(shè)定上下文向量,并進行歸一化操作,獲得最終描述模態(tài)信息的重要性評分:
31、
32、其中,為上下文向量,通過對其設(shè)置不同的值實現(xiàn)多頭注意力機制,用于動態(tài)調(diào)整模態(tài)數(shù)據(jù)的權(quán)重,將上下文向量和處理后的多模態(tài)數(shù)據(jù)的轉(zhuǎn)置矩陣結(jié)合后,通過函數(shù)獲得歸一化的重要性評分,表示每個模態(tài)的權(quán)重,即模態(tài)在最終表示中的重要性,累加得到的矩陣為模態(tài)標簽矩陣;
33、步驟3.3、將所有的模態(tài)特征向量和重要性評分結(jié)合并拼接,獲得用于訓練的多模態(tài)加權(quán)數(shù)據(jù):
34、
35、其中,表示模態(tài)的重要性評分,模態(tài)的模態(tài)信息,表示所有的模態(tài)特征向量和重要性評分結(jié)合并拼接后得到最終的多模態(tài)加權(quán)數(shù)據(jù)。
36、本發(fā)明的進一步改進在于:步驟4中,對客戶端在本地建立基于全連接神經(jīng)網(wǎng)絡(luò),其過程如下:
37、步驟4.1、將多模態(tài)加權(quán)數(shù)據(jù)按照一定比例劃分為訓練集和測試集,使用全連接神經(jīng)網(wǎng)絡(luò)對訓練集進行訓練操作,在所述全連接神經(jīng)網(wǎng)絡(luò)中,設(shè)置兩層隱藏層,全連接神經(jīng)網(wǎng)絡(luò)通過多層神經(jīng)元連接,自動學習和提取輸入權(quán)模態(tài)數(shù)據(jù)中的特征,通過訓練插補完成的加權(quán)模態(tài)數(shù)據(jù);
38、步驟4.2、通過函數(shù),處理加權(quán)模態(tài)向量:
39、
40、其中,指的是訓練得到的參數(shù),為損失計算函數(shù),是加權(quán)模態(tài)數(shù)據(jù)中模態(tài)的個數(shù),通過上述方式最小化本地特征數(shù)據(jù)集值。
41、本發(fā)明的進一步改進在于:步驟5中,將客戶端訓練結(jié)果發(fā)送到服務(wù)器端,進行聚合操作的具體包括如下步驟:
42、步驟5.1、服務(wù)器端接收到客戶端發(fā)送的模型參數(shù)數(shù)據(jù)后進行聚合操作,使用fedavg框架,對客戶端上傳的模型參數(shù)進行聚合操作,獲得各客戶端設(shè)備的本地模型參數(shù)更新,進行聯(lián)邦平均后,即得到用于下輪訓練的全局模型參數(shù),具體為:
43、
44、其中,表示第輪中設(shè)備的本地模型參數(shù)更新,是在第輪中參與訓練的客戶端設(shè)備集合,是設(shè)備的本地數(shù)據(jù)量,是所有參與設(shè)備的總數(shù)據(jù)量,即,表示第輪的全局模型參數(shù),服務(wù)器端在完成加權(quán)平均后,得到全局模型參數(shù);
45、步驟5.2、將全局模型參數(shù)下發(fā)到客戶端參與方進行更新即可進行重復(fù)迭代。
46、本發(fā)明的有益效果是:
47、本發(fā)明構(gòu)建特征提取模塊以及模態(tài)預(yù)測模塊,利用多層感知機技術(shù),通過現(xiàn)有模態(tài),可以對缺失的模態(tài)進行比較準確的預(yù)測。
48、本發(fā)明對多模態(tài)數(shù)據(jù),提取其特征信息,構(gòu)建特征標簽以及模態(tài)權(quán)重,對每個模態(tài)的信息進行標記和處理,并通過多頭注意力機制將全部模態(tài)融合成為完整的多模態(tài)特征向量,有效地過濾了每個模態(tài)中的冗余的特征維度,并結(jié)合權(quán)重更好地利用每個模態(tài)的信息,得到一個更適用于聯(lián)邦學習處理的模態(tài)特征信息。
49、本發(fā)明結(jié)合fedavg框架,在處理多模態(tài)缺失問題時,將多個客戶端的多模態(tài)訓練數(shù)據(jù)在中心服務(wù)器上加權(quán)聚合,提高整體的模型精度。