Нейросеть исключает отрицание
Социальный философ Славой Жижек однажды сравнил «здоровое» потребление с «пончиками без сахара, кофе без кофеина, сексом без секса». Смысл фразы понятен: здоровое потребление лишает объект его сущности. Однако, если мы попробуем представить себе, например, кофе без кофеина, скорее всего, мы сделаем это без труда, ведь он действительно существует. А что произойдёт, когда мы поставим подобную задачу перед нейросетью? Может ли она визуализировать объект, лишённый сущности?
В первой части нашего эксперимента мы попробовали задать нейросети такие условия, в которых из предметов исключалась бы их «сущностная», «естественная» часть. Возвращаясь к цитате Жижека, мы попросили алгоритм сгенерировать «кофе без кофеина», «пончик без сахара» и «секс без секса», и в каждом из этих случаев обнаружилось, что он игнорирует предлог «без».
Сгенерированные нейросетями изображения по промтам «секс без секса» (Kandinsky 2.2), «кофе без кофеина» (FusionBrain), «пончики без сахара» (Midjourney)
Более того, когда нейросети были даны конкретные условия («мужчина без усов», «мужчина без очков»), она также исключила отрицание и выдала противоположный ожидаемому результат.
Мужчина без усов, мужчина без очков, сгенерированные нейросетью FusionBrain
Аналогично ИИ не воспринимает и частицу «не» и не справляется с генерацией изображений на основе негативных промтов. В этом состоит различие процесса визуализации искусственным интеллектом и человеком. Люди порой с трудом, но могут представить себе объекты, лишённые какой-либо сущностной части.
Нейросеть не понимает многозначность
С помощью другого эксперимента мы обнаружили, что нейросеть также пользуется устоявшимися языковыми штампами. Мы попробовали заменить в задании предлог «без» на наречие «только». Например, вместо фразы «человек без органов» мы использовали подсказку «человек только из кожи». На этот раз нейросеть FusionBrain была поймана на неверной интерпретации значений слов.
Изображения, сгенерированные по промтам «человек только из кожи», «человек только из крови»
Увидев, что человек без органов стал мужчиной в костюме из кожи, мы попробовали также вариант «человек только из крови», в результате чего машина выдала нечто похожее на постер «Американского психопата». Можно предположить, что фраза «человек из» является ключевой в названиях фильмов, потому нейросеть генерирует картинки в формате постеров. Она словно хватается за знакомую ей фразу и выстраивает вокруг неё визуализацию: то есть в первую очередь человек только из кожи — это человек откуда-то, а не состоящий только из чего-то. Следовательно, ИИ интерпретирует данные ему условия таким образом, что они совпадают с наиболее часто используемыми выражениями в доступном ему датасете.
Нейросеть подменяет понятия
Обнаружив, что нейросеть не умеет работать с отрицаниями и исключениями, мы решили проверить, как ИИ справится с визуализацией оксюморонов (сочетанием слов с противоположным значением, например, «живой труп»), ещё одним способом отрицания без отрицания. Работа с алгоритмом Midjourney, разработанным в первую очередь для англоязычных пользователей, периодически выдавала неожиданные результаты из-за того, что все фразы, введённые на русском языке, перед визуализацией переводятся на английский. Так, оксюморон «пожилой пионер» лишается своей абсурдности (pioneer с англ. — «первопроходец»).
Желая удостовериться в том, что нейросеть действительно переводит фразы с русского языка на английский, мы использовали выражения, основанные на многозначности слов. Так, промт «русалка села на шпагат» при визуализации становится русалкой, обмотанной шпагатом. Если изначальное выражение интересно своей абсурдностью: не может существо с рыбьим хвостом принять такую позу — то при обработке нейросетью выражение становится буквальным. Вероятно, слово «шпагат» наиболее часто встречается в значении верёвки, а значит, ИИ разбивает фразу на отдельные токены, комбинируя значения конкретных элементов. Комплексно фраза «русалка села на шпагат» визуализирована быть не может, и нейросеть визуализирует только набор понятий: «русалка», «шпагат», «сесть» — причём, как видно, глагол в данном случае вовсе проигнорирован: русалка могла бы сидеть на верёвке, но не делает и этого.
Русалка села на шпагат (FusionBrain)
Нейросеть переводит пословицы
Нейросеть не справилась и с генерацией изображений на основе пословиц и фразеологизмов. Она давала визуализацию, которая не соответствовала ни образному, ни буквальному значению выражений.
Вместо зеницы ока нейросеть сгенерировала яблоко, а вместо семи нянек — поваров, которые всячески портят бульон. Понять, почему картинки так далеки от оригинальных фраз, можно, если обратиться к их англоязычным эквивалентам. Аналогом крылатого выражения «беречь как зеницу ока» выступает apple of my eye (досл. «яблоко моего глаза»), а вместо «у семи нянек дитя без глазу» в Великобритании скажут too many cooks spoil the broth (досл. «слишком много поваров портят бульон»). Таким образом, нейросеть адекватно переводит такие фразы, но визуализирует их буквальные значения на английском. Так же, как и в примере с русалкой на шпагате, алгоритм разбивает фразу на отдельные токены и потом комбинирует их. Нейросеть оказывается неспособной воспринимать фразу целиком, что приводит к искажению смысла, если слова использованы в переносном значении. Она, несомненно, создаёт необычные образы, однако не претендует на метафорическое мышление.
Нейросеть (не) соблюдает этику
В поисках каламбуров и оксюморонов мы наткнулись на мем «смешная нарезка детей» из вселенной «Звёздных войн»:
Мы решили проверить, как нейросети справятся с визуализацией этой фразы. Результаты нас удивили. Если DALL-E и ему подобные сети считают выражение «нарезка детей» банвордом, так как слово «нарезка» воспринимается в его буквальном значении, а не в контексте видеосленга, то «Кандинский» не видит препятствий для визуализации. Однако при добавлении токенов «страшная» или «жуткая» его алгоритм тоже запрещает использование промта. Приведём в качестве примера смешную и грустную нарезку детей в исполнении «Кандинского».
Смешная нарезка детей, сгенерированная нейросетью «Кандинский»
Грустная нарезка детей, сгенерированная нейросетью «Кандинский»
Подобные кейсы ещё раз иллюстрируют как неспособность нейросети воспринимать переносные значения слов, так и её несовершенство в том, что касается этики. Отказываясь воспринимать отрицательные частицы, нейросеть (но не любая) оказывается способной визуализировать «нарезку детей» в прямом смысле.
Нейросеть в первую очередь — алгоритм
Работа искусственного интеллекта совершенно не похожа на работу человеческого сознания: отрицание и исключение являются важной частью нашего мыслительного процесса, но нейросеть не может визуализировать ни то, ни другое. ИИ превосходно справляется с разбиением фразы на части, только в данном случае это «абстрагирование» каждого понятия лишь показывает неспособность нейросети комплексно воспринимать фразу. Также сохраняется проблема перевода: там, где человек считывает метафорическое значение и не переводит фразу буквально, алгоритм может допустить ошибки, не подобрав аналога на её «родном» языке.
Безусловно, остаётся открытым вопрос о том, действительно ли нам необходимо, чтобы машина визуализировала абстракции и метафоры. Области применения этого навыка остаются крайне туманными, однако, если наша цель — подражание человеку, то мы можем однозначно сказать, что на данный момент ИИ выполняет лишь механический процесс. Его творчество напрямую связано с алгоритмами, в то время как человек обладает образным, метафорическим, абстрактным мышлением, и, к счастью для нас, машинное восприятие пока не способно заменить человеческое.
В тексте упомянуты следующие нейросети: Midjourney, Fusion Brain, Kandinsky 2.2, DALL·E.