- BrainTools - https://www.braintools.ru -

Что вы увидели на картинке первым? Спрашиваем трансформер

Наверняка многие видели картинки-тесты, которые предлагают по тому, что первым бросилось в глаза определить характер, какое полушарие доминирует или что-то еще. Обычно на этих изображениях находится несколько объектов или один объект меняется в зависимости от “угла” обзора. А что будет, если попросить трансформер описать эти картинки? Что “увидит” он и на что он “обратит внимание”?


Для мини-исследования была выбрана модель BLIP (Bootstrapping Language-Image Pre-training) от Salesforce (см. гитхаб с полным кодом [1]). Как трансформер, эта нейросеть разрезает картинку на фрагменты (патчи) и преобразует их в токены:

рис.1

рис.1

Для анализа картинки (контекст, связь объекта с фоном) применяется идея “Self-Attention”, которая на выходе дает некоторую матрицу скрытых признаков. Далее за работу берется трансформер-энкодер, поочередно предсказывающий слова. С помощью другой концепции “Cross-Attention” модель “смотрит” на картинку посредством матрицы признаков, получает первое слово и повторно заглядывает в матрицу. Эта последовательность заканчивается на моменте выдачи токена конца предложения. Более подробно можно посмотреть здесь https://arxiv.org/pdf/2201.12086 [2].

Выбор данной предобученной модели был обусловлен оптимальным соотношением между эффективностью и компактностью (запускается на любом ноутбуке без жестких ограничений на процессор или видеокарту). Перейдем к тестированию (картинки взяты из статьи [3]и открытых источников).

Губы, деревья или корни?

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

пример 1

пример 1

И тут модель вполне оправдано выдала: “a tree with roots on it” (дерево с корнями). Перейдем к следующему примеру.

Крокодил или лодка?

Тоже весьма несложный пример, но тут у модели возникли расхождения с тем, что видит человек. Смотря на картинку ниже, она неожиданно выдает: “a blue and black silhouette of a man ’ s head” (сине-черный силуэт мужской головы).

пример 2

пример 2

Это один из примеров ИИ-иллюзии. Модель запуталась в патчах из-за особенностей обучения [4]. Одна из возможных причин: в трейне было много неоновых, графических рисунков и модель, зацепившись, за линию ушла не туда; также была упущена форма челюсти крокодила, а пятна сверху и снизу рептилии указывают на попытку найти другие объекты на изображении.

Примечательно также и то, что при попытке целенаправленно обратить внимание [5] модели, например, на кораблик, она его проигнорировала. И на выходе получилось что-то совсем забавное: “the cover of the book, the book of the dead” (обложка книги, «Книга мёртвых»). Вероятно, объясняется это тем, что в обучающем датасете было много обложек старых книг, а пятна на картинке трактовались как потрескавшийся рельеф на синем фоне.

пример 2 попытка 2

пример 2 попытка 2

Два профиля или ладья?

Очередной классический пример ниже.

пример 3

пример 3

Модель угадала здесь: “a silhouette of a man with a hat and a beard” (силуэт мужчины в шляпе и с бородой). В отличие от человека, который видит картинку целиком, трансформер выбрал и сфокусировался на левой стороне. Темно-фиолетовый цвет ладьи говорит о том, что модель распознала это как фон, а не самостоятельный объект.

Интересно, что при попытке приблизить картинку и, тем самым, “указать” модели на ладью, получился не менее занимательный результат: “a silhouette of a man with his arms up” (силуэт мужчины с поднятыми руками). И, если присмотреться, можно, действительно, увидеть что-то похожее на человека с руками вверх.

пример 3 попытка 2

пример 3 попытка 2

Поднимается или спускается?

Здесь речь пойдет об изображение кота в свое время вызвавшее обсуждение в интернете. Давайте спросим нейросеть, может она рассудит? Ее ответ: “a cat walking down some stairs” (кот, спускающийся по лестнице).

пример 4

пример 4

Вот, все логично [6]: кот есть, стены с двух сторон распознаны да и лестница тоже. Но что будет, если обрезать часть картинки?

пример 4 попытка 2

пример 4 попытка 2

Снова: кот, стена справа и лестница. Но ответ теперь другой: “a cat walking up some stairs” (кот, поднимающийся по лестнице). Возникает резонный вопрос, может дело в стенах и освещении?

пример 4 попытка 3

пример 4 попытка 3

Ответ: может быть, теперь описание: “a cat walking down a flight of stairs” (кот, спускающийся по лестнице). Так в чем же дело? Строя свои догадки, модель опирается именно на стены. В обучающей выборке темные стены слева могли относится к подвалам, а светлые – к квартирам и домам. Поэтому наличие темной стены и светлого фона сзади трактуется как спуск (например, в тот же подвал, откуда свет поступает сверху), а светлой стены и светлого фона – как подъем, так как там, куда идет кот, могут быть окна.

Розовые или зелёные?

Другой когда-то популярный вопрос был о цвете кроссовок. Как на него ответила наша модель?

пример 5

пример 5

Нейросеть увидела: “a person holding a pair of pink and green shoes” (человек, держащий пару розово-зелёных ботинок) и не смогла присоединиться ни к какому из лагерей.

Выводы

В качестве заключения можно сказать, что нейросеть практически прошла наш тест картинками, а также, увидев что-то новое. Данный анализ показывает как, просто обрезав картинку, заставить нейросеть сомневаться и противоречить самой себе, выдавая разные ответы в описании картинок. Теоретически, путем увеличения объема обучающей выборки можно добиться улучшения результата (обрезать/ поворачивать одну и ту же картинку и спрашивать что на ней, штрафуя модель за неверные ответы), это сделает модель более предсказуемой. Но, по моему мнению, за этим кроется также и то, что в погоне за деталями модель не сможет приобрести абстрактное мышление [7] (как в примере 1) и тут вопрос в том, к чему мы стремимся. Должны ли мы требовать от ИИ человеческого восприятия [8], или достаточно того, что он просто даёт ответ?

Автор: Ir1na

Источник [9]


Сайт-источник BrainTools: https://www.braintools.ru

Путь до страницы источника: https://www.braintools.ru/article/34751

URLs in this post:

[1] гитхаб с полным кодом: https://github.com/salesforce/BLIP

[2] https://arxiv.org/pdf/2201.12086: https://arxiv.org/pdf/2201.12086

[3] статьи : https://adme.media/articles/chto-vy-uvideli-na-kartinke-pervym-otvet-rasskazhet-o-vas-samuyu-sekretnuyu-informaciyu-1977115/

[4] обучения: http://www.braintools.ru/article/5125

[5] внимание: http://www.braintools.ru/article/7595

[6] логично: http://www.braintools.ru/article/7640

[7] мышление: http://www.braintools.ru/thinking

[8] восприятия: http://www.braintools.ru/article/7534

[9] Источник: https://habr.com/ru/articles/1073336/?utm_campaign=1073336&utm_source=habrahabr&utm_medium=rss

www.BrainTools.ru

Rambler's Top100