C++,python,热爱算法和机器学习
全部博文(1214)
分类: IT业界
2020-05-23 11:26:53
从向量点乘角度有助于理解格拉姆矩阵。向量点乘可以看作衡量两个向量的相似程度,对于二维向量来说,两个单位向量,方向一致,点乘为1,相互垂直,点乘为0,方向相反,点乘为-1.因为在单位向量的情况下,结果由两个向量夹角cos的值决定。而对于多维向量,向量点乘就是对应位置乘积之后相加,得到的结果仍然是标量,含义和二维向量一样。格拉姆矩阵就是由两两向量内积组成,如果到这里直接提出格拉姆矩阵可以度量各个维度自己的特性以及各个维度之间的关系的结论,我当时刚看到的时候还是不太懂。可以举个例子来看:
我们可以记图中红色channel为feature map的通道i,黄色为通道j,吴恩达的例子是通道i用于分辨图片中是否有竖条纹,通道j用于分辨图片中的橙色,那么把这两层flatten之后进行对应元素点乘相加的操作,得到的格拉姆矩阵中的值便可以用之前向量点乘的概念来理解,即便表示通道i和j在flatten之后的相似度,这里就是图片中竖条纹和橙色是否倾向于同时出现。格拉姆矩阵的维度由通道数决定的,这里在只有i,j两个通道的情况下,矩阵维度是2*2。到这里我们就可以看出格拉姆矩阵中的值便是在衡量不同通道之间的相关性。值得一提的是,因为点乘的对象包括通道自身,所以格拉姆矩阵的对角线元素还可以体现出特征在图片中出现的量。到这里格拉姆矩阵可以度量自己的特性以及各个维度之间的特性好像也就不难理解。
作者:核桃
链接:
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。