Please enable JavaScript.
Coggle requires JavaScript to display documents.
Neural programmer interpreters (related work (ideas (meta learning, brain…
Neural programmer interpreters
program
work
learning
compose
execute
being teach
represente and interpret program
goal
increase generalization ability
reduce sample complexity
training
methods
supervision
two approaches
very large number of labeled examples
fewer labeled examples, label with richer information
advantage
strong generalization
curriculum learning
adaptative curriculum
focus on learning the program for whici it currently performs worst
compositionality
sub linear length subprogram
provide example
execution trace
example sequences of calls
neural networks
represent subprogram
sub programs can be trained in parallel
act
interpreter
input in the form of a program embedding
programmer
uses sample to generate new program embedding
architecture
core module
lstm based sequence
input
learnable program embedding
program arguments passed on by the calling program
feature representation of the environment
output
key indicating what program to call next
arugments for the following program
flag indicating termination
compositional architecture
learnable key value memory
learning and re using program in continual manner
experimentation
learn 21 programs
programs
addition
sorting
trajectory planning from pixel image
related work
ideas
meta learning
brain areas controlling other brain parts
program induction
using dynamically programmable networks
context
learning higher order symbolic relation
one learns the parameters of a slowly changing network
generate context dependent weight change
genetic programming to evolve useful programs
problems
imitation and apprenticeship learning
elicitation of options
solution
recurrent compositional neural representation
neural turing machine
learning and executing simple program
pointer networks
generalize notion of encoder attention
effective for combinatorial optimization
result
compositional structure
using program memory
learn new program by combining sub program
model
core
long short term memory (LSTM)
router between programs
selet another program to invoke
content based addressing
ARG
single inference core
all LSTM instantiations share the same parameters
several environment
1d array with read only pointer and swap action
2D scratch pad with read write pointers
CAD renderer with controllable elevation and azimuth movement
experiments
environment
ADAM solver
multiple task to evaluate model
addition
sorting
cannonicalizing 3d model
objectif
teach the standard grade schoold algorithm of adding
setting with much longer execution traces
learn a viual program that canonicalize the model with respect to its pose
comparison
lstm
flat sequence to sequence
fail to generalize beyond arrays of length 25
requires 64 example to start learning to sort well
neural turing machine
generalization ability
capable of sorting array up to size 60
sort almost perfectly rapidly
canonicalize cars of varying apperance
learning new programs
problems
continual learning of neural network based agents
degraded performance in old task
forgetting old program
solution
fix the weights of the core routing module
make sparse update to the program memory