为什么做内积就是两两列向量的相似计算呢?

来源:6-8 图像风格转换计算图构建与损失函数计算

紫梦沁香

2021-07-27

不大明白这个矩阵乘法的意义是什么
图片描述

写回答

1回答

正十七

2021-08-03

首先,在这里,我们要求解的是通道和通道之间的相似度,这个是由风格损失函数定义的。


其次,通道与通道间的相似度的计算方式是内积然后做归一化,这也是由损失函数定义的。


再之后,我们再来看如何计算的,首先,features的shape是[batch_size, w*h, channel], 然后在调用tf.matmul的时候,是后两维做操作,所以batch_size这一维可以忽略,就看[w*h, channel]。然后tf.matmul中有一个参数是adjoint_a,这个操作是让第一个参数转置,即由[w*h, channel]变成[channel, w*h]。


所以,矩阵乘法就变成了在[channel, w*h]和[w*h, channel]两个矩阵之间,根据矩阵乘法的原理,计算就是第一个矩阵的每一行,和第二个矩阵的每一列去做内积。这个操作就是第二步的相似度的计算。得到的矩阵就是[channel, channel]大小,每一个位置<i,,j>代表的是第i个channel和第j个channel的相似度。

0
0

深度学习之神经网络(CNN/RNN/GAN)算法原理+实战

深度学习算法工程师必学,深入理解深度学习核心算法CNN RNN GAN

2617 学习 · 935 问题

查看课程