forward-mode AD

forkortelse for forward-mode automatic differentiation

En teknik inden for automatisk differentiering, hvor derivater beregnes ved at propagere tangentinformation fremad gennem beregningsgrafen, én uafhængig variabel ad gangen.

Kort fortalt

Forward-mode AD er en metode til at beregne hældninger (afledte) af funktioner ved at føre en 'tangent' med gennem beregningerne, hvilket er effektivt når man kun har få inputvariabler.

Kategori
teknik
Niveau
ekspert

Betydninger

1
  1. 1

    En teknik inden for automatisk differentiering, hvor derivater beregnes ved at propagere tangentinformation fremad gennem beregningsgrafen, én uafhængig variabel ad gangen.

    • Forward-mode AD er effektiv til at beregne Jacobi-vektor-produkter, især når antallet af output er meget større end antallet af input.Baydin et al., 2017
    • Implementeringer af forward-mode AD findes i biblioteker som JAX (jvp) og PyTorch (torch.autograd.forward_ad).

Hvornår bruges det

Forward-mode AD anvendes i praksis til at beregne Jacobi-vektor-produkter og til optimering af funktioner med få inputparametre, f.eks. inden for maskinlæring, fysiksimulering og finansiel modellering. Det er særligt nyttigt, når antallet af output er meget større end antallet af input.

Kodeeksempel

import jax.numpy as jnp
from jax import jvp

def f(x):
    return x**2 + jnp.sin(x)

x = 1.0
tangent = 1.0
val, deriv = jvp(f, (x,), (tangent,))
print(deriv)  # 2*1 + cos(1) ≈ 2.5403

Eksempel på forward-mode AD i JAX: jvp beregner den retningsafledte af f i retning af tangenten.

Oprindelse

Begrebet 'forward-mode' stammer fra 1960'ernes og 1970'ernes udvikling af automatisk differentiering, hvor man skelnede mellem 'forward mode' (fremadrettet) og 'reverse mode' (baglæns).

Afledte ord

1

Kilder

2
  • Automatic differentiation in machine learning: a survey
  • Evaluating derivatives: principles and techniques of algorithmic differentiation