<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Atharv Sonwane</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Abhinav Lalwani</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Sweta Mahajan</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Gautam Shrof</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Lovekesh Vig</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>APPCAIR</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>BITS Pilani</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>K K Birla Goa Campus</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Indian Institute of Technology</institution>
          ,
          <addr-line>Delhi</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>TCS Research</institution>
          ,
          <addr-line>New Delhi</addr-line>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2022</year>
      </pub-date>
      <abstract>
        <p>Symbolic systems excel at reusing and composing modular functional units when solving problems such as simple analogical reasoning. However, they are less amenable to processing real-world data (e.g. images), and rely on additional (often hard-coded) mechanisms to convert such high-dimensional data to symbolic descriptions. In this work, we describe a modular approach 'Neural Analogical Reasoning' wherein elementary neural transformations operate and compose on distributed representations of high-dimensional inputs. We apply this approach on a class of visual analogical reasoning problems that involve discovering the sequence of transformations by which pairs of input-output images are related, so as to analogously transform future inputs. This can be viewed as a program synthesis task and solved via symbolic search if represented in symbolic form. Instead, we search for a sequence of elementary neural network transformations that manipulate distributed representations of the inputs. We present two variations of learning useful representations for this task and compare both with end-to-end meta-learning based approaches to demonstrate the importance of performing an explicit search.</p>
      </abstract>
      <kwd-group>
        <kwd>neural reasoning</kwd>
        <kwd>visual analogy making</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>Consider the class of visual reasoning problems as demonstrated in Figure 1 in which each
task involves a functional analogy (i.e.,  ∶  ( ) ∶∶  ∶  ( )
) [1]. Analogical reasoning in this
context can be thought of as the reuse of some transformation  and analogy making as the
discovery of these transformations. By modelling these transformations as compositions of
elementary functional units, we can cast analogy making into a program synthesis problem.
Given a set of input-output pairs  and a set of functional units  , we must discover a composition
 =  1. 2. … .  where   ∈  such that  (  ) =   for all (  ,   ) ∈  . This program  can then
applied to a query image to generate an analogous output. The key questions to be answered in
such a frameworks are how these elementary functional units   are to be represented and how
they can be ensured to be composable with each other and usable across a wide enough range</p>
      <p>Classical reasoning systems can solve such problems
via discrete search over compositions of elementary
primitives [2, 3]. There have also been advances in
However, they require both the inputs and the
elementary primitives to be represented with predefined
symbols. For the problem in Figure 1, the images would
need to be explicitly annotated with discrete symbolic
features such as the type of shape and its location in the
image. Such use of predefined symbols allows
classical reasoning systems to leverage compositionality and
reuse computational units to perform robust reasoning.
,
,
)
)

Task</p>
      <p />
      <p>Solution
image pairs, generate the analogous
output for the given query image.</p>
      <p>However, it restricts their applicability in more complex domains where feature extraction may
be non-trivial while also making it dificult to discover new knowledge from data.</p>
      <p>Deep Neural Networks (DNNs), on the other hand, have shown an impressive ability to
learn compressed distributed representations of high-dimensional data in complex domains
such as images [4], text [5] and graphs [6]. Despite these successes, it remains unclear how
to reason over such learned representations to solve analogy problems. In this paper, we take
the approach of combining a discrete search procedure with neural primitives that manipulate
distributed representations in a latent space. This allows us to leverage both the flexibility of
DNNs and the ability of discrete search to construct arbitrarily complex compositions.</p>
      <p>
        Our proposed system consists of (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) a distributed representation space  into and from
which images can be converted with an encoder  ∶  → 
and decoder  ∶  → 
and
(
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) neural primitives   ∶  →
      </p>
      <p>that approximate the action of symbolic primitives within
this representation space and that are composable with each other. Given a task as described
in Figure 1, our system searches over sequences of such neural primitives to find a program
that transforms the given input to the given output. By using a search procedure in place
of a completely end-to-end learned system, we retain the flexibility of having independent
functional units that can be reused, debugged and composed arbitrarily to build transformations
in an interpret able manner. And using learned primitives means tedious hand-crafting of new
symbols and procedures can be replaced with providing relevant examples of the transformation
to be learned. Thus, our system aims to retain the power of compositional reasoning that
symbolic primitives provide while being able to generalize beyond the practical capacity of a
purely symbolic approach to richer inputs.</p>
      <p>In such a framework, the ability of primitives to compose with each other while generalising
to similar but unseen domains is essential for successful analogical reasoning. We obtain
almost arbitrarily composable primitives by using neural networks that manipulate distributed
representations within the same latent space (  ∶  →  ). To learn these neural primitives
as well as the latent space they operate on, we take inspiration from the Neural Algorithmic
Reasoning framework [7], which describes how to neuralize an erstwhile symbolic algorithm
(in our case, transformation) so that it can deal with rich inputs directly without requiring them
to be explicitly transformed to a symbolic form. We also describe and evaluate two variations
of learning distributed representations of the input - a guided approach in which representation
space is derived from symbolic descriptions of the inputs and an unguided approach) in which
the representation is learned directly from the high-dimensional inputs (in this case images).</p>
      <p>
        Contributions Through this paper we (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) introduce a challenging few-shot visual analogical
reasoning task; (
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) propose a neural reasoning framework that makes use of learned primitives
along with an explicit search procedure to solve this task; (
        <xref ref-type="bibr" rid="ref3">3</xref>
        ) evaluate two diferent methods
for representation learning within this framework; (
        <xref ref-type="bibr" rid="ref4">4</xref>
        ) demonstrate that elementary primitives
