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