A hallmark of human intelligence is the ability to infer abstract rules from
limited experience and apply these rules to unfamiliar situations. This
capacity is widely studied in the visual domain using the Raven's Progressive
Matrices. Recent advances in deep learning have led to multiple artificial
neural network models matching or even surpassing human performance. However,
while humans can identify and express the rule underlying these tasks with
little to no exposure, contemporary neural networks often rely on massive
pattern-based training and cannot express or extrapolate the rule inferred from
the task. Furthermore, most Raven's Progressive Matrices or Raven-like tasks
used for neural network training used symbolic representations, whereas humans
can flexibly switch between symbolic and continuous perceptual representations.
In this work, we present an algorithmic approach to rule detection and
application using feature detection, affine transformation estimation and
search. We applied our model to a simplified Raven's Progressive Matrices task,
previously designed for behavioral testing and neuroimaging in humans. The
model exhibited one-shot learning and achieved near human-level performance in
the symbolic reasoning condition of the simplified task. Furthermore, the model
can express the relationships discovered and generate multi-step predictions in
accordance with the underlying rule. Finally, the model can reason using
continuous patterns. We discuss our results and their relevance to studying
abstract reasoning in humans, as well as their implications for improving
intelligent machines