Последние достижения в области искусственного интеллекта, такие как мобильные приложения, преобразующие речь в текст, являются результатом машинного обучения, когда компьютеры работают с огромными наборами данных для поиска закономерностей.
Чтобы упростить создание приложений для машинного обучения, ученые-компьютерщики начали разрабатывать так называемые вероятностные языки программирования, которые позволяют исследователям смешивать и сочетать методы машинного обучения, которые хорошо зарекомендовали себя в других контекстах. В 2013 году Агентство перспективных оборонных исследовательских проектов США, инкубатор передовых технологий, запустило четырехлетнюю программу финансирования исследований в области вероятностного программирования.
На конференции Computer Vision and Pattern Recognition в июне исследователи Массачусетского технологического института продемонстрируют, что в некоторых стандартных задачах компьютерного зрения короткие программы длиной менее 50 строк, написанные на вероятностном языке программирования, могут конкурировать с обычными системами с тысячи строк кода.
«Впервые мы вводим вероятностное программирование в область зрения», - говорит Теджас Кулкарни, аспирант Массачусетского технологического института в области мозга и когнитивных наук и первый автор новой статьи. «Вся надежда состоит в том, чтобы написать очень гибкие модели, как генеративные, так и дискриминационные, в виде короткого вероятностного кода, а затем больше ничего не делать. Схемы вывода общего назначения решают проблемы».
По меркам обычных компьютерных программ эти «модели» могут показаться абсурдно расплывчатыми. Например, одной из задач, которую исследуют исследователи, является построение трехмерной модели человеческого лица из двухмерных изображений. Их программа описывает основные черты лица как два симметрично расположенных объекта (глаза) с еще двумя центрально расположенными объектами под ними (нос и рот). Требуется небольшая работа, чтобы перевести это описание в синтаксис вероятностного языка программирования, но на этом модель готова. Предоставьте программе достаточное количество примеров двумерных изображений и соответствующих им трехмерных моделей, и она сама догадается об остальном.
«Когда вы думаете о вероятностных программах, вы думаете очень интуитивно, когда моделируете», - говорит Кулкарни. «Вы не мыслите математически. Это совсем другой стиль моделирования».
К Кулкарни в газете присоединяются его советник, профессор мозговых и когнитивных наук Джош Тененбаум; Викаш Мансингка, научный сотрудник отдела мозга и когнитивных наук Массачусетского технологического института; и Пушмит Кохли из Microsoft Research Cambridge. Для своих экспериментов они создали вероятностный язык программирования, который они назвали Picture, который является расширением Julia, другого языка, разработанного в Массачусетском технологическом институте.
Что старое, то новое
Новая работа, по словам Кулкарни, возрождает идею, известную как инверсная графика, которая восходит к зачатку исследований искусственного интеллекта. Несмотря на то, что их компьютеры были мучительно медленными по сегодняшним меркам, пионеры искусственного интеллекта увидели, что графические программы вскоре смогут синтезировать реалистичные изображения, вычисляя способ отражения света от виртуальных объектов. По сути, именно так Pixar снимает фильмы.
Некоторые исследователи, такие как аспирант Массачусетского технологического института Ларри Робертс, утверждали, что вывод трехмерных форм объектов из визуальной информации представляет собой ту же проблему, только наоборот. Но данное цветовое пятно в зрительном образе, в принципе, может быть создано светом любого цвета, исходящим с любого направления и отражающимся от поверхности нужного цвета с правильной ориентацией. Вычисление значения цвета пикселей в одном кадре «Истории игрушек» - это огромное вычисление, но оно детерминировано: все переменные известны. Вывод формы, с другой стороны, является вероятностным: это означает рассмотрение множества конкурирующих возможностей и выбор той, которая кажется наиболее вероятной.
Вероятностные языки программирования именно для таких выводов и созданы. Кулкарни и его коллеги рассмотрели четыре различные проблемы компьютерного зрения, каждая из которых включает определение трехмерной формы объекта на основе двумерной информации. В некоторых задачах их простые программы даже превосходили предшествующие системы. Уровень ошибок программы, которая оценивала позы человека, например, был на 50-80 процентов ниже, чем у ее предшественников.
Учимся учиться
В вероятностном языке программирования тяжелая работа выполняется алгоритмом вывода - алгоритмом, который постоянно корректирует вероятности на основе новых фрагментов обучающих данных. В этом отношении Кулкарни и его коллеги имели преимущество десятилетий исследований в области машинного обучения. В Picture встроено несколько различных алгоритмов логического вывода, которые хорошо зарекомендовали себя в задачах компьютерного зрения. Если позволяет время, он может опробовать их все для решения любой задачи, чтобы увидеть, какие из них работают лучше всего.
Более того, говорит Кулкарни, Picture разработана таким образом, что ее алгоритмы логического вывода могут сами извлекать выгоду из машинного обучения, модифицируя себя по мере их продвижения, чтобы выделить стратегии, которые, как кажется, приводят к хорошим результатам. «Использование обучения для улучшения логических выводов будет зависеть от конкретной задачи, но вероятностное программирование может упростить переписывание кода для решения различных задач», - говорит он. «Код может быть общим, если механизм обучения достаточно мощный, чтобы изучать разные стратегии для разных задач».
«Изображение представляет собой общую структуру, предназначенную для решения почти всех задач компьютерного зрения», - говорит Цзяньсюн Сяо, доцент кафедры компьютерных наук Принстонского университета, который не участвовал в работе.«Он выходит за рамки классификации изображений - самой популярной задачи компьютерного зрения - и пытается ответить на один из самых фундаментальных вопросов компьютерного зрения: каково правильное представление визуальных сцен? Это начало современного пересмотра рассуждений инверсной графики.."