learned through this approach are able to both compose and generalise - satisfying essential
requirements of analogical reasoning; (
        <xref ref-type="bibr" rid="ref5">5</xref>
        ) show the importance of a search procedure when
solving the task by comparing with neural networks based end-to-end meta-learning approaches.
      </p>
    </sec>
    <sec id="sec-2">
      <title>2. Related Works</title>
      <p>Analogical reasoning has been considered a fundamental trait of human intelligence for the
last half-century of AI research [8]. More recently, there has been a focus on characterising
similar types of abstract reasoning as the fundamental building blocks of intelligence [9, 10, 11].
We refer to [1] for a review of various broad approaches to analogical making in AI systems,
with our particular method building functional analogies. However, the ability to represent
concepts in a modular way and to transfer them across domains still eludes many modern
machine learning approaches [12]. Recent attempts at utilising neural networks for reasoning
tasks focus on creating modular architectures of neural networks that can be learned end to end
[13, 14, 10]. However, the reliance on fixed architectures limits the ability to learn and reuse
functional units. Further, these approaches limit inference to applying the trained network once
or at most a few times, rather than searching for the solution as is done in symbolic program
synthesis [2, 3]. Our system is able to reuse neural transformation units in an unconstrained
manner by exploiting the the ability of search to create arbitrarily complex compositions. This
idea of inferring programs made up of neural modules has also been used for visual question
and answering [15]. However this utilises a learned sequence model to generate programs and
solves a classification task as opposed to a generative one.</p>
      <p>The Neural Algorithmic Reasoning [7] framework takes a diferent approach to reasoning
with neural networks. Instead of learning end-to-end on a particular task, it proposes to learn a
symbolic algorithm as a neural network together with a high dimensional representation space
on which it can act. Such a neural algorithm can then be utilised in various rich domains by
learning an encoder and decoder for it. This approach has proven successful for learning to
execute graph algorithms [16] and is even able to transfer knowledge to learn related graph
algorithms [17]. We use a variant of this framework to construct neural networks that learn
from input and output data to execute symbolic primitives over a learned representation space.
We also investigate the properties of this representation space since learning disentangled
representations has been shown to be an important for visual abstract reasoning [18, 19, 20].</p>
      <p>Other symbolic approaches to analogical reasoning include learning to rank possible relations
based on features from a relational database [21] as well as Structure Mapping [22] and more
recent approaches [23] that use of graph representation learning to emulate Structure Mapping.
Our method difers from such approaches by operating directly on images without requiring
structured symbolic descriptions during test time. Our work also builds on a previous short
abstract [24], specifically by exploring an unguided way of representation learning which enables
the overall system to work without any symbolic descriptions at all.</p>
    </sec>
    <sec id="sec-3">
      <title>3. Methodology</title>
      <p>Problem Setting We introduce a class of visual analogical reasoning problems as shown
in Figure 1 to motivate our ‘neural reasoning’ system. Each problem consists of input-output
image pairs which are related by an unknown transformation. Given these pairs, the task is
to discover the transformation and apply it to a query image to generate the solution. The
images considered consist of items from a set of 20 simple shapes and handwritten characters
(from the Omniglot dataset [11]) placed on a 3 × 3 grid. The transformations between the input
and output images are programs composed of either control flow operations ( r e s e t and o u t )
or spatial transformations of shapes in the image. The latter consist of positional shifts in the
ordinal directions (e.g. s h i f t - r i g h t moves each shape in the image one grid-position to the
right), shape conversions (e.g. t o - s q u a r e converts each shape in the image to a square), and
afine transformations (e.g a f f i n e - r i g h t skews the the shape to the right).</p>
      <p>
        This problem setting can be interpreted as solving
weakly supervised evaluation tasks which consists of a
input-output image pairs and a query image for which
we have to generate the output given some strongly
supervised training data consisting of similar input- (a) (b) (c) (d)
output pairs and the associated transformation
procedure. We utilise the strongly supervised data to learn: Figure 2: Example of applying various
(
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) a representation space for the input data and (
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) transformations to an image from the
neural transforms that manipulate distributed represen- problem setting. (a) original image  ,
tations in this space. These can then be used to solve (b) s h i f t - r i g h t (x), (c) t o - s q u a r e (x),
the weakly supervised testing tasks. (d) a f f i n e - r i g h t (x)
Representation Learning Reasoning requires
constructing compositions of elementary functions. To use neural networks as functional units, we
ifrst need to obtain a latent space of real vectors into which we can embed the domains and
co-domains of our original elementary functions. In particular, we are interested in
representation spaces that are rich enough to represent a wide variety of shapes and sparse enough
to represent concepts distinctly enough to allow for robust manipulation. We approach this
in two related ways: (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) a guided representation derived from symbolic descriptions of the
input and (
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) an unguided representation learned directly from images (unguided). The guided
approach generates more composable transforms at the cost of requiring annotated data and
augmentations to enable generalisation The unguided approach generalises more naturally and
can be trained without annotations but sufers from worse transform composability.
      </p>
      <p>In the guided approach, we aim to shape the latent space to include information about the
input images that is relevant to the transformations, namely shape and position. We first train
an autoencoder (Encoder:   , Decoder:   ) on symbolic descriptions of the input images present
in the training data by minimising the negative log-likelihood loss between inputs and the
reconstructed vectors. The symbolic descriptions used are concatenations of a one-hot vector
denoting the shape present in the image and another denoting the position of this shape in
the grid. We then train a CNN based encoder   that takes images (denoted by  s) as inputs to
ift to the outputs of   (with frozen weights) by minimising the mean-squared-error between
the embeddings of images   ( () ) and embeddings of the corresponding symbolic vectors
  ( () ): MSE (  ( () ),   ( () )). To handle shapes at test time that were not seen during training,
