Введение

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

Архитектура CNN

Из-за их количества и разнообразия архитектур сложно дать точное определение CNN-процессору. С архитектурной точки зрения, CNN-процессор представляет собой систему из конечного, фиксированного числа, с фиксированным расположением, фиксированной топологией, локально взаимосвязанных, с множеством входов и одним выходом, нелинейных обрабатывающих элементов. Нелинейные обрабатывающие элементы часто называют нейронами или ячейками. Математически каждая ячейка может быть смоделирована как диссипативная, нелинейная динамическая система, в которой информация кодируется посредством ее начального состояния, входов и переменных, используемых для определения ее поведения. Динамика обычно непрерывна, как в случае CNN-процессоров с непрерывным временем (CT CNN), но может быть дискретной, как в случае CNN-процессоров с дискретным временем (DT CNN). Каждая ячейка имеет один выход, посредством которого она передает свое состояние другим ячейкам и внешним устройствам. Выход обычно является вещественным числом, но может быть комплексным или даже кватернионным, то есть многозначным CNN (MV CNN). В большинстве CNN-процессоров обрабатывающие элементы идентичны, но существуют приложения, требующие неидентичных элементов, которые называются CNN-процессорами с неравномерной структурой (NUP CNN) и состоят из различных типов ячеек.

Чуа-Ян Си-Эн-Эн

В оригинальном процессоре Chua Yang CNN (CY CNN) состояние ячейки представляло собой взвешенную сумму входных данных, а выход – кусочно-линейную функцию. Однако, как и в первоначальных нейронных сетях на основе перцептронов, возможности выполняемых им функций были ограничены: в частности, он не мог моделировать нелинейные функции, такие как XOR. Более сложные функции реализуются с помощью процессоров нелинейной CNN (NL CNN). Ячейки определяются в нормированном дискретном пространстве, подобном двумерной евклидовой геометрии. Однако ячейки не ограничиваются двумерными пространствами; они могут быть определены в любом количестве измерений и иметь форму квадрата, треугольника, шестиугольника или любой другой пространственно-инвариантной конфигурации. Топологически ячейки могут быть расположены на бесконечной плоскости или на тороидальном пространстве. Связь между ячейками является локальной, то есть все соединения между ячейками находятся в пределах заданного радиуса (при этом расстояние измеряется топологически). Соединения также могут иметь временную задержку, что позволяет осуществлять обработку во временной области. В большинстве архитектур CNN ячейки имеют одинаковые относительные соединения, но существуют приложения, требующие пространственно-вариантной топологии, то есть процессоры CNN с множественным размером окрестности (MNS CNN). Кроме того, для расширения возможностей процессоров CNN могут использоваться процессоры с многослойной CNN (ML CNN), где все ячейки на одном слое идентичны. Система определяется как совокупность независимых, взаимодействующих сущностей, образующих интегрированное целое, поведение которого отличается и качественно превосходит поведение отдельных сущностей. Несмотря на локальность соединений, обмен информацией может происходить глобально посредством диффузии. В этом смысле процессоры CNN являются системами, поскольку их динамика определяется взаимодействием между обрабатывающими элементами, а не внутри них. В результате они демонстрируют эмерджентное и коллективное поведение. Математически связь между ячейкой и ее соседями, находящимися в области влияния, может быть определена законом связи, который в первую очередь определяет поведение процессора. Если законы связи моделируются с помощью нечеткой логики, то это нечеткий CNN. Если эти законы моделируются с помощью вычислительной глагольной логики, то это вычислительный глагольный CNN. И нечеткие, и глагольные CNN полезны для моделирования социальных сетей, когда локальные связи устанавливаются с помощью лингвистических терминов.

История

