Diferenciação automática
De Wikipedia, a enciclopédia encyclopedia
Em matemática e álgebra computacional, a diferenciação automática (DA), também chamada de diferenciação algorítmica, é um conjunto de técnicas para avaliar a derivada de função numéricas especificadas em um programa de computador[1].
A diferenciação automática explora o fato que todo programa computacional executa uma sequência de operações aritméticas (adição, subtração, multiplicação, divisão, etc.) e funções elementares (exponencial, logaritmo, seno, cosseno, etc.). Ao aplicar repetidademente a regra da cadeia a estas operações a derivada pode ser computada automaticamente e de modo eficiente, utilizando apenas algumas operações aritméticas a mais que a função original.
A diferenciação automática é diferente da:
- Diferenciação simbólica
- Diferenciação numérica
Ambos os métodos mencionados acima são lentos ao calcular derivadas parciais em relação à múltiplas variáveis o que é necessário, por exemplo, em algoritmos de otimização baseados no gradiente[1][2]. Em redes neurais artificias a retropropagação (em inglês backpropagation) dos erros comumente utiliza as técnicas de diferenciação automática.