we also include an additional shape-label (u n s e e n ) and train   to map shapes (whose labels
weren’t included in the symbolic description) to the latent vectors generated by   corresponding
to the u n s e e n labels. While this approach ensures that the latent space encapsulates relevant
information, it is limited by the reliance on symbolic descriptions. Addition of any new attributes
of the input over which we would like to include transformations (e.g. a new shape, or continuous
- such as afine - transformations of existing shapes) would require modifying the input space
(size of one-hot input vector), requiring both latent space and transforms to be re-trained.</p>
      <p>Learning the latent representation in an unguided way alleviates these limitations at the
cost of not always capturing relevant information. In the unguided approach, we train
a CNN based autoencoder (  ,   ) by minimising mean-squared-error for reconstructions:
MSE (  (  ( () )),  () )). We expect the autoencoder to generalize to unseen shapes and
positions given enough data. One of the main issues encountered here is the accumulation of noise
after applying each transform, which degrades compositional performance. Using a sigmoid
activation after the final layer of the decoder drastically reduces noise as the image pixels are
binary. Further details can be found in the appendix attached.</p>
      <p>
        Transform Training Our system makes use of neural
networks to approximate the actions of the elementary spatial
transformations that make up the mapping between input and output
images. These neural primitives   ∈  need to (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) be universally
composable with each other by operating on the same distributed
representation space  (i.e. they must be of the form   ∶  →  )
and (
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) generalise to latent representations of similar images
enabling the transfer of analogical concepts (here compositions
 =  1. 2. … .  ) across inputs. For each elementary
transformation t f we construct a neural network  tf and train it to satisfy
the constraint that t f () =  ⟹  tf (()) = () for some
encoder  , using the procedure from [24]. Further details can be
found in the attached appendix.
      </p>
      <p>Program Execution We model mappings between input and
output images in the visual analogy tasks as programs composed
of primitives which are either control-flow operations ( r e s e t combine
and o u t ) or spatial transformations. Figure 3 describes the
execution of such programs. Since spatial transformations act
independently on each shape, we first extract individual shapes
by identifying connected components within the image. Each
extracted image is converted into a latent vector using encoder  
and stored in the input and memory bufers. The program is executed sequentially with neural
primitives being applied to vectors in the memory bufer and control flow operations indicating
transfer of vectors between bufers. After execution is complete, the vectors present in the
output bufer are converted to images using   in the unguided case or by manual construction
according to symbolic descriptions obtained using   in the guided case. These are combined
together to form the result. Further details can be found in [24] and the appendix.
Searching for Solutions Given a representation space and a set of transforms we can solve
the analogy tasks being considered by searching over possible programs. A naive breadth
ifrst search has a branching factor 12 (4 shift operations, 4 change shape operations, 2 afine
operations, r e s e t and o u t ), making it intractable for longer programs. Instead, we utilise the
fact that both the input and output images are available, to extensively prune the search tree,
details of which can be found in [24] and the attached appendix.</p>
    </sec>
    <sec id="sec-4">
      <title>4. Results &amp; Discussion</title>
      <p>Compositional Abilities of Transformations A symbolic analogue to our approach would
simply be a search over sequences of predefined hard-coded primitives. Our system uses learned
primitives acting on a learned latent representation. Since these are an approximation to the
underlying symbols, there may be errors in the system which lead to incorrect solutions or an
inability to find a solution. To evaluate how well neural primitives in our system compose, we
use of a dataset of input-output pairs, generated from 20000 random programs upto length 10
(details present in appendix), and compute the ratio of pairs for which a valid program is found.</p>
      <p>
        The results are summarised in Figure 4. The guided
approach is able to find the correct solution programs 100
for 100% of the examples in the dataset. The unguided
approach shows similar performance with an overall e95
success rate of 94.7 %. The minor drop in performance trssa90
soyf munbgouliicdeadnncaontabtieoantstrdiuburitnegd ttroa(i1n)inthge,(a2b) sveenrcificeaotifotnhe cceuS85 Unguided Guided
of the generated output is performed using MSE with 80 1 2 3 4 5 6 7 8 9 10
the target, which is more susceptible to noise than com- Length of program
paring multi-hot vectors (used in unguided) and (
        <xref ref-type="bibr" rid="ref3">3</xref>
        ) the Figure 4: Performance at discovering
inclusion of the afine transforms resulting in noisy programs of varying length.
reconstructions for certain shapes since these more
complex transforms are not learned as well as the
others. Despite this, the high success rate of both approaches demonstrates that independently
trained neural transforms can compose robustly enough to be used in our approach.
      </p>
      <sec id="sec-4-1">
        <title>Comparison with End-to-end neural approaches The analogical reasoning task pre</title>
        <p>sented in the paper can be thought of as a few-shot learning problem, where an output has to
be found for a query given input-output examples - a setting well suited for end-to-end meta
learning algorithms. In order to demonstrate the significance of discrete search in performing
compositional reasoning, we compare our method against three end-to-end NN based
metalearning algorithms - Conditional Neural Processes (CNP) [25], Matching Networks (MAN) [26],</p>
        <sec id="sec-4-1-1">
          <title>Approach</title>
        </sec>
        <sec id="sec-4-1-2">
          <title>Performance</title>
          <p>Model-Agnostic Meta-Learning (MAML) [27] - on a few-shot classification version of the