Идея процессоров CNN была предложена Леоном Чуа и Линь Яном в 1988 году. В этих статьях Чуа и Янг излагают математическую основу, лежащую в основе процессоров CNN. Они используют эту математическую модель, чтобы продемонстрировать, для конкретной реализации CNN, что если входные данные статичны, то процессорные элементы будут сходиться и могут быть использованы для выполнения полезных вычислений. Затем они предлагают одно из первых применений процессоров CNN: обработка изображений и распознавание образов (которое по-прежнему является крупнейшим применением на сегодняшний день). Леон Чуа до сих пор активно занимается исследованиями CNN и публикует многие свои статьи в журнале International Journal of Bifurcation and Chaos, редактором которого он является. Как IEEE Transactions on Circuits and Systems, так и International Journal of Bifurcation содержат множество полезных статей о процессорах CNN, написанных другими компетентными исследователями. Первый из них обычно фокусируется на новых архитектурах CNN, а второй – на динамических аспектах процессоров CNN. В 1993 году Тамаш Рошка и Леон Чуа представили первый в мире алгоритмически программируемый аналоговый процессор CNN. Этот многонациональный проект финансировался Управлением военно-морских исследований, Национальным научным фондом и Венгерской академией наук, а исследования проводились Венгерской академией наук и Калифорнийским университетом. Эта статья доказала, что процессоры CNN могут быть изготовлены и предоставила исследователям физическую платформу для проверки их теорий CNN. После публикации этой статьи компании начали инвестировать в более крупные и мощные процессоры, основанные на той же базовой архитектуре, что и CNN Universal Processor. Тамаш Рошка – еще один ключевой разработчик CNN. Его имя часто ассоциируется с платформами и алгоритмами обработки информации, вдохновленными биологией, и он опубликовал множество важных статей, а также участвовал в разработке технологий CNN в компаниях и исследовательских институтах.

Связанные архитектуры обработки

Процессоры CNN можно рассматривать как гибрид между искусственной нейронной сетью (ANN) и непрерывными автоматами (CA).

Искусственные нейронные сети

Процессорные блоки CNN и NN похожи. В обоих случаях они представляют собой многовходные динамические системы, а поведение всей системы в основном определяется весами линейных связей процессорного блока. Однако в процессорах CNN соединения осуществляются локально, в то время как в ANN – глобально. Например, нейроны в одном слое полностью соединены с нейронами другого слоя в прямой сети NN, а все нейроны полностью взаимосвязаны в сетях Хопфилда. В ANN веса связей содержат информацию о предыдущем состоянии системы или обратной связи. Но в процессорах CNN веса используются для определения динамики системы. Более того, из-за высокой взаимосвязанности ANN они, как правило, не используют локальность ни в наборе данных, ни в процессе обработки, и в результате обычно являются высоко избыточными системами, обеспечивающими устойчивое, отказоустойчивое поведение без критических ошибок. Гибридом процессора ANN и CNN является Ratio Memory CNN (RMCNN). В процессорах RMCNN межэлементные соединения локальны и топологически инвариантны, но веса используются для хранения предыдущих состояний, а не для управления динамикой. Веса элементов изменяются в процессе обучения, создавая долговременную память.

Непрерывные автоматы

Топология и динамика CNN-процессоров тесно напоминают топологию и динамику CA. Как и большинство CNN-процессоров, CA состоит из фиксированного числа идентичных процессоров, пространственно дискретных и топологически однородных. Отличие заключается в том, что большинство CNN-процессоров оперируют непрерывными значениями, в то время как CA – дискретными. Более того, поведение ячейки CNN-процессора определяется некоторой нелинейной функцией, а ячейки CA-процессора – некоторым конечным автоматом. Однако существуют и исключения. Непрерывнозначные клеточные автоматы – это CA с непрерывным разрешением. В зависимости от спецификации конкретного непрерывного автомата, он также может являться CNN. Существуют также непрерывные пространственные автоматы, состоящие из бесконечного числа пространственно непрерывных автоматов с непрерывными значениями. В этой области ведутся активные исследования, поскольку непрерывные пространства легче поддаются математическому моделированию, чем дискретные, что позволяет применять более количественный подход, в отличие от эмпирического подхода, используемого некоторыми исследователями клеточных автоматов. Процессоры непрерывных пространственных автоматов могут быть физически реализованы на нетрадиционных платформах обработки информации, таких как химические компьютеры. Кроме того, можно предположить, что большие CNN-процессоры (с точки зрения разрешения входных и выходных данных) могут быть смоделированы как непрерывные пространственные автоматы.

