Utilisation d'un réseau de neurones pour reconnaître les modèles dans les matrices

10

J'essaie de développer un réseau de neurones qui peut identifier les caractéristiques de conception dans les modèles CAO (c'est-à-dire les emplacements, les bossages, les trous, les poches, les marches).

Les données d'entrée que j'ai l'intention d'utiliser pour le réseau sont une matrice anxn (où n est le nombre de faces dans le modèle CAO). Un «1» dans le triangle supérieur droit de la matrice représente une relation convexe entre deux faces et un «1» dans le triangle inférieur gauche représente une relation concave. Un zéro dans les deux positions signifie que les faces ne sont pas adjacentes. L'image ci-dessous donne un exemple d'une telle matrice. entrez la description de l'image ici

Disons que j'ai défini la taille maximale du modèle à 20 faces et appliqué un remplissage pour tout ce qui est plus petit que cela afin de rendre les entrées du réseau de taille constante.

Je veux pouvoir reconnaître 5 caractéristiques de conception différentes et aurais donc 5 neurones de sortie - [fente, poche, trou, boss, étape]

Aurais-je raison de dire que cela devient une sorte de problème de «reconnaissance de formes»? Par exemple, si je fournis au réseau un certain nombre de modèles de formation - ainsi que des étiquettes décrivant la caractéristique de conception qui existe dans le modèle, le réseau apprendrait-il à reconnaître des modèles d'adjacence spécifiques représentés dans la matrice qui se rapportent à certaines caractéristiques de conception?

Je suis un débutant complet en apprentissage automatique et j'essaie de savoir si cette approche fonctionnera ou non - si plus d'informations sont nécessaires pour comprendre le problème, laissez un commentaire. Toute contribution ou aide serait appréciée, merci.

Darren Taggart
la source
1
Cela semble vraiment intéressant. Mais de quel triangle parles-tu? Pouvez-vous le dessiner pour plus de clarté?
FelicityC

Réponses:

1

Aurais-je raison de dire que cela devient une sorte de problème de «reconnaissance de formes»?

Techniquement, oui. En pratique: non.

Je pense que vous interprétez peut-être le terme "reconnaissance de formes" un peu trop littéralement. Même si Wikipédia définit la reconnaissance des modèles comme "une branche de l'apprentissage automatique qui se concentre sur la reconnaissance des modèles et des régularités dans les données", il ne s'agit pas de résoudre des problèmes qui peuvent "facilement" être déduits par un raisonnement logique.

Par exemple, vous dites que

Un «1» dans le triangle supérieur droit de la matrice représente une relation convexe entre deux faces et un «1» dans le triangle inférieur gauche représente une relation concave

C'est toujours vrai . Dans une situation typique d'apprentissage automatique, vous n'auriez pas (généralement) cette connaissance préalable. Du moins pas dans la mesure où il serait possible de «résoudre à la main».

La reconnaissance des formes est classiquement une approche statistique pour résoudre les problèmes lorsqu'ils deviennent trop complexes à analyser avec un raisonnement logique conventionnel et des modèles de régression plus simples. Wikipédia déclare également (avec une source) que la reconnaissance des formes "dans certains cas est considérée comme presque synonyme d'apprentissage automatique".

Cela étant dit: vous pouvez utiliser la reconnaissance des formes sur ce problème. Cependant, cela semble exagéré dans ce cas. Pour autant que je sache, votre problème a une véritable solution «analytique». C'est-à-dire: vous pouvez, par logique, obtenir un résultat 100% correct tout le temps. Les algorithmes d'apprentissage automatique pourraient, en théorie, également le faire, et dans ce cas, et cette branche de ML est appelée méta-modélisation [1].

Par exemple, si je fournis au réseau un certain nombre de modèles de formation - ainsi que des étiquettes décrivant la caractéristique de conception qui existe dans le modèle, le réseau apprendrait-il à reconnaître des modèles d'adjacence spécifiques représentés dans la matrice qui se rapportent à certaines caractéristiques de conception?

En un mot: Probablement. La meilleure façon d'aller? Probablement pas. Pourquoi pas, demandez-vous?

Il est toujours possible que votre modèle n'apprenne pas exactement ce que vous voulez. De plus, vous avez de nombreux défis comme le surapprentissage dont vous devez vous préoccuper. C'est une approche statistique, comme je l'ai dit. Même s'il classe toutes vos données de test comme 100% correctes, il n'y a aucun moyen (à moins que vous ne vérifiiez les calculs incroyablement insolubles) d'être sûr à 100% qu'il se classera toujours correctement. Je soupçonne en outre que vous finirez également par passer plus de temps à travailler sur votre modèle que le temps qu'il faudrait pour déduire la logique.

Je suis également en désaccord avec @Bitzel: je ne ferais pas de CNN (réseau neuronal convolutionnel) à ce sujet. Les CNN sont utilisés lorsque vous souhaitez regarder des parties spécifiques de la matrice, et la relation et la connectivité entre les pixels sont importantes - par exemple sur les images. Comme vous n'avez que des 1 et des 0, je soupçonne fortement qu'un CNN serait largement exagéré. Et avec toute la rareté (beaucoup de zéros) vous vous retrouveriez avec beaucoup de zéros dans les circonvolutions.

Je suggérerais en fait un réseau de neurones simple vanille (feed forward), qui, malgré la rareté, je pense sera capable de faire cette classification assez facilement.

Andreas Storvik Strauman
la source
1
Réponse très complète. Une version courte est que pour les questions qui ont une solution analytique, le ML n'est généralement pas la bonne approche.
Amrinder Arora
0

