foxPSL Poster at AAAI 2015 Spring Symposium on KRR

  • View
    172

  • Download
    5

  • Category

    Science

Preview:

Citation preview

eXtended  PSL  :  FoxPSL  language  ● Describe  individuals  and  classes:  class Person: anna, bob class Party: demo, repub individuals: ufo        

● Describe  predicates  and  classes  of  arguments:            predicate: retired(_) predicate: teaches(Professor, Course, Student) ● Certain  predicates  have  special  constraints:            predicate [Symmetric]: friends(Person, Person) predicate [Functional]: isChildOf(Person, Party) predicate [PartialFunctional]: votes(Person, Party) ● Describe  facts  and  automa8cally  infer  classes  of  individuals:   fact [truthValue = 0.8]: friends(anna, carl) fact [0.9]: !votes(anna, repub) ● Describe  rules:  rule [weight=0.7]: votes(A,P) & friends(A,B) => votes(B,P)

● Describe  constraints  (rules  with  infinite  weight):  rule: dead(P) => !working(P)

● Class-­‐aware  existen8al  quan8fier: rule: professor(P) => EXISTS [C,S] teaches(P,C,S) | retired(P)

● Par8ally  grounded  rules: rule [3]: rich(P) => votes(P, repub)

● Experimental  FoxPSL:  set  variables,  unions,  iterators  on  sets predicate: indep(Var, Var, Set{0,3}[Var]) rule: indep(X,Y,{}) => !causes(X,Y) rule: !indep(X,Y,W) & indep(X,Y,{W,Z}) => EXISTS [W1 in W] causes (Z,W1) | … rule: indep(X,Y,W) & FOREACH [Z strictSubsetOf W] !indep(X,Y,Z) & …=> !causes(X,Y) fact: !indep(x, y, {u, w})

 Photo  credits  to:  Anonymous  (hHp://www.wallpapervortex.com/wallpaper-­‐43783_fox_curious_fox.html#.VQI3HoF4pZk),  Alex  Mody  (hHp://www.alexmody.com/photo/red-­‐fox-­‐running-­‐in-­‐snow/),    Ivan  Kislov  (hHps://500px.com/photo/39137918/-­‐by-­‐ivan-­‐kislov),  Dan  Busby  (hHp://danbusby.ca/gallery/index.php/Non-­‐bird-­‐Wild-­‐Life/Mammals/20121218_Red-­‐Fox_0072).    

Optimized  PSL  :  Grounding  and  inference  

•  Op8mized  grounding  with  class  informa8on:  •  Reduce  number  of  possible  groundings,  especially  

existen8al  quan8fier    

•  Smart  implementa8on  of  constraints:  •  Remove  symmetric  constraints  •  Remove  trivial  func8onal  constraints  •  Push  trivial  par8al  func8onal  constraints  into  nodes    

•  Lazy  inference:  do  not  send  same  message  twice  •  Unless  internal  state  changed  enough  

•  Configurable  step  for  convergence  detec8on:    •  Extra  steps  vs.  convergence  overhead  

Sara  Magliacane  ,  VU   Philip  Stutz,  UZH   Paul  Groth,  VU   Abraham  Bernstein,  UZH  

FOXPSL  Code:  

hHps://github.com/uzh/fox  Contact:  

s.magliacane@vu.nl  

•  Distributed  ADMM  for  grounded  PSL  s.o.t.a.:  ACO,  implemented  on  GraphLab  

•  Evalua8on:  4  synthe8c  datasets  of  increasing  size  on  a  social  network  of  voters  (550K  to  2.1M  voters)  

•  SLURM  cluster:  4  nodes,  each  with  2x10  cores  and  128GB  RAM  

•  BeHer  solu8on  quality  •  More  evalua8ons  in  the  paper  

Motivation:  Probabilistic  Soft  Logic  (PSL)  •  Template  language  for  hinge-­‐loss  Markov  Random  Fields  •  Soh  truth  values  in  [0,1],  e.g.  friends(anna,  bob)  =  0.8  •  Weighted  Horn  rules  with  disjunc8ve  clauses  •  MAP  is  a  constrained  convex  minimiza8on  problem  

Fast  PSL  :  Performance  comparison  to  s.o.t.a.  

Fast  Optimized  eXtended  Probabilistic  Soft  Logic  

FoxPSL  in  a  nutshell  •  First  end-­‐to-­‐end  distributed  PSL  implementa8on  •  Based  on  distributed  graph  processing  system  Signal/Collect  •  Alterna8ng  Direc8on  Method  of  Mul8pliers  for  MAP  inference  

•  Fast:  beats  state-­‐of-­‐the-­‐art  ADMM  implementa8on  for  PSL  •  Op8mized:  implements  op8miza8ons  in  grounding  and  inference  •  eXtended:  provides  a  Domain  Specific  Language  extending  PSL:  

•  Class  system  with  automa8c  inference  of  classes  •  Class-­‐aware  existen8al  quan8fier  •  Par8ally  grounded  rules  

ACO  

FoxPSL  

Classes

PredicatesRules

KnowledgeGrounded Rules

Constraints Bipartite Function/Variable Graph

InferencesConsensusOptimization

Graph ConstructionGrounding

Implementation:  System  architecture  

•  Grounding:  for  each  rule,  subs8tute  all  possible  individuals              rule  [weight]  b1  ∧  …  ∧  bn    =>    h1  ∨  …∨  hm     rule [3]: rich(P) => votes(P, repub) 3: rich(anna) => votes(anna, repub), … •  Graph  Construc8on:  convert  each  grounded  rule  to  a  MRF  

poten8al  using  Lukasiewicz  operators    weight  *  max(  0,    b1  +    …  +  bn    -­‐  n  +  1  -­‐    h1  -­‐  …-­‐  hm)2  

3 * max(0, rich(anna) - votes(anna, repub))2

•  ADMM  Consensus  op8miza8on:  implemented  in  Signal  Collect  •  Each  grounded  rule  (subproblem)  is  minimized  separately  •  Consensus  nodes  enforce  agreement  among  subproblems  

Recommended