SmartChoices: Hybridizing Programming and Machine Learning
We present SmartChoices, an approach to making machine learning (ML) a first class citizen in programming languages which we see as one way to lower the entrance cost to applying ML to problems in new domains. There is a growing divide in approaches to building systems: on the one hand, programming leverages human experts to define a system while on the other hand behavior is learned from data in machine learning. We propose to hybridize these two by providing a 3-call API which we expose through an object called SmartChoice. We describe the SmartChoices-interface, how it can be used in programming with minimal code changes, and demonstrate that it is an easy to use but still powerful tool by demonstrating improvements over not using ML at all on three algorithmic problems: binary search, QuickSort, and caches. In these three examples, we replace the commonly used heuristics with an ML model entirely encapsulated within a SmartChoice and thus requiring minimal code changes. As opposed to previous work applying ML to algorithmic problems, our proposed approach does not require to drop existing implementations but seamlessly integrates into the standard software development workflow and gives full control to the software developer over how ML methods are applied. Our implementation relies on standard Reinforcement Learning (RL) methods. To learn faster, we use the heuristic function, which they are replacing, as an initial function. We show how this initial function can be used to speed up and stabilize learning while providing a safety net that prevents performance to become substantially worse -- allowing for a safe deployment in critical applications in real life.
Code (0)
등록된 구현이 없습니다.
Tasks
BIG-bench Machine LearningReinforcement LearningReinforcement Learning (RL)Methods 이 논문이 사용한 방법론
Similar Papers 제목 키워드 기반
SmartChoices: Augmenting Software with Learned Implementations
In many software systems, heuristics are used to make decisions - such as cache eviction, task scheduling, and information presentation - that have a significant impact on overall system behavior. While machine learning …
Multi-Armed BanditsPhilosophySchedulingHybridizing Waterborne Transport: Modeling and Simulation of Low-Emissions Hybrid Waterbuses for the City of Venice
Hybrid-electric powertrains are among the most promising technologies for abating emissions from marine vessels in sensitive areas. However, their effectiveness strongly depends on the context they operate into. This pap…
energy managementManagementPredicted Variables in Programming
We present Predicted Variables, an approach to making machine learning (ML) a first class citizen in programming languages. There is a growing divide in approaches to building systems: using human experts (e.g. programmi…
Reinforcement LearningReinforcement Learning (RL)Effective models and predictability of chaotic multiscale systems via machine learning
We scrutinize the use of machine learning, based on reservoir computing, to build data-driven effective models of multiscale chaotic systems. We show that, for a wide scale separation, machine learning generates effectiv…
BIG-bench Machine LearningHybridizing Physical and Data-driven Prediction Methods for Physicochemical Properties
We present a generic way to hybridize physical and data-driven methods for predicting physicochemical properties. The approach `distills' the physical method's predictions into a prior model and combines it with sparse e…
Bayesian InferenceBIG-bench Machine Learning