За время существования Midjourney пользователи сгенерировали петабайты изображений. Сколько из них действительно качественные — открытый вопрос. Машинное обучение интересно свей непредсказуемостью: часто генеративные нейросети коверкают иллюстрации, придумывают новые объекты, рисуют франкенштейнов — в общем, странно самовыражаются.

Часть багов разработчики Midjourney пофиксили, но некоторые существуют и сейчас. Мы потратили целый день, чтобы уговорить нейросеть заменить человека на картинке, но ничего не вышло. Смотрите, что создает Midjourney, когда ошибается, и угадывайте, какие баги мы зашифровали в обложке.

Что такое Midjourney и как она генерирует картинки


Midjourney — это нейросеть, которая создает картинки по запросу пользователя. Ей можно описать замысел словами — такой запрос называется промт, или дать референсы для объединения. Нейросеть обработает и выдаст коллаж из четырех релевантных изображений.


Например, здесь мы написали запрос «собака читает книгу при свечах».

Midjourney существует с 2022 года, сейчас пользователи генерируют картинки уже в пятой версии. Нейросеть обучается на основе огромных массивов изображений с описаниями, которые ей «скармливают» разработчики. Программа сопоставляет текст и изображение и запоминает, как выглядят предметы и явления.

Запросы в нейросеть делают с помощью мессенджера Discord — для этого используют чаты с ботом Midjourney. Обычно промты пишут на английском языке, дополнительно используют аргументы. Например, частицу –no, после которой пишут, чего не должно быть на картинке. В ответ на запрос Midjourney выдает картинки.

С каждой версией нейросеть генерирует все более качественные иллюстрации. Но иногда можно встретить в программе интересные баги. Мы собрали некоторые из них за все время существования нейросети.

Используйте навигацию, если не хотите читать статью целиком:

Рисует больше пальцев
Добавляет котиков, когда в запросе их нет
Не может угадать возраст
Думает, что люди — это селфи в зеркале
Фантазирует о региональных промыслах
Придумывает собственную валюту
Плохо понимает сложные промты
Не умеет заменять части изображения

Рисует больше пальцев


Изображая руки, Midjourney часто ошибается в количестве пальцев или рисует положение кисти неестественно. Это самый известный в интернете баг нейросети.


Возможно, здесь нейросеть ориентировалась на жест peace, но нарисовать его правильно не смогла.

На форумах дизайнеров мы нашли гипотезы, почему эта ошибка возникает.

Стандартная: при обучении у нейросети было слишком мало картинок с пальцами и руками, поэтому ей сложно нарисовать их детально.

«Теория заговора»: разработчики специально настроили Midjourney так, чтобы она выдавала ошибки, которые будет легко заметить, — например, с пальцами. Это сделано для того, чтобы люди не боялись искусственного интеллекта и нейросетей, которые все делают идеально и могут заменить «живых» специалистов.

Ноги — тоже не сильная сторона Midjourney. На запросы изобразить сидящего человека программа может выдать странные рисунки.


На иллюстрации одна нога исчезла, зато рука получилась почти человеческая :)


Добавляет котиков, когда в запросе их нет


Midjourney любит котиков. На некоторые промты со словом cute (милый) нейросеть выдает изображения с котами, даже если в запросе домашний питомец не упоминался.


Здесь мы попросили нарисовать милого дракона — и получили две картинки с котами.

Есть предположение, что коты в иллюстрациях связаны с процессом обучения нейросети. Возможно, когда Midjourney «скармливали» изображения, многие картинки с четвероногими содержали в описании слово cute — и нейросеть запомнила это сопоставление.

Не может угадать возраст


Нейросеть иногда ошибается с возрастом. Например, на промт «девушка 30 лет» Midjourney может нарисовать молодую, но полностью седую женщину.


У девушки в левом нижнем углу нет морщин — скорее всего, нейросеть не соотносит седину и возраст.

