TG Telegram Group & Channel
gonzo-обзоры ML статей | United States America (US)
Create: Update:

[Google Imagen] Photorealistic Text-to-Image Diffusion Models with Deep Language Understanding
Chitwan Saharia, William Chan, Saurabh Saxena, Lala Li, Jay Whang, Emily Denton, Seyed Kamyar Seyed Ghasemipour, Burcu Karagol Ayan, S. Sara Mahdavi, Rapha Gontijo Lopes, Tim Salimans, Jonathan Ho, David J Fleet, Mohammad Norouzi
Статья: https://arxiv.org/abs/2205.11487
Демо: https://imagen.research.google/
Код: нет
API: нет

Google сделали свою систему по типу DALL·E 2 под названием Imagen. Тоже диффузионная модель для генерации картинки и апсемплинга, тоже предобученная языковая модель (только другого типа). Качество генерации лучше, чем у DALL·E 2. Заодно собрали бенчмарк для оценки генеративных картиночно-текстовых моделей.

Imagen использует замороженный энкодер T5-XXL (11B параметров всего в модели, в энкодере 4.6B, подробнее про семейство T5 здесь: https://hottg.com/gonzo_ML/442). Что интересно, это чисто текстовая модель, натренированная на большом корпусе текстов (750Гб) для решения задач seq2seq (напомним, что все задачи сводились к генерации текстовой последовательности по текстовому входу, будь то классификация, перевод или что-то ещё). CLIP же, использовавшийся в DALL·E 2, был текстово-картиночной моделью, обученной контрастным обучением на датасете c 400М пар картинка-текст (тут правда не до конца понятно как именно обучался CLIP из DALL·E 2, он всё же побольше и датасет возможно там был на 650М пар, но из текста это недостаточно понятно). Ну то есть задачи обучения у моделей разные, датасеты разные, эмбеддинги скорее всего содержат что-то разное.

Авторы попробовали три разных предобученных текстовых энкодера: BERT (base, large), T5 и CLIP. Все с замороженными весами (то есть не обучались). BERT правда мелкий по сравнению с остальными и датасет его был ощутимо меньше. CLIP не совсем понятно какой именно взяли, если от оригинального CLIP, то там в текстовом энкодере был трансформер на 12 слоёв, а если из DALL·E 2 (что вряд ли), то там стоял более тяжёлый на 24 слоя, но вероятно это всё равно порядка 340M параметров, то есть далеко до энкодера из T5-XXL. Так что результат имхо заранее ожидаем. В работе написано ViT-L/14, но это визуальная часть CLIP, отвечающая за визуальные эмбеддинги, а не текстовые, либо я чего-то не понял.

Эта модель по входному тексту генерит последовательность эмбеддингов. Далее делается пулинг эмбеддингов (видимо, пробовали mean pooling и attention pooling) и добавляется эмбеддинг временного шага диффузии.

Архитектура диффузионной модели — U-Net (из работы https://arxiv.org/abs/2102.09672) с обусловливанием полученным из текста эмбеддингом. Интересно, что также на разных разрешениях есть обусловливание на всю последовательность токенов через cross-attention. Дефолтный вариант этой модели с 2B параметров.

В диффузионной модели используется сlassifier-free guidance, где во время обучения в 10% случаев убирается информация об обусловливании текстом, а во время сэмплинга используется микс обусловленного и необусловленного предсказания, замешанных с гиперпараметром guidance weight (w=1 отключает classifier-free guidance, а по мере увеличения w увеличивается и эффект guidance). Есть проблемы, когда при высоком значении guidance weight получаются ненатуральные или очень насыщенные картинки. Авторы обнаружили, что это происходит из-за возникновения train-test mismatch, когда генерируемые пиксели вылезают за значения диапазона, который был при обучении, и модель в итоге итеративно начинает генерить нереальные картинки или вообще расходится. Для борьбы с этим предложили два варианта thresholding, статический (по сути клиппинг значений на границе диапазона) и динамический (когда очень насыщенные пиксели “отталкивают” обратно внутрь диапазона). Динамический вариант даёт более высокое качество.

[Google Imagen] Photorealistic Text-to-Image Diffusion Models with Deep Language Understanding
Chitwan Saharia, William Chan, Saurabh Saxena, Lala Li, Jay Whang, Emily Denton, Seyed Kamyar Seyed Ghasemipour, Burcu Karagol Ayan, S. Sara Mahdavi, Rapha Gontijo Lopes, Tim Salimans, Jonathan Ho, David J Fleet, Mohammad Norouzi
Статья: https://arxiv.org/abs/2205.11487
Демо: https://imagen.research.google/
Код: нет
API: нет

Google сделали свою систему по типу DALL·E 2 под названием Imagen. Тоже диффузионная модель для генерации картинки и апсемплинга, тоже предобученная языковая модель (только другого типа). Качество генерации лучше, чем у DALL·E 2. Заодно собрали бенчмарк для оценки генеративных картиночно-текстовых моделей.

Imagen использует замороженный энкодер T5-XXL (11B параметров всего в модели, в энкодере 4.6B, подробнее про семейство T5 здесь: https://hottg.com/gonzo_ML/442). Что интересно, это чисто текстовая модель, натренированная на большом корпусе текстов (750Гб) для решения задач seq2seq (напомним, что все задачи сводились к генерации текстовой последовательности по текстовому входу, будь то классификация, перевод или что-то ещё). CLIP же, использовавшийся в DALL·E 2, был текстово-картиночной моделью, обученной контрастным обучением на датасете c 400М пар картинка-текст (тут правда не до конца понятно как именно обучался CLIP из DALL·E 2, он всё же побольше и датасет возможно там был на 650М пар, но из текста это недостаточно понятно). Ну то есть задачи обучения у моделей разные, датасеты разные, эмбеддинги скорее всего содержат что-то разное.

Авторы попробовали три разных предобученных текстовых энкодера: BERT (base, large), T5 и CLIP. Все с замороженными весами (то есть не обучались). BERT правда мелкий по сравнению с остальными и датасет его был ощутимо меньше. CLIP не совсем понятно какой именно взяли, если от оригинального CLIP, то там в текстовом энкодере был трансформер на 12 слоёв, а если из DALL·E 2 (что вряд ли), то там стоял более тяжёлый на 24 слоя, но вероятно это всё равно порядка 340M параметров, то есть далеко до энкодера из T5-XXL. Так что результат имхо заранее ожидаем. В работе написано ViT-L/14, но это визуальная часть CLIP, отвечающая за визуальные эмбеддинги, а не текстовые, либо я чего-то не понял.

Эта модель по входному тексту генерит последовательность эмбеддингов. Далее делается пулинг эмбеддингов (видимо, пробовали mean pooling и attention pooling) и добавляется эмбеддинг временного шага диффузии.

Архитектура диффузионной модели — U-Net (из работы https://arxiv.org/abs/2102.09672) с обусловливанием полученным из текста эмбеддингом. Интересно, что также на разных разрешениях есть обусловливание на всю последовательность токенов через cross-attention. Дефолтный вариант этой модели с 2B параметров.

В диффузионной модели используется сlassifier-free guidance, где во время обучения в 10% случаев убирается информация об обусловливании текстом, а во время сэмплинга используется микс обусловленного и необусловленного предсказания, замешанных с гиперпараметром guidance weight (w=1 отключает classifier-free guidance, а по мере увеличения w увеличивается и эффект guidance). Есть проблемы, когда при высоком значении guidance weight получаются ненатуральные или очень насыщенные картинки. Авторы обнаружили, что это происходит из-за возникновения train-test mismatch, когда генерируемые пиксели вылезают за значения диапазона, который был при обучении, и модель в итоге итеративно начинает генерить нереальные картинки или вообще расходится. Для борьбы с этим предложили два варианта thresholding, статический (по сути клиппинг значений на границе диапазона) и динамический (когда очень насыщенные пиксели “отталкивают” обратно внутрь диапазона). Динамический вариант даёт более высокое качество.


>>Click here to continue<<

gonzo-обзоры ML статей




Share with your best friend
VIEW MORE

United States America Popular Telegram Group (US)