總結與歸納:深度神經網絡中的數據融合方法

數據融合是一個重要的方法,有時候我們想結合多個東西在一起的時候就需要用到融合方法。深度學習中也不例外,我們經常會將兩個或多個數據融合在一起。數學上,我們可以定義成:
y=f(x1,x2,...,xn)y=f(x_1, x_2, ..., x_n)
於是,我們說:
1.這個公式裏面ff應該是怎樣的一個函數或者變換呢?
2.變換之後x,yx,y之間又會是怎樣的關係?
3。這樣的變換有什麼好處,有什麼條件,又有什麼缺陷或者限制呢?

以下本文將討論這些問題,並且爲了簡化,我們假設只有兩個輸入x1,x2x_1,x_2和一個輸出yy

相加 add

最簡單的一類應該就屬於直接相加了,直接將按照元素輸入相加即可。用數學表示就是:
y=f(x1,x2)=x1+x2y=f(x_1,x_2)=x_1+x_2
要求:相加數據的維度要相等。這個條件是顯然可見的,而且相加後數據維度不變。
好處:相加不改變梯度的變化。操作也比較簡單快速。
參考【6】就是利用這個方法的典型。
限制: 我們可以想象使用這個方法的限制,這些限制不如數據維度要相等這麼直接。首先,兩個輸入x1,x2x_1,x_2應該是有相同含義或者相似含義的,或者說輸入和輸出之間是對應的。在ResNet中,就假設其中一個輸入可能爲0,而輸入可能就是其中一個輸出。含義相似這裏可以先不討論,看到後面可能就明白了。因爲我也難以定義出來。

此外,我們還要知道直接相加也意味着兩個輸入需要有同樣的範圍,而且重要性是相等的。
ResNet中元素相加用來維持梯度

非線性相加(結合注意力機制)

我們說有時我們想兩者具有不相等的重要性,這時候加權就來了。用數學表示就是
y=f(x1,x2)=αx1+βx2y=f(x_1,x_2)=\alpha*x_1+\beta*x_2
要求,這裏和上面直接相加相同。
好處:輸入之間可以具有不同的重要性,甚至可以使用自學習機制來確定其重要程度。
例子:可以查看參考【1】,其框架如下圖,圖中U^,U~\hat U, \tilde U分別表示具有不同感受野的特徵圖(不同filter可能會有不同感受野),然後通過一個注意力機制分配不同的權重,這篇論文旨在自動選擇不同感受野的特徵。最後相加起來。
限制:我們看這裏的相加對象就是一個相同含義的,都是特徵圖,但是感受野不同。
在這裏插入圖片描述

相乘 multiply

有待更新。

相連 concatenate

除了相加之外,還有一個就是堆疊了。用數學表示是這樣的:
y=f(x1,x2)=x1x2y=f(x_1,x_2)=x_1 \oplus x_2,假設x1,x2x_1,x_2的維度分別是(B,C1,H,W)和(B,C2,H,W),並且我們按照第二個維度進行堆疊,yy就變成了(B,C1+C2,H,W)這樣的維度。
要求:我們可以看到,輸入之間除了堆疊的那個維度不同,其他維度需要相同,否則無法進行堆疊。對比上兩個方法來說,這個方法放鬆了一個要求,就是可以有一個維度不一樣。這樣就更加靈活了。
好處:一般來說,加法是concatenate方法的特殊形式。因爲我們融合特徵圖之後都會做新的卷積,堆疊方法是wX=w(x1x2)=w1x1w2x2wX=w(x_1\oplus x_2)=w_1x_1\oplus w_2x_2 其中(w=w1w2)(w=w_1\oplus w_2). 假如堆疊方法中w1,w2w_1,w_2相等,它就退化成了相加。
限制:顯然的,這個方法要求有更多的內存。但是我們可以結合不同維度的東西。比如參考【3】中,隨機噪聲這個輸入的維度比圖像的維度可以低很多。實際上在實際過程中,降低了對內存的需求。

我們看到這裏,依然是要求輸入之間是有相同含義的,下面開始介紹一些不同含義的。
在這裏插入圖片描述
在這裏插入圖片描述
上圖可以參考【5】,這裏的作用是將不同位置的特徵結合起來生成新的特徵,主要是想保存好前面的低維特徵,不至於損失太多。

統計數據融合(normalization)

假如結合的數據是不同類型的應該怎麼辦呢?比如下面這個例子,一個輸入是特徵圖,另一個輸入是我們想要歸一化這個特徵圖的統計數據。(想到batch normalization 中我們需要計算均值和方差來加快訓練)。下面這個例子是instance normalization(不知道什麼是instance normalization沒有關係,只需要知道一個輸入是特徵圖,一個輸入是可以均值和方差)。可以參考論文【4】.μ,σ\mu, \sigma分別是均值和方差。
在這裏插入圖片描述
要求:某一個維度可以不相等,其他維度必須相等。
好處:可以實現不同含義的數據進行融合。這裏均值和方差表示圖像的風格,輸入特徵圖表示圖像的內容。下面這張圖(參考論文【4】)就表示什麼是內容,什麼是風格。
限制:這種方法利用統計指標進行了融合,可以改變一個輸入的統計指標,通常我們用統計指標來表示一些條件來作用在特徵圖上。下面第二張圖(參考論文【2】)更是融合了三個條件,特徵圖,隨機變量和標籤。還有另一篇文章也同樣採用了這個方法,見下面第三張圖,可參考論文【9】。這裏我們還可以看到一個輸入完全改變了另一個輸入的統計指標,假如我們想只改變部分內容的風格呢?
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

具有空間位置的統計數據融合(normalization)

上面最後一個方法中,原始統計值是一維的,我們將他們編碼後變成三維,但是這樣無法表示空間信息。所以,假如我們直接將統計值變成三維的是否可以表示空間位置呢?
論文【7】給出了答案。
在這裏插入圖片描述
如上圖,統計值γ,β\gamma, \beta分別表示方差和均值,但是他們都是三維的,直接乘以或加到特徵圖上,可以表示空間信息了。

寫道這裏我們可以發現,使用統計值的方法可以進一步放寬對輸入的要求,並且可以通過這個方法來控制特徵圖。

參考文獻
1: Selective Kernel Networks
2: Large Scale GAN Training for High Fidelity Natural Image Synthesis
3: Toward Multimodal Image-to-Image Translation
4: Arbitrary Style Transfer in Real-time with Adaptive Instance Normalization
5: Image-to-Image Translation with Conditional Adversarial Networks
6: Deep Residual Learning for Image Recognition
7: Semantic Image Synthesis with Spatially-Adaptive Normalization
8: EXEMPLAR GUIDED UNSUPERVISED IMAGE-TOIMAGE TRANSLATION WITH SEMANTIC CONSISTENCY
9: A Style-Based Generator Architecture for Generative Adversarial Networks

爲何要點贊?

如果本文解決了你的困惑,不妨點個贊鼓勵一下。
整理不易,且看且珍惜。
不管你信不信,也不管你同不同意,實際上,你的每一次點贊都標誌着你自身的進步。而打賞乃是點讚的高級形式
曾經有無數個點讚的機會,但是我都沒有好好珍惜,假如時光可以倒流,我一定爲他們也爲自己點贊。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章