adversariel domænetilpasning

Adversariel domænetilpasning er en teknik inden for transfer learning, der bruger en modstandsdrevet (adversarial) træningsproces til at lære domæne-invariante repræsentationer ved at minimere en klassifikationsfejl på kildedomænet samtidig med at en domæneklassifikator bedrages.

Kort fortalt

En metode der får en model til at ignorere forskelle mellem to datasæt (domæner) ved at træne den til at snyde en klassifikator der prøver at gætte hvilket domæne data kommer fra.

Kategori
teknik
Niveau
øvet

Betydninger

1
  1. 1

    En teknik inden for domænetilpasning, hvor en generator (eller feature extractor) trænes til at producere repræsentationer, der både er nyttige for en klassifikator på kildedomænet og forvirrende for en domænediskriminator, så repræsentationerne bliver domæne-invariante.

    • Ved brug af adversariel domænetilpasning kan en model trænet på laboratoriedata generalisere til virkelige data uden yderligere mærkning. — Eksempel fra praksis
    • Gradient reverseringslaget er en central komponent i adversariel domænetilpasning, da det muliggør end-to-end træning af feature extractor og domænediskriminator. — Eksempel fra litteratur

Hvornår bruges det

Adversariel domænetilpasning bruges typisk i scenarier hvor man har et stort, mærket datasæt (kildedomæne) og et umærket eller sparsomt mærket datasæt (måldomæne), fx ved overførsel af en model fra syntetiske billeder til ægte billeder. Teknikken implementeres ofte med et gradient reverseringslag (gradient reversal layer) der under bagpropagation vender fortegnene på gradienterne fra domæneklassifikatoren.

Formel

min_{G, C} max_{D} L_cls(G, C) - λ L_domain(G, D)

Kodeeksempel

# Gradient reversal layer (GRL) i PyTorch
class GradientReversalLayer(torch.autograd.Function):
    @staticmethod
    def forward(ctx, x, lambda_):
        ctx.lambda_ = lambda_
        return x.view_as(x)
    @staticmethod
    def backward(ctx, grad_output):
        return grad_output.neg() * ctx.lambda_, None

En simpel implementation af gradient reverseringslaget, der vender gradienternes fortegn under bagpropagation multipliceret med en lambda-parameter.

Oprindelse

Begrebet er en oversættelse af engelsk 'adversarial domain adaptation', hvor 'adversarial' refererer til modspilstræning (som i GAN'er) og 'domain adaptation' betegner tilpasning mellem domæner.

Afledte ord

2
gradient reverseringslagdomæne-adversariel neural netværk (DANN)

Kilder

2