Program Synthesis Over Noisy Data with Guarantees

03/08/2021
by   Shivam Handa, et al.
0

We explore and formalize the task of synthesizing programs over noisy data, i.e., data that may contain corrupted input-output examples. By formalizing the concept of a Noise Source, an Input Source, and a prior distribution over programs, we formalize the probabilistic process which constructs a noisy dataset. This formalism allows us to define the correctness of a synthesis algorithm, in terms of its ability to synthesize the hidden underlying program. The probability of a synthesis algorithm being correct depends upon the match between the Noise Source and the Loss Function used in the synthesis algorithm's optimization process. We formalize the concept of an optimal Loss Function given prior information about the Noise Source. We provide a technique to design optimal Loss Functions given perfect and imperfect information about the Noise Sources. We also formalize the concept and conditions required for convergence, i.e., conditions under which the probability that the synthesis algorithm produces a correct program increases as the size of the noisy data set increases. This paper presents the first formalization of the concept of optimal Loss Functions, the first closed form definition of optimal Loss Functions, and the first conditions that ensure that a noisy synthesis algorithm will have convergence guarantees.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
09/22/2020

Inductive Program Synthesis Over Noisy Data

We present a new framework and associated synthesis algorithms for progr...
research
04/27/2021

Inductive Program Synthesis over Noisy Datasets using Abstraction Refinement Based Optimization

We present a new synthesis algorithm to solve program synthesis over noi...
research
10/08/2019

Peer Loss Functions: Learning from Noisy Labels without Knowing Noise Rates

Learning with noisy labels is a common problem in supervised learning. E...
research
11/13/2018

FrAngel: Component-Based Synthesis with Control Structures

In component-based program synthesis, the synthesizer generates a progra...
research
08/18/2023

Learning MDL logic programs from noisy data

Many inductive logic programming approaches struggle to learn programs f...
research
06/28/2019

Learning Effective Loss Functions Efficiently

We consider the problem of learning a loss function which, when minimize...
research
08/22/2018

Synthesizing Set Functions

Set functions are a feature of functional logic programming to encapsula...

Please sign up or login with your details

Forgot password? Click here to reset