Арифметический компьютер мозжечковой модели ( CMAC ) — это тип нейронной сети, основанный на модели мозжечка млекопитающих . Он также известен как контроллер артикуляции мозжечковой модели. Это тип ассоциативной памяти . [2]
CMAC был впервые предложен в качестве функционального моделировщика для роботизированных контроллеров Джеймсом Альбусом в 1975 году [1] (отсюда и название), но широко использовался в обучении с подкреплением , а также для автоматизированной классификации в сообществе машинного обучения . CMAC является расширением модели персептрона . Он вычисляет функцию для входных измерений. Входное пространство разделено на гиперпрямоугольники, каждый из которых связан с ячейкой памяти. Содержимое ячеек памяти представляет собой веса, которые корректируются во время обучения. Обычно используется более одного квантования входного пространства, так что любая точка во входном пространстве связана с несколькими гиперпрямоугольниками и, следовательно, с несколькими ячейками памяти. Выход CMAC представляет собой алгебраическую сумму весов во всех ячейках памяти, активированных входной точкой.
Изменение значения входной точки приводит к изменению набора активированных гиперпрямоугольников и, следовательно, к изменению набора ячеек памяти, участвующих в выходе CMAC. Поэтому выход CMAC хранится распределенным образом, так что выход, соответствующий любой точке во входном пространстве, выводится из значения, хранящегося в ряде ячеек памяти (отсюда и название — ассоциативная память). Это обеспечивает обобщение.
На соседнем изображении есть два входа в CMAC, представленные как 2D-пространство. Две функции квантования были использованы для разделения этого пространства двумя перекрывающимися сетками (одна показана более жирными линиями). Один вход показан около середины, и он активировал две ячейки памяти, соответствующие затененной области. Если другая точка появляется близко к показанной, она будет совместно использовать некоторые из тех же ячеек памяти, обеспечивая обобщение.
CMAC обучается путем представления пар входных точек и выходных значений и корректировки весов в активированных ячейках пропорционально ошибке, наблюдаемой на выходе. Этот простой алгоритм обучения имеет доказательство сходимости. [3]
Обычно к гиперпрямоугольнику добавляют функцию ядра, так что точки, падающие к краю гиперпрямоугольника, имеют меньшую активацию, чем те, которые падают около центра. [4]
Одной из основных проблем, упоминаемых при практическом использовании CMAC, является требуемый размер памяти, который напрямую связан с количеством используемых ячеек. Обычно это улучшается с помощью хэш-функции и предоставления памяти только для фактических ячеек, которые активируются входами.
Первоначально метод наименьших квадратов (LMS) использовался для обновления весов CMAC. Сходимость использования LMS для обучения CMAC чувствительна к скорости обучения и может привести к расхождению. В 2004 году [5] был представлен рекурсивный алгоритм наименьших квадратов (RLS) для обучения CMAC онлайн. Ему не нужно настраивать скорость обучения. Его сходимость была доказана теоретически и может быть гарантирована для сходимости за один шаг. Вычислительная сложность этого алгоритма RLS составляет O(N3).
На основе QR-разложения алгоритм (QRLS) был еще больше упрощен до сложности O(N). Следовательно, это значительно снижает использование памяти и временные затраты. Была введена параллельная конвейерная структура массива для реализации этого алгоритма. [6]
В целом, используя алгоритм QRLS, можно гарантировать сходимость нейронной сети CMAC, а веса узлов можно обновить с помощью одного шага обучения. Его параллельная конвейерная структура массива предлагает большой потенциал для внедрения в аппаратное обеспечение для крупномасштабного промышленного использования.
Поскольку прямоугольная форма функций рецептивного поля CMAC создает аппроксимацию прерывистой ступенчатой функции, путем интеграции CMAC с функциями B-сплайнов непрерывная CMAC дает возможность получать любой порядок производных аппроксимированных функций.
В последние годы многочисленные исследования подтвердили, что путем объединения нескольких неглубоких структур в одну глубокую структуру общая система может достичь лучшего представления данных и, таким образом, более эффективно справляться с нелинейными и сложными задачами. В 2018 году [7] была предложена структура глубокого CMAC (DCMAC) и был получен алгоритм обратного распространения для оценки параметров DCMAC. Экспериментальные результаты задачи адаптивного шумоподавления показали, что предлагаемый DCMAC может достичь лучших характеристик шумоподавления по сравнению с обычным однослойным CMAC.
Масштабируемость | Легко распространяется на миллионы нейронов и более |
Конвергенция | Обучение всегда можно свести к одному этапу. |
Производные функции | Простота получения с помощью интерполяции B-сплайнов |
Структура оборудования | Параллельная структура трубопровода |
Использование памяти | Линейный относительно числа нейронов |
Сложность вычислений | НА) |