skada.deep.DANNLoss

class skada.deep.DANNLoss(domain_criterion=None)[source]

Loss DANN.

This loss tries to minimize the divergence between features with adversarial method. The weights are updated to make harder to classify domains (i.e., remove domain-specific features).

See [15] for details.

Parameters:
domain_criteriontorch criterion (class), default=None

The initialized criterion (loss) used to compute the DANN loss. If None, a BCELoss is used.

References

[15]

Yaroslav Ganin et. al. Domain-Adversarial Training of Neural Networks. In Journal of Machine Learning Research, 2016.

forward(domain_pred_s, domain_pred_t, **kwargs)[source]

Compute the domain adaptation loss