这里举一个不太恰当的小例子🌰,是我对GNN中一些关键概念的理解,如果有什么不合适的地方欢迎指出!
以《名侦探柯南》中的人物关系图为例,这就可以看作是一张graph,其中,每个人物是一个node,每个node都有自己的feature,他们之间的关系构成了edge。
假设我们只知道怪盗基德的feature是个盗贼,那么“盗贼”就是基德的初始feature。但我们发现,基德经常和三个人来往,而这三个人都是江古田高中的学生,“江古田高中的学生”就是这三个人的feature,那么我们据此可以推测出基德也是江古田高中的学生,于是update基德的feature,得到了他最终的feature——“盗贼”+“江古田高中的学生”。
在这个例子中,“根据三人feature推断出基德feature”的过程就是【聚合】,而“得到基德最终feature”的过程就叫【更新】。
那么什么是【多层聚合】呢?
我们来看左边框框中,“阿笠博士认识柯南”和“柯南知道黑衣组织”可以看作是【第一次聚合】,第一次聚合后,阿笠博士不知道黑衣组织。但因为柯南知道黑衣组织的情况,所以阿笠博士通过柯南也知道了黑衣组织的存在,这个过程就叫【二次聚合】。