analogical reasoning task (details present in attached appendix). From the results in Table 1, we
can see that despite being presented with a more dificult task (generation vs classification), our
approach is able to significantly outperform end-to-end meta learning techniques.
Representation Learning The learned representation space upon which compositional
reasoning is being performed is a critical part of our system. The experiments discussed above
demonstrate that this space can be both disentangled enough to support robust transformations,
as well as diverse enough to support interpolation and generalisation. To explore this further,
we visualise the latent embeddings of images with a single shape in Figure 5. We can see
that for both the guided and unguided cases, the representation space is strongly structured
around the grid positions of the shapes in the images. For unguided, the clusters are more
sparsely structured, indicating the presence of another component of variation that captures
more shape information. Finally, Figure 5c shows that afine transformations of shapes are
closer to each other than to the original shapes, indicating that a f f i n e transforms causes a shift
in the distribution of latent embeddings. This explains why excluding afine transformations
of seen shapes when training transforms causes reduced performance. Such transforms being
applied to afine shapes would introduce significant noise since they are not aware of this
distribution shift. This highlights the importance of having a well structured latent space.
Generalisation To be of practical use for computation and reasoning, our system needs to
be able to generalise to visual analogy tasks with similar images but with characteristics not</p>
          <p>Regular
100%
94.7%</p>
          <p>Transforms
95%
94.8%
present in the training data. To evaluate this, we exclude images containing 5 (of the 20 total)
shapes from the training data, but include these images during testing (performed similar to
section 4). We evaluate generalisation for the transforms and representation space (encoder
and decoder) separately. The results in Table 2 indicate that both the guided and unguided
approaches are able to generalise well to shapes not present during training. This suggests that
with a diverse and large enough training set, our representation space could be rich enough to
support spaces with a large variety of inputs.</p>
          <p>In the unguided approach, s h i f t transforms work robustly for images containing shapes
not seen during training, indicating that the representation space captures information about
position in a disentangled manner. The a f f i n e transformations, which manipulate the shape
itself, also work well for shapes unseen during transform training, but only if the afine versions of
seen shapes are seen when learning the representation space. This is explained by the distribution
shift in latent embeddings caused by a f f i n e transformations as seen in Figure 5c and discussed
in section 4. Incorporating explicit measures to disentangle the distributed representations with
respect to continuous shape transformations, in addition to shape vs position, may alleviate
this need, enabling robust system-level generalization. More generally, these results suggest
that representations learned directly and without supervision can capture relevant information
in a distributed enough manner to support reasoning within our framework; and that providing
explicit symbolic guidance aids in compositionality with some loss in generalizability.
Conclusion Our neural analogical reasoning approach applies compositional reasoning via
search on transformations of distributed representations, both learned via neural networks, thus
substituting handcrafting of symbols and procedures with provision of the relevant training
data. Experiments show that our approach generalises to data drawn from related but diferent
distributions (i.e., unseen shapes). Future work can tackle more complete representation learning
methods to avoid extraction of connected components, enabling the system to tackle more
complex problems with overlapping and arbitrarily sized shapes. We envisage a more general
system for analogical reasoning (in the limited sense used here) based on our NAR approach:
one that can operate on rich input distributions while continuously learning to detect when
new shapes and/or transformations are encountered and retrain its elements (representation
space and/or new transformation network(s)) appropriately.</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Acknowledgments</title>
      <p>This work is supported by “The DataLab” agreement between BITS Pilani, K.K. Birla Goa
Campus and TCS Research. We thank Tirtharaj Dash and Ashwin Srinivasan for their input.
helpful for abstract visual reasoning?, in: NeurIPS, 2019.
[19] X. Steenbrugge, S. Leroux, T. Verbelen, B. Dhoedt, Improving generalization for abstract
reasoning tasks using disentangled feature representations, ArXiv abs/1811.04784 (2018).
[20] F. Hill, A. Santoro, D. Barrett, A. Morcos, T. Lillicrap, Learning to make analogies by
contrasting abstract relational structure, in: International Conference on Learning
Representations, 2019. URL: https://openreview.net/forum?id=SylLYsCcFm.
[21] R. Silva, K. A. Heller, Z. Ghahramani, Analogical reasoning with relational bayesian sets,
in: AISTATS, 2007.
[22] D. Gentner, Structure‐mapping: A theoretical framework for analogy*, Cognitive Science
7 (1983) 155–170.
[23] M. Crouse, C. Nakos, I. Abdelaziz, K. D. Forbus, Neural analogical matching, ArXiv
abs/2004.03573 (2021).
[24] A. Sonwane, G. Shrof, L. Vig, A. Srinivasan, T. Dash, Solving visual analogies using neural
algorithmic reasoning, CoRR abs/2111.10361 (2021). URL: https://arxiv.org/abs/2111.10361.
a r X i v : 2 1 1 1 . 1 0 3 6 1 .
[25] M. Garnelo, D. Rosenbaum, C. Maddison, T. Ramalho, D. Saxton, M. Shanahan, Y. W.</p>
      <p>Teh, D. Rezende, S. M. A. Eslami, Conditional neural processes, in: J. Dy, A. Krause
(Eds.), Proceedings of the 35th International Conference on Machine Learning, volume 80
of Proceedings of Machine Learning Research, PMLR, 2018, pp. 1704–1713. URL: https:
//proceedings.mlr.press/v80/garnelo18a.html.
[26] O. Vinyals, C. Blundell, T. Lillicrap, k. kavukcuoglu, D. Wierstra, Matching
networks for one shot learning, in: D. Lee, M. Sugiyama, U. Luxburg, I. Guyon,
R. Garnett (Eds.), Advances in Neural Information Processing Systems, volume 29,
Curran Associates, Inc., 2016. URL: https://proceedings.neurips.cc/paper/2016/file/
90e1357833654983612fb05e3ec9148c-Paper.pdf.
[27] C. Finn, P. Abbeel, S. Levine, Model-agnostic meta-learning for fast adaptation of deep
networks, in: Proceedings of the 34th International Conference on Machine Learning
Volume 70, ICML’17, JMLR.org, 2017, p. 1126–1135.</p>
    </sec>
    <sec id="sec-6">
      <title>A. Details of Methodology</title>
      <p>A.1. Problem Setting</p>
      <p>Types Transformations Meaning
