Redes neurais reversíveis e caracterização de problemas físicos através de programação diferenciável - Farias, Tiago de Souza (2023)
Reversible neural networks are a type of neural network where you can recover the input values knowing only the output values of the network. This thesis presents a method to approximate the reversibility of neural networks, where a neural network is trained to approximate the input values through the gradient of a cost function that depends on the output values. Applied in generative processes, reversibility allows generating data statistically similar to the training set. With a change in the proposed reversibility technique, it is possible to make local training of a neural network, saving computational memory resources, which can be applied to arbitrary problems such as classification. Differentiable programming is a computing paradigm where a program is built from differentiable blocks, offering the advantages of differentiability, which can be used to modify the program according to a data set and an objective function, as well as scalability, where a program can be run on hardware that offers high parallelism capability, such as GPU and TPU. This thesis presents the use of differentiable programming to approximate the solution of differential equations, demonstrating its ability to help solve physical problems that can be represented by this type of equation. Another developed differentiable programming application in spin models, which can be used to simulate a variety of phenomena such as magnetic materials, graphs and biological cells, offering advantages in scalability and execution time.