Comment « » de Notebook « de haute précision les mots-clés Spotting sur le processeur Cortex-M

Nous l'architecture de réseau de neurones peut être optimisé, de sorte que la mémoire et l'adaptation des limites de calcul du microcontrôleur, et ne modifie pas la précision. Nous allons expliquer et explorer la profondeur du réseau de neurones de convolution séparable pour identifier les mots-clés potentiels dans le processeur Cortex-M dans cet article.

Mot-clé Spotting (KWS) pour la réalisation de dispositifs intelligents basés sur l'utilisateur vocale interactive est critique, exigent une réponse en temps réel et une grande précision pour assurer une bonne expérience utilisateur. Récemment, les réseaux de neurones sont devenus un choix populaire pour l'architecture KWS, par rapport aux algorithmes de traitement de la voix traditionnels, les réseaux de neurones précision supérieure.

tuyau de réseau neuronal de mots-clés Longues

En raison de rester « toujours », KWS appliqué le budget de puissance est très limitée. Bien que les applications KWS peuvent fonctionner sur une haute performance dédié DSP ou CPU, mais il est plus adapté pour fonctionner sur le bras microcontrôleur Cortex-M, aider à réduire le coût, le bras Cortex-M microcontrôleurs souvent bord choses pour d'autres tâches.

Cependant, pour déployer un réseau de neurones KWS basé sur les microcontrôleurs Cortex-M, nous sommes confrontés aux défis suivants:

1

L'espace est limité

Les systèmes Cortex-M fournissent généralement à plusieurs centaines de Ko de mémoire disponible. Cela signifie que l'ensemble du modèle de réseau neuronal, y compris d'entrée / sortie, le poids et l'activation, doit fonctionner à l'intérieur de cette petite plage de mémoire.

2

ressources limitées

Parce que KWS pour maintenir en permanence, les besoins en temps réel qui limitent le nombre total d'opérations chaque raisonnement du réseau de neurones.

Ce qui suit est une architecture de réseau de neurones typique approprié pour le raisonnement KWS:

1

Profondeur réseau neuronal (DNN)

DNN type réseau de neurones à action directe, reliée à la pile complète des couches de la couche active et non linéaire.

2

réseau neuronal convolutif (CNN)

Sur la base de l'un des principaux défauts de DNN KWS est impossible pour l'association locale des fonctions vocales, la corrélation dans le domaine temporel, la modélisation de la corrélation dans le domaine fréquentiel. CNN peut être une des caractéristiques dans le domaine temporel et le domaine fréquentiel que le traitement d'image d'entrée et effectue la corrélation pour trouver cette opération de convolution 2D ci-dessus.

3

Recurrent Neural Network (RNN de)

Dans de nombreuses tâches de modélisation de la séquence RNN ils montrent d'excellentes performances, en particulier dans la reconnaissance vocale, la modélisation du langage et de la traduction. RNN non seulement en mesure de trouver la relation temporelle entre le signal d'entrée, mais aussi l'utilisation du mécanisme « blocage » à la capture dépendent de la durée de la relation.

4

Convolution réseau neuronal récurrent (CRNN)

réseau neuronal convolutif est un cycle hybride et CNN RNN se trouve dans une corrélation temporelle / spatiale locale. couche de modèle CRNN commence à partir de la convolution, il est alors RNN, coder le signal, suivie d'une couche dense entièrement connecté.

5

réseau neural profondeur de convolution séparable (DS-CNN)

Récemment, la profondeur du réseau de neurones de convolution séparable est recommandé comme des alternatives efficaces pour le fonctionnement standard de convolution 3D, et a été utilisé l'architecture réseau compacte pour la vision par ordinateur.

DS-CNN d'abord filtré en utilisant 2D séparé, les caractéristiques d'entrée de chaque canal dans le calcul de convolution figure, puis convolution par points (à savoir 1x1-), délivre en sortie la dimension de profondeur combinée. Par décomposition ultérieure norme convolution 2D et 3D 1D, le nombre de paramètres et l'opération est réduit, de sorte que l'architecture plus profonde et plus large possible, même dans le microcontrôleur pour exécuter le dispositif de ressources limitées.

