Быстрая диффузия: Переосмысление роли энкодера UNet в моделях диффузии
Faster Diffusion: Rethinking the Role of UNet Encoder in Diffusion Models
December 15, 2023
Авторы: Senmao Li, Taihang Hu, Fahad Shahbaz Khan, Linxuan Li, Shiqi Yang, Yaxing Wang, Ming-Ming Cheng, Jian Yang
cs.AI
Аннотация
Одним из ключевых компонентов в диффузионных моделях является UNet для предсказания шума. Хотя в нескольких работах были изучены базовые свойства декодера UNet, его энкодер остается в значительной степени неисследованным. В данной работе мы проводим первое всестороннее исследование энкодера UNet. Мы эмпирически анализируем особенности энкодера и предоставляем важные инсайты относительно их изменений в процессе вывода. В частности, мы обнаруживаем, что особенности энкодера изменяются плавно, тогда как особенности декодера демонстрируют значительные вариации на разных временных шагах. Это наблюдение вдохновило нас на то, чтобы исключить энкодер на определенных смежных временных шагах и повторно использовать особенности энкодера с предыдущих шагов для декодера. Основываясь на этом наблюдении, мы вводим простую, но эффективную схему распространения энкодера для ускорения выборки диффузии в различных задачах. Благодаря нашей схеме распространения, мы можем параллельно выполнять декодер на определенных смежных временных шагах. Кроме того, мы представляем метод инъекции предварительного шума для улучшения текстурных деталей в генерируемом изображении. Помимо стандартной задачи текстового описания в изображение, мы также проверяем наш подход на других задачах: текстовое описание в видео, персонализированная генерация и генерация с использованием референсов. Без использования каких-либо методов дистилляции знаний наш подход ускоряет выборку моделей Stable Diffusion (SD) и DeepFloyd-IF на 41% и 24% соответственно, сохраняя при этом высокое качество генерации. Наш код доступен по адресу https://github.com/hutaiHang/Faster-Diffusion{FasterDiffusion}.
English
One of the key components within diffusion models is the UNet for noise
prediction. While several works have explored basic properties of the UNet
decoder, its encoder largely remains unexplored. In this work, we conduct the
first comprehensive study of the UNet encoder. We empirically analyze the
encoder features and provide insights to important questions regarding their
changes at the inference process. In particular, we find that encoder features
change gently, whereas the decoder features exhibit substantial variations
across different time-steps. This finding inspired us to omit the encoder at
certain adjacent time-steps and reuse cyclically the encoder features in the
previous time-steps for the decoder. Further based on this observation, we
introduce a simple yet effective encoder propagation scheme to accelerate the
diffusion sampling for a diverse set of tasks. By benefiting from our
propagation scheme, we are able to perform in parallel the decoder at certain
adjacent time-steps. Additionally, we introduce a prior noise injection method
to improve the texture details in the generated image. Besides the standard
text-to-image task, we also validate our approach on other tasks:
text-to-video, personalized generation and reference-guided generation. Without
utilizing any knowledge distillation technique, our approach accelerates both
the Stable Diffusion (SD) and the DeepFloyd-IF models sampling by 41% and
24% respectively, while maintaining high-quality generation performance. Our
code is available in
https://github.com/hutaiHang/Faster-Diffusion{FasterDiffusion}.