Cómo implementar reconocimiento de palabras clave de alta precisión en el procesador Cortex-M

Podemos optimizar la arquitectura de la red neuronal para adaptarla a la memoria y los límites computacionales del microcontrolador sin comprometer la precisión Explicaremos y discutiremos en este artículo la profundidad de las redes neuronales convolucionales separables en el procesador Cortex-M En la realización del potencial de reconocimiento de palabras clave.

El reconocimiento de palabras clave (KWS) es fundamental para permitir la interacción del usuario basada en voz en dispositivos inteligentes y requiere una respuesta en tiempo real y alta precisión para garantizar una buena experiencia del usuario. Recientemente, las redes neuronales se han convertido en una opción popular para arquitecturas KWS. En comparación con los algoritmos de procesamiento de voz, la precisión de las redes neuronales es superior.

Identificación de palabras clave de la red neuronal

Las aplicaciones KWS tienen un presupuesto de energía muy limitado debido a su "siempre encendido". Aunque las aplicaciones KWS también pueden ejecutarse en DSP dedicados o CPU de alto rendimiento, son más adecuadas para el funcionamiento en microcontroladores Arm Cortex-M y son útiles Para minimizar el costo, los microcontroladores Arm Cortex-M a menudo se usan al borde del Internet of Things para otras tareas.

Sin embargo, para desplegar en un microcontrolador basado en redes neuronales basados ​​en Cortex-M de KWS, nos enfrentamos a los siguientes retos: 1. Espacio de memoria limitada típico de sistema Cortex-M proporciona hasta unos pocos cientos de KB de memoria disponible este medio. , todo el modelo de red neural, incluyendo la entrada / salida, el peso y la activación, debe operar dentro de esta gama pequeña de memoria. 2. los recursos informáticos limitados debido a la KWS para mantener, requisitos siempre en tiempo real que limitan cada nervio el número total de funcionamiento de la red es el siguiente razonamiento se aplica a una típica arquitectura de red neural KWS inferencia: • la profundidad de la red neuronal red neuronal feedforward estándar (DNN) DNN, conectado a la pila completa de las capas de la capa activa y no lineal • volumen. red neuronal producto (CNN) basado en uno de los principales defectos de la KWS DNN es imposible para la asociación local de la voz, la correlación dominio del tiempo, modelo de correlación de frecuencia. CNN pueden los características de dominio de dominio de tiempo de entrada y frecuencia Como procesamiento de imágenes, y realice operaciones de convolución 2D para encontrar esta correlación. • Red neuronal circular (RNN). RNN ha mostrado un excelente rendimiento en muchas tareas de modelado de secuencias. Energía, especialmente en el reconocimiento de voz, modelado del lenguaje y la traducción. RNN no sólo es capaz de encontrar la relación temporal entre la señal de entrada, también puede utilizar los mecanismos de activación periódica '' para capturar depende de la duración de la relación. • red neuronal recurrente de convolución ( CRNN) es un ciclo híbrido convolucional red neural CNN y RNN se puede encontrar en la correlación temporal / espacial local. CRNN partir capa del modelo de convolución, seguido RNN, codificar la señal, seguida de una capa densa totalmente conectado. • profundidad red neuronal de convolución separable (DS-CNN) recientemente, la profundidad de la red neuronal de convolución separable se recomienda como alternativas eficaces a la operación de convolución estándar 3D, y se ha utilizado la arquitectura de red compacta para la visión por ordenador. primer uso DS-CNN filtro independiente 2D, la entrada de cada función en el cálculo de canal convolución figura, y luego usar la convolución punto a gota (es decir 1x1-), da salida a la dimensión de la profundidad combinada por 2D estándar y convolución 3D se descompone en 1D subsiguiente , Se reduce la cantidad de parámetros y operaciones, lo que posibilita la creación de arquitecturas más profundas y más amplias, incluso en dispositivos de microcontroladores con recursos limitados. Ejecución de procesadores Cortex-M Cuando el reconocimiento de palabras, uso de memoria y tiempo de ejecución son los dos factores más importantes en el diseño y optimización de redes neuronales para este fin, debe tomar en cuenta estos dos factores limitan la red neuronal de los tres grupos se muestran a continuación son para los pequeños , Sistemas Cortex-M medianos y grandes, basados ​​en una configuración típica del sistema Cortex-M.

categoría KWS modelo de red neuronal categoría (NN), suponiendo 10 veces por segundo razonamiento y 8 peso / activación

Para ajustar el modelo, a fin de no exceder los límites de la memoria y el microcontrolador de computación, una búsqueda debe realizarse sobre los parámetros. La tabla siguiente muestra la arquitectura de red neural y los parámetros correspondientes se debe optimizar más.

Espacio de búsqueda hiperparamétrica de la red neuronal

En primer lugar, llevar a cabo una exhaustiva extracción de características de búsqueda y modelo de red neural de hiper-parámetros, y luego realizar una selección manual para estrechar el espacio de búsqueda, tanto ejecuta repetidamente. Resume disponible La siguiente figura para cada arquitectura de red neural para el modelo de rendimiento óptimo y la memoria correspondiente requisitos y operaciones. arquitectura DS-CNN ofrece la más alta precisión, sino también los recursos de memoria y de computación también son mucho más bajos.

Relación entre memoria y computación / razonamiento en el modelo de red neuronal óptima

aplicaciones KWS Cortex-M7 desplegados en la placa de desarrollo STM32F746G-DISCO (como se muestra a continuación) basado, que contienen 8 peso modelo DNN y 8 de activación, KWS ejecutados 10 veces por segundo durante el funcionamiento del razonamiento. Per razonamiento ( incluyendo la copia de la memoria, MFCC extracción de características, realizando el DNN) tarda unos 12 milisegundos con el fin de ahorrar energía, permitiendo que el resto del microcontrolador está esperando una interrupción (WFI) de modo. KWS toda aplicación utiliza alrededor de 70 KB de la memoria, incluyendo de aproximadamente 66 KB Aproximadamente 1 KB para la activación, aproximadamente 2 KB para las funciones de E / S de audio y MFCC.

Implementación de KWS en la placa de desarrollo Cortex-M7

En resumen, procesador ARM Cortex-M puede lograr una alta precisión en las aplicaciones de reconocimiento de palabras clave, mientras que la memoria y los requerimientos computacionales para limitar ajustar la arquitectura de red. Arquitectura DS-CNN ofrece la más alta precisión, y los recursos de memoria y computacionales requeridos son también mucho más bajo. Código, modelo de definición y modelo de pre-formación pueden ser obtenidos a partir github.com/ARM-software. nuestro nuevo sitio de desarrolladores de aprendizaje de máquina ofrece la biblioteca de recursos integrado, información detallada del producto y tutoriales para ayudar a lidiar con la máquina de borde de la red desafíos que enfrenta el papel blanco en este blog aprendizaje 'borde de la red: el reconocimiento de palabras clave en el microcontrolador'. (Hola borde: Spotting palabra clave en microcontroladores), el Libro blanco fue publicado originalmente en el sitio web de Cornell University Library para descargar brazo. una copia del libro blanco, por favor haga clic en el enlace de más abajo. 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