Lorsque vous exécutez le Générateur de mots sur Spotting processeur Cortex-M, utilisation de la mémoire et le temps d'exécution sont les deux facteurs les plus importants dans la conception et l'optimisation des réseaux de neurones à cet effet, vous devez tenir compte de ces deux facteurs. Trois restriction de réseau de neurones sont indiquées ci-dessous pour les petites, moyennes et grandes système Cortex-M, la configuration d'un système typique à base de Cortex-M.

catégorie KWS modèle de réseau neuronal de catégorie (NN), en supposant que 10 fois par seconde raisonnement et 8 en poids / activation

Pour régler le modèle, afin de ne pas dépasser les limites de la mémoire et le calcul du microcontrôleur doit être effectué sur un paramètre de recherche. Le tableau suivant présente l'architecture de réseau de neurones et les paramètres correspondants doivent être super optimisés.

réseau de neurones hyperparam'etre espace de recherche

Tout d'abord, effectuer une extraction de caractéristiques de recherche exhaustive et le modèle de réseau de neurones hyper-paramètres, puis effectuez une sélection manuelle pour réduire l'espace de recherche, à la fois répétée. La figure ci-dessous résume l'architecture de réseau neuronal adapté pour le modèle de performance optimale et les exigences de mémoire correspondant et le calcul. l'architecture DS-CNN offre la plus grande précision, mais aussi la mémoire et les ressources informatiques sont également beaucoup plus faible.

optimal de la relation modèle de réseau neuronal à la mémoire et l'arithmétique / raisonnement

KWS applications Cortex-M7 déployées dans la carte de développement STM32F746G-DISCO (comme indiqué ci-dessous) sur la base, contenant le modèle DNN 8 en poids et 8 activation, l'inférence KWS exécutés 10 fois par seconde pendant le fonctionnement. Chaque inférence (y compris la copie de mémoire, l'extraction de caractéristiques MFCC, DNN réalisée) dure environ 12 millisecondes. Pour économiser de l'énergie, ce qui permet le microcontrôleur attend le reste du mode d'interruption de temps (WFI). toute demande KWS utilise environ 70 Ko de mémoire, comprenant un poids d'environ 66 Ko, pendant environ 1 KB activation, environ 2 Ko d'E / S et fonction audio MFCC.

déploiement KWS du Conseil Cortex-M7 Développement

En résumé, le bras processeur Cortex-M peut obtenir une grande précision dans les applications de reconnaissance de mots-clés, alors que les besoins en mémoire et de calcul pour adapter l'architecture de limite réseau. l'architecture DS-CNN offre la plus grande précision, mais aussi la mémoire et les ressources informatiques sont également beaucoup plus faible.

Comment les groupes de base font, comment diriger les étudiants idéologiques et politiques? Ces informations de recherche pour vous dire
Précédent
SF a gagné première logistique de vol de drone Chine droit; MIIT: À partir des téléphones aujourd'hui l'application pré-installée doit être désinstallée | Matin Lei Feng
Prochain
Nommé texte orienté entité de reconnaissance Twitter
Haute vallée allemande Xiao Feng: carte de conduite automatique de haute précision est la seule façon | voitures futurs Auditorium
« Homard Interpol » incarnation Yuan Shanshan de la chaleur pour le premier partenaire de temps grâce Wang épicé partenaire d'interprétation
La recherche et de l'outillage pour la méthode de test de niveau du conseil d'administration PLC Qt
Académicien des six ensembles Qigao Wen et d'autres AI 2.0 colloques, Daniel universitaire qui a dit quoi? | 2017 Conférence mondiale Intelligence
romance fille ordinaire, elle est la réponse standard
Ma magasins de détail sans pilote tourné! Vous devez savoir ces
Feng a gagné American Film Award Lifetime Achievement, et traite parler de "jeunes"
9.2, film dieu Cameron et transe
Sur la base de la découverte du schéma de connexion à petites cellules double
optimisation de la couche physique de sécurité multiple système RFID d'antenne
Je suis dans Wangjing, « sont très bons »