Модель вычислений

Динамическое поведение CNN-процессоров может быть выражено с помощью дифференциальных уравнений, где каждое уравнение описывает состояние отдельной процессорной ячейки. Поведение всего CNN-процессора определяется его начальными условиями, входными сигналами, связями между ячейками (топологией и весами) и самими ячейками. Одно из возможных применений CNN-процессоров – генерация и обработка сигналов с заданными динамическими свойствами. Например, CNN-процессоры использовались для генерации мультискролльного хаоса (например, аттрактора Чена), синхронизации с хаотическими системами и демонстрации многоуровневой гистерезиса. CNN-процессоры специально разработаны для решения локальных, низкоуровневых, вычислительно сложных задач, представленных как функция пространства и времени. Например, CNN-процессоры могут быть использованы для реализации фильтров верхних и нижних частот, а также морфологических операторов. Они также могут применяться для аппроксимации широкого спектра частных дифференциальных уравнений (ПДУ), таких как теплоотдача и распространение волн.

Реакция-диффузия

Процессоры CNN могут использоваться как процессоры реакционно-диффузионные (RD). Процессоры RD – это пространственно-инвариантные, топологически-инвариантные, аналоговые, параллельные процессоры, характеризующиеся реакциями, в которых два агента могут объединяться для создания третьего агента, и диффузией – распространением агентов. Обычно процессоры RD реализуются с использованием химических веществ в чашке Петри (как процессор), света (как вход) и камеры (как выход), однако процессоры RD также могут быть реализованы посредством многослойного CNN-процессора. RD-процессоры могут использоваться для создания диаграмм Вороного и выполнения скелетизации. Основное отличие между химической реализацией и реализацией на CNN заключается в том, что реализации на CNN значительно быстрее своих химических аналогов, а химические процессоры пространственно непрерывны, в то время как CNN-процессоры – пространственно дискретны. Наиболее исследованный RD-процессор, Belousov-Zhabotinsky (BZ), уже был смоделирован с использованием четырехслойного CNN-процессора и реализован в полупроводнике.

Булевые функции

Как и клеточные автоматы, вычисления могут выполняться посредством генерации и распространения сигналов, которые растут или изменяются со временем. Вычисления могут происходить внутри сигнала или посредством взаимодействия между сигналами. Один из типов обработки, использующий сигналы и набирающий популярность, – это волно́вая обработка, включающая генерацию, расширение и, в конечном итоге, столкновение волн. Волно́вая обработка может использоваться для измерения расстояний и поиска оптимальных путей. Вычисления также могут выполняться посредством частиц, планеров, решений и фильтронов – локализованных структур, сохраняющих свою форму и скорость. Учитывая, как эти структуры взаимодействуют или сталкиваются друг с другом и со статическими сигналами, они могут использоваться для хранения информации в виде состояний и реализации различных булевых функций. Вычисления также могут происходить посредством сложного, потенциально растущего или развивающегося локализованного поведения, проявляющегося в виде червей, лестниц и пиксельных змей. Помимо хранения состояний и выполнения булевых функций, эти структуры могут взаимодействовать, создавать и разрушать статические структуры. Применение свёрточных нейронных сетей (CNN) к булевым функциям обсуждается в статье Фангюэ Чэнь, Гуолуна Хэ, Сиубиня Сюй и Гуанрона Чэня "Реализация произвольных булевых функций посредством CNN". Любая платформа обработки информации, позволяющая создавать произвольные булевые функции, называется универсальной, и, следовательно, этот класс CNN-процессоров обычно называют универсальными CNN-процессорами. Оригинальные CNN-процессоры могут выполнять только линейно разделимые булевые функции. Путем преобразования функций из областей цифровой логики или таблиц подстановки в область CNN некоторые функции могут быть значительно упрощены. Например, девятибитная логика генерации нечётного паритета, которая обычно реализуется с помощью восьми вложенных элементов ИСКЛИЧАЮЩЕЕ ИЛИ, также может быть представлена функцией суммирования и четырьмя вложенными функциями абсолютного значения. Не только снижается сложность функции, но и параметры реализации CNN могут быть представлены в непрерывной области вещественных чисел.

