Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Блок-схема системы CMAC для одиночного стыка. Вектор S подается на вход для всех суставов. Каждое сочленение отдельно вычисляет отображение S -> A * и сигнал исполнительного механизма сочленения pi. Регулируемые веса для всех суставов могут находиться в одной физической памяти. [1]

Мозжечковая модель арифметический компьютер ( КЦР ) представляет собой тип нейронной сети на основе модели млекопитающих мозжечка . Он также известен как контроллер артикуляции модели мозжечка. Это тип ассоциативной памяти . [2]

CMAC был впервые предложен Джеймсом Альбусом в 1975 году в качестве средства моделирования для роботизированных контроллеров [1] (отсюда и название), но широко использовался в обучении с подкреплением, а также для автоматической классификации в сообществе машинного обучения . CMAC - это расширение модели персептрона . Он вычисляет функцию длявходные размеры. Пространство ввода разделено на гипер-прямоугольники, каждый из которых связан с ячейкой памяти. Содержимое ячеек памяти - это веса, которые корректируются во время тренировки. Обычно используется более одного квантования входного пространства, так что любая точка в входном пространстве связана с рядом гипер-прямоугольников и, следовательно, с рядом ячеек памяти. Выходные данные CMAC - это алгебраическая сумма весов всех ячеек памяти, активированных точкой ввода.

Изменение значения точки ввода приводит к изменению набора активированных гипер-прямоугольников и, следовательно, к изменению набора ячеек памяти, участвующих в выводе CMAC. Таким образом, выходные данные CMAC хранятся распределенным образом, так что выходные данные, соответствующие любой точке во входном пространстве, выводятся из значения, хранящегося в ряде ячеек памяти (отсюда и название ассоциативная память). Это дает обобщение.

Строительные блоки [ править ]

CMAC, представленный как 2D-пространство

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

CMAC обучается путем представления пар входных точек и выходных значений и корректировки весов в активированных ячейках пропорционально ошибке, наблюдаемой на выходе. Этот простой обучающий алгоритм имеет доказательство сходимости. [3]

Добавление функции ядра к гипер-прямоугольнику является нормальным, чтобы точки, падающие к краю гипер-прямоугольника, имели меньшую активацию, чем точки, падающие рядом с центром. [4]

Одна из основных проблем, упоминаемых при практическом использовании CMAC, - это требуемый объем памяти, который напрямую зависит от количества используемых ячеек. Обычно это улучшается за счет использования хэш-функции и предоставления памяти только для фактических ячеек, которые активируются входными данными.

Одноэтапный сходящийся алгоритм [ править ]

Первоначально для обновления весов CMAC используется метод наименьших средних квадратов (LMS). Конвергенция использования LMS для обучения CMAC чувствительна к скорости обучения и может привести к расхождению. В 2004 г. [5] был введен алгоритм рекурсивных наименьших квадратов (RLS) для обучения CMAC в режиме онлайн. Нет необходимости настраивать скорость обучения. Его сходимость доказана теоретически и гарантирует сходимость за один шаг. Вычислительная сложность этого алгоритма RLS составляет O (N3).

Параллельная конвейерная структура нейронной сети CMAC [6]
Левая панель: реальные функции; правая панель: аппроксимация CMAC с производными

Инфраструктура аппаратной реализации [ править ]

На основе QR-разложения алгоритм (QRLS) был дополнительно упрощен до сложности O (N). Следовательно, это значительно снижает использование памяти и временные затраты. Была представлена ​​структура параллельного конвейерного массива при реализации этого алгоритма. [6]

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

Непрерывный CMAC [ править ]

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

Deep CMAC [ править ]

В последние годы многочисленные исследования подтвердили, что за счет объединения нескольких неглубоких структур в одну глубокую структуру вся система может достичь лучшего представления данных и, таким образом, более эффективно справляться с нелинейными задачами высокой сложности. В 2018 году [7] была предложена структура глубокого CMAC (DCMAC) и получен алгоритм обратного распространения ошибки для оценки параметров DCMAC. Экспериментальные результаты задачи адаптивного шумоподавления показали, что предлагаемый DCMAC может достигать лучших характеристик шумоподавления по сравнению с таковым из обычного однослойного CMAC.

Резюме [ править ]

См. Также [ править ]

Ссылки [ править ]

  1. ^ а б Дж. Альбус (1975). «Новый подход к управлению манипулятором: контроллер артикуляции модели мозжечка (CMAC)». В: Пер. ASME, серия G. Журнал динамических систем, измерений и управления , Vol. 97. С. 220–233, 1975.
  2. ^ JS Albus (1979). «Механизмы планирования и решения проблем в мозгу». В кн .: Математические биологические науки . Vol. 45, стр. 247293, 1979.
  3. ^ Ю. Вонг, CMAC Learning управляется одним параметром, Международная конференция IEEE по нейронным сетям, Сан-Франциско, Vol. 1. С. 1439–43, 1993.
  4. ^ PCE An, WT Miller и PC Parks, Улучшения дизайна ассоциативной памяти для контроллеров артикуляции модели мозжечка, Proc. ICANN, стр. 1207–10, 1991.
  5. ^ Тинг Цинь и др. «Алгоритм обучения CMAC на основе RLS». Письма о нейронной обработке 19.1 (2004): 49-61.
  6. ^ а б Тин Цинь и др. «Непрерывный CMAC-QRLS и его систолический массив». Письма о нейронной обработке 22.1 (2005): 1-16.
  7. ^ * Ю. Цао и др. «Адаптивное шумоподавление с использованием контроллера артикуляции модели глубокого мозжечка». IEEE Access Vol. 6. С. 37395 - 37402, 2018.

Дальнейшее чтение [ править ]

  • Альбус, JS (1971). « Теория мозжечковой функции ». В: Mathematical Biosciences , Volume 10, Numbers 1/2, февраль 1971 г., стр. 25–61
  • Альбус, JS (1975). « Новый подход к управлению манипулятором: контроллер артикуляции модели мозжечка (CMAC) ». В: Транзакции журнала ASME по динамическим системам, измерениям и управлению , сентябрь 1975 г., стр. 220 - 227
  • Альбус, JS (1979). « Механизмы планирования и решения проблем в мозгу ». В: Mathematical Biosciences 45, pgs 247–293, 1979.
  • Цао, Ю. (2018). « Адаптивное шумоподавление с использованием контроллера артикуляции модели глубокого мозжечка ». В: IEEE Access 6, апрель 2018 г., стр. 37395-37402.

Внешние ссылки [ править ]

  • Блог о контроллере артикуляции модели мозжечка (CMAC), автор Ting Qin. Подробнее об одношаговом сходящемся алгоритме, разработке кода и т. Д.