reverse-mode AD

forkortelse for Automatic Differentiation

En teknik til effektiv beregning af gradienter ved at anvende kædereglen baglæns gennem en beregningsgraf.

Kort fortalt

En metode til at beregne, hvor meget hver parameter påvirker fejlen i en model, ved at arbejde baglæns fra output til input.

Kategori
teknik
Niveau
øvet

Betydninger

1
  1. 1

    En mode af automatisk differentiation, der beregner gradienter ved at propagere derivater baglæns gennem en beregningsgraf, hvilket er effektivt for funktioner med mange input og ét output.

    • Reverse-mode AD er grundlaget for backpropagation i neurale netværk.
    • Moderne deep learning-rammer som TensorFlow og PyTorch implementerer reverse-mode AD automatisk.

Hvornår bruges det

Anvendes primært i træning af neurale netværk, hvor gradienterne af tabsfunktionen med hensyn til alle parametre beregnes effektivt ved én enkelt fremad- og tilbagekørsel.

Kodeeksempel

import torch

x = torch.tensor([1.0, 2.0], requires_grad=True)
y = torch.sum(x**2)
y.backward()
print(x.grad)  # Output: tensor([2., 4.])

Eksempel på reverse-mode AD i PyTorch: en simpel funktion og dens gradient.

Oprindelse

Udviklet som en generalisering af backpropagation-algoritmen, men formaliseret inden for automatisk differentiation i 1970'erne.

Kilder

2
  • Automatic Differentiation in Machine Learning: a Survey (Baydin et al., 2017)
  • Learning representations by back-propagating errors (Rumelhart et al., 1986)