Графика в обратном порядке: вероятностное программирование делает в 50 строк кода то, что раньше занимало тысячи

Графика в обратном порядке: вероятностное программирование делает в 50 строк кода то, что раньше занимало тысячи

Чтобы упростить создание приложений для машинного обучения, компьютерные ученые начали разработку так называемых вероятностных языков программирования, которые позволяют исследователям смешивать и сочетать методы машинного обучения, хорошо зарекомендовавшие себя в других контекстах. В 2013 г.S. Агентство перспективных исследовательских проектов Министерства обороны США, инкубатор передовых технологий, запустило четырехлетнюю программу финансирования исследований в области вероятностного программирования.

На конференции по компьютерному зрению и распознаванию образов в июне исследователи из Массачусетского технологического института продемонстрируют, что в некоторых стандартных задачах компьютерного зрения короткие программы — длиной менее 50 строк — написанные на вероятностном языке программирования, могут конкурировать с обычными системами с тысячами строк. кода.
«Мы впервые вводим вероятностное программирование в области зрения», — говорит Теджас Кулкарни, аспирант Массачусетского технологического института в области мозга и когнитивных наук и первый автор новой статьи. «Вся надежда состоит в том, чтобы написать очень гибкие модели, как генеративные, так и дискриминативные, в виде короткого вероятностного кода, а затем больше ничего не делать. Схемы вывода общего назначения решают проблемы."

По стандартам обычных компьютерных программ эти «модели» могут показаться абсурдно расплывчатыми. Одна из задач, которые исследуют исследователи, например, построение трехмерной модели человеческого лица из двухмерных изображений. Их программа описывает основные черты лица как два симметрично расположенных объекта (глаза) с еще двумя объектами, расположенными по центру под ними (нос и рот).

Требуется небольшая работа, чтобы перевести это описание в синтаксис вероятностного языка программирования, но на этом этапе модель завершена. Загрузите в программу достаточно примеров двумерных изображений и соответствующих им трехмерных моделей, и она сама разберется с остальным.
«Когда вы думаете о вероятностных программах, вы думаете очень интуитивно, когда моделируете», — говорит Кулкарни. "Вы не мыслите математически. Это совсем другой стиль моделирования."

К Кулкарни в работе присоединились его научный руководитель, профессор мозговых и когнитивных наук Джош Тененбаум; Викаш Мансингка, научный сотрудник отдела мозга и когнитивных наук Массачусетского технологического института; и Пушмит Кохли из Microsoft Research Cambridge. Для своих экспериментов они создали вероятностный язык программирования, который они назвали Picture, который является расширением Julia, другого языка, разработанного в Массачусетском технологическом институте.

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

По сути, так Pixar снимает фильмы.
Некоторые исследователи, такие как аспирант Массачусетского технологического института Ларри Робертс, утверждали, что выведение трехмерных форм объектов из визуальной информации было той же проблемой, но наоборот.

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

Такой вывод — это именно то, для чего предназначены вероятностные языки программирования. Кулкарни и его коллеги рассмотрели четыре различные проблемы компьютерного зрения, каждая из которых включает в себя определение трехмерной формы объекта на основе двухмерной информации. В некоторых задачах их простые программы фактически превосходили предыдущие системы. Например, частота ошибок программы, оценивающей позы человека, была на 50-80 процентов ниже, чем у ее предшественников.

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

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

Более того, говорит Кулкарни, Picture спроектирована таким образом, чтобы алгоритмы логического вывода сами могли извлекать выгоду из машинного обучения, изменяя себя по ходу работы, чтобы акцентировать внимание на стратегиях, которые, по-видимому, приводят к хорошим результатам. «Использование обучения для улучшения вывода будет зависеть от конкретной задачи, но вероятностное программирование может облегчить переписывание кода для решения различных задач», — говорит он. "Код может быть универсальным, если механизм обучения достаточно мощный, чтобы изучать разные стратегии для разных задач."
«Изображение представляет собой общую основу, которая направлена ​​на решение практически всех задач компьютерного зрения», — говорит Цзяньсюн Сяо, доцент кафедры информатики в Принстонском университете, который не принимал участия в работе. «Он выходит за рамки классификации изображений — самой популярной задачи компьютерного зрения — и пытается ответить на один из самых фундаментальных вопросов компьютерного зрения: как правильно представлять визуальные сцены? Это начало современного пересмотра рассуждений об инверсной графике."