Shifts usphi,fsth-irfitg-hdto,wnshift-left, shift- oMnoevgeraidll poofstihteiosnhsapes in the image by
Shape conver- to-square, to-circle, to-delta, Convert all of the shapes in the image
sions to-triangle to a particular shape
Afines affine-right, affine-left tSoketwheallelft tohrersighhatpes in the image either</p>
      <sec id="sec-6-1">
        <title>Details of Images used in Visual Analogy Tasks Each image used in the visual analogy</title>
        <p>task consists of shapes or characters from the set described in Figure 6 placed on a 3 × 3 grid.
The size of each such image is 64 × 64 pixels with the the size of shapes and characters placed
inside being 20 × 20 pixels. Note that the grid isn’t explicitly drawn and all images are black
and white (the background being white and the shapes being solid black). The handwritten
characters used have been taken from the Omniglot dataset.</p>
        <p>A.2. Guided Representation Space
1
2</p>
        <p>P
S</p>
        <p>P
S</p>
        <p>Multi-Hot with
= Bheight + Bwidth Position Slots,</p>
        <p>N Shape Slots
Representation Learning For the guided representation space we first train an autoencoder
directly on the symbolic descriptions (as described in Figure 7) of images containing a single
shape followed by training an encoder from said images to the latent embeddings of their
symbolic descriptions. This procedure is described in Figure 8 The size of the latent embeddings
here is 32. The encoder and decoder used for the autoencoder over symbolic descriptions are
both MLPs with a single hidden layer of size 16. They are trained using batch size of 36 for
10,000 weight updates with a learning rate of 0.0003. For the encoder from images to the latent
embeddings of their symbolic descriptions we use a CNN with 6 convolutional layers each using
a stride of 2, padding of 1 and 3 × 3 kernels. Each layer doubles the number of channels and
halves the dimensions of its input and applies a rectified linear unit activation. Since the input
image has dimensions 1 × 64 × 64, the output of these six layers is 128 × 1 × 1. This is flattened
and passed through a final linear transformation to output the latent embedding of size 32. This
encoder is trained with a batch size of 180 (since there are 20 × 9 = 180 possible combinations
of shape and grid positions) for 50,000 weight updates with a learning rate of 0.0003.
Neural Transforms For the guided representation space, we use MLPs as neural transforms
with a single hidden layer of size 32. These are trained with a batch size of 180 for 5000 weight
updates with a learning rate of 0.0003. A overview of the training procedure is given in Figure 9.</p>
        <p>EX</p>
        <p>DS
A.3. Unguided Representation Space
Representation Learning For the unguided representation space we train an autoencoder
directly on the images containing a single shape with latent embedding size of 16 × 8 × 8. The
encoder used is a CNN with 3 convolutional layers each followed by a batch normalisation layer.
Each layer uses a stride of 2 and padding of 1. The first two layers use 4 × 4 kernels and the last
one uses 3 × 3 kernel. The first layer outputs 8 channels while the second and third both output
16 channels. The decoder is made up of 3 transpose convolution layers each followed by batch
normalisation. All three layers use a stride of 2, padding of 1 and 4 × 4 kernels. The first two
layers output 8 channels. The autoencoder is trained using batch size of 32 for 20000 weight
updates with a learning rate of 0.001.</p>
        <p>Neural Transforms For the unguided representation space we use MLPs as neural transforms
with a single hidden layer of size 256 for shift and shape conversion transforms and of 2048 for
afine transforms (although similar performance is observed for size 256). These are trained
with a batch size of 18 for 4000 weight updates with a learning rate of 0.001 on dataset of images
with a single shape present. Note that the latent embeddings are flattened to a 1024 long vector
before being passed to the transforms.</p>
        <p>A.4. Program Execution Algorithm
Algorithm 1 Program Execution
Input: Input latent vectors   s, program 
Output: Output latent vectors
1: input = {  }, memory = {  }, output = ∅
2: for  = 1 ∶ length( ) do
3: if  [] = o u t then
4: output ← output ∪ memory
5: else if  [] = r e s e t then
6: memory ← input
7: else
8: memory ← { [](  ), ∀  ∈ memory}
9: end if
10: end for
11: return output
A.5. Search Algorithm
Algorithm 2 Limited Depth BFS
Input Encoder:  , Decoder:  Transforms:  = {  }, Example:  = (  ,   )
Output Program satisfying all given examples
1: targets ← connected_components(  )
2: q ← LIFO(); q.push([ ])
3: max_count ← 0
4: while True do
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:</p>
        <p>end if
end for
15: end while
program ← q.pop();
if length(program) =  then</p>
        <p>return None;
end if
for   ∈   do
new_program ← program +   ;
if s a t i s f i e s ( , new_program,  ,  ) then</p>
        <p>return new_program;</p>
        <sec id="sec-6-1-1">
          <title>Caching program state to speed up search</title>
          <p>Alongside pruning we also reduce the constant
