Настоящий прогресс в области ИИ произойдет только тогда, когда различные области объединятся, чтобы работать над пониманием мира и взаимодействием с ним. NEIL — это программа, которая сканирует Интернет 24 часа в сутки, 7 дней в неделю и просматривает фотографии, чтобы сформировать здравый смысл в познании мира. Это машинное зрение встречается с семантическим графом.
Кажется, что машинное зрение дошло до того, что его можно использовать в качестве инструмента, позволяющего программе начать понимать мир на самом базовом уровне. Было много попыток научить компьютеры здравому смыслу, который мы принимаем как должное. Возможно, наиболее известным является Cyc, проект по созданию базы знаний путем ввода информации, начатый в 1984 году Дугласом Ленатом. Проблема в том, что это трудозатратно, и человеку очень сложно знать, что нужно знать компьютеру.
Гораздо лучшей идеей было бы позволить программе изучать концепции самостоятельно, но как она может взаимодействовать с миром, который мы считаем само собой разумеющимся?
Самый прямой способ взаимодействия с миром и обретения здравого смысла — это видение. У нас также есть преимущество, заключающееся в том, что мы можем взаимодействовать с тем, что мы видим, но мы можем получить много знаний о том, что есть в мире и как все взаимосвязано, просто глядя.
Это то, что делает NEIL — Never Ending Image Learner. Это создание Синлей Чен, Абхинав Шривастава, Абхинав Гупта из Университета Карнеги-Меллона при финансовой поддержке Управления военно-морских исследований и Google. Просматривая изображения, хранящиеся в сети, программа пытается извлечь не только объекты, но и их отношения, а также из них лежащие в основе концепции. Для этого необходимо умение распознавать определенные объекты — автомобиль, самолет, человека и так далее. Обучение таких распознавателей занимает много времени, но, опять же, можно использовать Интернет. Детекторы обучаются с помощью поиска изображений Google, чтобы возвращать фотографии, помеченные определенной меткой. Затем они используются для обучения классификаторов объекта.
Это довольно автоматический процесс в том смысле, что если вы хотите добавить новый объект, все, что вам нужно сделать, это найти его и обучиться тому, что возвращает Google. Например, если вы хотите распознать шляпу, вы можете найти изображения с меткой «шляпа» и обучить классификатору с их помощью. На практике все немного сложнее, и общий метод включает этап кластеризации возвращенных изображений для выбора групп, которые действительно представляют правильную интерпретацию метки.
Фактически используемые классификаторы основаны на недавно предложенном использовании линейного дискриминантного анализа — классического метода, но до недавнего времени он был слишком дорогим для вычислений.
После обучения классификаторы используются для проверки того, какие объекты, атрибуты и типы сцен встречаются в обычных изображениях, загружаемых из Интернета. Программа не пытается понять каждое изображение, ее больше интересуют статистические отношения. В настоящее время он извлекает отношения объект-объект: «Глаз — часть ребенка», «BMW — это своего рода машина» и «Лебедь похож на гуся». Отношения атрибутов объекта — «Пицца имеет круглую форму». Отношения между сценой и объектом — «Автобус найден на автобусной станции» и отношения между сценой и атрибутом «Океан синий».
Вы можете легко увидеть, как эти отношения могут быть извлечены, если у вас достаточно изображений и если ваше обнаружение объектов достаточно хорошо. Последний трюк заключается в том, что все это можно объединить, чтобы улучшить и расширить распознавание объектов. Например, если автомобильный детектор обнаруживает что-то новое, которое он маркирует как автомобиль, но у него нет колес и его нет на дороге, то это вряд ли будет автомобиль. Все начинается с обратной связи, чтобы расширить и улучшить распознавание объектов. В частности, детекторы могут быть настроены на обнаружение подкатегорий объектов, например автомобилей определенных марок.
Большая проблема в том, что это задача обработки больших данных. Распознаватели объектов используют 3912 размерных векторов признаков и диапазон из 1152 категорий объектов и их количество постоянно увеличивается. Он также изучил 5 миллионов изображений и извлек 3000 здравых смыслов. Вы можете просмотреть текущее положение дел на веб-сайте NEIL. Для всего этого он работает на двух кластерах по 200 процессорных ядер.
Когда ИИ начинает находить способы улучшить свою производительность и расширить свои возможности, именно тогда начинают проявляться реальные выгоды от такого подхода. NEIL учит себя здравому смыслу, который становится все более изощренным по мере того, как знакомится с новыми образами мира.