Ошибку можно объяснить особенностями обучения нейросети. Когда Midjourney изучала фото людей, она составила из изображений среднестатистический образ человека с любым оттенком волос. Программа не соотносит седину и возраст, поэтому к блондинкам, рыжим и брюнеткам добавляет седую девушку.

Думает, что люди — это селфи в зеркале


Если попросить нейросеть показать позы для фотографий, результат будет на первый взгляд странным — лицо и спина в одной плоскости.


Здесь мы попросили нейросеть помочь с позами для фотографий.

Это происходит потому, что в интернете много зеркальных селфи: девушки часто фотографируются так, чтобы и лицо, и аппетитные формы попали в кадр. Midjourney обучается на этом материале и выдает по запросу такие «удачные» ракурсы.

Интересна тема статьи?

Присоединяйтесь к нашему Telegram-сообществу «MLечный путь». Там мы вместе обсуждаем проблемы и лучшие практики организации production ML-сервисов, а также делимся собственным опытом. А еще там раз в неделю выходят дайджесты по DataOps и MLOps.

Фантазирует о региональных промыслах


Когда пользователи просят Midjourney нарисовать предметы декоративно-прикладного искусства из разных регионов, нейросеть дает изображения, которые вообще не подходят под запрос. Хотя популярные у туристов предметы искусства, например портрет Моны Лизы, программа генерирует корректно.


Слева — тюменская роспись. Но, по мнению Midjourney, узоры должны быть побогаче :)

Это связано с тем, что информации о региональных промыслах мало. А значит, Midjourney сложно научиться генерировать картинки по таким запросам.

Придумывает собственную валюту


Если написать в запросе конкретную валюту, нейросеть нарисует купюры, которых не существует в реальности. Мы просили Midjourney совместить две валюты в одной и тестировали разные варианты (рубль и доллар, евро и доллар, доллар и юань). Чаще всего, если в паре был доллар, именно его Midjourney брала за основу.


Интересно, что означают надписи и цифры по углам, по мнению нейросети.


А эта валюта похожа и на евро, и на рубли.

Этот баг тоже можно объяснить. Суть Midjourney — генерировать изображения, то есть создавать новые образы, а не копировать то, что уже существует.

Поэтому программа не может просто перенести картинку из базы иллюстраций и создает валюту с нуля.

Плохо понимает сложные промты


Нейросеть плохо воспринимает комплексные запросы. Например, мы попросили программу нарисовать удивленного подростка с бабочкой из лего на лице. Midjourney не смогла справиться с этим запросом: в нем много параметров и, скорее всего, мало соответствий в базе иллюстраций, на которой обучалась нейросеть.


Нейросеть решила нарисовать всю картинку в лего-стиле.

В отличие от человека, нейросеть может не понимать сложные запросы, поэтому необходимо четко формулировать промты, а также использовать аргументы.

Не умеет заменять части изображения


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


С запросом «старик на белой лошади» Midjourney справилась не очень хорошо. А с просьбой «замени на девушку» еще хуже.

Чем полнее и детальнее будет промт, тем точнее нейросеть справится с задачей.


Это самые интересные баги, которые мы нашли у нейросети за время ее существования. Разработчики Midjourney постоянно ее улучшают, поэтому, скорее всего, таких же багов вы уже не встретите.

Если замечали другие баги — смело делитесь в комментариях. Скоро опубликуем еще несколько интересных экспериментов, связанных с работой нейросетей. Следите за обновлениями в нашем блоге на Хабре!


Другие полезные материалы


