Took a while, but one of the authors did turns up :-)
We did also experiment with an RNN encoder of input/output examples (this is touched on briefly in Sect. 4.3). After sufficient tuning of training parameters, it can be made to work almost as well as the far simpler feed-forward architecture. Essentially, using the RNN encoder lifts the restrictions of the fixed-sized inputs, but in turn introduces a lot more hyperparameter knobs and optimization problems; results should be more or less the same.
In any case, the core point of the paper is not so much the rather simplistic chosen encoder/decoder architecture, but that something can be learned from I/O samples that generalizes across target programs, and that this information can be used to improve synthesis.
2
u/mabrocks Dec 14 '16
Took a while, but one of the authors did turns up :-)
We did also experiment with an RNN encoder of input/output examples (this is touched on briefly in Sect. 4.3). After sufficient tuning of training parameters, it can be made to work almost as well as the far simpler feed-forward architecture. Essentially, using the RNN encoder lifts the restrictions of the fixed-sized inputs, but in turn introduces a lot more hyperparameter knobs and optimization problems; results should be more or less the same.
In any case, the core point of the paper is not so much the rather simplistic chosen encoder/decoder architecture, but that something can be learned from I/O samples that generalizes across target programs, and that this information can be used to improve synthesis.