Разделы

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

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

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

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

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

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

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

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

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

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

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

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

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

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

«DATAREON Platform можно назвать высшей точкой развития на рынке интеграционных решений»
Импортонезависимость

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

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