Физические реализации

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

Полупроводники

Полупроводниковые CNN-процессоры можно разделить на аналоговые CNN-процессоры, цифровые CNN-процессоры и CNN-процессоры, эмулированные с использованием цифровых процессоров. Аналоговые CNN-процессоры были разработаны первыми. Аналоговые компьютеры были достаточно распространены в 1950-х и 1960-х годах, но постепенно были заменены цифровыми компьютерами в 1970-х годах. Аналоговые процессоры были значительно быстрее в определенных приложениях, таких как оптимизация дифференциальных уравнений и моделирование нелинейностей, однако причиной утраты популярности аналоговых вычислений стали недостаточная точность и сложность настройки аналогового компьютера для решения сложного уравнения. Аналоговые CNN-процессоры разделяют некоторые преимущества своих предшественников, в частности, высокую скорость. Первые аналоговые CNN-процессоры могли выполнять обработку в реальном времени со сверхвысокой частотой кадров (>10 000 кадров/с), что было недостижимо для цифровых процессоров. Аналоговая реализация CNN-процессоров требует меньшей площади и потребляет меньше энергии, чем их цифровые аналоги. Хотя точность аналоговых CNN-процессоров не сравнима с точностью цифровых, для многих приложений шум и разброс параметров достаточно малы, чтобы не влиять на воспринимаемое качество изображения. Первый алгоритмически программируемый аналоговый CNN-процессор был создан в 1993 году. В 2000 году была основана компания AnaLogic Computers, в которую вошли многие из тех же исследователей, которые создали первый алгоритмически программируемый универсальный CNN-процессор. В 2003 году AnaLogic Computers разработала плату визуального процессора PCI X, включающую процессор ACE 4K, модуль Texas Instrument DIP и высокоскоростной захватчик кадров. Это позволило легко интегрировать CNN-обработку в настольный компьютер. В 2006 году AnaLogic Computers разработала линейку продуктов Bi I Ultra High Speed Smart Camera, в состав которой входили высокопроизводительные модели с процессором ACE 4K. В 2006 году Roska и др. опубликовали статью о разработке бионических очков для AnaLogic. Bionic Eyeglass – это носимая платформа с двумя камерами, основанная на Bi I Ultra High Speed Smart Camera, предназначенная для помощи слепым людям. Некоторые из ее функций включают распознавание номеров маршрутов и обработку цветов.

Аналоговые процессоры CNN

Некоторые исследователи разработали собственные аналоговые процессоры CNN. Например:

Исследовательская группа из Университета Катании разработала один для генерации походки шестиногого робота. Чун Юй Ву и Чиу Хун Ченг из Национального университета Чьяо Тунг спроектировали RM CNN процессор для более глубокого изучения обучения и распознавания образов. Исследователи из Национального технологического института Лиен Хо (В. Йен, Р. Чен и Ж. Лай) разработали процессор Min Max CNN (MMCNN) для изучения динамики CNN. Несмотря на высокую скорость и низкое энергопотребление, аналоговые CNN процессоры имеют ряд существенных недостатков. Во-первых, аналоговые CNN процессоры потенциально могут выдавать ошибочные результаты из-за влияния окружающей среды и технологических отклонений. В большинстве приложений эти ошибки незаметны, но в некоторых ситуациях даже незначительные отклонения могут привести к катастрофическим сбоям в работе системы. Например, в системах хаотической связи технологические отклонения изменят траекторию системы в фазовом пространстве, что приведет к потере синхронизации/стабильности. Ввиду серьезности этой проблемы, ведется активная работа по ее устранению. Некоторые исследователи оптимизируют шаблоны для повышения устойчивости к отклонениям. Другие улучшают полупроводниковый процесс для более точного соответствия теоретическим характеристикам CNN. Третьи исследуют альтернативные, потенциально более надежные архитектуры CNN. Наконец, разрабатываются методы настройки шаблонов для конкретных чипов и условий эксплуатации, то есть оптимизации шаблонов под платформу обработки информации. Технологические отклонения не только ограничивают возможности современных аналоговых CNN процессоров, но и являются препятствием для создания более сложных вычислительных блоков. Пока эта проблема не будет решена, такие идеи, как вложенные вычислительные блоки, нелинейные входы и т.п., не смогут быть реализованы в аналоговом CNN процессоре в реальном времени. Кроме того, площадь полупроводника, доступная для вычислительных блоков, ограничивает размер CNN процессоров. В настоящее время самый большой CNN процессор для обработки изображений на основе AnaVision имеет детектор 4K, что значительно меньше, чем мегапиксельные детекторы, используемые в доступных потребительских камерах. К сожалению, уменьшение размеров элементов, предсказанное законом Мура, приведет лишь к незначительным улучшениям. Поэтому изучаются альтернативные технологии, такие как резонансные туннельные диоды и нейронные биполярные транзисторы. Также пересматривается архитектура CNN процессоров. Например, были предложены Star CNN процессоры, в которых один аналоговый умножитель используется совместно несколькими вычислительными блоками, что, как ожидается, позволит уменьшить размер вычислительного блока на 80%.

