Новости

Как реализовать высокоточное распознавание ключевых слов на процессоре Cortex-M

Мы можем оптимизировать архитектуру нейронной сети, чтобы соответствовать памяти и вычислительным пределам микроконтроллера без ущерба для точности. Мы объясним и обсудим в этой статье глубину разделяемых сверточных нейронных сетей в процессоре Cortex-M О реализации потенциала распознавания ключевых слов.

Распознавание ключевых слов (KWS) имеет решающее значение для обеспечения взаимодействия пользователей с голосовым интерфейсом на интеллектуальных устройствах и требует оперативной и высокой точности в реальном времени, чтобы обеспечить хороший пользовательский интерфейс. Недавно нейронные сети стали популярным выбором для архитектур KWS, поскольку, в отличие от традиционных По сравнению с алгоритмами обработки речи точность нейронных сетей выше.

Ключевые слова идентификация нейронной сети

Приложения KWS имеют очень ограниченный бюджет мощности из-за их «всегда включенного». Хотя приложения KWS также могут работать на специализированных DSP или высокопроизводительных процессорах, они лучше подходят для работы на микроконтроллерах Arm Cortex-M и полезны Чтобы минимизировать затраты, микроконтроллеры Arm Cortex-M часто используются на краю Интернета вещей для других задач.

Однако для развертывания KWS с нейронной сетью на микроконтроллере на базе Cortex-M мы сталкиваемся со следующими проблемами: 1. Ограниченное пространство памяти. Типичная система Cortex-M предлагает до нескольких сотен килобайт свободной памяти, что означает , Вся модель нейронной сети, включая входы / выходы, веса и активации, должна работать в пределах этого небольшого диапазона памяти. 2. Ограниченные ресурсы вычислений Поскольку KWS всегда работает в режиме онлайн, это требование в реальном времени ограничивает количество нейронов Ниже представлена ​​типичная нейронная сетевая архитектура для вывода KWS: • Глубокая нейронная сеть (DNN) DNN - это стандартная нейронная сеть с прямой связью, состоящая из полностью связанных слоев и нелинейных активных слоев, уложенных в стек • Объем Одним из основных недостатков KNS на основе DNN на основе CNN является его неспособность моделировать локальные, временные и частотные корреляции в речевых функциях. CNN моделирует функции входных временных и частотных областей В качестве обработки изображений и выполнения операций 2D свертки на ней, чтобы найти эту корреляцию • Круговая нейронная сеть (RNN) RNN показала отличную производительность во многих задачах моделирования последовательности В частности, при распознавании речи, моделировании и переводе языка, RNN могут не только обнаруживать взаимосвязь между входными сигналами во временной области, но также фиксировать долгосрочные зависимости с использованием механизма «запертого». • Сверточные рекуррентные нейронные сети CRNN). Сверточные рекуррентные нейронные сети представляют собой смесь CNN и RNN, которые находят локальные корреляции времени и пространства. Модель CRNN начинается со сверточного слоя, за которым следует RNN, который кодирует сигнал, за которым следует плотно связанный уровень. Съемные сверточные нейронные сети (DS-CNN) Недавно в качестве эффективных альтернатив стандартным 3D сверточным операциям были предложены глубокие разделимые сверточные нейронные сети и были использованы для реализации компактной сетевой архитектуры для компьютерного зрения. DS-CNN впервые использовал Независимая 2D-фильтрация для свертки каждого канала на карте входных функций, а затем слияние выходов в измерении глубины с использованием точечной свертки (т. Е. 1x1). Разлагая стандартную трехмерную свертку на двумерную и последующую 1D , Количество параметров и операций сокращается, что делает возможным более глубокую и более широкую архитектуру даже в устройствах с микроконтроллером с ограниченными ресурсами. Запуск на процессорах Cortex-M Когда используется распознавание слов, использование памяти и время выполнения являются двумя наиболее важными факторами, которые следует учитывать при проектировании и оптимизации нейронной сети для этой цели. Три набора ограничений для нейронных сетей, показанных ниже, предназначены для небольших , Средних и больших систем Cortex-M, основанных на типичной конфигурации системы Cortex-M.

Категория категории нейронной сети (NN) модели KWS, предполагая 10 выводов и 8 весов / активаций в секунду

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

Гиперпараметрическое пространство поиска нейронной сети

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

Связь между памятью и вычислением / рассуждением в модели оптимальной нейронной сети

Приложение KWS развертывается на платформе разработки STM32F746G-DISCO на платформе Cortex-M7 (показано ниже), используя модель DNN с 8-разрядной массой и 8-разрядной активацией, а KWS выполняет 10 инъекций в секунду во время выполнения. Каждый вывод ( В том числе копия памяти, извлечение функции MFCC, выполнение DNN) занимает приблизительно 12 мс. Чтобы сэкономить электроэнергию, микроконтроллер находится в режиме ожидания перед прерыванием (WFI) в течение оставшегося времени. Все приложение KWS потребляет приблизительно 70 КБ памяти, включая приблизительно 66 КБ Около 1 КБ для активации, около 2 КБ для аудио-ввода / вывода и функций MFCC.

Внедрение KWS на платформе разработки Cortex-M7

В целом, процессор Arm Cortex-M обеспечивает высокую точность в приложениях для распознавания ключевых слов, одновременно ограничивая объем памяти и вычислительные требования, настраивая сетевую архитектуру. Архитектура DS-CNN обеспечивает наивысший уровень точности и требуемую память и вычислительные ресурсы Коды, определения моделей и модели предварительной подготовки доступны на веб-сайте github.com/ARM-software. Наш новый веб-сайт разработчика машинного обучения предоставляет универсальную галерею ресурсов, подробную информацию о продукте и учебные пособия, чтобы помочь противостоять машинам на краю сети Узнайте о проблемах, с которыми сталкивается Этот блог основан на белом документе «Hello Edge: Keyword Spotting on Microcontrollers», первоначально опубликованном на веб-сайте Библиотеки Корнельского университета. Для копии белой книги нажмите на ссылку ниже: https://community.arm.com/cfs-file/__key/telligent-evolution-components-attachments/01-2142-00-00-00-01-34-26/Arm_5F00_KeywordSpotting_5F00_Whitepaper. PDF

2016 GoodChinaBrand | ICP: 12011751 | China Exports