深度学习笔记——理论与推导之Structured Learning【Markov Logic Network】(十一)

Markov Logic Network

  1. Graphical Model是Structured Learning里一种用Graph描述evaluation的方式。Graphical Model有很多中,比如深度学习笔记——理论与推导之Structured Learning【Markov Random Field】(十)中的Factor Graph和MRF都是属于Undirected Graph,Markov Logic Network属于Markov Random Field(MRF)的一种。\
    这里写图片描述
  2. Markov Logic Network是structured learning的一种,MLN是为了让机器能够有逻辑思维。这里需要解决三个问题:
    • Evaluation:现在这个状况有多合乎逻辑,也就是机器背后有一个knowledge base,也就是我们的model。把逻辑这件事情变成graphical model
    • Inference:选择最合乎逻辑的那个。
    • Training:学习这个knowledge base
      这里写图片描述
  3. 专有名词:
    • knowledge base:一系列公式(Formula)
    • Formula:P=>Q,P<=>Q …
      • 就是一堆由logic operation连接起来的谓语(predicate)。
      • Logic operation:~,∧,∨,=>,<=>
    • Predicate:P,Q
      • Predicate:就是一个function
      • Input:one or several objects
      • Output:True or False
        如下:
        这里写图片描述
    • Grounding:在predicate中,将所有可能的常量替换掉所有的变量。
      这里写图片描述
      这里写图片描述
    • World : 也就是一种可能情况,带入所可能得constant,判断每一个grounded predicate是true还是false。
      如下,有3个person,有3个Predicate所以可以做例如下面的两个世界(全是True or 全是False等):
      这里写图片描述
  4. Evaluation-Logic:通过一个给定的Knowledge Base评估这个世界是否合乎逻辑。
    假设今天有两个Person,A和B,world就有5个可能,如下,那么有个世界是所有output都是True,一个世界有一个宅(B) = F,接下来我们发现左边的世界是合乎逻辑的,右边的世界是不合乎逻辑的。
    这里写图片描述
  5. Inference - Logic:
    给定已知的Evidence和Knowledge base把word中未知的部分找出来:
    这里写图片描述
    比如上图,有3个未知的结果,因此有2^3 = 8个可能的值,用Knowledge base检查这8个可能值是否合乎逻辑。
  6. Evaluation - Soft Logic:
    • 因为真实的世界比较复杂
      L(U) = logical or not => L(U) = how logical it is(这个值越大越合乎逻辑)。
    • 每一个formula都会被赋予一个weight,原来代表它的可信值。当这个世界违背了某个formula时,它出现的可能性会变小,而不是变没。
      这里写图片描述
    • 如何衡量这个world(U)是有多合乎逻辑:
      下面的i代表一个formula,wi是formula i的weight,ni:这个formula在这个世界成立的次数:
      这里写图片描述
      我们也可以算一个世界出现的几率,如上面右边那个P(U)。
  7. Inference - Soft Logic:
    • 给定一个世界U = {X,Y},X是已知的,找到一个最有可能的Y。
      这里写图片描述
      L(X,Y)也可以化成一个MRF或者factor graph,因此这个Inference可以用Gibbs sampling解。
  8. Example:
    • 一个formula:宅(x) -> 做研究(x)
      一个person,所以有一个Grounding:
      Person = {Anna}
      假设这个w1 =1.5,由于下面除了第二组:宅(A)->做研究(A)中,T是不能推出F的,所以这种情况出现0次即n1(U) = 0。
      这里写图片描述
      因此当给定Evident:宅(A) = T,那么做研究(A) = T的几率为0.82,做研究(A)= F的几率为0.18。
    • 假设我们现在有两个Evidence,两个formula,两个grounding,因此,以第一个为例“做研究(A) = T ,宅(B) = T,做研究(B) = T”,因此对于formula 1:宅(x) =>做研究(x),有以下情况:宅(A,T)=>做研究(A,T) ;宅(B,T) => 做研究(B,T)在世界U中发生过两次,所以n1(U) = 1+1 = 2
      这里写图片描述
      Markov Logic Network其实可以用来做一般Machine Learning做的事,因为他其实就是Graphical Model。Markov Logic Network是可以解释的。
      上面这些事情可以用Graphical Model来描述它,将ground predicate看成是node,formulas看成是一个factor,所以我们可以计算他们的evaluation function:
      这里写图片描述
      那么这每个function应该长什么样呢?
      这里写图片描述
      这里写图片描述
    • 我们经常将Markov Logic Network写成Markov Random Field的样子,所以:
      这里写图片描述
    • 那么如何Learning呢?
      情况一:首先定义好一组formulas(这些formulas可以是对的,也可以是错的),world U,并且为这些formulas设置weights。
      接下来最大化world的几率:
      这里写图片描述
      情况二:假设这个世界上有些东西是我们无法观察到的,那么我们有两种方法,第一种是将不知道的都设置为false,第二种是将这些不知道的设置为?(当成是Hidden world,可以当成structured svm with hidden information来处理)
      这里写图片描述
      我们可以根据以下方法来计算带有hidden world的Markov Logic Network(X表示这个世界中可以观察到的部分,H表示这个世界中hidden的部分,接下来穷举H所有的可能值,并计算它的几率,然后我们把所有H的几率加起来代表P(X)的几率,然后我们就可以对权重做微分)
      这里写图片描述
  9. Learning the Correctness:
    这里写图片描述
  10. Outlook:
    这里写图片描述

猜你喜欢

转载自blog.csdn.net/sysstc/article/details/77067537
今日推荐