Gram矩阵的理解
Gram矩阵实际上是各个向量(feature)之间的偏心协方差矩阵,即没有减去均值的协方差。
在CNN style transfer论文中,Gram矩阵用来产生Style picture和Generated picture间的误差函数:
这里Gram是 :
在feature map中,每个数字都是特定卷积核在特定位置做卷积得到的,这个数字代表了某一特征的强度。
Gram矩阵计算的是某一选定的卷积层中各个chanel向量的偏心协方差矩阵。
各个chanel是用不同卷积核抽取的不同特征。
所以Gram计算的实际上是两两特征之间的相关性大小,哪两个特征是同时出现的,哪两个是此消彼长的等等,同时,Gram的对角线元素,还体现了每个特征在图像中出现的量,因此,Gram有助于把握整个图像的大体风格。
至于为什么不用协方差矩阵计算损失函数,协方差矩阵是规范化了的相关性值,并不能体现某一特征出现的大小(量),只能体现各个特征之间的相关性,从而无法全面的体现图像的风格。