factor involved at each step of the search by keeping track of the program state after partial
execution. This creates a significant reduction in time taken since the majority of it is the neural
network forward passes. This means that transforms are only applied when a new transform
is added to the program. We do the same for output decoding - only applying output decoder
whenever the o u t primitive is called and keeping track of output bufer in subsequent nodes.
A.6. Example Run-through
Consider the example task in the shown in Figure 10. An input image   and target image  
makes up the example for an unknown transformation sequence which needs to be applied to
the query image   . We have an encoder   and decoder   trained as described in section 3
and a set of transforms   trained according to section 3.</p>
          <p>
            Solving this task using the guided approach, the first step is isolating connected components
in the input image. This results in two images for the input in our example  
which is converted into its latent representation using the encoder and stored in the input and
(
            <xref ref-type="bibr" rid="ref1">1</xref>
            )
,  
(
            <xref ref-type="bibr" rid="ref2">2</xref>
            ), each of
memory bufers:  =  = {

(
            <xref ref-type="bibr" rid="ref1">1</xref>
            )
          </p>
          <p>
            (
            <xref ref-type="bibr" rid="ref2">2</xref>
            )}. Having obtained the initial program state, the search
procedure enumerates sequences of transforms which it tests against the example.
          </p>
          <p>
            Suppose that the search arrives at s h i f t - l e f t r e s e t s h i f t - d o w n o u t . We first apply the neural
network  shift−left to the latent vectors present in the memory bufer  ′(
            <xref ref-type="bibr" rid="ref1">1</xref>
            ) =  shift−left ( (
            <xref ref-type="bibr" rid="ref1">1</xref>
            ))

and  
′(
            <xref ref-type="bibr" rid="ref2">2</xref>
            ) =  shift−left ( 
(
            <xref ref-type="bibr" rid="ref2">2</xref>
            )). Here  
′(
            <xref ref-type="bibr" rid="ref1">1</xref>
            ) and
          </p>
          <p>
            ′(
            <xref ref-type="bibr" rid="ref2">2</xref>
            ) are now latent embeddings of the characters in
          </p>
          <p>Examples
,
Primitives
sshhiifftright
shifttrriight
shiftrgihghthtt +
shiftrig
reset
+
out</p>
          <p>Program
shiftdown
shiftdown
affine-right</p>
          <p>out
search
execute</p>
          <p>Query</p>
          <p>
            Result
the original image but shifted to the left by one grid position.
r e s e t is a special primitive that
results in the memory bufer being reset with the contents of the input bufer:
 =  = {
The application of s h i f t - d o w n proceeds similarly to that of s h i f t - l e f t using the appropriate
neural network transform. Finally o u t is another special primitive which adds all the latent

(
            <xref ref-type="bibr" rid="ref1">1</xref>
            )
,  
(
            <xref ref-type="bibr" rid="ref2">2</xref>
            )}.
vectors present in the memory bufer to the the output bufer:
the program, we use decoder   to produce the images corresponding to the latent vectors
present in the output bufer which are then added together to form the output image. Since
this resulting image would contain the same characters as in the input image but shifted down
by one grid position, comparison with the target using a distance function as described in
section 3 would lead us to reject the current transform sequence and keep searching. Eventually,
the search arrives at a sequence that satisfies the example, which is our case is s h i f t - d o w n
s h i f t - d o w n a f f i n e - r i g h t o u t . This is then applied to the query image to get our final result.
 = { 
″(
            <xref ref-type="bibr" rid="ref1">1</xref>
            ),  
″(
            <xref ref-type="bibr" rid="ref2">2</xref>
            )}. After executing
A.7. Data Generation
Random example (input, output) pairs can be generated by applying a randomly generated
program to a randomly selected image. During generation of the program, constraints are
applied to minimise the generation of any redundant programs. These are (
            <xref ref-type="bibr" rid="ref1">1</xref>
            ) no consecutive
shape conversion transforms, (
            <xref ref-type="bibr" rid="ref2">2</xref>
            ) no consecutive o u t or r e s e t operations, (
            <xref ref-type="bibr" rid="ref3">3</xref>
            ) all programs
must end with an o u t operation and (
            <xref ref-type="bibr" rid="ref4">4</xref>
            ) r e s e t operations must follow an o u t operation. When
generating a set of random examples, it is also ensured that all examples generated are unique.
A.8. Details of Evaluation Dataset
To evaluate the ability of transforms in our system to compose without error, we use of a dataset
of (input, output) pairs (generated from a dataset of 20000 programs, 200 programs each for
lengths of 1 till 10) and compute the ratio of pairs for which a valid program is found. These
pairs are generated from a dataset of 20000 programs, 200 programs each for lengths of 1 till 10.
Each task is one-shot (contains a single input-output pair), and the images can contain multiple
shapes. The programs are made up of 4 types of s h i f t transforms and 2 a f f i n e transforms. We
exclude shape conversions from our experiments since their application to an unseen shape
turns it into a seen shape, thus not allowing us to properly test for generalization performance.
Also, programs containing a f f i n e transforms were not used in evaluation for the guided case
since, as discussed in Section 3, continuous shape transformations apply only in the unguided
case.
          </p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-7">
      <title>B. Details of Meta Learning Implementations</title>
      <p>We cast our analogical reasoning task into a few shot classification problem - each task consists
of 6 examples representing a single transformation, where each example consists of an input
image, 4 options for the possible outputs and an index indicating the correct output as shown
in Figure 11.</p>
      <p>The task also contains a query image and 4 option images for that query. This is further
deconstructed into a binary classification problem - for each example, we compute the pixel
diference between the input image and each of the 4 option images. Each such pixel diference
is assigned a binary label resulting in a 6 × 4 = 24 meta-train examples and 4 meta-test queries
for each task.</p>
      <p>We used custom made Convolutional Neural Networks to get the features of the input images.
