卷積神經網絡中的平移等變性分析
介紹卷積神經網絡(CNN)具有平移等變性的觀點在某種程度上深入人心,但很少有人去探尋其原因或者理論根據。這篇文章將對這個問題進行系統地講解,為后續進一步研究CNN的其他等變性和不變性設計夯實基礎。
在機器學習中,我們通常關注模型的靈活性。我們希望知道選擇的模型實際上能夠完成我們想要的任務。例如,神經網絡的通用逼近定理使我們相信神經網絡可以近似任何所需精度的廣泛類別的函數。但完全的靈活性也有缺點。雖然我們知道我們可以學習目標函數,但也存在許多錯誤的函數,它們在我們的訓練數據上看起來完全一樣。如果我們是完全靈活的,我們的模型可能會學習其中任何一個函數,一旦我們移開了訓練數據,我們可能無法進行泛化。因此,需要對網絡的靈活性加以限制。卷積神經網絡是減少靈活性的一個著名成功案例。相較于早期的MLP網絡,CNN的卷積犧牲了一部分靈活性,但實現了圖像數據的平移等變性,這對于圖像處理是十分重要的性質。
什么是平移等變性映射簡而言之,等變性映射是保留變換的代數結構的映射。作為一個特殊情況,平移等變映射是一種映射,當輸入被平移時,會導致一個映射發生相應的平移,如下圖所示:
當左邊的輸入圖像被平移一定的量時,輸出特征圖也會被相同的量進行平移。具體而言,如下圖所示,
輸入圖像顯示數字“4”,向右平移得到另一個輸入圖像。和分別是通過平移等變映射計算得出的特征圖。在這種情況下,通過將傳遞給得到的特征圖相當于對特征圖做相同的平移得到的特征圖。
卷積的平移等變性證明首先讓我們寫下卷積的定義:
本質上,這定義了一個相關性(Correlation)而不是卷積(Convolution)。然而,在深度學習領域中的慣例是將其稱為卷積,這里我們將沿用這個慣例。在這里,和都有個通道。為了簡潔,本文中我們取。
現在,我們的目標是,給定一張圖像,我們將用濾波器對其進行卷積。然后,我們想驗證對于任何平移,以下兩個操作是相同的:
- 將平移,然后將結果與進行卷積。
- 將與進行卷積,然后將結果平移。
因此,我們需要證明的方程是:
證明
注意到我們可以通過替換重寫卷積:
現在我們來分別寫出我們想要證明的等式兩邊的定義。首先,對于 的定義:
還有 的定義:
這兩個表達式是相等的,所以證畢。
思考值得進一步思考的是,這種等價性為什么成立。我們進行的 的替換之所以有效,有兩個原因:
- 這個替換是從到的雙射。
- 求和是在整個空間上進行的。
這兩個特性加在一起可以確保,在左邊求和式中出現的每一項也都會出現在右邊的求和式中,反之亦然。
同時,這種推理方法與卷積神經網絡中的平移等變性的實際局限性相符,即卷積不是完全的平移等變性。這是因為總會在邊界上丟失信息,換句話說,在實際應用中,并不是對整個求和,而只對其一個子集求和。這違反了上面的第二點,因此替換并不完全成立,導致了卷積的平移等變性的局限性。
*博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。