最后介绍目前最先进的方法:
信仰传播。。。。?
循环信仰传播,Belief Propagation是一种动态编程方法,用于在图模型中解决条件概率查询的问题(没看明白)
迭代过程中,相邻的节点的变量相互“交谈”,传递消息。(wtf)
当达成共识时,计算出最终的信念。(wtf?)
(这里的意思是,还是使用了近似推断的方法,就是通过不停的迭代,当最终的结果进入稳态之后认为任务目标达成,训练结束,得到最终的结果)
任务:计算图中的节点数*
条件:每个节点只能与其邻居进行交互(传递消息)
这个问题貌似看起来挺弱智,但是实际上是这样得,首先,注意途中得一个there's 1 of me的节点,假设我们目前处于这个节点之上,并且我们只能和前后的邻节点传递信息,
这个时候,我们需要双向,前后两个节点提供position的信息,然后,如上图所示,我们才能计算出整个连接的长度,否则仅仅凭借单向的信息是无法计算的。
接下来来看一种更加复杂的情况:
这里通过这些事例主要是想说明 belief propagation是如何传播的。
然而,普通的 belief propagation 无法处理存在cyclic(循环)的情况,这也很好理解,比如上图我们在两个节点之间又加入一条连线,这个时候就没法计算全部节点的数量了。
这个时候就要用到“loopy belief propagation”
关于loopy bp algorithm,一方面比较复杂。。。一方面不太需要。。。我本来是想看node2vec和gnn的。。结果顺序搞错了看了这一章节,后续写完了第七、第八课的介绍再会回过头来写这个吧。