CNP and MAN were run for 60 epochs whereas MAML is run for 30 epochs. MAML uses a
dropout of 0.5 and CNP uses a dropout 0.8. We used ReduceLROnPlateau learning rate scheduler
with a threshold of 10−3 modifying the other parameters as required. Both Dropout and Learning
rate scheduler were essential to reduce the fluctuations in the training loss.</p>
    </sec>
    <sec id="sec-8">
      <title>C. Further Results</title>
      <p>C.1. Evaluations of the representation space</p>
      <p>100
95
80
C.2. Ability of Neural Transforms to Compose
1
2
3
4
5
6
7
8
9</p>
      <p>10</p>
      <p>Length of program</p>
      <p>C.3. Evaluation of Guided Representation Space Generalisation
To evaluate how well the guided representation space (encoder and decoder) generalises to
unseen situations, we utilise the following scheme. Let us a tuple ( ,  , ,  ) ∈  () 4 where
 is the set of all shapes as described in Figure 6,  denotes the shapes present in the training
data for the latent space (here | | + 1 + 6 denotes the size of the multi-hot vector, where 6 is
for the positional encoding and 1 is for a slot of unseen shape),  denotes the shapes present
in the training data for transforms,  denotes the shapes present in the training data for the
encoder and  denotes the shapes present in the examples on which the latent space is being
evaluated. We perform the following 4 experiments based on this evaluation scheme to test the
generalisation capabilities of the guided representation space. The results are given in Figure 15.
Note that the total number of shapes possible || = 20 .</p>
      <p>1. For  =  = ∅ (all shapes considered unseen in the multi-hot) and  =  (all shapes
included in test examples), we vary the shapes shown to the CNN encoder during training
from || = 1 (just one shape being included in training data)  =  (all shapes included)
and record the evaluation performance.
2. For  =  = ∅ (all shapes considered unseen in the multi-hot), we vary the shapes
shown to the CNN encoder during training from || = 1 (just one shape being included
in training data)  =  (all shapes included) and record the evaluation performance of
with this encoder on  =  ′ (test only including shapes not present in train for encoder).
3. For  =  = { square, triangle, circle, delta} (four shapes + unseen in the multi-hot) and
 =  (all shapes included in test examples), we vary the shapes shown to the CNN
encoder during training from || = 1 (just one shape being included in training data)
 =  (all shapes included) and record the evaluation performance.
4. For  =  = { square, triangle, circle, delta} (four shapes + unseen in the multi-hot), we
vary the shapes shown to the CNN encoder during training from || = 1 (just one shape
being included in training data)  =  (all shapes included) and record the evaluation
performance of with this encoder on  =  ′ (test only including shapes not present in
train for encoder).</p>
      <p>C.4. Evaluation of Transform Generalisation in Guided Representation Space
To evaluate how well neural transforms learned in the guided representation space generalise to
unseen situations, we first learn the representation space with data containing all of the shapes
or positions. We then train the neural transforms on (input, output) image pairs containing only
a subset of shapes (or input positions). During testing, we include all shapes (or positions). This
can be thought of as keeping  =  =  =  while  is varied from  to ∅. If the transforms
give similar performance to those trained with all the data, we can say that they, together with
the latent space, are generalising well. The results are given in Figure 16.
C.5. Evaluation of Unguided Representation Space Generalisation
100
95</p>
      <p>With affine</p>
      <p>Without affine
