MMD-DDM
Schnelle Inferenz bei der Rauschunterdrückung von Diffusionsmodellen mittels MMD-Feinabstimmung
Denoising Diffusion Models (DDMs) sind zu einem beliebten Werkzeug zur Generierung hochwertiger Stichproben aus komplexen Datenverteilungen geworden. Diese Modelle sind in der Lage, anspruchsvolle Muster und Strukturen in den Daten zu erfassen und Stichproben zu generieren, die äußerst vielfältig und repräsentativ für die zugrunde liegende Verteilung sind. Eine der Haupteinschränkungen von Diffusionsmodellen ist jedoch die Komplexität der Probengenerierung, da eine große Anzahl von Inferenzzeitschritten erforderlich ist, um die Datenverteilung genau zu erfassen. In diesem Artikel stellen wir MMD-DDM vor, eine neuartige Methode zur schnellen Abtastung von Diffusionsmodellen. Unser Ansatz basiert auf der Idee, die Maximum Mean Discrepancy (MMD) zu verwenden, um die erlernte Verteilung mit einem vorgegebenen Budget an Zeitschritten zu verfeinern. Dies ermöglicht es dem feinabgestimmten Modell, den Kompromiss zwischen Geschwindigkeit und Qualität deutlich zu verbessern, indem es die Genauigkeit in Inferenzregimen mit wenigen Schritten erheblich erhöht oder, äquivalent, die erforderliche Anzahl von Schritten reduziert, um eine Zieltreue zu erreichen, und so den Weg für mehr ebnet praktische Anwendung von Diffusionsmodellen in einem breiten Anwendungsspektrum.
Um ein vorab trainiertes Diffusionsmodell mithilfe unserer vorgeschlagenen MMD-DDM-Strategie zu optimieren, laden Sie die vorab trainierten Modelle herunter und passen Sie den Pfad in runners/diffusion.py an oder verwenden Sie die in /function/ckpt_util.py vorhandenen Modelle und führen Sie den folgenden Befehl aus:
python main.py --config {DATASET}.yml --timesteps {num_timesteps (e.g 5)} --exp {PROJECT_PATH} --train
Um ein Beispielbild zu erhalten, das aus dem feinabgestimmten Modell generiert wurde, passen Sie den Pfad in der test_FID-Funktion in runners/diffusion.py mit Ihrem neu trainierten Modell an und führen Sie Folgendes aus:
python main.py --config {DATASET}.yml --timesteps {num_timesteps (e.g 5)} --test_FID
Wenn Sie MMD-DDM bei Ihrer Recherche hilfreich finden, ziehen Sie bitte Folgendes in Betracht:
@article { aiello2023fast ,
title = { Fast Inference in Denoising Diffusion Models via MMD Finetuning } ,
author = { Aiello, Emanuele and Valsesia, Diego and Magli, Enrico } ,
journal = { arXiv preprint arXiv:2301.07969 } ,
year = { 2023 }
}
Dieses Repository basiert auf der offiziellen DDIM-Implementierung: https://github.com/ermongroup/ddim
Wenn Sie Fragen haben, können Sie gerne ein Problem eröffnen oder uns unter [email protected] kontaktieren
? ⛏️ ?
Vortrainierte Modelle werden bald veröffentlicht!