格拉姆矩陣(Gram matrix)詳細解讀


目錄

  • 基礎知識-向量的內積
  • Gram matrix介紹
  • Gram matrix的應用-風格遷移

一、基礎知識-向量的內積

1.1 向量的內積定義:也叫向量的點乘,對兩個向量執行內積運算,就是對這兩個向量對應位一一相乘之后求和的操作,內積的結果是一個標量。

1.2 實例

ab的內積公式為:

1.3 作用

內積判斷向量a和向量b之間的夾角和方向關系

  • a·b>0    方向基本相同,夾角在90°之間
  • a·b=0    正交,相互垂直  
  • a·b<0    方向基本相反,夾角在90°180°之間 

Gram矩陣是兩兩向量的內積組成,所以Gram矩陣可以反映出該組向量中各個向量之間的某種關系

二、Gram matrix介紹

2.1 定義

n維歐式空間中任意k個向量之間兩兩的內積所組成的矩陣,稱為這k個向量的格拉姆矩陣(Gram matrix),很明顯,這是一個對稱矩陣。

更加直觀的理解:

2.2 計算和特征表示

輸入圖像的feature map[ ch, h, w]。我們經過flatten(即是將h*w進行平鋪成一維向量)和矩陣轉置操作,可以變形為[ ch, h*w][ h*w, ch]的矩陣。再對兩個作內積得到Gram Matrices。 (藍色條表示每個通道flatten后特征點,最后得到 [ch *ch ]的G矩陣)

2.3 進一步理解

格拉姆矩陣可以看做feature之間的偏心協方差矩陣(即沒有減去均值的協方差矩陣),在feature map中,每個數字都來自於一個特定濾波器在特定位置的卷積,因此每個數字代表一個特征的強度,而Gram計算的實際上是兩兩特征之間的相關性,哪兩個特征是同時出現的,哪兩個是此消彼長的等等。

格拉姆矩陣用於度量各個維度自己的特性以及各個維度之間的關系。內積之后得到的多尺度矩陣中,對角線元素提供了不同特征圖各自的信息,其余元素提供了不同特征圖之間的相關信息。這樣一個矩陣,既能體現出有哪些特征,又能體現出不同特征間的緊密程度。

關鍵點:gram矩陣是計算每個通道 i 的feature map與每個通道 j 的feature map的內積。gram matrix的每個值可以說是代表 I 通道的feature map與 j 通道的feature map的互相關程度。

三、Gram matrix的應用-風格遷移

深度學習中經典的風格遷移大體流程是:

1. 准備基准圖像和風格圖像

2. 使用深層網絡分別提取基准圖像(加白噪聲)和風格圖像的特征向量(或者說是特征圖feature map

3. 分別計算兩個圖像的特征向量的Gram矩陣,以兩個圖像的Gram矩陣的差異最小化為優化目標,不斷調整基准圖像,使風格不斷接近目標風格圖像

關鍵的一個是在網絡中提取的特征圖,一般來說淺層網絡提取的是局部的細節紋理特征,深層網絡提取的是更抽象的輪廓、大小等信息。這些特征總的結合起來表現出來的感覺就是圖像的風格,由這些特征向量計算出來的的Gram矩陣,就可以把圖像特征之間隱藏的聯系提取出來,也就是各個特征之間的相關性高低。

如果兩個圖像的特征向量的Gram矩陣的差異較小,就可以認定這兩個圖像風格是相近的。有了表示風格的Gram Matrix,要度量兩個圖像風格的差異,只需比較他們Gram Matrix的差異即可。

具體可見另一篇文章《風格遷移論文理解--A Neural Algorithm of Artistic Style》展開的介紹。

附件:手寫圖例輔助理解:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM