图网络中的图与特征的融合

3 篇文章 0 订阅
2 篇文章 0 订阅

卷积网络,例如2D卷积:

               

上图中的右图是通过卷积核得到的结果,代码如下:

import matplotlib.pyplot as plt
import pylab
import cv2
import numpy as np

img = plt.imread("1.jpg")                        

plt.imshow(img)                                     
pylab.show()

fil = np.array([[ -1,-1, 0],                       
                [ -1, 0, 1],
                [  0, 1, 1]])

res = cv2.filter2D(img,-1,fil)                      
plt.imshow(res)                                    
plt.imsave("res.jpg",res)
pylab.show()

但是,我们这样来看(看上述两张图的下边),从第一张图,我们很明显可以看清楚,小雪豹(这是雪豹哈,图片来源于百度图片搜索)爬在桌子上。但是,看第二章图呢,好像有点看不清哈,不对,确实不知道小雪豹在干嘛。自己认为,2D卷积损坏了原有的结构化信息。所以,随着技术的进步,GNNs( Graph  Neural Networks ) 将变为一种趋势,就算不是一种趋势,这种空间结构的信息,对人工智能也会非常非常有用,不论对于欧式数据,或者非欧式数据。通过上面的例子,我们来谈谈,图网络中信息融合,这里面不仅仅是特征,而且是融合了特征之间的关系。

图网络融合自身特征和领域特征

假设有samples 的个数为4,  samples的特征描述为 :

                                                                               {\rm{X = }}\left[ {\begin{array}{*{20}{c}} 0&0\\ 1&{ - 1}\\ 2&{ - 2}\\ 3&{ - 3} \end{array}} \right]

并且我们知道每个sample之间的关系如下图所示:

                                                                          

将samples直接的关系描述为(图矩阵):

                                                                               {\rm{A = }}\left[ {\begin{array}{*{20}{c}} 0&1&0&0\\ 0&0&1&1\\ 0&1&0&0\\ 1&0&1&0 \end{array}} \right]

我们进行这样的操作,如下公式所示:

                                              {\rm{A}} \times {\rm{X = }}\left[ {\begin{array}{*{20}{c}} 0&1&0&0\\ 0&0&1&1\\ 0&1&0&0\\ 1&0&1&0 \end{array}} \right] \times \left[ {\begin{array}{*{20}{c}} 0&0\\ 1&{ - 1}\\ 2&{ - 2}\\ 3&{ - 3} \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} 1&{ - 1}\\ 5&{ - 5}\\ 1&{ - 1}\\ 2&{ - 2} \end{array}} \right]

发现什么没有?\rm{A}\times {\rm{X} 的结果的每一行表示相邻节点特征之和,这里说一句,“数学真的很好玩”。

上述仅仅包含了邻域,那么我们怎么才能包含自身的特征呢,方法很简单:

\rm{A}=\rm{A}+\rm{I}, \rm{I} 表示单矩阵。然后在\rm{A}\times {\rm{X},最终得到的结果,就是我们包含了自身特征的结果,即就是自身节点和所有相邻节点的特征之和。如下:

                                                                      {\rm{A = A + I = }}\left[ {\begin{array}{*{20}{c}} 1&1&0&0\\ 0&1&1&1\\ 0&1&1&0\\ 1&0&1&1 \end{array}} \right]

                                                   {\rm{A}} \times {\rm{X = }}\left[ {\begin{array}{*{20}{c}} 1&1&0&0\\ 0&1&1&1\\ 0&1&1&0\\ 1&0&1&1 \end{array}} \right] \times \left[ {\begin{array}{*{20}{c}} 0&0\\ 1&{ - 1}\\ 2&{ - 2}\\ 3&{ - 3} \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} 1&{ - 1}\\ 6&{ - 6}\\ 3&{ - 3}\\ 5&{ - 5} \end{array}} \right]

  • 10
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值