Процессоры цифровой CNN, FPGA

Хотя они и не такие быстрые и энергоэффективные, цифровые CNN-процессоры не подвержены проблемам, связанным с разбросом параметров технологического процесса и размером элементов, характерным для их аналоговых аналогов. Это позволяет цифровым CNN-процессорам включать в себя вложенные процессорные блоки, нелинейные элементы и т.д. Кроме того, цифровые CNN более гибкие, дешевле и проще в интеграции. Наиболее распространенная реализация цифровых CNN-процессоров использует FPGA. Eutecus, основанная в 2002 году и базирующаяся в Беркли, предоставляет интеллектуальную собственность, которую можно синтезировать для FPGA Altera. Их цифровые CNN-процессоры на основе FPGA с разрешением 320x280 работают со скоростью 30 кадров в секунду, и планируется создание быстрого цифрового ASIC. Eutecus является стратегическим партнером AnaLogic Computers, и их FPGA-проекты можно найти в нескольких продуктах AnaLogic. Eutecus также разрабатывает программные библиотеки для выполнения задач, включая, но не ограничиваясь ими: видеоаналитику для рынка видеонаблюдения, классификацию признаков, многообъектное отслеживание, обработку сигналов и изображений, а также потоковую обработку. Многие из этих алгоритмов основаны на принципах обработки, аналогичных CNN. Для тех, кто хочет проводить моделирование CNN для прототипирования, низкоскоростных приложений или исследований, существует несколько вариантов. Во-первых, это точные программные пакеты для эмуляции CNN, такие как SCNN 2000. Если скорость является критическим фактором, можно использовать математические методы, такие как итеративный метод Якоби или прямо-обратные рекурсии, для получения стационарного решения CNN-процессора. Наконец, цифровые CNN-процессоры могут эмулироваться на высокопараллельных специализированных процессорах, таких как графические процессоры. Реализация нейронных сетей с использованием графических процессоров – область для дальнейших исследований.

Голография, нанотехнологии

Исследователи также изучают альтернативные технологии для процессоров CNN. Хотя современные процессоры CNN обходят некоторые проблемы, связанные с их цифровыми аналогами, они разделяют некоторые из тех же долгосрочных проблем, общих для всех процессоров на полупроводниковой основе. К ним относятся, но не ограничиваются, скорость, надежность, энергопотребление и т.д. Компания AnaLogic Computers разрабатывает оптические процессоры CNN, сочетающие оптику, лазеры, биологическую и голографическую память. Изначально направленные на исследование технологий, разработки привели к созданию CNN-процессора 500x500, способного выполнять 300 гигаопераций в секунду. Нанотехнологии – еще одна перспективная технология для CNN-процессоров. Одной из исследуемых концепций является использование туннельных переходов для одиночных электронов, которые могут быть преобразованы в одноэлектронные или мощные транзисторы для создания процессорных элементов CNN на основе модели Маккаллока — Питтса. В заключение, процессоры CNN были реализованы и представляют ценность для своих пользователей. Они смогли эффективно использовать преимущества и решить некоторые недостатки, связанные с базовой технологией, то есть полупроводниками. Исследователи также переносят процессоры CNN в новые, перспективные технологии. Поэтому, если архитектура CNN подходит для конкретной системы обработки информации, процессоры доступны для приобретения (и будут доступны в обозримом будущем).

