Данная статья преследует цель доступным языком описать, что такое нейроморфные процессоры и какое место они занимают среди процессорных технологий.
Что такое «нейроморфость»
«Нейромофрным» процессор называется в силу того, что его архитектура и принципы действия имеют умышленное сходство с биологическими нейронными сетями. Данная схожесть является одним из направлений развития нейронных процессоров. В широком смысле нейронный процессор — это специализированный класс микропроцессоров, который используется для аппаратного ускорения работы алгоритмов искусственных нейронных сетей, компьютерного зрения, распознавания голоса и изображений, машинного обучения и других методов искусственного интеллекта. К классу нейронных процессоров могут относиться разные по устройству и специализации типы чипов, в частности, один из них — нейроморфные процессоры. В отличие от традиционных вычислительных архитектур (фон-Неймановских), логика и устройство нейроморфных процессоров изначально узкоспециализирована для работы именно искусственных нейронных сетей.
Для дальнейшего погружение в понимание, что такое нейроморфный процессор стоит отдельно разобраться с развитием нейронных сетей, так как, не вдаваясь в детали, нейроморфный процессор – это и есть реализация искусственной нейронной сети на аппаратном уровне.
Что такое нейронные сети и как они развивались
Итак, нейронная сеть (также искусственная нейронная сеть, ИНС) — это математическая модель, а также её программное или аппаратное воплощение, которые строятся по принципу организации и функционирования биологических нейронных сетей, то есть сетей нервных клеток живого организма. Это понятие возникло при изучении процессов, протекающих в мозге, и попытках их смоделировать. Сегодня с помощью ИНС решаются такие классы задач, как распознавание, классификация, прогнозирование, оптимизация и сжатие информации, аппроксимация, ассоциативное управление и многие другие [1]. ИНС обычно делят на три поколения в зависимости от количества их вычислительных элементов и производительности.
Первому поколению ИНС (Artificial Neural Network, ANN) дали старт работы в области нейронных сетей У. Маккалока и У. Питтса [2]. В 1943 году они разработали модель нейронной сети на основе математических алгоритмов и теории деятельности головного мозга. В 1948 году Н. Винер вместе с соратниками опубликовал работу о кибернетике, основной идеей которой является представление сложных биологических процессов при помощи математических моделей. Далее, уже через год, в 1949 году Д. Хебб предложил первый алгоритм обучения. В 1958 году нейрофизиолог Фрэнк Розенблатт разработал первую нейронную сеть, названную “перцептроном”, а также построил первый нейрокомпьютер Марк-1 [3]. Позже в 1960-х годах их модель была улучшена за счет дополнительных скрытых слоев (Multi-Layer Perceptron) и для большей точности названа “MADALINE” (от "Many ADALINE", многослойная нейронная сеть) профессором Стэнфордского университета в США Бернардом Уидроу и его студентом Хоффом [4]. Однако, ИНС первого поколения были очень далеки от аналогичной биологической модели. По сути, это были бинарные деревья решений — алгоритмы анализа данных и принятия решений, основанные на условиях “if” и “else”.
Второе поколение ИНС добавило в деревья решений первого поколения ИНС вычислительные функции, которые работают между каждым видимым и скрытым слоем. Таким образом формируется структура, названная “глубинная нейронная сеть” (Deep Neural Network, DNN) [5]. Развитие моделей второго поколения ИНС приобрело характер решения более прикладных задач (машинное зрение, распознавание речи, и т.д.), что сказалось на их архитектурной реализации не в пользу биологически достоверного дизайна. Их развитие в больше степени было определено математической и компьютерной науками. Они по-прежнему активно исследуются и пользуются большим спросом со стороны рынка и науки. Большинство текущих разработок в области искусственного интеллекта (ИИ) основаны на этих моделях, они успешно доказали свою точность в когнитивных процессах [6].
Импульсные нейронные сети и их преимущества
Третье поколение ИНС называется “импульсными нейронными сетями” (Spiking Neural Network, SNN), и появилось оно в конце 1990-х годов [7-12]. Их дизайн стал в большей мере соответствовать биологическому устройству нейронных сетей [13]. В отличие от ИНС первого и второго поколения, нейроны в импульсных сетях обмениваются дискретными импульсами одинаковой амплитуды. Импульс выдаётся, если нейроны собирают достаточно данных, чтобы превысить внутренний порог, то есть работают они не постоянно. Такие нейронные структуры обладают большой параллельностью распространения импульса [14]. Теоретически, благодаря этим двум особенностям импульсные сети потребляют меньше энергии и работают быстрее, чем ИНС второго поколения [15]. Выделим некоторые преимущества SSN перед нейросетями первого и второго поколения [13]:
Эффективное моделирование временных, пространственно-временных или спектрально-временных данных;
Эффективное моделирование процессов в разных временных масштабах;
Соединение функций более высокого уровня с генетикой «более низкого» уровня;
Интеграция модальностей, таких как звук и изображение, в одной системе;
Прогностическое моделирование и прогнозирование событий;
Быстрая и массово-параллельная обработка информации;
Компактная обработка информации;
Масштабируемые структуры (от десятков до миллиардов импульсных нейронов);
Низкое энергопотребление, если модель реализована на нейроморфных чипах.
Крупномасштабные SNN могут быть реализованы как в программном симуляторе, таком как «NEST» с высокопроизводительными вычислениями, так и в нейроморфных чипах [16]. Моделирование SNN, реализованное на классических центральных процессорах (CPU) или графических процессорах (GPU) не является оптимальным для реализации их потенциала с точки зрения энергоэффективности и параллелизма [16]. SNN могут полноценно демонстрировать свои конкурентные преимущества низкого энергопотребления и массовой параллельной работы только тогда, когда они реализованы на нейроморфных чипах.
Сильные стороны архитектуры нейроморфного процессора
В настоящее время направление нейроморфных процессоров вызывает огромный интерес во всем мире, и такие чипы постепенно становятся доступными для научного и промышленного использования. Параллельно с доступностью чипов ученые в сфере искусственного интеллекта улучшают и открывают новые и более эффективные механизмы обучения импульсных нейросетей.
Под нейроморфными процессорами, как правило, понимают сверхбольшие интегральные схемы (СБИС), предназначенные для моделирования импульсных нейронных сетей. Ключевое отличие архитектуры нейроморфных процессоров от традиционной фон-Неймановской архитектуры заключается в том, что в них память и вычислительные ядра объединены, поэтому расстояния передачи данных сведены к минимуму, что в свою очередь минимизирует задержки и расход энергии при постоянных переносах данных от процессора в память и обратно в ходе вычислений. В то время как системы классической фон-Неймановской архитектуры — это многомодульные системы, состоящие из блоков обработки, ввода/вывода и памяти, которые взаимодействуют друг с другом через различные логические элементы исключительно последовательно [17]. И в силу того, что большинство вычислений в нейронных сетях основано на потоке данных, постоянное переключение между блоками обработки и блоками памяти является крайне узким местом, ключевым образом влияющим на производительность такой системы в целом [6] [13].
Почему GPU, ASIC и FPGA недостаточно хороши при работе с нейронными сетями
Графические процессоры (GPU) обладают высокой параллельной вычислительной мощностью по сравнению с центральными процессорами (CPU) [6], поэтому они довольно быстро стали доминирующими вычислителями для реализации нейронных сетей второго поколения. В настоящее время центры обработки данных в основном используют миллионы взаимосвязанных графических процессоров для обеспечения параллелизма, но это решение вызывает повышенное энергопотребление, сталкивается с ограничениями по возможностям масштабирования и требует внушительных бюджетов на приобретение таких аппаратных платформ [17]. При этом графические процессоры ускорили исследования глубинных нейронных сетей, и сейчас также продолжают поддерживать многие интересные направления развития технологий искусственного интеллекта, прочно закрепившись на рынке. Однако, будущие периферийные приложения, такие как робототехника, носимые устройства или автономные автомобили требуют все более сложных ИНС, работающих в режиме реального времени, с малой задержкой и со значительно более низким энергопотреблением [6]. Это требует появления новых архитектур и их процессорных реализаций, которые будут удовлетворять этим постоянно растущим требованиям.
Так сложилось, что требование энергоэффективности сориентировало промышленность на разработку ускорителей, которые будут специально и изначально разработаны для поддержки задач глубокого обучения. К ним относятся интегральные схемы специального назначения (Application-Specific Integrated Circuit, ASIC) и программируемые пользователем вентильные матрицы (Field-Programmable Gate Array, FPGA). ASIC хорошо оптимизированы для решения задач ИНС, они производительнее и работают с меньшим энергопотреблением, чем FPGA. Однако, спроектировать ASIC дорого, и они не могут быть реконфигурируемы в отличии от FPGA. Поэтому FPGA служат прототипом для дальнейшего проектирования дорогостоящих ASIC с глубоким обучением [6]. Оба решения более энергоэффективны по сравнению с графическими процессорами, однако имеют очень ограниченные возможности по масштабированию, имеют меньшую эффективность по энергопотреблению и меньшую производительность в сравнении с нейроморфными процессорами. Данное обстоятельство обусловлено архитектурными ограничениями в виде канала передачи данных между процессором и блоками памяти [17]. Именно это ограничение в настоящее время особенно требует новых подходов за пределами традиционной фон-Неймановской архитектуры.
Резюме
Таким образом, нейроморфный процессор — это особый ASIC, архитектура которого максимально приближена к структуре биологических нейронных сетей, и который создавался специально для оптимизации вычислений импульсных нейронных сетей. Целью развития нейроморфной процессорной архитектуры является достижение способности параллельной обработки информации с энергопотреблением, ограниченным десятками ватт. Для этого память и блоки обработки должны быть объединены (in-memory computing). Нейроморфные процессоры в силу заложенной архитектуры больше подходят для когнитивных приложений, основанных на вероятностных моделях, динамическом и самопрограммируемом поведении, чем для точных вычислений [13].
Список литературы
[1] Галушкин А.И. Нейроматематика (проблемы развития). М.: Радиотехника, 2003. – 40 с. (серия «Нейрокомпьютеры и их применение»).
[2] McCulloch, W. S., & Pitts, W. (1943). A logical calculus of the ideas immanent in nervous activity. The Bulletin of Mathematical Biophysics, 5(4), 115–133. https://doi.org/10.1007/BF02478259
[3] Rosenblatt, F. (1958). The perceptron: A probabilistic model for information storage and organization in the brain. Psychological Review, 65(6), 386–408. https://doi.org/10.1037/h0042519
[4] Widrow, B. & Lehr, M., 1990. 30 years of adaptive neural networks: perceptron, Madaline, and backpropagation. Proceedings of the IEEE, 78(9), pp. 1415-1442.
[5] Patterson, J. C., 2012. MANAGING A REAL-TIME MASSIVELY-PARALLEL NEURAL ARCHITECTURE. Phd Thesis ed. Manchester: UNIVERSITY OF MANCHESTER.
[6] Zheng, N. & Mazumder, P., 2020. Learning in energy-efficient neuromorphic computing: algorithm and architecture co-design. s.l.:Wiley-IEEE Press.
[7] Maass W. Networks of Spiking Neurons: The Third Generation of Neural Network Models. // NeuralNetworks. - Vol. 10, No. 9. - 1997. - Pp. 1659-1671.
[8] Gerstner W., Kistler W. M. Spiking Neuron Models. Single Neurons, Populations, Plasticity. - Cambridge University Press, 2002.
[9] Masayasu Atsumi. Sequence Learning and Planning on Associative Spiking Neural Network. // Proceedings of the 2002 International Joint Conference on Neural Networks (IJCNN'02), 2002. - Pp.1649-1654.
[10] Brette R. Spike-based models of neural computation. - 2009.
[11] Филиппов В.А. Кортикоморфная нейросетевая архитектура, моделирование консолидации следа памяти и кибергеномика – перспективные технологии искусственных когнитивных систем. - Научная сессия НИЯУ МИФИ – 2010. Материалы избранных научных трудов по теме: «Актуальные вопросы нейробиологии, нейроинформатики и когнитивных исследований». М.: НИЯУ МИФИ. - 2010. – С. 111-144.
[12] Горбаченко В.И. Нейроморфные вычисления. Состояние и перспективы. // Проблемы информатики в образовании, управлении, экономике и технике: Сб. статей XIV Междунар. научно-техн. конф. – Пенза: ПДЗ, 2014. – С. 73-77.
[13] Kasabov, K. N., 2019. Time-Space, Spiking Neural Networks and Brain-Inspired Artificial Intelligence. Berlin, Germany: Springer.
[14] Sugiarto, I. & Pasila, F., 2018. Understanding a Deep Learning Technique through a Neuromorphic System a Case Study with SpiNNaker Neuromorphic Platform. MATEC Web of Conferences
[15] Maass, W., 1997. Networks of spiking neurons: The third generation of neural network models. Neural Networks, 10(9), pp. 1659-1671.
[16] Knight, J. & Nowotny, T., 2018. GPUs Outperform Current HPC and Neuromorphic Solutions in Terms of Speed and Energy When Simulating a Highly-Connected Cortical Model. Frontiers in Neuroscience
[17] Kasabov, N., Sengupta, N. & Scott, N., 2016. From von neumann, John Atanasoff and ABC to Neuromorphic computation and the NeuCube spatio-temporal data machine. 2016 IEEE 8th International Conference on Intelligent Systems (IS).
Комментарии (8)
EvilMan
17.01.2022 01:24+2А можно хотя бы блок-схему какую-нибудь аппаратной конфигурации этих самых нейроморфных чипов? Из каких блоков состояти и как они взаимодействуют. А то в статье одна вода и никаких технических деталей.
kryvichh
17.01.2022 02:51+1У студентов скоро сессия, опять пошли статьи на Хабр?
count_enable
17.01.2022 13:19+2У очень ленивых студентов. Реферат ниже плинтуса, такое даже в школу стыдно притащить.
логика и устройство нейроморфных процессоров изначально узкоспециализирована для работы именно искусственных нейронных сетей.
нет, Google Edge TPU и ещё сотня NPU это не нейроморфные процессоры. Нейроморфные процессоры ускоряют импульсные нейронные сети, а не ИНС вообще.
Хотя бы прочитали что написали:
Почему GPU, ASIC и FPGA недостаточно хороши при работе с нейронными сетями
а ниже:
Таким образом, нейроморфный процессор — это особый ASIC,
М. Маслянов, в своей книге: "Спецназовцы особого назначения: моя автобиография без повторений и тавтологий" спрашивает читателя: Вы вообще понимаете разницу между СБИС и ASIC? Или просто бездумно копипастите куски чужих статей из интернета?
Статья о "нейроморфных процессорах", но не назван ни один из десятка существующих. Вообще ни о чём.
DrBulkin
Как простому человеку "пощупать" эти процессоры?
longtolik
Приобретаете Ардуино 101. Или Neuroshield.
Тут огурцы сортируют и всё такое. А я "пощупал" - обучил и распознавал изображения с датчика оптической мыши:
https://www.general-vision.com/curieneurons/
Кстати, в Arduino/Genuino 101, в их процессоре Intel Curie как раз и "сидит" образчик нейроморфных технологий и нейроны. И не надо СБИС и ASIC, а можно купить чипы, например, NM500.
count_enable
General Vision даже близко не нейроморфные. Их чип реализует два классификатора: k-NN и RBF, оба метода это примитивное статистическое обучение.