З автоматичною диференціацією ви повинні отримати точну похідну (якщо ваша функція диференційована) оскільки інструменти автоматичного розрізнення базуються на перевантаженні операторів і розрізняють кожну операцію вашого коду. Привіт, насправді автоматичне диференціювання повинно давати той самий результат, що й символічне диференціювання.
Хоча алгоритми автоматичного диференціювання пропонують значні переваги, вони також мають певні труднощі та обмеження: Обмежена підтримка недиференційованих функцій: Алгоритми автоматичного диференціювання в TensorFlow покладаються на здатність обчислювати похідні функцій.
Диференціювання дає нахил лінійної апроксимації функції в точці… а не саму лінійну апроксимацію. Швидкість зміни, отримана похідною, є точною, але якщо функція не є лінійною, лінійне наближення, отримане з цієї точної швидкості зміни, є настільки точним.
Перевагою автоматичної диференціації є те у зворотному режимі ми можемо обчислити похідні функції відносно всіх її вхідних змінних в одному потоці. У прямому режимі нам потрібно виконати обчислення n * m разів, де n — це кількість вхідних змінних, а m — розмір виходу (кількість вихідних змінних).
Автоматична диференціація, або скорочено AD, виражає складені функції у змінні та елементарні операції*, які їх утворюють. Усі численні обчислення зосереджені навколо цих операцій, і оскільки ми знаємо їхні похідні, ми можемо об’єднати їх разом, щоб отримати похідну для всієї функції.