Нейроморфные вычисления: технология, стоящая за ажиотажем

Нейроморфные вычисления - это модное слово, которое в настоящее время широко используется в искусственном интеллекте и машинном обучении [1,2]. Чтобы изучить, что стоит за этой шумихой, Digital Catapult пригласила участников проекта SpiNNaker (Spiking Neural Network Architecture) [3] из Университета Манчестера провести семинар в рамках своей программы Machine Intelligence Garage. Семинар позволил 11 стартапам присоединиться к интенсивной и закрытой группе, чтобы узнать о технологии, ее применении, перспективах и проблемах в рамках практического курса. В этом сообщении в блоге обобщаются идеи семинара и дается введение в нейроморфные вычисления и их приложения.

Что такое нейроморфные вычисления?

Нейроморфные вычисления вдохновлены функцией человеческого мозга, который в настоящее время все еще превосходит машины во всех задачах, требующих творчества или передачи знаний для решения других задач. Более того, человеческий мозг невероятно энергоэффективен, потребляя всего ~ 20 Вт [4]. Основной вычислительной единицей в головном мозге является нейрон, насчитывающий примерно 100 миллиардов нейронов в мозге взрослого человека [5]. Эти нейроны связаны между собой более чем 150 000 км нервных волокон и 150 тыс. Синапсов [6], что делает архитектуру мозга чрезвычайно параллельной. Для сравнения: по состоянию на ноябрь 2017 года самый быстрый суперкомпьютер в мире имел 10 649 600 процессорных ядер и потреблял 15 371 кВт энергии [7]. Вычисления, которые могут выполняться одним ядром ЦП, нельзя напрямую сравнивать с вычислениями, выполняемыми одним нейроном. Однако, особенно для приложений в области искусственного интеллекта, человеческий мозг может служить планом для чрезвычайно мощной и эффективной вычислительной системы.

Чтобы имитировать функцию человеческого мозга, нейроморфные вычисления используют архитектуры, которые в корне отличаются от обычного компьютерного оборудования. Массивный параллелизм маломощных микросхем и новые способы организации их взаимодействия - центральные элементы всех нейроморфных компьютеров. SpiNNaker - это долгосрочный проект исследователей из Манчестерского университета, направленный на создание нейроморфного компьютера для моделирования работы мозга. Сердцем системы SpiNNaker является микросхема с 18 ядрами процессора ARM с низким энергопотреблением, локальной памятью и маршрутизатором SpiNNaker, который обеспечивает связь с другими микросхемами (рисунок 1). Эта связь происходит асинхронно (микросхема отправляет сигнал на другую микросхему, но не требует ответа) и параллельно (все микросхемы общаются друг с другом одновременно). Эти характеристики вдохновлены аналогичной коммуникацией нейронов в головном мозге [8]. Они допускают степень параллелизма, которая не может быть достигнута с помощью обычных аппаратных архитектур. Машина SpiNNaker, которая в настоящее время используется в Манчестерском университете, состоит из 600 плат SpiNNaker с 48 микросхемами или 864 процессорными ядрами каждая, всего 518 400 процессоров (рисунок 2).

Как пользоваться SpiNNaker?

Во время семинара со SpiNNaker у участников была возможность научиться пользоваться своим нейроморфным оборудованием. Используя язык программирования python, пакет python PyNN [9] для моделирования нейронных сетей и интерфейс sPyNNaker для плат SpiNNaker, легко спроектировать сети с импульсными нейронами и развернуть их для моделирования на оборудовании SpiNNaker. Это можно сделать либо с помощью локальных плат SpiNNaker, либо путем удаленного доступа к машине SpiNNaker в Манчестере через Human Brain Project [10].

Где можно применить нейроморфные вычисления?

Основное назначение машины SpiNNaker - нейробиологические исследования. В настоящее время он способен моделировать сети до одного миллиарда нейронов (примерно 1% человеческого мозга) в реальном времени. Однако изучаются и другие приложения. Задачи удовлетворения ограничений (CSP) - это класс вычислительных задач, которые могут быть эффективно решены архитектурой SpiNNaker с методологически подобным подходом к человеческому [11]. CSP определяются набором переменных, которые должны удовлетворять определенным ограничениям. Простыми примерами являются поиск решения судоку (рисунок 3a) или раскрашивание карты в четыре цвета, при этом соседние страны не имеют того же цвета (рисунок 3b, см. Теорему о четырех цветах [12]). Эти проблемы являются предметом интенсивных исследований в области искусственного интеллекта, поскольку они лежат в основе множества различных приложений. Они могут быть решены в архитектуре SpiNNaker путем моделирования нейронных сетей с пиками, где переменные состояния представлены активностью наборов нейронов, а ограничения налагаются ингибирующими соединениями, которые подавляют активность целевых нейронов. Кроме того, команда SpiNNaker исследует варианты использования в обучении с подкреплением, визуальном и слуховом восприятии, робототехнике (рис. 3c) и даже не нейронном моделировании, таком как методы Монте-Карло с цепью Маркова.

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

Machine Intelligence Garage [13] - это программа, разработанная Digital Catapult, чтобы помочь британским стартапам в области машинного обучения преодолеть одно из самых серьезных препятствий, с которыми они сталкиваются: доступ к вычислительной мощности. Это сопровождается опытом использования широкого спектра аппаратных ресурсов и обоснованной поддержки с выбором наиболее подходящего оборудования и его наилучшего использования.

использованная литература

[1] http://www.wired.co.uk/article/ai-neuromorphic-chips-brains

[2] https://www.nature.com/articles/d41586-018-01290-0

[3] http://apt.cs.manchester.ac.uk/projects/SpiNNaker/

[4] https://hypertextbook.com/facts/2001/JacquelineLing.shtml

[5] Сюзана Херкулано-Хаузель, Человеческий мозг в числах: линейно увеличенный мозг приматов, Frontiers in Human Neuroscience, 2009.

[6] Дэвид А. Драхман, Есть ли у нас лишний мозг?, Неврология, 2005 г.

[7] https://www.top500.org/lists/2017/11/

[8] http://www.scholarpedia.org/article/Nervous_system#Function

[9] http://neuralensemble.org/PyNN/

[10] https://www.humanbrainproject.eu/en/

[11] Габриэль А. Фонсека Герра, Стив Б. Фербер, Использование стохастических пиковых нейронных сетей на SpiNNaker для решения проблем удовлетворения ограничений, Frontiers in Neuroscience, 2017

[12] https://en.wikipedia.org/wiki/Four_color_theorem

[13] https://www.migarage.ai/

Первоначально опубликовано на www.migarage.ai 9 июля 2018 г.