Приложения

Исследователи CNN занимаются разнообразными областями, включая физические, инженерные, теоретические, математические, вычислительные и философские приложения.

Обработка изображений

Процессоры CNN были разработаны для обработки изображений, в частности, для обработки в реальном времени с ультравысокой частотой кадров (>10 000 кадров/с) в таких приложениях, как обнаружение частиц в жидкостях реактивных двигателей и обнаружение свечей зажигания. В настоящее время процессоры CNN могут достигать скорости до 50 000 кадров в секунду, а в некоторых приложениях, таких как отслеживание ракет, обнаружение вспышек и диагностика свечей зажигания, эти микропроцессоры превосходят обычные суперкомпьютеры. Процессоры CNN хорошо подходят для локальных, низкоуровневых, ресурсоемких операций и применяются в извлечении признаков, регулировке уровня и усиления, определении постоянства цвета, повышении контрастности, деконволюции, сжатии изображений, оценке движения, кодировании и декодировании изображений, сегментации изображений, построении карт предпочтительной ориентации, обучении и распознавании образов, отслеживании нескольких объектов, стабилизации изображений, деформации и преобразовании изображений, восстановлении изображений, определении оптического потока, выделении контуров, обнаружении движущихся объектов, определении осей симметрии и слиянии изображений. Благодаря своим вычислительным возможностям и гибкости процессоры CNN использовались и разрабатывались для новых практических применений, таких как анализ пламени для контроля сгорания на мусоросжигательном заводе, обнаружение мин с использованием инфракрасной съемки, выделение пиков кластеров калориметров в физике высоких энергий, обнаружение аномалий на картах потенциальных полей в геофизике, обнаружение лазерных точек, контроль металла для выявления производственных дефектов и определение сейсмических горизонтов. Они также применяются для выполнения биометрических функций, таких как распознавание отпечатков пальцев, извлечение признаков вен, отслеживание лиц и генерация визуальных стимулов с помощью возникающих паттернов для оценки перцептивных резонансов.

Биология и медицина

Процессоры CNN использовались в медицинских и биологических исследованиях для автоматического подсчета клеток с ядрами с целью выявления гиперплазии, сегментации изображений на анатомически и патологически значимые области, измерения и количественной оценки функции сердца, измерения времени работы нейронов и обнаружения аномалий мозга, которые могут вызывать судороги. Одно из перспективных направлений применения микропроцессоров CNN – их объединение с ДНК-микромассивами для обеспечения анализа ДНК в режиме, близком к реальному времени, сотен тысяч различных последовательностей ДНК. В настоящее время основным ограничением анализа ДНК-микромассивов является время, необходимое для обработки данных, представленных в виде изображений, и благодаря использованию CNN-микропроцессора исследователям удалось сократить время выполнения этого расчета до 7 мс.

Опознавание текстуры

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

Системы управления и приводов

