Yuting Yang FPO
Yuting Yang will present her FPO "Exploiting Program Representation with Shader Applications" on Wednesday, May 3, 2023 at 3:00 PM in CS 402.
Location: CS 402
The members of Yuting’s committee are as follows:
Examiners: Adam Finkelstein (Adviser), Szymon Rusinkiewicz, Jia Deng
Readers: Felix Heide, Connelly Barnes (Adobe Research)
A copy of her thesis will be available upon request, two weeks before the FPO. Please email gradinfo (@cs.princeton.edu) if you would like a copy of the thesis.
Everyone is invited to attend her talk.
Abstract follows below:
Programs are widely used in content creation. For example, artists design shader programs to procedurally render scenes and textures, while musicians construct “synth” programs to generate electronic sound. While the generated content is typically the focus of attention, the programs themselves offer hidden potential for transformations that can support untapped applications. In this dissertation, we will discuss four projects that exploit the program structure to automatically apply machine learning or math transformations as if they were manually designed by domain experts. First, we describe a compiler-based framework with novel math rules to extend reverse mode automatic differentiation so as to provide accurate gradients for arbitrary discontinuous programs. The differentiation framework allows us to optimize procedural shader parameters to match target images. Second, we extend the differentiation framework to audio “synth” programs so as to match the acoustic properties of a provided sound clip. We next propose a compiler framework to automatically approximate the convolution of an arbitrary program with a Gaussian kernel in order to smooth the program for visual antialiasing. Finally, we explore the benefit of program representation in deep-learning tasks by proposing to learn from program traces of procedural fragment shaders – programs that generate images. In each of these settings, we demonstrate the benefit of exploiting the program structure to generalize hand-crafted techniques to arbitrary programs.