45,148 research outputs found
Improvements to Inference Compilation for Probabilistic Programming in Large-Scale Scientific Simulators
We consider the problem of Bayesian inference in the family of probabilistic
models implicitly defined by stochastic generative models of data. In
scientific fields ranging from population biology to cosmology, low-level
mechanistic components are composed to create complex generative models. These
models lead to intractable likelihoods and are typically non-differentiable,
which poses challenges for traditional approaches to inference. We extend
previous work in "inference compilation", which combines universal
probabilistic programming and deep learning methods, to large-scale scientific
simulators, and introduce a C++ based probabilistic programming library called
CPProb. We successfully use CPProb to interface with SHERPA, a large code-base
used in particle physics. Here we describe the technical innovations realized
and planned for this library.Comment: 7 pages, 2 figure
Common Metamodel of Component Diagram and Feature Diagram in Generative Programming
Component-based software engineering and generative programming are common approaches in software engineering. Each approach has some benefits and domain of usage. Component-based development is used to build autonomous components that can be further combined in different ways, while generative programming is more suitable when building systems that have different variants. Before a variable component based system can be build, it needs to be modeled. In this article, a new common metamodel that aims to enable modeling a system which combines both component-based development and generative programming is introduced. The introduced metamodel proposed in this paper combines the component diagram that is used to model systems in component-based development and the feature diagram that is employed in modeling systems in generative programming. The combined metamodel enables modeling of variable systems using components
Beyond the Object
Object orientation (OO) is regained not only in all components of integrate development media but it remarks in the rest of software world from operating system to last application domain - of course, with different intensity and success. A clear prove of OO application in all situations is the development of a wide range of industrial applications. OO technology allows drawing of relation between the geometry, topology and dimensions of data on a class hierarchy; thus, the observation of the amount of data gained by research in many scientific domains is facilitated through class libraries both for graphic primitives and for events examination. In conformity to all waiting, OO asserts in every distributive system, there are very important the applications for making open systems customer-server and dis-tributed applications in Java. Finally OO application in robot's programming and modeling needn't be omitted. However, far to be panacea, OO has also shades which will be researched so on.object orientation, adaptability, reusability component wares, mega-programming, generative programming.
Neural Task Synthesis for Visual Programming
Generative neural models hold great promise in enhancing programming
education by synthesizing new content for students. We seek to design neural
models that can automatically generate programming tasks for a given
specification in the context of visual programming domains. Despite the recent
successes of large generative models like GPT-4, our initial results show that
these models are ineffective in synthesizing visual programming tasks and
struggle with logical and spatial reasoning. We propose a novel neuro-symbolic
technique, NeurTaskSyn, that can synthesize programming tasks for a
specification given in the form of desired programming concepts exercised by
its solution code and constraints on the visual task. NeurTaskSyn has two
components: the first component is trained via imitation learning procedure to
generate possible solution codes, and the second component is trained via
reinforcement learning procedure to guide an underlying symbolic execution
engine that generates visual tasks for these codes. We demonstrate the
effectiveness of NeurTaskSyn through an extensive empirical evaluation and a
qualitative study on reference tasks taken from the Hour of Code: Classic Maze
challenge by Code-dot-org and the Intro to Programming with Karel course by
CodeHS-dot-com
GOGGLES: Automatic Image Labeling with Affinity Coding
Generating large labeled training data is becoming the biggest bottleneck in
building and deploying supervised machine learning models. Recently, the data
programming paradigm has been proposed to reduce the human cost in labeling
training data. However, data programming relies on designing labeling functions
which still requires significant domain expertise. Also, it is prohibitively
difficult to write labeling functions for image datasets as it is hard to
express domain knowledge using raw features for images (pixels).
We propose affinity coding, a new domain-agnostic paradigm for automated
training data labeling. The core premise of affinity coding is that the
affinity scores of instance pairs belonging to the same class on average should
be higher than those of pairs belonging to different classes, according to some
affinity functions. We build the GOGGLES system that implements affinity coding
for labeling image datasets by designing a novel set of reusable affinity
functions for images, and propose a novel hierarchical generative model for
class inference using a small development set.
We compare GOGGLES with existing data programming systems on 5 image labeling
tasks from diverse domains. GOGGLES achieves labeling accuracies ranging from a
minimum of 71% to a maximum of 98% without requiring any extensive human
annotation. In terms of end-to-end performance, GOGGLES outperforms the
state-of-the-art data programming system Snuba by 21% and a state-of-the-art
few-shot learning technique by 5%, and is only 7% away from the fully
supervised upper bound.Comment: Published at 2020 ACM SIGMOD International Conference on Management
of Dat
A Factor Graph Approach to Automated Design of Bayesian Signal Processing Algorithms
The benefits of automating design cycles for Bayesian inference-based
algorithms are becoming increasingly recognized by the machine learning
community. As a result, interest in probabilistic programming frameworks has
much increased over the past few years. This paper explores a specific
probabilistic programming paradigm, namely message passing in Forney-style
factor graphs (FFGs), in the context of automated design of efficient Bayesian
signal processing algorithms. To this end, we developed "ForneyLab"
(https://github.com/biaslab/ForneyLab.jl) as a Julia toolbox for message
passing-based inference in FFGs. We show by example how ForneyLab enables
automatic derivation of Bayesian signal processing algorithms, including
algorithms for parameter estimation and model comparison. Crucially, due to the
modular makeup of the FFG framework, both the model specification and inference
methods are readily extensible in ForneyLab. In order to test this framework,
we compared variational message passing as implemented by ForneyLab with
automatic differentiation variational inference (ADVI) and Monte Carlo methods
as implemented by state-of-the-art tools "Edward" and "Stan". In terms of
performance, extensibility and stability issues, ForneyLab appears to enjoy an
edge relative to its competitors for automated inference in state-space models.Comment: Accepted for publication in the International Journal of Approximate
Reasonin
- …