Как устроены генеративные обложки профиля
Краткий экскурс в диффузионные модели и вектор интереса пользователя.
В честь 16-летия ВКонтакте решили добавить новый способ персонализации профиля — генеративные обложки, затестить их можно в приложении. Это самый быстрый запуск, который мы реализовали в этом году. Всего есть 4 категории обложек: импрессионизм, киберпанк, абстракция и концепт-арт.
Вектор интереса
При генерации картинки учитываются предпочтения пользователя, мы называем это вектор интереса. Он формируется из тематики страницы: увлечений, подписок, репостов и фотографий. Сеть формирует основной вектор интересов, например, машины, а затем генерирует обложки, связанные с автомобильной тематикой.
Диффузионные модели
Для решения нашей задачи мы использовали диффузионные модели. Они способны сгенерировать изображение фактически из белого шума, рандомного набора чисел. Работу модели можно разделить на два этапа. Первый — обучение: мы постепенно зашумляем изображение и просим диффузию предсказать наложенный шум или изначальное изображение, зная мощность зашумления. Научившись восстанавливать с разных уровней зашумления, можем приступить ко второму этапу — генерации. Берётся гауссовский шум и модель итеративно пытается восстановить из него изображение. Чтобы генерировать какое-то конкретное изображение, можно дополнительно обусловить модель на текст.
Уровень качества генеративного контента, который есть сейчас, не появился просто так — это наслоение прошлых завоеваний в ML. Пару лет назад значительным скачком стало то, что Google и другие компании начали публиковать датасеты с огромным количеством подписанных картинок. Обучившись на миллиарде таких картинок, нейросети научились предсказывать, что изображено на картинке, без тега.