Продолжаются работы по интеграции CNN-процессоров в сенсорные вычислительные машины-приводы в рамках развивающейся области клеточных машин. Основная идея заключается в создании интегрированной системы, использующей CNN-процессоры для обработки сенсорных сигналов и, потенциально, для принятия решений и управления. Это обусловлено тем, что CNN-процессоры способны обеспечить энергоэффективные, компактные и, в перспективе, недорогие вычислительные и приводные системы, подходящие для клеточных машин. Эти клеточные машины в конечном итоге сформируют сеть сенсорных актуаторов (SAN) – разновидность мобильных самоорганизующихся сетей (MANET), которые могут применяться для сбора военной разведданных, наблюдения за труднодоступными средами, обслуживания обширных территорий, исследования планет и т.д. CNN-процессоры продемонстрировали достаточную универсальность для выполнения некоторых функций управления. Они использовались для оптимизации работы с помощью генетического алгоритма, измерения расстояний, поиска оптимального пути в сложной, динамичной среде, а также теоретически могут быть использованы для обучения и ассоциации сложных стимулов. Кроме того, они применялись для создания противоположных по фазе движений и низкоуровневых приводов для роботизированных нематод, пауков и миног с использованием генератора центральных паттернов (CPG). Они могли функционировать, полагаясь исключительно на обратную связь от окружающей среды, что позволило создать надежную, гибкую и биоинспирированную систему управления роботами. Системы на основе CNN способны работать в различных условиях и сохранять работоспособность даже при отключении некоторых вычислительных блоков.

Системы связи

Разнообразие динамического поведения, наблюдаемого в процессорах CNN, делает их привлекательными для систем связи. Исследования в области хаотической связи с использованием процессоров CNN ведутся благодаря их потенциально низкому энергопотреблению, устойчивости и свойствам расширенного спектра. В основе хаотической связи лежит использование хаотического сигнала в качестве несущей и хаотической фазовой синхронизации для восстановления исходного сообщения. Процессоры CNN могут применяться как на передающей, так и на принимающей стороне для кодирования и декодирования сообщений. Они также пригодны для шифрования и дешифрования данных, аутентификации источника посредством водяных знаков, обнаружения сложных закономерностей в спектрограммах (обработка звука) и выявления переходных спектральных сигналов. Процессоры CNN являются нейроморфными, то есть эмулируют определенные аспекты биологических нейронных сетей. Первые процессоры CNN были разработаны на основе сетчаток млекопитающих, состоящих из слоя фотодетекторов, соединенных с несколькими слоями локально связанных нейронов. Это делает процессоры CNN частью междисциплинарной области исследований, направленной на создание систем, использующих знания и идеи из нейронауки и способствующих реальной проверке теорий. Процессоры CNN реализовали систему реального времени, воспроизводящую сетчатку млекопитающих, что подтверждает, что выбранная исходная архитектура CNN адекватно моделирует соответствующие аспекты биологических нейронных сетей, используемых для выполнения задачи в живых организмах. Процессоры CNN используются для изучения систем, которые можно моделировать с помощью простых связанных элементов, таких как живые клетки, биологические сети, физиологические системы и экосистемы. Архитектура CNN отражает некоторые динамические процессы, часто наблюдаемые в природе, и достаточно проста для анализа и проведения экспериментов. Они также применяются в методах стохастического моделирования, позволяющих ученым исследовать проблемы спина, динамику популяций, модели газов на решетках, перколяцию и другие явления. К другим областям моделирования относятся теплопередача, механические колебательные системы, производство белков, задачи с джозефсоновскими переходами, распространение сейсмических волн и геотермальные структуры. Примеры 3D CNN использовались для доказательства определенных эмерджентных явлений в сложных системах, устанавливая связь между искусством, динамическими системами и технологией КМОП. Процессоры CNN применялись для изучения различных математических концепций, таких как неравновесные системы, построение нелинейных систем произвольной сложности, эмерджентная хаотическая динамика и открытие нового динамического поведения. Они часто используются в системных исследованиях – трансдисциплинарной научной области, изучающей природные системы. Цель исследователей в области системных исследований – разработать концептуальную и математическую основу, необходимую для анализа, моделирования и понимания систем, включая, помимо прочего, атомные, механические, молекулярные, химические, биологические, экологические, социальные и экономические системы. Исследуемые темы включают эмерджентность, коллективное поведение, локальную активность и ее влияние на глобальное поведение, а также количественную оценку сложности приблизительно пространственно и топологически инвариантной системы. С другим определением сложности (профессор MIT Сет Ллойд выделил 32 различных определения сложности) это может оказаться математически полезным при анализе систем, таких как экономические и социальные системы.