Нам не хватало эмодзи! Поэтому мы придумали Emojich — нейросетевую модель, которая генерирует их за нас (и за вас)

Вы наверняка слышали про ruDALL-E — нейросеть, которую мы научили создавать изображения по описанию на русском языке. Особенность таких моделей в том, что их можно дообучать, чтобы они могли делать самые разные вещи. Недавно мы поняли, что каждому из нас хотя бы раз не хватало нужного эмодзи, и решили немного модифицировать ruDALL-E. Так появилась Emojich — модель, которая умеет генерировать эмодзи по описанию. Вот как она работает — объясняем и показываем примеры.

Нам не хватало эмодзи! Поэтому мы придумали Emojich — нейросетевую модель, которая генерирует их за нас (и за вас)

О том, что такое ruDALL-E, можно узнать подробнее здесь (а если хочется технических деталей, то ещё и тут). По сути, ruDALL-E — это большой мультимодальный предобученный трансформер. Мы обучали его на двух видах данных: картинках и текстах. Это было необходимо, чтобы модель понимала суть запросов на русском языке, мэтчила их с изображениями, которые «видела» в процессе обучения, и генерировала картинки, подходящие под описание.

И ruDALL-E с этим отлично справляется. Вот только эмодзи в обучающей выборке не было, поэтому создавать их модель не научилась. Если поставить в начало запроса слово «эмодзи», это не поможет получить желаемое. Допустим, вам очень нужен смайлик с котом, который пьёт кофе. По запросу «эмодзи кот пьёт кофе» мы, например, получили такую картинку. Выглядит интересно. Но это не эмодзи!

Нам не хватало эмодзи! Поэтому мы придумали Emojich — нейросетевую модель, которая генерирует их за нас (и за вас)

Людям постоянно не хватает нужных эмодзи, и одно из доказательств этому — галерея https://rejectedemojis.tumblr.com/. Там собраны изображения, которые отверг подкомитет Консорциума Unicode по эмодзи. «Плохая стрижка», «грустный зуб», «бородатая земля», «человек, кричащий на паука» — все эти значки предлагали создать реальные пользователи. Но подкомитет решил, что особой надобности в них нет. Чтобы исправить эту несправедливость, мы решили дообучить ruDALL-E. Вот как мы это сделали.

Сколько нужно эмодзи, чтобы дообучить модель (и другие детали)

Мы собрали датасет из 2 749 иконок эмодзи и 1611 уникальных соответствующих им русскоязычных описаний. Описаний меньше, чем картинок, поскольку некоторые из них дублируются, например изображение руки с разными оттенками кожи. А ещё есть омонимы. К примеру, весы — это и знак зодиака, и прибор для взвешивания. Длина текстовых описаний варьируется от 1 до 7 слов, а большая их часть (около 67%) состоит из одного-двух слов.

Примеры эмодзи с похожими описаниями и омонимами
Примеры эмодзи с похожими описаниями и омонимами

Для нас было важно, чтобы модель не переобучилась. Описания эмодзи довольно ограниченны и не слишком разнообразны. Например, «улыбающееся лицо с улыбающимися глазами», «улыбающееся лицо с сердечками», «улыбающееся лицо с глазами-сердечками», «целующее лицо с улыбающимися глазами». Если бы мы оставили всё как есть, велик шанс, что модель потеряла бы свои «знания о мире».

Чтобы избежать этого, мы сосредоточились на дообучении визуальной модальности, то есть на том, чтобы сгенерированные моделью картинки были похожи на эмодзи. Иными словами, мы обучали модель в большей степени на изображениях, чем на описаниях. Информация о мире, полученная из текстов на этапе предобучения, сохранилась. В итоге наша модель обновилась — оставалось опробовать её в деле, придумать название и показать вам.

Где можно испытать Emojich

Сейчас покажем, что умеет Emojich. Вот такие эмодзи она сгенерировала по запросу «программист в банке». Кажется, модель думает, что некоторые программисты Сбера — роботы. А на один из эмодзи Emojich решила добавить оранжевый «лавашар» — визуализацию Джой, одного из персонажей виртуальных ассистентов Салют.

Нам не хватало эмодзи! Поэтому мы придумали Emojich — нейросетевую модель, которая генерирует их за нас (и за вас)

В начале статьи мы пробовали сгенерировать картинку с котом, любителем кофе, помните? А вот результат, который обновленная модель теперь выдаёт по запросу «кот пьёт кофе». Разница большая.

Нам не хватало эмодзи! Поэтому мы придумали Emojich — нейросетевую модель, которая генерирует их за нас (и за вас)

Чтобы увидеть ещё больше классных примеров, попробуйте наш стикерпак от ruDALL-E. И конечно, создавайте собственные эмодзи. Это можно сделать в боте, на сайте и в Салюте, выбрав модель Emojich. А результаты присылайте в комментарии!

33
1 комментарий

В стикерпаке не хватает именно "кот пьет кофе")

Ответить