Gram格拉姆矩阵在风格迁移中的应用
Gram定义 n维欧式空间中任意k个向量之间两两的内积所组成的矩阵,称为这k个向量的格拉姆矩阵(Gram matrix) 根据定义可以看到,每个Gram矩阵背后都有一组向量,Gram矩阵就是由这一组向量两两内积得到的,先说一下向量内积是做什么的。 向量的内积,也叫向量的点乘,对两个向量执行内积运算,就是对这两个向量对应位一一相乘之后求和的操作,内积的结果是一个标量。例如对于向量a和向量b: a和b的内积公式为: 两个向量的内积有什么用呢? 一个重要的应用就是可以根据内积判断向量a和向量b之间的夹角和方向关系(详细推导可参见: https://blog.csdn.net/dcrmg/article/details/52416832 ),具体来说: a·b>0 方向基本相同,夹角在0°到90°之间 a·b=0 正交,相互垂直 a·b<0 方向基本相反,夹角在90°到180°之间 简单来说就是内积可以反映出两个向量之间的某种关系或联系 。Gram矩阵是两两向量的内积组成的,所以 Gram矩阵可以反映出该组向量中各个向量之间的某种关系 。 风格迁移中的Gram矩阵 深度学习中经典的风格迁移大体流程是: 1. 准备基准图像和风格图像 2. 使用深层网络分别提取基准图像(加白噪声)和风格图像的特征向量(或者说是特征图feature map) 3. 分别计算两个图像的特征向量的Gram矩阵