Разделы

Интернет Веб-сервисы

«Яндекс» научил «Алису» угадывать города по фотографии

«Яндекс» выпустил новую игру, в которую можно играть с голосовым помощником «Алисой», — «Угадайте город по фотографии». Механика игры простая: пользователю показывают случайную фотографию с «Яндекс.карт», а пользователь угадывает, в каком из четырех городов России она сделана. Сама игра при этом достаточно сложная. На снимках попадается все подряд — и знаковые достопримечательности, и места, которые есть в каждом городе: новостройки, церкви, торговые центры, спальные районы. Узнать Москву по Красной площади или Казань по мечети Кул-Шариф не составляет труда. Но чтобы определить, в каком городе России снята панельная девятиэтажка, надо быть настоящим краеведом.

Правильный ответ могут подсказать детали: рельеф, растения, транспорт, вывески и указатели. Если на фото вы видите пирамидальный тополь, вряд ли оно сделано где-то на севере. Если на снимке «сталинка», это определенно не Ноябрьск и не Новый Уренгой — они основаны в 1970-х гг. Обилие японских машин говорит о том, что на фотографии, вероятно, один из городов Дальнего Востока — и так далее.

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

Снимки, которые есть в игре, — из «Яндекс.карт»; их загрузили пользователи. Разработчики взяли все фото с «Карт», сделанные на территории России, и исключили те, которые были сняты в сельской местности и в небольших городах. Если для города доступно всего две-три фотографии, «Алиса» не научится распознавать его достоверно.

Затем фотографии автоматически отфильтровали. Во-первых, убрали снимки плохого качества: слишком маленькие или слишком темные. Во-вторых, отбросили снимки с неподходящими сюжетами — например, фотографии, где большую часть кадра занимают вывеска или объявление. В результате осталось около 400 тыс. фотографий, сделанных в 111 городах России. Распределение по городам получилось неравномерным: очевидно, что снимков Санкт-Петербурга на «Яндекс.картах» гораздо больше, чем фотографий Старого Оскола.

В Лаборатории машинного интеллекта «Яндекса» обучили специализированный нейросетевой классификатор. Он не просто распознает на фото объекты, а по их особенностям пытается определить, в каком городе они могли бы находиться.

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

В игре задействована нейронная сеть с архитектурой SE-ResNeXt-50, обученная на 80 тыс. классов. Это основная нейросеть, которую «Яндекс» использует для обработки изображений.

4 барьера на пути цифровизации малого и среднего бизнеса: как их преодолеть
Цифровизация

Разработчики разделили фотографии на две части: одни использовались только для обучения, а другие только для игры. Это позволило научить нейросеть и вместе с ней и «Алису» обобщать наблюдения и находить закономерности, а не выдавать заученный ответ.

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

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

Техподдержка «Базальт СПО» — гарантия надежной работы вашей ИТ-инфраструктуры
Маркет

Однозначного ответа на вопрос «Какой город на фотографии?» искусственный интеллект не дает. Вместо этого он вычисляет вероятности: например, нейросеть может быть на 75% уверена, что на снимке Ялта и на 25% — что Москва.

Игру несколько недель тестировали в «Яндексе». Пока статистика показывает, что «Алиса» справляется с угадыванием в среднем лучше, чем живые игроки. У людей при этом есть фора — они могут определять города по надписям и кодам регионов на автомобильных номерах. «Алиса» в игре этого не делает – это сознательное решение разработчиков.