Комментарии (8)


  1. evgenij_byvshev
    26.09.2023 15:27
    +3

    Kandinsky 2.2 со стариком на лошади справляется гораздо лучше


    1. axe_chita
      26.09.2023 15:27

      Поддержу, Кандинский переваривает запросы правильнее, и выхлоп получается осмысление
      запрос "удивленный подросток, на его лице бабочка из лего"
      Выхлоп


      1. xtended
        26.09.2023 15:27

        На сколько знаю, Кадинского сильно запушили в сторону реалистичности картинки. А у midjorney свободы в действиях побольше 


  1. tri_tuza_v_karmane
    26.09.2023 15:27
    +4

    Конкретно по миджорни не могу сказать, потому что я эти модели по именам не различаю.
    Но усредненная ситуация по ошибкам такая:

    Перспектива и геометрия:
    дальние объекты могут перекрывать более близкие;
    прямые линии могут быть волнистыми.
    В квадрате угол может быть разомкнут.

    Текст:
    Практически всегда нечитаемый набор псевдосимволов.
    Тоже самое с эмблемами/лого.
    Строки разной высоты, волнистые и небрежно расположенные.

    Лицо:
    могут быть узоры на лице; либо в виде разбросанных точек, либо заплатки из змеиной кожи/тигриной шкуры, металла итп.
    зрачки деформированные или склеенные из нескольких;
    странное направление взгляда.
    Бывают дефекты ушей, зубов, губ.

    Очки:
    искривленная рамка;
    искривленные дужки, не заходящие за уши;
    странное крепление на носу.

    Ножи, мечи, шприцы и прочие инструменты:
    асимметрия, волнистые, искривленные лезвия, деформированные ручки.

    Одежда:
    тут полно косяков.
    Неодинаковые рукава, полное или частичное отсутствие швов (бывает, что полкармана имеет шов, а половина гладкая), застежки и пуговицы криво расположенные и нефункциональные; украшения бессистемные, деформированные и несимметричные. Швы могут быть деформированные.
    Пустые или невнятные, неаккуратные шевроны;
    многослойные воротники, разбросанные бессистемно карманы;
    деформированные галстуки и галстучные узлы.
    Ремни, плавно переходящие в одежду.
    А если есть пересечение ремней, то оно путается в вопросе, какой из них должен быть сверху и может нарисовать пересечение в одной плоскости.
    Любые крепления выглядят проблематично, например ремень, затянутый пряжкой.

    Общая схема соединения ремней может быть нелогичной и дефектной.

    Компьютеры:
    Белиберда вместо лого и текстов; светодиоды и тумблеры могут быть бессистемно набросаны; дисплеи и боксы могут иметь волнистые очертания и незакрытые углы.
    Клавиатуры неправильных размеров или пропорций, странное крепление к дисплею, плохо прорисованные клавиши и странные трекпады.

    Механизмы:
    детали неправильной, волнистой формы; трубки, провода могут выходить ниоткуда и заходить в никуда.
    Движущиеся детали могут плавно переходить друг в друга.
    если это автомобили, то неправильно расставлены ручки, дворники, зеркала, гайки на колесах.

    Могут быть висящие в воздухе или другой среде артефакты; например, веточка висящая в воздухе отдельно от растения, нога далеко от тела и тп.
    Конечности выходящие из одной точки - например, у насекомых две ноги могут выходить из одного слота.

    Приведенные выше картинки хорошо иллюстрируют эти недостатки - обратите внимание на уздечки, стремена, седла, и одежду.


  1. Mapaxa864
    26.09.2023 15:27
    +1

    "Берем немного промптов,
    Еще API AI-ботов!
    Двадцать пять картинок,
    Что б вышло без запинок.
    Ведро воды — туды-сюды,
    Еще два слова — статья готова!"


    Это мода такая пошла на статьи "промпт+картинка"?


    1. Mapaxa864
      26.09.2023 15:27
      +1

      Ах да, совсем забыл. Нельзя ведь критиковать корпоративные блоги и "новости" редакторов. А то сольют втихую карму и ограничат комментирование.
      Простите грешного! Бес попутал!


  1. Luanna33
    26.09.2023 15:27

    Девушка лошадь особенно удалась))


  1. Vassilij
    26.09.2023 15:27

    Конечно есть вопросы по тренировочным изображениям. Это же по сути чёрный ящик, а потом вполне резонные вопросы к сети и разработчикам. Видимо контроль проводился "по акции". Русалку ведь тоже можно нарисовать с рыбьей головой и женскими ногами. Но если учить на анекдотах - в итоге будет ещё интереснее.