Recent technology advances in parallel computing such as multicore CPUs, GPUs, and their driving software require a well-prepared workforce to support this demanding and fast changing industry. Parallel and Distribute...
详细信息
Probabilistic programming is the idea of writing models from statistics and machine learning using program notations and reasoning about these models using generic inference engines. Recently its combination with deep...
详细信息
Probabilistic programming is the idea of writing models from statistics and machine learning using program notations and reasoning about these models using generic inference engines. Recently its combination with deep learning has been explored intensely, which led to the development of so called deep probabilistic programming languages, such as Pyro, Edward and ProbTorch. At the core of this development lie inference engines based on stochastic variational inference algorithms. When asked to find information about the posterior distribution of a model written in such a language, these algorithms convert this posterior-inference query into an optimisation problem and solve it approximately by a form of gradient ascent or descent. In this paper, we analyse one of the most fundamental and versatile variational inference algorithms, called score estimator or REINFORCE, using tools from denotational semantics and program analysis. We formally express what this algorithm does on models denoted by programs, and expose implicit assumptions made by the algorithm on the models. The violation of these assumptions may lead to an undefined optimisation objective or the loss of convergence guarantee of the optimisation process. We then describe rules for proving these assumptions, which can be automated by static program analyses. Some of our rules use nontrivial facts from continuous mathematics, and let us replace requirements about integrals in the assumptions, such as integrability of functions defined in terms of programs' denotations, by conditions involving differentiation or boundedness, which are much easier to prove automatically (and manually). Following our general methodology, we have developed a static program analysis for the Pyro programming language that aims at discharging the assumption about what we call model-guide support match. Our analysis is applied to the eight representative model-guide pairs from the Pyro webpage, which include sophisticated neural ne
Conceptual modeling in Industry 4.0 scenarios enables orchestrating production processes and planning data flows. Since diverse stakeholder groups are involved, collaboration features are particularly important. Commo...
详细信息
Bad smell can be defined as structures in code that suggest the possibility of refactoring. In object-oriented languages such as C# and Java, Bad Smells are heavily exploited as a way to avoid potential software failu...
详细信息
Choosing the right tools for teaching programming, which is a difficult task by itself, is not easy. Which language can be effectively used depends on the language itself, the chosen approach at which paradigm to teac...
详细信息
Fully autonomous or "self-driving" vehicles represent a potentially transformative shift in personal mobility. Given the emerging nature of self-driving vehicle technologies, however, guidance for accessible...
详细信息
We study two different ways to learn object-orientedprogramming in higher secondary education: The first way is to structure the lessons around an overarching project. First, a smaller object-oriented program is intr...
详细信息
Development of quality object-oriented software contains security as an integral aspect of that process. During that process, a ceaseless burden on the developers was posed in order to maximize the development and at ...
详细信息
This paper presents a method for testing whether objects in actor languages and active object languages exhibit locally deterministic behavior. We investigate such a method for a class of guarded command programs, abs...
详细信息
This manuscript presents a technique that allows Equation-based object-oriented Modelling Tools (EOOMT) to exploit Dynamic Decoupling (DD) for partitioning a complex model into "weakly coupled" submodels. Th...
详细信息
暂无评论