1
2
3
4
5
6
7
8
9</p>
      <p>10</p>
      <p>Length of program</p>
      <p>C.6. Evaluation of Search Performance</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>H.</given-names>
            <surname>Prade</surname>
          </string-name>
          , G. Richard,
          <article-title>Analogical proportions: why they are useful in ai</article-title>
          ,
          <source>in: Proceedings of the 30th International Joint Conference on Artificial Intelligence (IJCAI</source>
          <year>2021</year>
          ), Montreal,
          <year>2021</year>
          , pp.
          <fpage>21</fpage>
          -
          <lpage>26</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>K.</given-names>
            <surname>Ellis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Wong</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Nye</surname>
          </string-name>
          , M. Sablé-Meyer, L. Morales,
          <string-name>
            <given-names>L. B.</given-names>
            <surname>Hewitt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Cary</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Solar-Lezama</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. B.</given-names>
            <surname>Tenenbaum</surname>
          </string-name>
          ,
          <article-title>Dreamcoder: bootstrapping inductive program synthesis with wake-sleep library learning</article-title>
          ,
          <source>Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation</source>
          (
          <year>2021</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>S.</given-names>
            <surname>Gulwani</surname>
          </string-name>
          ,
          <article-title>Automating string processing in spreadsheets using input-output examples</article-title>
          ,
          <source>in: POPL '11</source>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>L.</given-names>
            <surname>Jiao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Gao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Liu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Liu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Yang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Hou</surname>
          </string-name>
          ,
          <article-title>Multi-scale representation learning for image classification: A survey</article-title>
          ,
          <source>IEEE Transactions on Artificial Intelligence</source>
          (
          <year>2021</year>
          )
          <fpage>1</fpage>
          -
          <lpage>1</lpage>
          .
          <source>doi:1 0 . 1 1 0 9 / T A I . 2 0</source>
          <volume>2 1 . 3 1 3 5 2 4 8 .</volume>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Yu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Si</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Hu</surname>
          </string-name>
          ,
          <string-name>
            <surname>J. Zhang,</surname>
          </string-name>
          <article-title>A Review of Recurrent Neural Networks: LSTM Cells and Network Architectures</article-title>
          ,
          <source>Neural Computation</source>
          <volume>31</volume>
          (
          <year>2019</year>
          )
          <fpage>1235</fpage>
          -
          <lpage>1270</lpage>
          . URL: https://doi.org/10.1162/ neco_a_01199.
          <article-title>doi:1 0 . 1 1 6 2 / n e c o _ a _ 0 1 1 9 9 . a r X i v : h t t p s : / / d i r e c t . m i t</article-title>
          . e d u / n e c o / a r t i c l e - p
          <source>d f / 3 1 / 7 / 1 2</source>
          <volume>3 5 / 1 0 5 3 2 0 0</volume>
          / n e c o _
          <source>a _ 0</source>
          <volume>1 1 9 9</volume>
          . p d f .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>F.</given-names>
            <surname>Chen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.-C.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <surname>C.-C. J. Kuo</surname>
          </string-name>
          ,
          <article-title>Graph representation learning: A survey</article-title>
          ,
          <source>APSIPA Transactions on Signal and Information Processing</source>
          <volume>9</volume>
          (
          <year>2020</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>P.</given-names>
            <surname>Veličković</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Blundell</surname>
          </string-name>
          ,
          <source>Neural algorithmic reasoning, Patterns</source>
          <volume>2</volume>
          (
          <year>2021</year>
          )
          <article-title>100273</article-title>
          . doi:h t t p s : / / d o i .
          <source>o r g / 1 0 . 1 0</source>
          <volume>1 6</volume>
          / j . p
          <source>a t t e r . 2 0</source>
          <volume>2 1 . 1 0 0 2 7 3 .</volume>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>D. R.</given-names>
            <surname>Hofstadter</surname>
          </string-name>
          ,
          <article-title>Fluid concepts and creative analogies: Computer models of the fundamental mechanisms of thought</article-title>
          .,
          <string-name>
            <surname>Basic</surname>
            <given-names>books</given-names>
          </string-name>
          ,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>F.</given-names>
            <surname>Chollet</surname>
          </string-name>
          ,
          <article-title>On the measure of intelligence</article-title>
          , ArXiv abs/
          <year>1911</year>
          .01547 (
          <year>2019</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>D.</given-names>
            <surname>Barrett</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Hill</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Santoro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Morcos</surname>
          </string-name>
          , T. Lillicrap,
          <article-title>Measuring abstract reasoning in neural networks</article-title>
          , in: J.
          <string-name>
            <surname>Dy</surname>
            ,
            <given-names>A</given-names>
          </string-name>
          . Krause (Eds.),
          <source>Proceedings of the 35th International Conference on Machine Learning</source>
          , volume
          <volume>80</volume>
          <source>of Proceedings of Machine Learning Research, PMLR</source>
          ,
          <year>2018</year>
          , pp.
          <fpage>511</fpage>
          -
          <lpage>520</lpage>
          . URL: https://proceedings.mlr.press/v80/barrett18a.html.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>B. M.</given-names>
            <surname>Lake</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Salakhutdinov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. B.</given-names>
            <surname>Tenenbaum</surname>
          </string-name>
          ,
          <article-title>Human-level concept learning through probabilistic program induction</article-title>
          ,
          <source>Science</source>
          <volume>350</volume>
          (
          <year>2015</year>
          )
          <fpage>1332</fpage>
          -
          <lpage>1338</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>B. M.</given-names>
            <surname>Lake</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Baroni</surname>
          </string-name>
          ,
          <article-title>Generalization without systematicity: On the compositional skills of sequence-to-sequence recurrent networks</article-title>
          ,
          <source>in: ICML</source>
          ,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>N.</given-names>
            <surname>Rahaman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. W.</given-names>
            <surname>Gondal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Joshi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. V.</given-names>
            <surname>Gehler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Bengio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Locatello</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Scholkopf</surname>
          </string-name>
          ,
          <article-title>Dynamic inference with neural interpreters</article-title>
          ,
          <source>ArXiv abs/2110</source>
          .06399 (
          <year>2021</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>V.</given-names>
            <surname>Kolev</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Georgiev</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Penkov</surname>
          </string-name>
          ,
          <article-title>Neural abstract reasoner</article-title>
          , ArXiv abs/
          <year>2011</year>
          .09860 (
          <year>2020</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>J.</given-names>
            <surname>Johnson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Hariharan</surname>
          </string-name>
          , L. van der Maaten,
          <string-name>
            <given-names>J.</given-names>
            <surname>Hofman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Fei-Fei</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C. L.</given-names>
            <surname>Zitnick</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. B.</given-names>
            <surname>Girshick</surname>
          </string-name>
          ,
          <article-title>Inferring and executing programs for visual reasoning</article-title>
          ,
          <source>2017 IEEE International Conference on Computer Vision</source>
          (ICCV) (
          <year>2017</year>
          )
          <fpage>3008</fpage>
          -
          <lpage>3017</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>P.</given-names>
            <surname>Velickovic</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Ying</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Padovano</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Hadsell</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Blundell</surname>
          </string-name>
          ,
          <article-title>Neural execution of graph algorithms</article-title>
          , ArXiv abs/
          <year>1910</year>
          .10593 (
          <year>2020</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>L.-P.</given-names>
            <surname>Xhonneux</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Deac</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Velickovic</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Tang</surname>
          </string-name>
          ,
          <article-title>How to transfer algorithmic reasoning knowledge to learn new algorithms?</article-title>
          ,
          <source>ArXiv abs/2110</source>
          .14056 (
          <year>2021</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <surname>S. van Steenkiste</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Locatello</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Schmidhuber</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Bachem</surname>
          </string-name>
          , Are disentangled representations
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>