Differentiable Inductive Logic Programming for Structured Examples

Authors: Hikaru Shindo, Masaaki Nishino, Akihiro Yamamoto5034-5041

AAAI 2021 | Conference PDF | Archive PDF | Plain Text | LLM Run Details

Reproducibility Variable Result LLM Response
Research Type Experimental Our experiments show that our new framework can learn logic programs from noisy and structured examples, such as sequences or trees. Our framework can be scaled to deal with complex programs that consist of several clauses with function symbols.
Researcher Affiliation Collaboration 1 Kyoto University 2 NTT Communication Science Laboratories, NTT Corporation
Pseudocode Yes Algorithm 1 Clause generation by beam searching; Algorithm 2 Enumeration of ground atoms
Open Source Code Yes The source code of all experiments will be available at https://github.com/hkrsnd/dilp-st
Open Datasets Yes We performed our experiments on several standard ILP tasks with structured examples, partially adopted from Shapiro and Caferra (Shapiro 1983; Caferra 2013). Through all the tasks, sets of variables were consistently fixed, i.e., V = {x, y, z, v, w}. Member... Plus... Append... Delete... Subtree...
Dataset Splits No We divided the data into 70% training and 30% test. The paper does not explicitly mention a separate validation split or how it was used for model tuning.
Hardware Specification Yes CPU: Intel(R) Xeon(R) CPU E5-1650 v4 @ 3.60 GHz, GPU: Ge Force 1080Ti 11 GB, RAM: 64 GB
Software Dependencies No The paper does not specify any software dependencies with version numbers (e.g., Python, PyTorch, TensorFlow versions).
Experiment Setup Yes We set Nbody = 1 and Nnest = 1. We set beam size Nbeam, and beam step Tbeam is (Nbeam, Tbeam) = (3, 3) for the Member task, (Nbeam, Tbeam) = (15, 3) for the Subtree task, and (Nbeam, Tbeam) = (10, 5) for the other tasks. We set target program size m as m = 2 for the Member and Delete tasks, m = 3 for the Plus and Append tasks, and m = 4 for the Subtree task. We set T for the differentiable inference as T = 8 for the Plus task and T = 4 for the other tasks. We set γ = 10 5 for the softor function. We trained our model with the RMSProp optimizer with a learning rate of 0.01 for 3000 epochs. We sampled minibatches during the optimization, and each mini-batch contained 5% of the training examples chosen randomly for each iteration. The weights were initialized randomly in each trial.