foxpsl poster at aaai 2015 spring symposium on krr

1
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) Classaware 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/wallpaper43783_fox_curious_fox.html#.VQI3HoF4pZk), Alex Mody (hHp://www.alexmody.com/photo/redfoxrunninginsnow/), Ivan Kislov (hHps://500px.com/photo/39137918/byivankislov), Dan Busby (hHp://danbusby.ca/gallery/index.php/NonbirdWildLife/Mammals/20121218_RedFox_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: [email protected] 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 hingeloss 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 endtoend distributed PSL implementa8on Based on distributed graph processing system Signal/Collect Alterna8ng Direc8on Method of Mul8pliers for MAP inference Fast: beats stateoftheart 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 Classaware existen8al quan8fier Par8ally grounded rules ACO FoxPSL Classes Predicates Rules Knowledge Grounded Rules Constraints Bipartite Function /Variable Graph Inferences Consensus Optimization Graph Construction Grounding 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

Upload: sara-magliacane

Post on 15-Jul-2015

173 views

Category:

Science


5 download

TRANSCRIPT

Page 1: foxPSL Poster at AAAI 2015 Spring Symposium on KRR

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:  

[email protected]  

•  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