Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Equipment >> Robot industriel

Traitement du signal à l'aide de réseaux de neurones :validation dans la conception de réseaux de neurones

Cet article explique pourquoi la validation est particulièrement importante lorsque nous traitons des données à l'aide d'un réseau de neurones.

La série d'AAC sur le développement de réseaux de neurones se poursuit ici avec un aperçu de la validation dans les réseaux de neurones et du fonctionnement des NN dans le traitement du signal.

  1. Comment effectuer une classification à l'aide d'un réseau de neurones :qu'est-ce que le perceptron ?
  2. Comment utiliser un exemple simple de réseau neuronal Perceptron pour classer des données
  3. Comment former un réseau de neurones Perceptron de base
  4. Comprendre la formation simple sur les réseaux neuronaux
  5. Une introduction à la théorie de la formation pour les réseaux de neurones
  6. Comprendre le taux d'apprentissage dans les réseaux de neurones
  7. Apprentissage automatique avancé avec le Perceptron multicouche
  8. La fonction d'activation sigmoïde :activation dans les réseaux de neurones Perceptron multicouches
  9. Comment former un réseau de neurones Perceptron multicouches
  10. Comprendre les formules d'entraînement et la rétropropagation pour les perceptrons multicouches
  11. Architecture de réseau neuronal pour une implémentation Python
  12. Comment créer un réseau de neurones Perceptron multicouche en Python
  13. Traitement du signal à l'aide de réseaux de neurones :validation dans la conception de réseaux de neurones
  14. Entraînement d'ensembles de données pour les réseaux de neurones :comment entraîner et valider un réseau de neurones Python

La nature du traitement du signal du réseau neuronal

Un réseau de neurones est fondamentalement différent des autres systèmes de traitement du signal. La manière "normale" d'atteindre une sorte d'objectif de traitement du signal est d'appliquer un algorithme.

Dans ce modèle, un chercheur crée une méthode mathématique pour analyser ou modifier un signal d'une manière ou d'une autre. Il existe des méthodes pour supprimer le bruit de l'audio, trouver des bords dans les images, calculer la température à partir de la résistance d'une thermistance, déterminer le contenu en fréquence d'une forme d'onde RF, etc. Le concepteur s'appuie ensuite sur le travail du chercheur en convertissant cette méthode en un algorithme pouvant être exécuté par un processeur et adapté aux besoins d'une application donnée.

Un filtre FIR est un exemple de système de traitement du signal que nous pouvons évaluer et comprendre de manière mathématique précise.

Un réseau de neurones entraîné, en revanche, est un empirique système.

Les processus mathématiques qui se produisent dans le réseau ne constituent pas un algorithme spécifique destiné à classer des caractères manuscrits, ou à prédire la formation de tornades, ou à développer des procédures de contrôle pour des manœuvres aéronautiques extrêmes. Au contraire, les mathématiques dans le réseau de neurones sont un cadre qui permet au réseau de créer un modèle informatique personnalisé basé sur des données d'entraînement.

Nous comprenons le cadre mathématique qui permet à un réseau de neurones d'apprendre et d'atteindre la fonctionnalité requise, mais l'algorithme de traitement du signal réel est spécifique aux données d'entraînement, au taux d'apprentissage, aux valeurs de poids initiales et à d'autres facteurs.

Un réseau de neurones, contrairement à un filtre FIR, dépend de nombreux facteurs différents.

C'est comme la différence entre apprendre une langue quand on est enfant et étudier une langue à l'âge adulte.

Un enfant qui n'a même jamais entendu le mot « grammaire » peut produire à plusieurs reprises la forme verbale correcte parce que son cerveau a naturellement reconnu et retenu les modèles contenus dans l'énorme quantité de données linguistiques d'entrée que les enfants reçoivent des personnes plus âgées avec lesquelles ils interagissent.

Cependant, les adultes n'ont généralement pas accès à toutes ces informations et peuvent ne pas assimiler les modèles de la même manière. Par conséquent, nous mémorisons et implémentons les « algorithmes » linguistiques qui nous permettent de conjuguer correctement les verbes et de choisir les temps.

L'importance de la validation

Les réseaux de neurones peuvent résoudre des problèmes extrêmement complexes car, lorsqu'ils reçoivent une contribution abondante, ils trouvent «naturellement» des modèles mathématiques similaires à la façon dont les enfants trouvent des modèles linguistiques. Mais cette approche du traitement du signal n'est en aucun cas infaillible.

