skip to main content
10.1145/3377930.3390213acmconferencesArticle/Chapter ViewAbstractPublication PagesgeccoConference Proceedingsconference-collections
research-article

Program synthesis as latent continuous optimization: evolutionary search in neural embeddings

Published: 26 June 2020 Publication History

Abstract

In optimization and machine learning, the divide between discrete and continuous problems and methods is deep and persistent. We attempt to remove this distinction by training neural network autoencoders that embed discrete candidate solutions in continuous latent spaces. This allows us to take advantage of state-of-the-art continuous optimization methods for solving discrete optimization problems, and mitigates certain challenges in discrete optimization, such as design of bias-free search operators. In the experimental part, we consider program synthesis as the special case of combinatorial optimization. We train an autoencoder network on a large sample of programs in a problem-agnostic, unsupervised manner, and then use it with an evolutionary continuous optimization algorithm (CMA-ES) to map the points from the latent space to programs. We propose also a variant in which semantically similar programs are more likely to have similar embeddings. Assessment on a range of benchmarks in two domains indicates the viability of this approach and the usefulness of involving program semantics.

References

[1]
Jimmy Lei Ba, Jamie Ryan Kiros, and Geoffrey E Hinton. 2016. Layer normalization. arXiv preprint arXiv:1607.06450 (2016).
[2]
Matej Balog, Alexander L. Gaunt, Marc Brockschmidt, Sebastian Nowozin, and Daniel Tarlow. 2016. DeepCoder: Learning to Write Programs. arXiv preprint arXiv:1611.01989 (November 2016). https://arxiv.org/abs/1611.01989
[3]
M. Bošnjak, T. Rocktäschel, J. Naradowsky, and S. Riedel. 2016. Programming with a Differentiable Forth Interpreter. ArXiv e-prints (May 2016). arXiv:1605.06640
[4]
Kyunghyun Cho, B van Merrienboer, Caglar Gulcehre, F Bougares, H Schwenk, and Yoshua Bengio. 2014. Learning phrase representations using RNN encoder-decoder for statistical machine translation. In Conference on Empirical Methods in Natural Language Processing (EMNLP 2014).
[5]
David M. Clark. 2013. Evolution of Algebraic Terms 1: Term to Term Operation Continuity. International Journal of Algebra and Computation 23, 05 (Aug. 2013), 1175--1205. https://doi.org/ arXiv:http://www.worldscientific.com/doi/pdf/10.1142/S0218196713500227
[6]
Pieter-Tjerk de Boer, Dirk P. Kroese, Shie Mannor, and Reuven Y. Rubinstein. 2005. A Tutorial on the Cross-Entropy Method. Annals of Operations Research 134, 1 (01 Feb 2005), 19--67.
[7]
J. Devlin, J. Uesato, S. Bhupatiraju, R. Singh, A.-r. Mohamed, and P. Kohli. 2017. RobustFill: Neural Program Learning under Noisy I/O. ArXiv e-prints (March 2017). arXiv:cs.AI/1703.07469
[8]
P. Gallinari, Yann Lecun, S. Thiria, and F. Fogelman Soulie. 1987. Memoires associatives distribuees: Une comparaison (Distributed associative memories: A comparison). In Proceedings of COGNITIVA 87, Paris, La Villette, May 1987. Cesta-Afcet.
[9]
Ian Goodfellow, Yoshua Bengio, and Aaron Courville. 2016. Deep Learning. The MIT Press.
[10]
A. Graves, G. Wayne, and I. Danihelka. 2014. Neural Turing Machines. ArXiv e-prints (Oct. 2014). arXiv:1410.5401
[11]
Sumit Gulwani, William R. Harris, and Rishabh Singh. 2012. Spreadsheet Data Manipulation Using Examples. Commun. ACM 55, 8 (Aug. 2012), 97--105. https://doi.org/
[12]
Nikolaus Hansen and Andreas Ostermeier. 1996. Adapting arbitrary normal mutation distributions in evolution strategies: the covariance matrix adaptation. Proceedings of IEEE International Conference on Evolutionary Computation (1996), 312--317.
[13]
Michael Herdy. 1990. Application of the 'Evolutionsstrategie' to Discrete Optimization Problems. In Parallel Problem Solving from Nature, 1st Workshop, PPSN I, Dortmund, Germany, October 1-3, 1990, Proceedings. 188--192.
[14]
Torsten Hildebrandt and Juergen Branke. 2015. On Using Surrogates with Genetic Programming. Evolutionary Computation 23, 3 (Fall 2015), 343--367.
[15]
Sepp Hochreiter and Jürgen Schmidhuber. 1997. Long Short-Term Memory. Neural Computation 9, 8 (1997), 1735--1780. arXiv:https://doi.org/10.1162/neco.1997.9.8.1735
[16]
Neel Kant. 2018. Recent Advances in Neural Program Synthesis. ArXiv abs/1802.02353 (2018).
[17]
Diederik P. Kingma and Jimmy Ba. 2014. Adam: A Method for Stochastic Optimization. arXiv:cs.LG/1412.6980
[18]
John R. Koza. 1992. Genetic Programming: On the Programming of Computers by Means of Natural Selection. MIT Press, Cambridge, MA, USA.
[19]
Mark A. Kramer. 1991. Nonlinear principal component analysis using autoassociative neural networks. AIChE Journal 37, 2 (1991), 233--243.
[20]
Krzysztof Krawiec. 2011. Learnable Embeddings of Program Spaces. In Proceedings of the 14th European Conference on Genetic Programming, EuroGP 2011 (LNCS), Sara Silva, James A. Foster, Miguel Nicolau, Mario Giacobini, and Penousal Machado (Eds.), Vol. 6621. Springer Verlag, Turin, Italy, 167--178.
[21]
W. B. Langdon. 2002. Random Search is Parsimonious. In Late Breaking Papers at the Genetic and Evolutionary Computation Conference (GECCO-2002), Erick Cantú-Paz (Ed.). AAAI, New York, NY, 308--315. http://www.cs.ucl.ac.uk/staff/W.Langdon/ftp/papers/wbl_gecco2002lb.pdf
[22]
Y. LeCun. 1987. Modeles connexionnistes de l'apprentissage (connectionist learning models). Ph.D. Dissertation. Université P. et M. Curie (Paris 6).
[23]
Paweł Liskowski, Iwo Blądek, and Krzysztof Krawiec. 2018. Neuro-guided Genetic Programming: Prioritizing Evolutionary Search with Neural Networks. In Proceedings of the Genetic and Evolutionary Computation Conference (2018-01-01) (GECCO '18). ACM, Kyoto, Japan, 1143--1150.
[24]
Paweł Liskowski and Krzysztof Krawiec. 2016. Surrogate Fitness via Factorization of Interaction Matrix. In EuroGP 2016: Proceedings of the 19th European Conference on Genetic Programming (LNCS), Malcolm I. Heywood, James McDermott, Mauro Castelli, Ernesto Costa, and Kevin Sim (Eds.), Vol. 9594. Springer Verlag, Porto, Portugal, 68--82. https://doi.org/ Best paper.
[25]
Horia Mania, Aurelia Guy, and Benjamin Recht. 2018. Simple random search provides a competitive approach to reinforcement learning. CoRR abs/1803.07055 (2018). arXiv:1803.07055 http://arxiv.org/abs/1803.07055
[26]
Alberto Moraglio, Krzysztof Krawiec, and Colin G Johnson. 2012. Geometric semantic genetic programming. In International Conference on Parallel Problem Solving from Nature. Springer, 21--31.
[27]
Emilio Parisotto, Abdel-rahman Mohamed, Rishabh Singh, Lihong Li, Dengyong Zhou, and Pushmeet Kohli. 2016. Neuro-Symbolic Program Synthesis. CoRR abs/1611.01855 (2016). arXiv:1611.01855 http://arxiv.org/abs/1611.01855
[28]
Riccardo Poli, William B. Langdon, and Nicholas Freitag McPhee. 2008. A Field Guide to Genetic Programming. Lulu Enterprises, UK Ltd.
[29]
Andrew M Saxe, James L McClelland, and Surya Ganguli. 2013. Exact solutions to the nonlinear dynamics of learning in deep linear neural networks. arXiv preprint arXiv:1312.6120 (2013).
[30]
Frank Sehnke, Christian Osendorfer, Thomas Rückstieß, Alex Graves, Jan Peters, and Jürgen Schmidhuber. 2008. Policy Gradients with Parameter-Based Exploration for Control. In Artificial Neural Networks - ICANN 2008, Véra Kůrková, Roman Neruda, and Jan Koutník (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 387--396.
[31]
Lee Spector, David M. Clark, Ian Lindsay, Bradford Barr, and Jon Klein. 2008. Genetic Programming for Finite Algebras. In Proceedings of the 10th Annual Conference on Genetic and Evolutionary Computation (GECCO '08). Association for Computing Machinery, New York, NY, USA, 1291--1298.
[32]
Oliver Stein, Jan Oldenburg, and Wolfgang Marquardt. 2004. Continuous reformulations of discrete-continuous optimization problems. Computers & chemical engineering 28, 10 (2004), 1951--1966.
[33]
Oliver Stein, Jan Oldenburg, and Wolfgang Marquardt. 2004. Continuous reformulations of discrete-continuous optimization problems. Computers Chemical Engineering 28, 10 (2004), 1951 - 1966. Special Issue for Professor Arthur W. Westerberg.
[34]
Jerry Swan. 2017. Harmonic analysis and resynthesis of Sliding-Tile Puzzle heuristics. In 2017 IEEE Congress on Evolutionary Computation (CEC). 516--524.
[35]
Gail Weiss, Yoav Goldberg, and Eran Yahav. 2018. On the Practical Computational Power of Finite Precision RNNs for Language Recognition. CoRR abs/1805.04908 (2018). arXiv:1805.04908 http://arxiv.org/abs/1805.04908
[36]
R. J. Williams and D. Zipser. 1989. A Learning Algorithm for Continually Running Fully Recurrent Neural Networks. Neural Computation 1, 2 (June 1989), 270--280.
[37]
W. Zaremba, T. Mikolov, A. Joulin, and R. Fergus. 2015. Learning Simple Algorithms from Examples. ArXiv e-prints (Nov. 2015). arXiv:cs.AI/1511.07275

Cited By

View all
  • (2025)Tree Variational Autoencoder for CodeIEEE Access10.1109/ACCESS.2025.353252213(30262-30273)Online publication date: 2025
  • (2023)Mini-Batching, Gradient-Clipping, First- versus Second-Order: What Works in Gradient-Based Coefficient Optimisation for Symbolic Regression?Proceedings of the Genetic and Evolutionary Computation Conference10.1145/3583131.3590368(1127-1136)Online publication date: 15-Jul-2023
  • (2023)Denoising autoencoder genetic programming: strategies to control exploration and exploitation in searchGenetic Programming and Evolvable Machines10.1007/s10710-023-09462-224:2Online publication date: 8-Nov-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
GECCO '20: Proceedings of the 2020 Genetic and Evolutionary Computation Conference
June 2020
1349 pages
ISBN:9781450371285
DOI:10.1145/3377930
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 26 June 2020

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. autoencoders
  2. deep learning
  3. embedding
  4. genetic programming
  5. program synthesis

Qualifiers

  • Research-article

Conference

GECCO '20
Sponsor:

Acceptance Rates

Overall Acceptance Rate 1,669 of 4,410 submissions, 38%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)18
  • Downloads (Last 6 weeks)2
Reflects downloads up to 19 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2025)Tree Variational Autoencoder for CodeIEEE Access10.1109/ACCESS.2025.353252213(30262-30273)Online publication date: 2025
  • (2023)Mini-Batching, Gradient-Clipping, First- versus Second-Order: What Works in Gradient-Based Coefficient Optimisation for Symbolic Regression?Proceedings of the Genetic and Evolutionary Computation Conference10.1145/3583131.3590368(1127-1136)Online publication date: 15-Jul-2023
  • (2023)Denoising autoencoder genetic programming: strategies to control exploration and exploitation in searchGenetic Programming and Evolvable Machines10.1007/s10710-023-09462-224:2Online publication date: 8-Nov-2023
  • (2022)Evolving Through the Looking Glass: Learning Improved Search Spaces with Variational AutoencodersParallel Problem Solving from Nature – PPSN XVII10.1007/978-3-031-14714-2_26(371-384)Online publication date: 14-Aug-2022
  • (2021)Learning to synthesize programs as interpretable and generalizable policiesProceedings of the 35th International Conference on Neural Information Processing Systems10.5555/3540261.3542187(25146-25163)Online publication date: 6-Dec-2021
  • (2021)Automated Development of Latent Representations for Optimization of Sequences Using Autoencoders2021 IEEE Congress on Evolutionary Computation (CEC)10.1109/CEC45853.2021.9504910(1123-1130)Online publication date: 28-Jun-2021

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media