Pour autant que je comprends, oui votre problème est lié à la reconnaissance des formes. Étant donné que l'approche consiste à classer les entrées avec les étiquettes que vous fournissez précédemment pour le réseau neuronal, je pense qu'un réseau de neurones convolutionnels pourrait fonctionner pour votre problème.

Bitzel
la source
0

Le problème

Les données de formation pour le système proposé sont les suivantes.

  • Une matrice booléenne représentant l'adjacence de surface d'un dessin géométrique solide
  • La différenciation entre les angles intérieurs et extérieurs des bords est également représentée dans la matrice.
  • Étiquettes (décrites ci-dessous)

Convexe et concave ne sont pas les termes corrects pour décrire les discontinuités du gradient de surface. Un bord intérieur, tel que celui fait par une fraise en bout, n'est pas en fait une surface concave. La discontinuité du gradient de surface, du point de vue du modèle solide idéalisé, a un rayon nul. Un bord extérieur n'est pas une partie convexe d'une surface pour la même raison.

Le résultat escompté du système formé proposé est un tableau booléen indiquant la présence de caractéristiques de conception géométrique solide spécifiques.

  • Un ou plusieurs emplacements
  • Un ou plusieurs boss
  • Un ou plusieurs trous
  • Une ou plusieurs poches
  • Une ou plusieurs étapes

Ce tableau de valeurs booléennes est également utilisé comme étiquettes pour la formation.

Avertissements possibles dans l'approche

Il existe des incongruités cartographiques dans cette approche. Ils appartiennent à peu près à l'une des quatre catégories.

  • Ambiguïté créée en mappant la topologie du modèle CAO à la matrice - des géométries solides qui n'ont pas été capturées dans le codage de matrice proposé
  • Modèles CAO pour lesquels aucune matrice n'existe - cas où les bords changent d'angles intérieurs en angles extérieurs ou émergent de la courbure
  • Ambiguïté dans l'identification des caractéristiques de la matrice - chevauchement entre les caractéristiques qui pourraient identifier le motif dans la matrice
  • Matrices décrivant des fonctionnalités qui ne figurent pas parmi les cinq - cela pourrait devenir un problème de perte de données en aval du développement

Ce ne sont que quelques exemples de problèmes de topologie qui peuvent être courants dans certains domaines de conception mécanique et obscurcir le mappage des données.

  • Un trou a la même matrice qu'un cadre de boîte avec des rayons internes.
  • Les rayons externes peuvent entraîner une simplification excessive de la matrice.
  • Les trous qui se croisent avec des bords peuvent ne pas être distingués d'une autre topologie sous forme matricielle.
  • Deux ou plusieurs trous traversants peuvent présenter des ambiguïtés d'adjacence.
  • Les brides et les nervures supportant des bossages ronds avec des trous centraux peuvent être indiscernables.
  • Une balle et un tore ont la même matrice.
  • Un disque et une bande avec une croix hexagonale avec une torsion à 180 degrés ont la même matrice.

Ces mises en garde possibles peuvent ou non être préoccupantes pour le projet défini dans la question.

La définition d'une taille de visage équilibre efficacité et fiabilité mais limite la convivialité. Il peut y avoir des approches qui exploitent l'une des variantes des RNN, qui peuvent permettre la couverture de tailles de modèle arbitraires sans compromettre l'efficacité pour les géométries simples. Une telle approche peut impliquer d'afficher la matrice sous forme de séquence pour chaque exemple, en appliquant une stratégie de normalisation bien conçue à chaque matrice. Le rembourrage peut être efficace s'il n'y a pas de contraintes strictes sur l'efficacité de l'entraînement et s'il existe un maximum pratique pour le nombre de visages.

Prise en compte du nombre et de la certitude comme résultat

[0,0,1.0]

La possibilité d'utiliser une sortie entière non négative, en tant que représentation binaire non signée créée en agrégeant plusieurs cellules de sortie binaire, au lieu d'un seul booléen par entité, doit également être au moins envisagée. En aval, la capacité de compter les entités peut devenir importante.

Cela conduit à cinq permutations réalistes à considérer, qui pourraient être produites par le réseau formé pour chaque entité de chaque modèle de géométrie solide.

  • Booléen indiquant l'existence
  • Entier non négatif indiquant le nombre d'instances
  • Certitude booléenne et réelle d'une ou plusieurs instances
  • Entier non négatif représentant le nombre d'instances le plus probable et la certitude réelle d'une ou plusieurs instances
  • Moyenne réelle et écart type non négatifs

Reconnaissance de formes ou quoi?

FXOui

F(X)Oui

Si la classe conceptuelle fonctionnellement approchée par le réseau est suffisamment représentée dans l'échantillon utilisé pour la formation et que l'échantillon d'exemples de formation est dessiné de la même manière que l'application cible le dessinera plus tard, l'approximation sera probablement suffisante.

Dans le monde de la théorie de l'information, il y a un flou de la distinction entre la reconnaissance des formes et l'approximation fonctionnelle, comme il devrait y en avoir dans cette abstraction conceptuelle de l'IA de niveau supérieur.

Faisabilité

Le réseau apprendrait-il à mapper des matrices à [l'ensemble des] indicateurs [booléens] des caractéristiques de conception?

Si les mises en garde énumérées ci-dessus sont acceptables pour les parties prenantes du projet, les exemples sont bien étiquetés et fournis en nombre suffisant, et la normalisation des données, la fonction de perte, les hyper-paramètres et les dispositions de couche sont bien configurées, il est probable que la convergence se produira pendant formation et un système d’identification automatisé des fonctionnalités raisonnable. Encore une fois, sa convivialité repose sur de nouvelles géométries solides tirées de la classe conceptuelle comme l'étaient les exemples de formation. La fiabilité du système repose sur une formation représentative des cas d'utilisation ultérieurs.

Douglas Daseeco
la source