Human reasoning involves recognising common underlying principles across many examples by utilising variables. The by-products of such reasoning are invariants that capture patterns across examples such as "if someone went somewhere then they are there" without mentioning specific people or places. Humans learn what variables are and how to use them at a young age, and the question this paper addresses is whether machines can also learn and use variables solely from examples without requiring human pre-engineering. We propose Unification Networks that incorporate soft unification into neural networks to learn variables and by doing so lift examples into invariants that can then be used to solve a given task. We evaluate our approach on four datasets to demonstrate that learning invariants captures patterns in the data and can improve performance over baselines.
The authors propose a neural network approach to variable unification and
reasoning by example as a way to mimic the human ability to identify invariant
patterns in examples and then apply them more generally in practice.
This general idea of identifying invariates and mapping new instances to
them is well motivated by the authors, citing work in philosophy of mind,
cognitive science, and developmental psychology.
The authors go on to propose MLP, CNN and Memory Network models
of unification for sequence, grid, and story reasoning tasks respectively.
Experiments on the sequence and grid datasets demonstrate the data efficiency
of this approach. MLP and CNN models with unification achieve near perfect
performance in fewer iterations (an order of magnitude fewer in the MLP case!)
 than their non-unification enabled counter parts.
Unification enabled models also demonstrate high performance in a reduced
training set setting (using only 50 training examples).
While this is encouraging, these are very simple toy tasks.
I also am in doubt as to whether the representation of these problems
causes some issues. In the sequence task, one question the models are
trying to solve is what symbol is the head or tail of the sequence.
Modeling variables over the sequence of symbols here is, in a sense, the
wrong object of study. The position of the symbols would need to be
represented, e.g.
a b c d
1 4 3 1
where I've represented positions as a-d, and the learned invariant about
head questions would be:
X:a b c d
Y:1 4 3 1
As is, by mapping symbols and not positions to variables, one cannot,
at the variable level distinguish between the two 1s in the sequence above.
My guess is that in practice the bi-GRU model that produces embedding
features of the symbols in sequence is implicitly representing head/tail
positioning.
Similar arguments could be made about the grid example.
I don't find the experiments/analysis on the bAbI dataset very convincing.
For instance, in the example given in Figure 4b (reproduced below)
is shown as an example of
temporal reasoning, where a symbol Z is mapped to the
word morning (a symbol distinguishing a time), and the question asked is
where was Bill before school.
If logical reasoning is being used to solve this question, surely the
symbol 'before' must also be represented as a variable. Its possible that
the model is instead learning a trick about mutual exclusivity, i.e. that
Y:school is the only location symbol not mentioned in question but this
could fail as a general strategy.
this Z:morning X:bill went to the Y:school
yesterday X:bill journeyed to the A:park
where was X:bill before the Y:school
A:park
Figure 4b
It would make for a much more interesting paper if the authors took
examples such as these and formed counter-factuals to probe the way
the models are answering the questions. E.g., transforming the question
in 4b to "where was X:bill today" or "where was X:bill after school."
Because the authors use soft unification, interpretability is difficult
to assess. Interpretability is crucial here because to claim that unification and reasoning by logical induction
is being used to solve tasks, it becomes important to show how the neural networks
make their decisions. Given the instances of extra variables and one to many
mappings on the bAbI dataset it seems very likely that the models are not
solving many tasks
using unification as it would be possible to learn to use the symbols directly
to learn to answer. As such, I think these issues are not addressed in the
paper sufficiently to warrant acceptance.
Minor Notes
- In definition 1, the definition of Variable is a little confusing because there are two different senses of the word in use. I understand them to be (1) Variable (X) in the logical template that is intended to be learned and used in problem solving, and
(2) variable (x) in the neural network model that is a soft asignment of
the Variable to a default symbol s. It would be nice if this distinction could
be noted or made clearer.
- In the definition 2, in the phrase "is the invariant example such as a tokenized story" it might be worth stating that the tokens are the symbols in S.
- My understanding is that each unique symbol in the invariate is a potential
variable. Does this mean there are no co-referent symbols in the invariate?
Would be helpful to state whether babi contains co-referent expressions
and how these might affect the model.
- It might be interesting to see how model architecture affects variable
learning. For example, does a CNN result in more sensible variable
assignments  than the mlp on a flattened representation of the grid problem?
- What is the strongly supervised case? These are token level annotations I think (at least for babi) but it might be good to specify in more detail what
they  are.
- The figure and explanation of the UMN are not very clear. From the figure
is does not seem that the variables interact with the memory at all. More
space could be devoted to this section.
Possibly Relevant Related Work
Brenden Lake. Compositional generalization through metasequence-to-sequence learning. NeurIPS 2019.