Gram格拉姆矩陣在風格遷移中的應用

2021-08-21 19:36:57 字數 1115 閱讀 6016

n維歐式空間中任意k個向量之間兩兩的內積所組成的矩陣,稱為這k個向量的格拉姆矩陣(gram matrix)

根據定義可以看到,每個gram矩陣背後都有一組向量,gram矩陣就是由這一組向量兩兩內積得到的,先說一下向量內積是做什麼的。

向量的內積,也叫向量的點乘,對兩個向量執行內積運算,就是對這兩個向量對應位一一相乘之後求和的操作,內積的結果是乙個標量。例如對於向量a和向量b:

a和b的內積公式為:

兩個向量的內積有什麼用呢?乙個重要的應用就是可以根據內積判斷向量a和向量b之間的夾角和方向關係(詳細推導可參見:具體來說:

簡單來說就是內積可以反映出兩個向量之間的某種關係或聯絡。gram矩陣是兩兩向量的內積組成的,所以gram矩陣可以反映出該組向量中各個向量之間的某種關係

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

1. 準備基準影象和風格影象

2. 使用深層網路分別提取基準影象(加白雜訊)和風格影象的特徵向量(或者說是特徵圖feature map)

3. 分別計算兩個影象的特徵向量的gram矩陣,以兩個影象的gram矩陣的差異最小化為優化目標,不斷調整基準影象,使風格不斷接近目標風格影象

這裡邊比較關鍵的乙個是在網路中提取的特徵圖,一般來說淺層網路提取的是區域性的細節紋理特徵,深層網路提取的是更抽象的輪廓、大小等資訊。這些特徵總的結合起來表現出來的感覺就是影象的風格,由這些特徵向量計算出來的的gram矩陣,就可以把影象特徵之間隱藏的聯絡提取出來,也就是各個特徵之間的相關性高低。如果兩個影象的特徵向量的gram矩陣的差異較小,就可以認定這兩個影象風格是相近的。

總的來說,gram matrix可看做是影象各特徵之間的偏心協方差矩陣(即沒有減去均值的協方差矩陣),gram計算的是兩兩特徵之間的相關性,哪兩個特徵是同時出現的,哪兩個是此消彼長的等等。另一方面,gram的對角線元素,還體現了每個特徵在影象中出現的量,因此,gram矩陣可以度量各個維度自己的特性以及各個維度之間的關係,所以可以反映整個影象的大體風格。只需要比較gram矩陣就可以比較兩個影象的風格差異了。

計算格拉姆矩陣 MLlib向量 矩陣 BLAS簡介

這裡了解一下就行了,真的只需要了解,用的時候自然就會了。買書的時候一定要注意了,一定要選大牛 大牛 大牛的書,那種雜七雜八的書,看的真的難受。既然選擇了,那麼就要堅持到底,即使這個選擇並不是最佳的選擇,但是有始有終,也是我一貫的行事風格。我現在只想快快結束這本書,趕緊去刷下一本書 向量 dense ...

gram矩陣的性質 矩陣分析(九)Gram矩陣

歐氏空間 v 是 mathbb 上的線性空間,定義對映 sigma v times v to mathbb 對於 alpha,beta in v 將 sigma alpha,beta 記為 left 若 sigma 滿足 對稱性 left left 右 齊次性 left k left 右 可加性 l...

Gram矩陣的意義

鏈結1 鏈結2 gram matrix實際上可看做是feature之間的偏心協方差矩陣 即沒有減去均值的協方差矩陣 在feature map中,每乙個數字都來自於乙個特定濾波器在特定位置的卷積,因此每個數字就代表乙個特徵的強度,而gram計算的實際上是兩兩特徵之間的相關性,哪兩個特徵是同時出現的,哪...