Даже самая быстрая электроника зачастую пасует при решении ряда специфических задач для обучения нейронных сетей, хотя с искусственным интеллектом сегодня связывают перспективы буквально всех отраслей. Исследователи предлагают использовать пространственное распараллеливание света. Тогда процесс обучения ускоряется на порядки.

Фотоника вместо кремния

Ученым с кафедры физики Римского университета и института комплексных систем при национальном исследовательском совете (Рим, Италия) удалось существенно ускорить вычисления с большим числом внутренних состояний благодаря разработанной ими технологии пространственного распараллеливания светового потока.

Источники света сходятся после пространственного модулятора в единый луч

Технологический прорыв: оптические процессоры ускорят машинное обучение

Источник: Robert Horn, Argonne National Laboratory

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

Комплексная оптимизация как ключ к нейронным сетям

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

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

Спрос на технологии для решения комплексных вычислений оптимизации был всегда во многих отраслях – от биологии до обществознания. Однако максимальный всплеск интереса появился в последнее десятилетие – по мере развития технологий машинного обучения и нейронных сетей.

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

Задачи без приемлемого решения

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

Решением задачи является расчет минимального энергетического состояния энергетического массива, от него напрямую зависит степень влияния одного, условно говоря, «бита», на значение окружающих «битов».

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

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

Пространственная оптическая модуляция

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

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

Для вычислений ученые предложили использовать источник света с пиксельной структурой. У каждого пикселя можно изменять два свойства – его фазу и амплитуду (яркость). Изменение производится с помощью пространственной модуляции света.

В подобной установке яркость свечения пикселя (амплитуда) определяет степень, в которой свечение этого пикселя препятствует прохождению света от других пикселей. Степень взаимодействия пикселей определяет решаемую проблему, а ее решение заключается в фазе каждого пикселя. В прикладном смысле фаза каждого пикселя в пространственном модуляторе света может переключаться между двумя значениями, одно из которых соответствует логическому нулю, а второе – логической единице.

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

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

Бесконечность не предел

В своих лабораторных исследованиях итальянские ученые нашли решение выбранной проблемы с применением готовых компонентов современной фотоники. Опытные расчеты массива из 40 тысяч бит (40 килобит) данных удалось провести примерно за 1400 итераций. Такой результат является весьма впечатляющим для решения задач подобного класса.

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

Источник: презентация П.Д. Андрющенко

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

Масштабирование – не проблема

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

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

В чем подвох?

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

Кроме того, для достижения идеального результата придется удостовериться, что количество и размер проецируемых пикселей полностью соответствует пикселям в пространственном модуляторе света – иначе нет никакой гарантии достижения уровня «минимальной энергии».

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

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

Перспективы

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

Как раз эта задача – не проблема для современного производства. В случае, если ученые смогут превратить свое изобретение из лабораторного эксперимента в коммерческий проект, на рынке решений для глубокого машинного обучения могут появится световые параллельные вычислительные системы.

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

Технологии нейронных сетей в России

Основы математического моделирования «нейронных сетей» — одного из методов машинного обучения – зародились еще в 1943 году, задолго до того, что мы сегодня подразумеваем под «искусственным интеллектом».

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

Несмотря на «почтенный возраст» нейросетей, бум технологии начался совсем недавно – после разработки первых алгоритмов глубокого обучения многослойных нейронных сетей. Первые же прикладные результаты применения этих алгоритмов в виде приложений для почти безошибочного распознавания объектов на фотографиях и в видеороликах, послужили сигналом для ажиотажа вокруг темы нейросетей.

В России уже представлено множество приложений с применением технологий нейронных сетей и искусственного интеллекта – например, редакторы Artisto и Vinci с фильтрами и фотоэффектами для видео, селфи и других изображений.

Участники российского рынка разработки технологий искусственного интеллекта, такие как «Яндекс», VK, «Сколково», МФТИ, ВШЭ, активно исследуют возможности обучения нейросетей и внедрения их в социальные и бизнес-приложения. Например, исследователи из VK и МФТИ разрабатывают лекарства для от различных заболеваний – от онкологии до сердечно-сосудистых, — с помощью генераторов молекулярных структур на базе генеративных состязательных сетей.

Архитектура нейронной сети проекта VK и МФТИ

Источник: VK, 2017

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

«Яндекс» использует технологии машинного обучения как в поисковых сервисах, так и в системе «Дзен» для формирования ленты новостей по интересам пользователя.

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