Google объясняет, как работает поиск фотографий AI


Недавно мы сообщили, что Google использовал своего рода ИИ для поиска фотографий, содержащих именованные объекты. Казалось разумным предположить, что он использует сверточную нейронную сеть, но не было никаких подробностей — теперь они есть.

Если вы пропустили прорыв, мы сообщили об этом в Deep Learning Finds Your Photos, где предположили, что он основан на глубокой сверточной сети, и прокомментировали:
Конечно, Google мог бы поднять немного больше шума по поводу этой технологии, чем делает сейчас!
Да, это сверточная нейронная сеть, а точнее — супервизон на основе супервизора, созданный командой под руководством Джеффри Хинтона, победившей в конкурсе ImageNet Large Scale Visual Recognition Challenge 2012. Группа Google AI, созданная Джеффом Дином и Эндрю Нг, оценила подход и согласилась что это сработало лучше, чем что-либо еще. Это была основная причина, по которой Google приобрел стартап DNNresearch, созданный Хинтоном и другими.
Google использовал эту технологию для реализации поиска по фотографиям как части Google+.
Что удивительно в результате, так это то, что основная идея нейронной сети, которая была введена много лет назад, а затем дискредитирована, изобретена заново, дискредитирована и так далее, используется практически без изменений. Основными новыми идеями являются улучшенные алгоритмы обучения, но в целом причина, по которой у нас теперь есть нечто похожее на «настоящий» ИИ, заключается в том, что мы можем обучать более крупные сети.
Подробности, представленные в блоге Google, во многом соответствуют тому, что вы могли ожидать от исследования оригинала. Чтобы сделать его подходящим для классификации фотографий в Google+, было получено 2000 классов на основе наиболее популярных вручную нанесенных ярлыков, которые также имели визуальный контент, то есть «автомобиль», но не «красивый». В обучении использовалось в общей сложности 5000 изображений для каждого класса, а затем в окончательной версии были реализованы 1100 классов, наиболее точно усвоенных.
Во время обучения было замечено, что сети удалось сделать обобщение от обучающей выборки до тестовой, хотя обучающая выборка была основана на изображениях, полученных из Интернета, которые имели тенденцию показывать «архетипические» изображения. Набор тестов, состоящий из изображений реальных пользователей, имел тенденцию быть более разнообразным и менее «архетипичным».

Архетипический цветок

Типичная цветочная фотография, загруженная в Google+

Можно сделать вывод, что обобщение произошло из-за сверточного дизайна сети, то есть она одинаково реагирует на узор независимо от того, где он расположен на фотографии, но это не объясняет масштабную инвариантность.
В блоге также отмечается, что сеть изучила категории с более чем одним распространенным типом примера — автомобиль может быть фотографией снаружи автомобиля или интерьера. Это также удивительно, поскольку последний уровень представляет собой линейный классификатор, который обычно не очень хорошо подходит для принятия решений в мультимодальных условиях. Предположительно нижние уровни сети успешно сопоставили два режима с областями одного и того же типа в данных, подаваемых на последний уровень.
Еще более удивительным является то, как сети удалось хорошо изучить абстрактные идеи, такие как поцелуй, танец и еда. По-видимому, это связано с тем, что эти явно абстрактные концепции имеют более ограниченный диапазон визуального выражения, чем вы могли предположить. Ему также удалось классифицировать хорошо различимые классы, такие как типы растений.
Возможно, наиболее интересным из всех наблюдений является то, что, когда сеть ошиблась, она сделала это таким образом, который казался разумным человеческому наблюдателю. Например, когда сеть классифицирует фотографию маленького ослика как собаку, вы не можете не сказать: «Я понимаю, к чему он клонит». Если вы работали с экспертными системами или другими типами систем искусственного интеллекта, вы знаете, что это замечательно, потому что действительно большая проблема заключается в том, чтобы объяснить, как система пришла к своему ответу, и, чаще всего, почему она сделала что-то настолько неправильное.
Все эти моменты предполагают, что это только начало разработки системы, но она работает достаточно хорошо, чтобы позволить общественности использовать ее. Кажется, что нам нужно больше того же, а не какой-то удивительный новый прорыв, который означает, что мы используем что-то совершенно другое. Мы находимся на уровне параметров миллиарда, и нам нужно перейти на уровень параметров триллиона.

Похоже, что эра искусственных нейронных сетей, способных выполнять действительно полезную работу, уже наступила.


Добавить комментарий