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.
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.
la source
Réponses:
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
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].
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.
la source
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.
la source
Le problème
Les données de formation pour le système proposé sont les suivantes.
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.
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.
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.
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
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.
Reconnaissance de formes ou quoi?
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é
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.
la source