本申請涉及一種基于深度學習的多模式數據融合方法,屬于機器學習領域。
背景技術:
深度學習已經成為在計算機視覺,語音分析和許多其他領域占優勢的機器學習形式。深度學習采用與神經網絡相似的分層結構,系統由包括輸入層、多隱層、輸出層組成的多層網絡,只有相鄰層節點之間有連接,同一層以及跨層節點之間相互無連接。
現有技術中,深度學習中多模式數據融合主要是使用深度自編碼機實現音頻、視頻兩種模式數據的融合,或者使用高斯伯努利限制波爾茲曼機、重復softMax限制玻爾茲曼機實現圖片、文本兩種模式數據的融合,或者使用深度玻爾茲曼機的深度學習實現音頻、視頻、文本等數據的融合。
但是在實際應用中,還包括大量的傳感器數據,而目前還未有對音頻、圖像、文本、傳感器數據等多種模式數據的融合。
技術實現要素:
根據本申請的一個方面,提供了一種基于深度學習的多模式數據融合方法,該方法可以融合包括傳感器數據在內的多種模式數據。
一種基于深度學習的多模式數據融合方法,包括:
對N個模式數據分別進行向量化處理;N為自然數,且N個模式數據中包括傳感器數據;
對N個模式數據中每一個模式數據建模,得到N個單模式數據;
將得到的任意兩個單模式數據進行融合,得到雙模式數據;
將包含相同模式數據的任意兩個雙模式數據進行融合,將任一個雙模式數據和與該雙模式數據不相同的單模式數據進行融合,得到三模式數據;
以此類推,根據得到的N-1模式數據進行N模式數據融合,得到N模式數據。
其中,所述N為4,四個模式數據分別為音頻數據、傳感器數據、圖像數據和文本數據。
其中,對音頻數據進行稀疏化和向量化處理具體為:
根據第j個隱層神經元的平均激活度得到m為音頻數據的個數,x(i)表示第i個音頻數據;
其中,表示兩個分別以ρ和為均值伯努力分布的相對熵,ρ為稀疏性參數,為隱藏神經元j的激活度,n為隱層神經元個數;
設定截斷核范數;
然后進行稀疏自編碼學習,得到稀疏化和向量化的音頻數據Jsparse(W,b);
其中,hW,b(x(i))表示重建的x(i),β,α表示稀疏化懲罰因子的權重,W(1)表示可見層到第一隱層的權重。
其中,對傳感器數據和圖像數據進行稀疏化和向量化處理,具體為:
設神經網絡為k層,設傳感器數據和圖像數據均由N個數據樣本組成,每個數據樣本為D維向量,第k層數據向量為
預設每一層的學習閾值為(b1,…bK),每一層的學習閾值逐漸增加;
進行可見層到第一隱層的學習,得到第一隱層的向量;
根據得到的第一隱層的向量,進行第i隱層到第i+1隱層的學習,得到第i+1隱層的向量,0<i<k-2;
根據第k-2隱層的向量,進行第k-2隱層到第k-1隱層的學習,得到稀疏化和向量化后的傳感器數據和圖像數據。
所述第一隱層的向量為其中,{v1,...,vm}表示訓練集中有m個訓練樣本,ρ為稀疏性參數,D表示維數,Wij表示可見層第i個單元對第一隱層第j個神經元的貢獻度;bj表示第j個神經元的偏移值。
所述第k-2隱層的向量為
其中,表示第i隱層第j個向量,表示第k-2隱層第j個向量,表示第i隱層第s個神經元對第i-1隱層第j個神經元的貢獻度,表示第i層到第i+1層的第j個神經元的偏移值;表示第k-2隱層第s個神經元對第k-1隱層第j個神經元的貢獻度,表示第k-3層到第k-2層的第j個神經元的偏移值。
設稀疏化和向量化后的傳感器數據和圖像數據為h(k-1),則表示第k-1隱層第j個向量,其中,第k-2隱層第s個神經元對第k-1隱層第j個神經元的貢獻度,表示第k-2層到第k層的第j個神經元的偏移值。
其中,將包含相同模式數據的任意兩個雙模式數據進行融合,將任一個雙模式數據和與該雙模式數據不相同的單模式數據進行融合,得到三模式數據,具體為:
將雙模式數據中包含相同模式數據的任意兩個雙模式數據組合,稱為第一組合;將任一個雙模式數據和與其不相同的單模式數據組合,稱為第二組合;
使用限制波爾茲曼機對第一組合和第二組合中的任一項的第一、第二隱層分別建模,得到三模式數據。
其中,根據得到的N-1模式數據進行N模式數據融合,得到N模式數據,具體為:
將得到的三模式數據中任一個三模式數據與其不相同的單模式數據組合,稱為第三組合;將雙模式數據中任一個雙模式數據和與其不相同的雙模式數據組合,稱為第四組合;
使用限制波爾茲曼機對第三組合和第四組合中的任一項的第一、第二隱層分別建模,得到四模式數據。
進一步地,還包括:根據包含第一模式數據的多模式數據和對應不包含第一模式數據的單模式或多模式數據推測第一模式數據。
本申請能產生的有益效果包括:
1)本申請通過對N個模式數據分別進行向量化處理,然后對得到向量化后處理后的N個模式數據中每一個模式數據建模,得到雙模式數據,再將得到的雙模式數據融合,得到三模式數據,以此類推,最終得到N模式數據,實現對包括傳感器數據在內的多種模式數據的融合;
2)進一步地,對傳感器等高維數據進行向量化處理時,每一層的學習閾值逐漸增加,中間多個隱層的激活神經元數目最少,最后一層激活關聯性最大的有限數目個神經元,這樣,不僅可以實現逐層學習、逐層校正,還可以實現高維數據分布在有限維上,從而實現數據的壓縮,即傳感器等高維數據在學習過程中得到稀疏化表示,方便后續處理;
3)進一步地,基于高斯伯努利限制波爾茲曼機融合雙模式或多模式數據時,隱層激活神經元的數目有限,從而獲得高維數據在有限維上的表示,簡化了融合過程;
4)進一步地,在一種模式或多種模式缺失的情況下,通過將已知模式數據帶入多模式數據模型可以推測出丟失的或不完整的數據。
附圖說明
圖1為一種基于深度學習的多模式數據融合方法流程示意圖。
具體實施方式
下面結合實施例詳述本申請,但本申請并不局限于這些實施例。
實施例1
參見圖1,本發明實施例提供了一種基于深度學習的多模式數據融合方法,該方法包括:
101、對N個模式數據分別進行向量化處理;N為自然數,且N個模式數據中包括傳感器數據;
本發明實施例中,設N為4,即四個模式數據中除了傳感器數據,還包括音頻數據、圖像數據和文本數據。
具體地,對音頻數據進行稀疏化和向量化處理,具體為:
根據第j個隱層神經元的平均激活度得到m為音頻數據的個數,x(i)表示第i個音頻數據;
其中,表示兩個分別以ρ和為均值的伯努力分布的相對熵,ρ為稀疏性參數,為隱層神經元j的激活度,n為隱層神經元個數;和相互獨立,所以和相互獨立,最小化也即最小化所有的相對熵,使得逼近于ρ;
設定截斷核范數;
具體地,給定矩陣W(1)∈RD×n,截斷核范數||W||r定義為min(D,n)-r個奇異值的和;
然后進行稀疏自編碼學習,得到稀疏化和向量化的音頻數據Jsparse(W,b);
其中,hW,b(x(i))表示重建的x(i),β,α表示稀疏化懲罰因子的權重,W(1)表示可見層到第一隱層的權重。
對傳感器數據和圖像數據進行稀疏化和向量化處理,具體為:
設神經網絡為k層,設傳感器數據和圖像數據均由N個數據樣本組成,每個數據樣本為D維向量,第k層數據向量為
預設每一層的學習閾值為(b1,…bK),每一層的學習閾值逐漸增加;
進行可見層到第一隱層的學習,得到第一隱層的向量;
具體地,采用基于隱層有限數目個激活神經元的高斯伯努利限制波爾茲曼機實現可見層到第一隱層的學習,設可見層v的邊緣分布為P(v;θ),則
其中,真值單元v∈RD,h∈{0,1}F;
v、h的能量函數為:
其中,θ={a,b,W,σ}是模型參數,采用懲罰項進行稀疏,λ是懲罰項的權重,F表示神經元個數,然后通過對比散度算法重構出可見層,然后使用梯度下降算法學習出模型θ,對比散度算法、梯度下降學習算法屬于本領域技術人員的公知常識,本發明實施例在此不再贅述。
在得出θ后,基于上述能量函數可得到當可見層為給定值、隱層神經元為1時的條件概率為:
基于上述能量函數可得到隱層為給定值、可見層為x時的條件概率:
通過上述條件概率,得到第一隱層的向量為其中,表示訓練集中有m個訓練樣本,D是輸入向量的維數,ρ為稀疏性參數;Wij表示可見層第i個單元對第一隱層第j個神經元的貢獻度;bj表示第j個神經元的偏移值。
根據上述得到的第一隱層的向量,進行第i隱層到第i+1隱層的學習,得到第i+1隱層的向量,0<i<k-2;
具體地,將第i隱層的向量作為第i+1隱層的輸入,得到第i+1隱層的向量,即經過多層學習后得到第k-2隱層的向量;
本發明實施例中,第i隱層的向量由實數值組成,設第i隱層的第j個向量為其中,表示第i-1隱層第s個神經元對第i隱層第j個神經元的貢獻度;表示第i-1隱層到第i隱層的學習時,第j個神經元的偏移值;
重建得到第i-1隱層向量為表示第i隱層第s個神經元對第i-1隱層第j個神經元的貢獻度;表示第i隱層到第i-1隱層的重建第j個神經元時的偏移值;
在已知z的情況下,設定第i-1隱層的條件分布為H(i-1)|z~N(z,σ2I)和其中,H(i-1)表示第i-1隱層,表示第i-1隱層的第k個神經元。
然后利用損失函數進行優化,得到符合約束條件的第i+1隱層的向量,約束條件為|z-h(i-1)|≤Bi。
其中,C(σ2)表示常數,λ1表示懲罰項的權重,||·||*表示核范數,ξ為激活值,最優化Loss(x,z),使得z在σ2誤差范圍內盡量靠近。經過多層學習,可得到多個第i+1隱層的向量,經過優化后得到第k-2隱層的向量為:
其中,表示第i隱層第j個向量,表示第k-2隱層第j個向量,表示第i隱層第s個神經元對第i-1隱層第j個神經元的貢獻度,表示第i層到第i+1層的第j個神經元的偏移值;表示第k-2隱層第s個神經元對第k-1隱層第j個神經元的貢獻度,表示第k-3層到第k-2層的第j個神經元的偏移值;
根據第k-2隱層的向量,進行第k-2隱層到第k-1隱層的學習,得到第k-1隱層的向量:
具體地,將第k-2隱層的向量作為第k-1隱層的輸入,得到第k-1隱層的向量,即稀疏化和向量化后的傳感器數據和圖像數據h(k-1);表示第k-1隱層第j個向量,其中,第k-2隱層第s個神經元對第k-1隱層第j個神經元的貢獻度,表示第k-2層到第k層的第j個神經元的偏移值;
重建得到的第k-2隱層向量為zk-2的約束條件為
然后利用對重建得到的第k-2隱層向量進行優化,使得傳感器數據和圖像數據特征大量分布在關聯性最大的有限數目的神經元上。
其中,1TW(k-1,k)=1,表示元素相乘,di是第k-2隱層向量h(k-2)與第k-1隱層到第k隱層的權重矩陣的第i個向量的歐式距離。
本發明實施例中每一層學習后都會和前一層互相關聯,每一層的學習閾值逐漸增加,中間多個隱層的激活神經元數目最少,最后一層激活關聯性最大的有限數目個神經元,這樣,不僅可以實現逐層學習、逐層校正,還可以實現高維數據分布在有限維上,從而實現數據的壓縮,即傳感器等高維數據在學習過程中得到稀疏化表示。
對文本數據進行向量化處理具體為:對文本數據中不同的字進行編序,并將對應文本轉換為關于對應字出現的頻度向量。
102、對向量化處理后的N個模式數據中每一個模式數據建模,得到N個單模式數據;
本發明實施例中,向量化處理后的N個模式數據為可見層,對可見層使用限制波爾茲曼機進行建模,也就是說使用限制波爾茲曼機對向量化的音頻數據、感應器數據、圖像數據進行建模,使用重復Softmax的限制波爾茲曼機對文本數據建模;使用限制波爾茲曼機對N個模式數據的第一隱層和第二隱層建模。
103、將得到的任意兩個單模式數據進行融合,得到雙模式數據;
本發明實施例中設A為向量化的音頻數據,B為向量化的傳感器數據,C為向量化的圖像數據,D為向量化的文本數據,則得到的雙模式數據為AB、AC、AD、BC、BD、CD。
其中,任一個單模式數據與文本數據的融合可以通過基于高斯伯努利限制波爾茲曼機的模式和基于重復SoftMax的限制波爾茲曼機得到,例如AD、BD、CD。
雙模式或者多模式數據融合結果由第一模式與第二模式表示,例如雙模式數據融合結果為(A,B),則第一模式為A,第二模式為B;三模式數據融合結果為((AB)C),則第一模式為已經融合的AB,第二模式為C;四模式數據融合結果為((AB)(CD)),則第一模式為已經融合的AB,第二模式為已經融合的CD;以此類推。
本發明實施例中,雙模式或者多模式數據融合的過程可以通過基于高斯伯努利限制波爾茲曼機表示,其中,設基于高斯伯努利限制波爾茲曼機的第一模式采用m表示,設基于高斯伯努利限制波爾茲曼機的第二模式采用t表示,繼續以上述例子進行描述,雙模式數據融合(A,B)中,第一模式m表示A,第二模式t表示B;三模式數據融合((AB)C)中,第一模式m表示已經融合的AB,第二模式表示C;四模式數據融合((AB)(CD))中,第一模式表示已經融合的AB,第二模式t表示已經融合的CD;以此類推。
雙模式或者多模式數據融合的過程也可以通過基于{0,1}限制波爾茲曼機表示,基于{0,1}限制波爾茲曼機的第一模式采用n表示,基于{0,1}限制波爾茲曼機的第二模式采用a表示。
除了文本數據以外,其它任意兩個單模式數據的融合可以通過基于高斯伯努利限制波爾茲曼機的第一模式m和基于高斯伯努利限制波爾茲曼機的第二模式t得到;還可以通過基于{0,1}限制波爾茲曼機的第一模式n和基于{0,1}限制波爾茲曼機的第二模式a得到。
104、將包含相同模式數據的任意兩個雙模式數據進行融合,將任一個雙模式數據和與該雙模式數據不相同的單模式數據進行融合,得到三模式數據;
具體地,將雙模式數據中包含相同模式數據的任意兩個雙模式數據組合,稱為第一組合;將任一個雙模式數據和與其不相同的單模式數據組合,稱為第二組合;
使用限制波爾茲曼機對第一組合和第二組合中的任一項的第一、第二隱層分別建模,得到三模式數據。
繼續上述例子,上述6個雙模式數據中包含相同模式數據的任意兩個雙模式數據的第一組合為:(AB,AC)、(AB,AD)、(AB,BC)、(AB,BD)、(AC,AD)、(AC,BC)、(AC,CD)、(AD,BD)、(AD,CD)、(BC,BD)、(BC,CD)、(BD,CD);
上述6個雙模式數據中任一個雙模式數據中與其不相同的單模式數據的第二組合為:(AB,C)、(AB,D)、(AC,B)、(AC,D)、(AD,B)、(AD,C)、(BC,A)、(BC,D)、(BD,A)、(BD,C)、(CD,A)、(CD,B);
然后,使用限制波爾茲曼機對第一組合和第二組合中的任一項的第一、第二隱層分別建模,得到三模式數據(ABC、ABD、ACD、BCD)。
基于高斯伯努利限制波爾茲曼機融合雙模式或多模式數據時,隱層變量h={h(1m),h(2m),h(1t),h(2t),h(3)},即隱層激活神經元的數目有限,則雙模式或多模式數據的具體融合結果如下表示:
其中,
表示m模式下,已知可見層、第二隱層神經元情況下,第一隱層的條件概率;
表示m模式下,已知第一隱層、第三隱層神經元情況,第二隱層的條件概率;
表示t模式下,已知可見層、第二隱層,第一隱層的條件概率;
表示t模式下,已知第一隱層、第三隱層,第二隱層的條件概率;
表示已知t模式的第二隱層和m模式的第二隱層,第三隱層的條件概率;
表示t模式下,給定第一隱層,可見層服從高斯分布;
表示m模式下,給定第一隱層,可見層服從高斯分布;
基于{0,1}限制波爾茲曼機融合雙模式或多模式數據時,隱層變量,則雙模式或多模式數據的具體融合結果如下表示:
其中,
表示n模式下,已知可見層、第二隱層神經元情況下,第一隱層的條件概率;
表示n模式下,已知可見層、第二隱層神經元情況下,第一隱層的條件概率;
表示a模式下,已知可見層、第二隱層神經元情況下,第一隱層的條件概率;
表示已知a模式的第一隱層、第三隱層神經元情況下,a模式第二隱層的條件概率;
表示已知n模式的第二隱層、a模式第二隱層神經元情況下,第三隱層的條件概率;
表示a模式下,給定第一隱層,可見層服從高斯分布;
表示n模式下,給定第一隱層,可見層服從高斯分布;
105、以此類推,根據得到的N-1模式數據進行N模式數據融合,得到N模式數據。
本發明實施例中N為4,則對得到的三模式數據進行四模式建模。
具體地,將得到的三模式數據中任一個三模式數據與其不相同的單模式數據組合,稱為第三組合;將雙模式數據中任一個雙模式數據和與其不相同的雙模式數據組合,稱為第四組合;
然后使用限制波爾茲曼機對第三組合和第四組合中的任一項的第一、第二隱層分別建模,得到四模式數據。
繼續上述例子,任一個三模式數據與其不相同的單模式數據的第三組合為:(ABC,D)、(ABD,C)、(ACD,B)、(BCD,A);
任一個雙模式數據和與其不相同的雙模式數據的第四組合為:(AB,CD)、(AC,BD)、(AD,BC);
根據第三組合和第四組合,得到四模式數據ABCD。
進一步地,得到多模式數據之后,還可以利用這些多模式數據進行學習,由于利用這些多模式數據進行學習屬于本領域技術人員的公知常識,本發明在此對其過程進行簡單描述:為求得滿足條件的平均域參數μ,需最大化下列不等式右側部分,可得到最理想的μ={μ(1m),μ(1t),μ(2m),μ(2t),μ(3)};其中,μ與θ相關;上面提到的不等式為
其中,
由于,
當Q(h|v;μ)=P(h|v;θ)時,logP(v;θ)=L(Q(h|v;μ)),則最小化logP(v;θ)就轉化為最大化上述不等式右側的L(Q(h|v;μ));當KL(Q(h|v;μ)||P(h|v;θ))=0時,L(Q(h|v;μ))最大,因此優化logP(v;θ)即可轉化為采用Q(h|v;μ)逼近P(h|v;θ)。
本發明實施例使用樸素平均域近似進行逼近P(h|v;θ);
當雙模式或者多模式數據融合的過程通過基于高斯伯努利限制波爾茲曼機表示時,構建Q(h|v;μ),通過上述學習過程得到的μ如下:
其中,Q(h|v;μ)是關于各隱層神經元的連乘形式,在于簡化對后驗分布的逼近。
則μ中的{μ(1m),μ(1t),μ(2m),μ(2t),μ(3)}分別為:
其中,分別對應m模式的第一隱層和第二隱層,分別對應t模式的第一隱層和第二隱層,對應混合層也即第三隱層。
當雙模式或者多模式數據融合的過程也可以通過基于{0,1}限制波爾茲曼機表示時,構建的Q(h|v;μ)為:
此時μ中的{μ(1n),μ(1a),μ(2n),μ(2a),μ(3)}分別為:
其中,分別對應n模式的第一隱層和第二隱層,分別對應a模式的第一隱層和第二隱層,對應混合層也即第三隱層。
然后,
從Q(v,h;θ)上采樣,得到模型期望P(v,h|θ);
vi、hj表示Q(v,h;θ)上的樣本,Nv表示可見層單元個數,Nh表示隱層神經元個數;
然后根據得到的μ計算數據期望EP(h|v);
再根據當前神經元關于其他神經元的條件分布和采集到的部分樣本計算全樣本;
具體的,設有Q個樣本,第s個樣本的初始狀態為(v0,s,h0,s),吉布斯采樣后得到馬爾科夫鏈,在t=50次采樣后可以獲得穩定狀態的樣本,Q個樣本就構成了Q個馬爾科夫鏈。
根據采集到的新樣本和得到的μ對神經網絡各層之間的連接權重w和隱層神經元的偏移值b進行更新;
具體地,設定θ情況下,求能量函數P(v,h)關于θ、W(1)、W(i)、a、b的一階導數,獲得關于P(h|v;θ)和關于P(v,h;θ)情況下對應期望的差值;
根據得到的期望差值使用梯度下降法對權重進行更新,從而達到利用得到的多模式數據進行學習的目的。
其中,能量函數P(v,h)關于θ、W(1)、W(i)、a、b的一階導數為現有技術,本發明實施例僅列出能量函數關于連接權重W(1)和W(i)的一階導數,其余不再贅述。
能量函數關于連接權重W(1)的一階導數為
表示可見層和第一隱層的權值矩陣;P(v;θ)為關于v的邊緣概率;
能量函數關于連接權重W(i)的一階導數為
表示第i-1隱層和第i隱層的權值矩陣。
最終當Q(h|v;μ)=P(h|v;θ)時,上述不等式右側部分最大,可得到最理想的μ。
進一步地,通過本發明實施例最終得到的多模式數據模型還可以推測出丟失的或不完整的數據,即根據包含第一模式數據的多模式數據和對應不包含第一模式數據的單模式或多模式數據推測第一模式數據;
例如,設第一模式數據為C模式數據,如果缺失C模式數據,通過雙模式數據P(AC)、P(BC)或者P(CD)引導,然后對應的在單模式P(A)、P(B)或者P(D)上采樣,就可以推測出C模式數據;也可以通過三模式數據p(ABC)、P(ACD)或者P(BCD)引導,然后對應的在雙模式數據P(AB)、P(AD)或者P(BD)上采樣,從而推測出C模式數據;也可以通過四模式數據p(ABCD)引導,然后在三模式數據p(ABD)上采樣,推測出C模式數據,同理,缺失兩個或多個模式數據時的推測方法類似,本發明實施例在此不再贅述。
本發明實施例中,通過對N個模式數據分別進行向量化處理,然后對得到向量化后處理后的N個模式數據中每一個模式數據建模,得到雙模式數據,再將得到的雙模式數據融合,得到三模式數據,以此類推,最終得到N模式數據,實現對包括傳感器數據在內的多種模式數據的融合;進一步地,對傳感器等高維數據進行向量化處理時,每一層的學習閾值逐漸增加,中間多個隱層的激活神經元數目最少,最后一層激活關聯性最大的有限數目個神經元,這樣,不僅可以實現逐層學習、逐層校正,還可以實現高維數據分布在有限維上,從而實現數據的壓縮,即傳感器等高維數據在學習過程中得到稀疏化表示,方便后續處理;進一步地,基于高斯伯努利限制波爾茲曼機融合雙模式或多模式數據時,隱層激活神經元的數目有限,從而獲得高維數據在有限維上的表示,簡化了融合過程;進一步地,在一種模式或多種模式缺失的情況下,通過將已知模式數據帶入多模式數據模型可以推測出丟失的或不完整的數據。
以上所述,僅是本申請的幾個實施例,并非對本申請做任何形式的限制,雖然本申請以較佳實施例揭示如上,然而并非用以限制本申請,任何熟悉本專業的技術人員,在不脫離本申請技術方案的范圍內,利用上述揭示的技術內容做出些許的變動或修飾均等同于等效實施案例,均屬于技術方案范圍內。