10 research outputs found

    Neurogenetic Programming Framework for Explainable Reinforcement Learning

    Full text link
    Automatic programming, the task of generating computer programs compliant with a specification without a human developer, is usually tackled either via genetic programming methods based on mutation and recombination of programs, or via neural language models. We propose a novel method that combines both approaches using a concept of a virtual neuro-genetic programmer: using evolutionary methods as an alternative to gradient descent for neural network training}, or scrum team. We demonstrate its ability to provide performant and explainable solutions for various OpenAI Gym tasks, as well as inject expert knowledge into the otherwise data-driven search for solutions.Comment: Source code is available at https://github.com/vadim0x60/cib

    BF++: a language for general-purpose program synthesis

    Full text link
    Most state of the art decision systems based on Reinforcement Learning (RL) are data-driven black-box neural models, where it is often difficult to incorporate expert knowledge into the models or let experts review and validate the learned decision mechanisms. Knowledge-insertion and model review are important requirements in many applications involving human health and safety. One way to bridge the gap between data and knowledge driven systems is program synthesis: replacing a neural network that outputs decisions with a symbolic program generated by a neural network or by means of genetic programming. We propose a new programming language, BF++, designed specifically for automatic programming of agents in a Partially Observable Markov Decision Process (POMDP) setting and apply neural program synthesis to solve standard OpenAI Gym benchmarks.Comment: 8+2 pages (paper+references

    Fully Autonomous Programming with Large Language Models

    Get PDF
    Current approaches to program synthesis with Large Language Models (LLMs) exhibit a "near miss syndrome": they tend to generate programs that semantically resemble the correct answer (as measured by text similarity metrics or human evaluation), but achieve a low or even zero accuracy as measured by unit tests due to small imperfections, such as the wrong input or output format. This calls for an approach known as Synthesize, Execute, Debug (SED), whereby a draft of the solution is generated first, followed by a program repair phase addressing the failed tests. To effectively apply this approach to instruction-driven LLMs, one needs to determine which prompts perform best as instructions for LLMs, as well as strike a balance between repairing unsuccessful programs and replacing them with newly generated ones. We explore these trade-offs empirically, comparing replace-focused, repair-focused, and hybrid debug strategies, as well as different template-based and model-based prompt-generation techniques. We use OpenAI Codex as the LLM and Program Synthesis Benchmark 2 as a database of problem descriptions and tests for evaluation. The resulting framework outperforms both conventional usage of Codex without the repair phase and traditional genetic programming approaches

    BF++: a language for general-purpose neural program synthesis

    No full text

    BF++: a language for general-purpose neural program synthesis

    No full text

    Towards Effective Patient Simulators

    Get PDF
    In this paper we give an overview of the field of patient simulators and provide qualitative and quantitative comparison of different modeling and simulation approaches. Simulators can be used to train human caregivers but also to develop and optimize algorithms for clinical decision support applications and test and validate interventions. In this paper we introduce three novel patient simulators with different levels of representational accuracy: HeartPole, a simplistic transparent rule-based system, GraphSim, a graph-based model trained on intensive care data, and Auto-ALS—an adjusted version of an educational software package used for training junior healthcare professionals. We provide a qualitative and quantitative comparison of the previously existing as well as proposed simulators

    Fully Autonomous Programming with Large Language Models

    No full text
    Current approaches to program synthesis with Large Language Models (LLMs) exhibit a "near miss syndrome": They tend to generate programs that semantically resemble the correct answer (as measured by text similarity metrics or human evaluation), but achieve a low or even zero accuracy as measured by unit tests due to small imperfections, such as the wrong input or output format. This calls for an approach known as Synthesize, Execute, Debug (SED), whereby a draft of the solution is generated first, followed by a program repair phase addressing the failed tests. To effectively apply this approach to instruction-driven LLMs, one needs to determine which prompts perform best as instructions for LLMs, as well as strike a balance between repairing unsuccessful programs and replacing them with newly generated ones. We explore these trade-offs empirically, comparing replace-focused, repair-focused, and hybrid debug strategies, as well as different template-based and model-based prompt-generation techniques. We use OpenAI Codex as the LLM and Program Synthesis Benchmark 2 as a database of problem descriptions and tests for evaluation. The resulting framework outperforms both conventional usage of Codex without the repair phase and traditional genetic programming approaches.</p

    Active learning with deep pre-trained models for sequence tagging of clinical and biomedical texts

    No full text
    Active learning is a technique that helps to minimize the annotation budget required for the creation of a labeled dataset while maximizing the performance of a model trained on this dataset. It has been shown that active learning can be successfully applied to sequence tagging tasks of text processing in conjunction with deep learning models even when a limited amount of labeled data is available. Recent advances in transfer learning methods for natural language processing based on deep pre-trained models such as ELMo and BERT offer a much better ability to generalize on small annotated datasets compared to their shallow counterparts. The combination of deep pre-trained models and active learning leads to a powerful approach to dealing with annotation scarcity. In this work, we investigate the potential of this approach on clinical and biomedical data. The experimental evaluation shows that the combination of active learning and deep pre-trained models outperforms the standard methods of active learning. We also suggest a modification to a standard uncertainty sampling strategy and empirically show that it could be beneficial for annotation of very skewed datasets. Finally, we propose an annotation tool empowered with active learning and deep pre-trained models that could be used for entity annotation directly from Jupyter IDE

    Replication package for "Fully Autonomous Programming with Large Language Models"

    No full text
    This repository contains the replication package for the paper "Fully Autonomous Programming with Large Language Models", Vadim Liventsev, Anastasiia Grishina, Aki Härmä, and Leon Moonen, accepted for the 2023 ACM SIGEVO Genetic and Evolutionary Computation Conference (GECCO'23). The paper is deposited on arXiv, will be available at the publisher's site, and a copy is included in this repository. The replication package is archived on Zenodo with DOI: 10.5281/zenodo.7837282. The source code is distributed under the MIT license, the data is distributed under the CC BY 4.0 license. Organization The repository is organized as follows: Archived source code in the src folder, with a dedicated README. Analysis of the results in the analysis folder, with a dedicated README. Archive of SEIDR-generated solutions for PSB2 as a git bundle: psb2-solutions.bundle. These solutions can be inspected by cloning the bundle using git clone psb2-solutions.bundle which will create a folder psb2-solutions with a dedicated README in the master branch. The other branches contain the code that was generated in specific experiments/configurations. List which experiments are available using git branch -r, select one using git checkout , and look at the iteratively synthesized solution for a problem using git log -p -- {problem}.{cpp/py}. Alternatively, these can be inspected on GitHub. Citation If you build on this data or code, please cite this work by referring to the paper: @inproceedings{liventsev2023:fully, title = {Fully Autonomous Programming with Large Language Models}, author = {Vadim Liventsev and Anastasiia Grishina and Aki Härmä and Leon Moonen}, booktitle = {Proceedings of the Genetic and Evolutionary Computation Conference (GECCO'23)}, year = {2023}, publisher = {ACM} doi = {https://doi.org/10.1145/3583131.3590481}, } External References The SEIDR source code is maintained on GitHub. The SEIDR-generated solutions for PSB2 are versioned on GitHub as well

    Active learning with deep pre-trained models for sequence tagging of clinical and biomedical texts

    No full text
    Active learning is a technique that helps to minimize the annotation budget required for the creation of a labeled dataset while maximizing the performance of a model trained on this dataset. It has been shown that active learning can be successfully applied to sequence tagging tasks of text processing in conjunction with deep learning models even when a limited amount of labeled data is available. Recent advances in transfer learning methods for natural language processing based on deep pre-trained models such as ELMo and BERT offer a much better ability to generalize on small annotated datasets compared to their shallow counterparts. The combination of deep pre-trained models and active learning leads to a powerful approach to dealing with annotation scarcity. In this work, we investigate the potential of this approach on clinical and biomedical data. The experimental evaluation shows that the combination of active learning and deep pre-trained models outperforms the standard methods of active learning. We also suggest a modification to a standard uncertainty sampling strategy and empirically show that it could be beneficial for annotation of very skewed datasets. Finally, we propose an annotation tool empowered with active learning and deep pre-trained models that could be used for entity annotation directly from Jupyter IDE
    corecore