"Apagando Conceitos Indesejáveis em Modelos de Difusão com Preservação Adversarial" (NeurIPS 2024).
[? Papel] [? Página do projeto] [? Pôster] [Slides]
Contato: [email protected]
(Plugue sem vergonha?) Nossos outros artigos sobre Apagamento/Desaprendizado de Conceitos:
Alvos fantásticos para eliminação de conceitos em modelos de difusão e onde encontrá-los ,
Tuan-Anh Bui, Trang Vu, Long Vuong, Trung Le, Paul Montague, Tamas Abraham, Dinh Phung
Em revisão (Dropbox)
Apagando Conceitos Indesejáveis em Modelos de Difusão com Preservação Adversarial ,
Tuan-Anh Bui, Long Vuong, Khanh Doan, Trung Le, Paul Montague, Tamas Abraham, Dinh Phung
NeurIPS 2024 (arXiv 2410.15618)
Removendo conceitos indesejáveis em modelos geradores de texto para imagem com prompts que podem ser aprendidos ,
Tuan-Anh Bui, Khanh Doan, Trung Le, Paul Montague, Tamas Abraham, Dinh Phung
Pré-impressão (arXiv 2403.12326)
Os modelos de difusão são excelentes na geração de conteúdo visualmente impressionante a partir de texto, mas podem produzir inadvertidamente conteúdo indesejável ou prejudicial quando treinados em dados não filtrados da Internet. Uma solução prática é remover seletivamente os conceitos-alvo do modelo, mas isso pode impactar os conceitos restantes. Abordagens anteriores tentaram equilibrar isto introduzindo um termo de perda para preservar o conteúdo neutro ou um termo de regularização para minimizar alterações nos parâmetros do modelo, mas a resolução deste compromisso continua a ser um desafio. Neste trabalho, propomos identificar e preservar os conceitos mais afetados pelas mudanças de parâmetros, denominados conceitos adversários . Esta abordagem garante um apagamento estável com impacto mínimo nos outros conceitos. Demonstramos a eficácia do nosso método usando o modelo de difusão estável, mostrando que ele supera os métodos de eliminação de última geração na eliminação de conteúdo indesejado, mantendo a integridade de outros elementos não relacionados.
(1) Apagar diferentes conceitos-alvo dos modelos de difusão de texto para imagem leva a impactos variados nos conceitos restantes. Por exemplo, a remoção da “nudez” afecta significativamente conceitos relacionados como “mulheres” e “homens”, mas tem um impacto mínimo em conceitos não relacionados como “camião de lixo”. (2) Os conceitos neutros situam-se no meio do espectro de sensibilidade, sugerindo que não representam adequadamente a capacidade de preservação do modelo. (3) Além disso, a escolha do conceito a ser preservado durante o apagamento impacta significativamente a capacidade generativa do modelo; confiar em conceitos neutros, como em trabalhos anteriores, não é uma solução ideal. (4) Isto realça a necessidade de métodos adaptativos para identificar e preservar os conceitos mais sensíveis relacionados com o conceito-alvo que está a ser apagado, em vez de depender de conceitos neutros/genéricos fixos.
cd Adversarial-Erasing
wget https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4-full-ema.ckpt
mkdir models/erase
mv sd-v1-4-full-ema.ckpt models/erase/
wget https://huggingface.co/CompVis/stable-diffusion-v1-4/blob/main/unet/config.json
mv config.json models/erase/
Requisitos:
pip install omegaconf
pip install pytorch-lightning==1.6.5
pip install taming-transformers-rom1504
pip install kornia==0.5.11
pip install git+https://github.com/openai/CLIP.git
pip install diffusers==0.21.4
pip install -U transformers
pip install --upgrade nudenet
pip install lpips
Fornecemos scripts de treinamento e avaliação para os experimentos do artigo nos arquivos bash a seguir.
Para produzir os resultados da Tabela 1 do artigo (ou seja, Apagando conceitos relacionados a objetos), execute o seguinte comando:
bash run_imagenette.sh
Para produzir os resultados da Tabela 2 do artigo (ou seja, Apagando o conceito de nudez), execute o seguinte comando:
bash run_nudity.sh
Para produzir os resultados da Tabela 3 do artigo (ou seja, Apagando Conceitos Artísticos), execute o seguinte comando:
bash run_artist.sh
Para produzir a Figura 1 e a Figura 2 do artigo (ou seja, Análise do impacto do apagamento do conceito alvo)
bash run_abl_preserve.sh
A lista de prompts usados no artigo pode ser encontrada na pasta data
, incluindo:
english_3000.csv
: lista de 3.000 palavras em inglêsimagenette.csv
: lista de classes de imagenette, 500 imagens por classeunsafe-prompts4703.csv
: Lista de prompts inseguros I2P, 4703 promptslong_nich_art_prompts.csv
: Lista para gerar arte de cinco artistassimilarity-nudity_200.csv
para similarity-nudity-4_200.csv
: Lista para gerar objetos específicos para estudar o impacto do apagamento de conceitos de nudez e caminhão de lixoFornecemos implementação de nosso método e linhas de base:
train_adversarial_gumbel.py
: Implementação do nosso métodotrain_esd.py
: Implementação de ESDtrain_uce.py
: Implementação do UCEtrain-esd-preserve.py
: Implementação de ESD com preservação para estudar o impacto do apagamento da nudez e dos conceitos de caminhão de lixo Para definir conceitos a serem apagados, modifique o arquivo utils_exp.py
e altere o argumento --prompt
nos arquivos bash.
Fornecemos os resultados da avaliação de nosso método e linhas de base na pasta evaluation_folder
e nos cadernos associados para reproduzir os resultados no artigo.
Se você achar este trabalho útil em sua pesquisa, considere citar nosso artigo (ou nossos outros artigos?):
@article { bui2024erasing ,
title = { Erasing Undesirable Concepts in Diffusion Models with Adversarial Preservation } ,
author = { Bui, Anh and Vuong, Long and Doan, Khanh and Le, Trung and Montague, Paul and Abraham, Tamas and Phung, Dinh } ,
booktitle = { NeurIPS } ,
year = { 2024 }
}
@article { bui2024adaptive ,
title = { Fantastic Targets for Concept Erasure in Diffusion Models and Where to Find Them } ,
author = { Bui, Anh and Vu, Trang and Vuong, Long and Le, Trung and Montague, Paul and Abraham, Tamas and Phung, Dinh } ,
journal = { Preprint } ,
year = { 2024 }
}
@article { bui2024removing ,
title = { Removing Undesirable Concepts in Text-to-Image Generative Models with Learnable Prompts } ,
author = { Bui, Anh and Doan, Khanh and Le, Trung and Montague, Paul and Abraham, Tamas and Phung, Dinh } ,
journal = { arXiv preprint arXiv:2403.12326 } ,
year = { 2024 }
}
Este repositório é baseado no repositório Erasing Concepts from Diffusion Models