— Зрение — функция интеллекта. Но я хочу поговорить о проблеме компьютерного зрения в более узком смысле машинного распознавания образов, а не части искусственно инсталлированного интеллекта, что увело бы нас слишком далеко.
— Отлично! Кажется, я немножко разбираюсь в этой штуке (смеется).
— Существующие системы компьютерного зрения, одной из которых является и ваш Kinect, позволяют решать лишь строго определенный класс задач. Возникает впечатление, что уже на стадии разработки математического метода, лежащего в основе таких систем, его низводят до узко прикладных решений. Есть ли надежда, что рано и или поздно решение всех задач по распознаванию образов можно будет вывести из одного универсального подхода? Или для каждой отдельной задачи так и придется все время создавать свой метод, свой условный Kinect?
— Скажу так: хорошая новость заключается в том, что у нас давно уже есть универсальная машина, решающая задачу компьютерного зрения. Плохая состоит в том, что эта машина находится у нас в голове. Как бы то ни было, у нас есть физическое доказательство того, что такая машина может быть реализована, и это вдохновляет. Вопрос — каким образом реализована? Некоторые под впечатлением успехов наук о мозге пытаются использовать результаты исследований нейрофизиологов. Но я считаю, что преимущества, которые дают заимствования из нейрофизиологии, на самом деле очень и очень ограничены.
— Мне кажется, сейчас вы разозлили весьма влиятельную группу специалистов по компьютерному зрению.
— Да, но не забывайте об огромном опыте психологов, которые изучают визуальную функцию мозга в более, так сказать, формальных терминах, без использования инвазивных средств, датчиков и сканеров, измеряющих конкретные параметры его работы! Как прикладному разработчику, сотрудничество с психологами мне видится более продуктивным, да и пользы для компьютерных наук оно принесло больше.
— Подходящий момент, чтобы вспомнить о когнитивисте Дэвиде Марре, разработавшим информационную теорию зрения, чьей легендарной книге «Зрение», изданной посмертно, исполняется 30 лет. Были ли вы знакомы, ведь он тоже из Кембриджа? Повлияли ли на вас его идеи?
— О, не только из Кембриджа, но я даже учился в том же Тринити-колледже, что и он, и даже в той же самой школе при колледже! Это замечательный ученый, чьи идеи я бы назвал не столько открытиями даже, сколько прекрасными источниками для вдохновения. Хотя пример практического решения проблемы на основе его разработок есть: в основе систем трехмерного компьютерного зрения лежит понимание Марром принципа стереоскопического зрения. Но все-таки я настаиваю, что даже с учетом сказанного
преимущества, которые нам дают эти науки — и нейрофизиология, и психология, применительно к созданию «видящей» машины все равно очень ограничены, а те, кто занимается ее созданием, то есть мы, разработчики, предоставлены полностью сами себе.
Хотя разработчики подчас и вынуждены, как говорят у нас, «гулять в чужих ботинках». И, кстати, это более выгодное положение по сравнению с нейрофизиологами и психологами: в отличие от них специалист по компьютерному зрению ничем не обязан строгим научным конвенциям, которые соблюдаются в изучении живых систем. Он может изучать функцию зрения как таковую, универсально, не придерживаясь точности в описании биомеханизмов. Впрочем, и психологических механизмов тоже.
— Но я как раз начал с вопроса о все нарастающей специализации в трактовке компьютерного зрения в среде разработчиков, которые, кажется, разочарованы перспективой «чистого» универсального подхода, как и вообще сильного, то есть универсального искусственного интеллекта. А вы как раз один из разработчиков системы компьютерного зрения, вышедшей на глобальный рынок.
— Не разочарованы! В качестве яркого примера такого универсального подхода, очень много давшего в решении проблем компьютерного зрения, могу привести творчество теоретика искусственного интеллекта Алана Ньюэла.
— В вашем скепсисе по отношению к нейрофизиологии мне слышатся отголоски разгромной критики теории искусственных нейросетей, устроенной Марвином Минским в конце 60-х, после которой спонсоры исследований, особенно военные ведомства, переключились на символьные модели искусственного интеллекта, последствия чего заметны до сих пор. Вы также предпочитаете нейросетям функциональное математическое моделирование, то есть создание чисто алгебраических моделей зрения?
— Знаете, я бы не проводил разделение подходов по этой линии. Та знаменитая книга «Перцептроны», которую вы, судя по всему, имеете в виду, говоря о «разгроме», и которую Минский написал с Сеймуром Паппертом, была направлена против совершенно определенной вещи — перцептрона, притом его конкретной разновидности. С рубежа 70-х нейросетевое сообщество полностью оправилось от того удара, разработав более обобщенную теорию, в которой старая модель перцептрона была лишь частным случаем. Скажу больше:
естественным наследником модели перцептрона стал весьма эффективный метод опорных векторов — абстрактной математической модели, разработанной группой математика Владимира Вапника.
Как видите, оба подхода — и перцептрон, и метод опорных векторов — являются функциональными, то есть исходящими из математического моделирования зрительной функции.
— Это не отменяет факта, что разработчики прикладных систем компьютерного зрения игнорируют в большинстве своем метод искусственных нейросетей. Где в таком случае проходит линия водораздела?
— Функциональные модели я бы противопоставил вероятностным, в частности вероятностной графической модели (probabilistic graphical model), популярность которой сейчас огромна. Различия между функциональной и вероятностной моделями очень серьезные, надо сказать. Функциональный подход, известный также как дискриминантный (discriminative), пытается эффективно решить проблему классификации визуальных данных, основываясь на эмпирических процессах различения (от discriminate — различать. — «Газета.Ru»). Вероятностная графическая модель, известная под названием «порождающая» (generative), ставит целью заранее сформировать, смоделировать максимально исчерпывающее описание классов данных через специальные функции.
— Какой из этих подходов наиболее симпатичен вам?
— Порождающий. Мне он кажется более элегантным с, так сказать, философской точки зрения. Но, если отложить в сторону философские соображения, в реальности нам требуются оба метода. Просто дискриминантный, как показал опыт, дает более эффективные решения с точки зрения вычислимости, так что большинство систем, которые реализуются и будут реализованы в том числе на рынке, большей частью опираются на дискриминантную модель. Конечно, чтобы создать систему распознавания, например, почтовых индексов, можно применить и порождающую модель, но с точки зрения эффективности она будет сильно проигрывать дискриминантной. А вот глубже понять суть той или иной проблемы, решаемой в сфере компьютерного зрения, позволяет именно порождающий метод.
— Каким образом?
— Порождающим моделям сопутствует гораздо более стройная логика разложения целого на части (decomposing). Благодаря ей можно более эффективно решать несколько задач, притом делать это одновременно – например, распознавать букву, ее положение на странице и проблему ее деформации в случае разных почерков. Помимо этого программу, созданную на основе порождающей модели, легче отлаживать, поскольку вы можете искусственно симулировать разные сценарии распознавания, и, если алгоритм начинает порождать правильные решения — например, правильные цифры и буквы, написанные ужасным почерком, это означает, что он работает хорошо.
— Похоже на то, как некоторые пытаются решить задачу машинного распознавания устной речи.
— Тут, скорей всего, вы правы, потому что наиболее популярным инструментом, применяемым в распознавании устной речи, является скрытая марковская модель, которая относится к порождающей модели.
— И все-таки, возвращаясь к нейросетям: насколько перспективны методы обучаемой и самообучаемой искусственной нейросети при создании систем машинного зрения? Известно, что нейросети успешно применяются в экспериментальной психологии, эволюционной этике и попытках наделить роботов функциями языкотворчества.
— Мне кажется, что сейчас словом «нейросеть» описываются дискриминантные подходы старого поколения, а более новые походы, как тот же метод опорных векторов, описываются уже совсем другими терминами. Назову, к примеру, бустинг (boosting) — весьма диковинного «зверя» на полях компьютерного зрения, который представляет собой метод усиления слабых классификаторов, или метод рандомизированных деревьев решений.
— Стояла ли проблема, какой метод выбрать — дискриминантый или порождающий — при создании для Microsoft системы Kinect?
— Поначалу мы считали, что порождающей модели будет достаточно для решения задачи. Но в процессе общения со специалистами из подразделения Х Box мы поняли, что одной порождающей модели мало. Именно об этом я говорил с русскими студентами, которым показывал видео, где порождающая модель отслеживала движения человека. До какого-то момента она это делала успешно, но, когда объект совершал резкие движения, модель не успевала распознать их. Тогда мы стали изучать возможности дискриминантного подхода и неожиданно нашли элегантное решение, которое стало для меня большим сюрпризом, поскольку Джеми Шоттэну — молодому ученому, который страстно отстаивал дискриминантый метод, — я сразу четко заявил, что его предложение использовать дискриминантную модель никогда не заработает.
Похоже, данное самонадеянное утверждение стало моим самым большим вкладом в проект Kinect.
Ведь, когда вы говорите молодому специалисту, что что-то «никогда не заработает», он приложит все усилия, чтобы доказать обратное! Конечно, сейчас мне будет приятней утверждать, что такова была моя изначальная хитрая стратегия, но истина в том, что это не так, и я был по-настоящему удивлен полученным результатом.
— Другими словами, один из ключевых компонентов Kinect генетически связан с теорией перцептрона и моделями обучаемых нейростей. За какую часть системы Kinect конкретно отвечала ваша группа?
— Система Kinect, созданием которой руководил Алекс Кипман, директор и, так сказать, гений этого проекта, многокомпонентная. Наш вклад — компонент, который обучает машину распознавать различные части тела, и мне до сих пор кажется чрезвычайно странным то, что он делает, и делает весьма неплохо.
По сути, машина принимает решение, к какой части тела принадлежит и принадлежит ли вообще в буквальном смысле каждый пиксель анализируемого изображения.
Предположим, у нас есть человек в разноцветном клоунском костюме, где каждой части тела соответствует свой цвет. Система, не умеющая распознавать зависимость цвета и части, воспримет поступающие данные как разноцветные и случайно распределенные мерцающие пятна. Наш компонент, напротив, будет все время следить за тем, чтобы пиксели головы, например, не смешивались с пикселями шляпы.
— Какие алгоритмы вы применили, чтобы решить эту задачу?
— Нашей задачей было скомбинировать два метода. Первый — разработку бостонской «Мицубиси Лабораториз», получившей в 2001 году алгоритм, анализирующий образы по признакам. Из него родилась технология распознавания лиц, применяемая в цифровых фотокамерах. Этот метод мы соединили с методом рандомизированных решающих деревьев, разработанный одним австралийским математиком в конце 70-х. Но, если вас интересуют детали, отсылаю к своей статье на основе доклада на конференции IEEE, который я делал в Колорадо.
— Как будeт развиваться технология Kinect в программной части?
— Мы опубликовали SDK (комплект средств для разработчика. — «Газета.Ru»), так что число программных решений будет расти само собой и наш бесконтактный интерфейс выйдет за пределы игровой индустрии. Из перспективных областей назову медицину, автопром и робототехнику.
— Коды ключевых драйверов Kinect закрыты, а именно они представляют повышенный интерес для опенсорс-сообщества, которое могло бы найти им очень интересные и неожиданные применения. Планирует ли «Майкрософт» открыть эти компоненты?
— Думаю, что SDK достаточно. Комплект предоставляет доступ ко всем функциям body tracking (отслеживания движений тела), распознаванию лиц и звуков.
— Назовите три самых перспективных разработки, над которыми работает ваша группа Microsoft Research Cambridge.
— Проект Infer.NET, делающий широкодоступными новейшие технологии машинного обучения. Второй ключевой проект – F# (читается как F Sharp. — «Газета.Ru»), язык функционального программирования, который станет достойным продолжением Си и Си++ и вообще является редким случаем изобретения нового массового языка программирования. Третья — ДНК-компьютер, но это довольно авантюристичный проект, и, какие практические результаты мы здесь получим, пока неясно. Думаю, что очень важные.
— Вы участвовали в качестве лектора в работе молодежной летней школы Microsoft Research, организованной в Москве совместно с факультетом математики и кибернетики МГУ им. Ломоносова. Темой летней школы-2011 было компьютерное зрение. Как вы оцениваете уровень развития этой области компьютерных наук в России?
— Сразу скажу, что большое число молодых специалистов по компьютерному зрению сосредоточено именно в России, где они получают образование мирового уровня. С моей точки зрения,
среди них растет понимание того, что это знание дает огромные возможности с точки зрения предпринимательских инициатив.
Вообще мы были поражены объемом той научной активности, которая имеет место в России применительно к проблеме компьютерного зрения. Когда был открыт прием заявок в студенческую лабораторию технологий Microsoft, на нас обрушился целый шквал предложений от 70 университетов, но, поскольку наши возможности ограничены, мы отобрали около 30 работ.
— Получают ли участники летней школы возможность стажироваться в Microsoft Research?
— Я знаю, что целая группа студентов из России проходит стажировку в MS Research, но автоматической связи между участием в работе школы и стажировкой нет. При этом мы открыты для рассмотрения заявок на такие стажировки, отбор которых проводится в духе открытой конкуренции наравне с заявками студентов из других стран.
— Когда наконец системы компьютерного зрения научатся отличать мужское лицо от женского, бабушку от дедушки, а кошку от собаки?
— Все, что вы перечислили, входит в число главных вызовов, стоящих перед специалистами по компьютерному зрению. Но я так скажу: с проблемой различения кошки и собаки наши машины справятся уже неплохо, но при одном условии — если весь мир состоит из кошек и собак. А вот когда в поле зрения попадут деревья и велосипеды, начнутся, скорей всего, первые большие сложности.