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

foxPSL Poster at AAAI 2015 Spring Symposium on KRR

Embed Size (px)

Citation preview

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