Programação Diferenciável: Um mergulho profundo a partir dos princípios básicos

2025-04-17

Este artigo fornece uma explicação abrangente da programação diferenciável, começando pela definição de derivadas no cálculo e progredindo para conceitos como gradientes, derivadas direcionais e matrizes jacobianas. Ele detalha três métodos de diferenciação: diferenciação numérica, diferenciação simbólica e diferenciação automática (modos direto e inverso), comparando seus pontos fortes e fracos. Finalmente, demonstra como a diferenciação automática em modo inverso, combinada com o método do gradiente descendente, pode resolver problemas de otimização do mundo real usando um exemplo de desfocagem de imagem.