Learning Programs: A Hierarchical Bayesian Approach
By Percy Liang, Michael I. Jordan, Daniel Klein. 2010
145 citations recorded by the source corpus.
Subfields: Probabilistic & Bayesian Methods
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Probabilistic & Bayesian Methods
- Yura N. Perov
- Frank D. Wood
- Zoubin Ghahramani
- Hongseok Yang
- Brooks Paige
- Jan-Willem van de Meent
- Josh Tenenbaum
- Vikash K. Mansinghka
Citations in the corpus
- Learning to Optimize Neural Nets (2017, methodology): “Various approaches have been explored: Cramer (1985) investigated evolving programs represented as abstract syntax trees using genetic algorithms, Liang et al. (2010) defines a hierarchical Bayesian prior over programs in a formal language and infers the best program using approximate sampling and…”
- A Survey of Machine Learning for Big Code and Naturalness (2017, background): “tion. Probabilistic machinelearning models help guiding the search process to more probable programs. Researchonprogrammingbyexample(PBE)leveragesmachinelearningmethodstosynthesize code. Liang et al. [116] use a graphical model to learn commonalities of programs across similar 22 Allamanis etal. tas”
- Large Language Models Are Human-Level Prompt Engineers (2022, methodology): “In contrast to prior approaches that require a suitable structured hypothesis space and library of components (Liang et al., 2010; Ellis et al., 2018), we leverage the structure provided by LLMs to search over the space of natural language programs.”
- A Retrieve-and-Edit Framework for Predicting Structured Outputs (2018, background): “Code generation is well studied [21, 17, 4, 23, 1], but these approaches have not explored edit-based generation.”
- An Introduction to Probabilistic Programming (2018, background): “This is the central idea in the work of Perov and Wood (2016) whose use of probabilistic programming is what distinguishes their work from the related literature (Gulwani et al., 2017; Hwang et al., 2011; Liang et al., 2010).”
- Neural Architecture Search with Reinforcement Learning (2016, methodology): “In machine learning, probabilistic program induction has been used successfully in many settings, such as learning to solve simple Q&A (Liang et al., 2010; Neelakantan et al., 2015; Andreas et al., 2016), sort a list of numbers (Reed & de Freitas, 2015), and learning with very few examples (Lake et ”
- Learning Dependency-Based Compositional Semantics (2011, background): “The intuition is that when the tasks are related, the solution to one task can help another task, both computationally in navigating the program space and statistically in choosing the appropriate program if there are multiple feasible possibilities (Liang et al., 2010).”
- Neural Programmer: Inducing Latent Programs with Gradient Descent (2015, background): “Liang et al. (2010) propose an hierarchical Bayesian approach to learn simple programs.”
- Continual and Multi-Task Architecture Search (2019, methodology): “NAS shares some similarity to program synthesis and inductive programming (Summers, 1986; Biermann, 1978), and it has been successfully applied to some simple Q&A tasks (Liang et al., 2010; Neelakantan et al., 2015; Andreas et al., 2016; Lake et al., 2015).”
- Learning to Optimize (2016, methodology): “Several different approaches have been proposed: Liang et al. [20] represents programs explicitly using a formal language, constructs a hierarchical Bayesian prior over programs and performs inference using an MCMC sampling procedure and Graves et al. [11] represents programs implicitly as…”
- Neuro-Symbolic Program Synthesis (2016, background): “Liang et al. (2010) restrict the problem space with a probabilistic context-free grammar and introduce a new representation of programs based on combinatory logic, which allows for sharing sub-programs across multiple tasks.”
- Structured Generative Models of Natural Source Code (2014, background): “The other related work that we are aware of is Liang et al. (2010), which uses a sophisticated non-parametric model to encode the prior that programs should factorize repeated computation, but there is no learning from existing source code, and the prior is only applicable to a functional…”
- Abstract Syntax Networks for Code Generation and Semantic Parsing (2017, background): “Meanwhile, a separate line of work has focused on the problem of program induction from input-output pairs (Balog et al., 2016; Liang et al., 2010; Menon et al., 2013).”
- Programs as Black-Box Explanations (2016, background): “Number of different variations of this problem have been introduced, depending on the syntax of the program and the formalism of the desired goals, with solvers ranging from genetic programming [2] to MCMC [12].”
- Neural Program Synthesis with Priority Queue Training (2018, methodology): “For example, there have been promising results on the task of binary search (Nachum et al., 2017a), sorting an array of numbers (Reed & de Freitas, 2016; Cai et al., 2017), solving simple Q&A from tables (Neelakantan et al., 2016; 2017), visual Q&A (Andreas et al., 2016; Hu et al., 2017; Johnson et ”
- Venture: a higher-order probabilistic programming platform with programmable inference (2014, background): “As in Church — and contrary to (Liang et al., 2010) — inverse interpretation algorithms are not limited to rejection sampling.”
- Applications of Probabilistic Programming (Master's thesis, 2015) (2016, methodology): “It complements the adaptor grammar (Johnson et al., 2007) prior that is used in (Liang et al., 2010) by the use of local environments4 and type signatures.”
- A Machine Learning Framework for Programming by Example (2013, methodology): “It would also be interesting to incorporate ideas like adaptor grammars (Johnson et al., 2006) and learning program structure as in (Liang et al., 2010).”
- Unsupervised Learning by Program Synthesis (2015, background): “Learning a good inductive bias, as done in [22], and then providing that inductive bias to a solver, may be a way of advancing program synthesis as a technology for artificial intelligence.”