Considérez les enfants anglophones qui disent « goed » au lieu de « went » ou « holded » au lieu de « tenu ». C'est ce qu'on appelle des erreurs de régularisation excessive. Ils ont repris le modèle -ed pour le passé, mais pour une raison quelconque - peut-être des données insuffisantes ou des particularités cognitives - ils n'ont pas encore affiné leur modèle linguistique pour tenir compte des verbes irréguliers au passé.

Personne, bien sûr, ne va fustiger un enfant de quatre ans pour avoir dit "Je suis allé au parc". Mais si un homme politique éminent prononçait un discours important et répétait à plusieurs reprises « fait », « retenu », « constaté », « connu », et ainsi de suite, le public serait sérieusement mécontent (ou complètement perplexe) et la carrière politique de l'orateur pourrait s'arrêter brusquement.

Ces erreurs de régularisation excessive sont un bon exemple de la façon dont un réseau de neurones entraîné peut présenter des lacunes inattendues dans sa capacité à atteindre la fonctionnalité de traitement du signal souhaitée. Et si de petits écarts peuvent sembler sans importance, voire intéressants, lorsque nous ne faisons que réaliser des expériences, l'exemple de l'homme politique nous rappelle qu'ils peuvent être catastrophiques dans une application réelle.

Le sous-entraînement et le surentraînement peuvent entraîner un comportement inattendu et problématique lorsque le réseau est confronté à des données d'application réelles. Voir la partie 4 pour plus d'informations.

Et maintenant, nous voyons pourquoi la validation est un aspect crucial du développement de réseaux de neurones. L'entraînement n'est pas suffisant, car un ensemble de données d'entraînement est intrinsèquement limité et, par conséquent, la réponse du réseau à cet ensemble de données est également limitée.

De plus, la formation aboutit à un système de calcul « boîte noire » que nous ne pouvons pas analyser et évaluer comme s'il s'agissait d'une formule ou d'un algorithme typique. Ainsi, nous devons valider , que je définirais comme faisant tout ce que nous pouvons raisonnablement pour garantir que le réseau traitera avec succès les données d'entrée typiques de la vie réelle et ne produira pas d'échecs spectaculaires lorsqu'il sera présenté avec des données atypiques.

Trier la terminologie

La procédure que j'identifie comme « validation » peut également être appelée « vérification » ou simplement « test ».

Dans le contexte du développement de logiciels, les deux premiers termes ont des significations distinctes. Wikipedia, citant Barry Boehm, dit que la vérification cherche à déterminer si le produit est construit correctement, et la validation cherche à déterminer si le bon produit est construit. Étant donné que ces deux problèmes sont essentiels, vous verrez l'abréviation « V&V » pour « vérification et validation ».

Je ne suis pas un ingénieur logiciel, donc j'espère que cela signifie que je ne suis pas obligé d'adopter ce paradigme. J'utilise simplement le terme « validation » pour faire référence aux tests, à l'analyse et à l'observation que nous effectuons pour tenter de garantir que le réseau de neurones formé répond aux exigences du système.

Réflexions de clôture :qu'est-ce que la validation ?

Eh bien, cela dépend.

La NASA, par exemple, a publié un document assez long intitulé « Verification &Validation of Neural Networks for Aerospace Systems ». Si vous êtes plus intéressé que moi par le V&V sur les réseaux de neurones, vous voudrez peut-être commencer par ce document. Si vous êtes un vrai fanatique de V&V, vous devriez considérer le livre Méthodes et procédures pour la vérification et la validation des réseaux de neurones artificiels; il fait 293 pages et dépasse sûrement mes connaissances sur ce sujet d'au moins trois ordres de grandeur.

Dans mon monde de réseaux de neurones simples développés à des fins expérimentales ou pédagogiques, la validation signifie principalement exécuter le réseau formé sur de nouvelles données et évaluer la précision de la classification, et nous pourrions également inclure un réglage fin qui nous aide à déterminer si et comment la performance globale peut être amélioré.

Nous examinerons des techniques de validation spécifiques dans de futurs articles.


Robot industriel

  1. Types de signaux électriques
  2. Qu'est-ce qu'un réseau dans les systèmes embarqués ? – Différents types de réseaux
  3. Un cours accéléré sur l'approvisionnement des réseaux sans fil
  4. Processeur multicœur intégrant une unité de traitement neuronal
  5. La puce radar de faible puissance utilise des réseaux de neurones à pointes
  6. Comprendre les minima locaux dans la formation sur les réseaux neuronaux
  7. Utilisation des réseaux de neurones pour une imagerie par rayons X plus rapide
  8. 3 techniques de routage sur la conception de circuits de signaux à grande vitesse sur PCB
  9. Traitement isométrique différentiel et vérification par simulation de la conception de circuits imprimés à grande vitesse