score matching

Score matching er en metode til at estimere en sandsynlighedstæthed ved at minimere forskellen mellem modelens og dataens score (gradient af log-tætheden).

Kort fortalt

Score matching er en teknik til at lære en statistisk model ved at matche, hvordan modellens sandsynlighed ændrer sig med input, uden at kunne beregne sandsynligheden direkte.

Kategori
teknik
Niveau
øvet

Betydninger

1
  1. 1

    Score matching er en estimeringsmetode for statistiske modeller, der ikke kræver en normaliseringskonstant. Den minimerer Fisher-divergensen mellem den sande og den estimerede score.

    • Score matching bruges til at træne en energibaseret model ved at lære at matche gradienten af log-sandsynligheden.
    • I diffusionsmodeller trænes neurale netværk til at estimere score-funktionen via denoising score matching.

Hvornår bruges det

Score matching bruges primært i generative modeller, især score-baserede diffusionsmodeller, hvor man træner et neuralt netværk til at estimere score-funktionen. Metoden undgår at skulle normalisere tætheden, hvilket gør den anvendelig for komplekse højdimensionelle fordelinger.

Formel

J(θ) = E_{p(x)}[ ½ ||∇_x log p_θ(x)||^2 + ∆_x log p_θ(x) ]

Kodeeksempel

def denoising_score_matching_loss(model, x, sigma):
    noise = torch.randn_like(x) * sigma
    x_noisy = x + noise
    score = model(x_noisy)
    target = - (x_noisy - x) / (sigma**2)
    loss = 0.5 * ((score - target)**2).mean()
    return loss

Denoising score matching loss for træning af en score-model med støj.

Oprindelse

Begrebet 'score matching' blev introduceret af Aapo Hyvärinen i 2005 i artiklen 'Estimation of Non-Normalized Statistical Models by Score Matching'.

Afledte ord

2

Kilder

1
  • Estimation of Non-Normalized Statistical Models by Score Matching