Usando la red neuronal para reconocer patrones en matrices

10

Estoy tratando de desarrollar una red neuronal que pueda identificar características de diseño en modelos CAD (es decir, ranuras, jefes, agujeros, bolsillos, pasos).

Los datos de entrada que pretendo usar para la red son una matriz ansn (donde n es el número de caras en el modelo CAD). Un '1' en el triángulo superior derecho de la matriz representa una relación convexa entre dos caras y un '1' en el triángulo inferior izquierdo representa una relación cóncava. Un cero en ambas posiciones significa que las caras no son adyacentes. La imagen a continuación da un ejemplo de dicha matriz. ingrese la descripción de la imagen aquí

Digamos que configuré el tamaño máximo del modelo en 20 caras y apliqué el relleno para cualquier cosa más pequeña para hacer que las entradas a la red tengan un tamaño constante.

Quiero poder reconocer 5 características de diseño diferentes y, por lo tanto, tendría 5 neuronas de salida: [ranura, bolsillo, agujero, jefe, paso]

¿Tendría razón al decir que esto se convierte en una especie de problema de "reconocimiento de patrones"? Por ejemplo, si proporciono a la red varios modelos de capacitación, junto con etiquetas que describen la característica de diseño que existe en el modelo, ¿aprendería la red a reconocer patrones de adyacencia específicos representados en la matriz que se relacionan con ciertas características de diseño?

Soy un principiante completo en el aprendizaje automático y estoy tratando de saber si este enfoque funcionará o no; si se necesita más información para comprender el problema, deje un comentario. Cualquier aportación o ayuda sería apreciada, gracias.

Darren Taggart
fuente
1
Esto se ve realmente interesante. ¿Pero de qué triángulo estás hablando? ¿Puedes dibujarlo para mayor claridad?
FelicityC

Respuestas:

1

¿Tendría razón al decir que esto se convierte en una especie de problema de "reconocimiento de patrones"?

Técnicamente sí. En la práctica: no.

Creo que podría estar interpretando el término "reconocimiento de patrones" un poco demasiado literal. Aunque wikipedia define el reconocimiento de patrones como "una rama del aprendizaje automático que se centra en el reconocimiento de patrones y regularidades en los datos", no se trata de resolver problemas que pueden "deducirse" fácilmente mediante un razonamiento lógico.

Por ejemplo, dices eso

Un '1' en el triángulo superior derecho de la matriz representa una relación convexa entre dos caras y un '1' en el triángulo inferior izquierdo representa una relación cóncava

Esto es verdad siempre . En una situación típica de aprendizaje automático, usted (generalmente) no tendría este conocimiento previo. Al menos no en la medida en que sería manejable "resolver a mano".

El reconocimiento de patrones es convencionalmente un enfoque estadístico para resolver problemas cuando se vuelven demasiado complejos para analizar con razonamiento lógico convencional y modelos de regresión más simples. Wikipedia también afirma (con una fuente) que el reconocimiento de patrones "en algunos casos se considera casi sinónimo de aprendizaje automático".

Dicho esto: podría usar el reconocimiento de patrones en este problema. Sin embargo, parece excesivo en este caso. Su problema, hasta donde puedo entender, tiene una solución "analítica" real. Es decir: puede, por lógica, obtener un resultado 100% correcto todo el tiempo. Los algoritmos de aprendizaje automático podrían, en teoría, también hacer esto, y en ese caso, y esta rama de ML se conoce como Meta Modelado [1].

Por ejemplo, si proporciono a la red varios modelos de capacitación, junto con etiquetas que describen la característica de diseño que existe en el modelo, ¿aprendería la red a reconocer patrones de adyacencia específicos representados en la matriz que se relacionan con ciertas características de diseño?

En una palabra: probablemente. La mejor manera de ir? Probablemente no. ¿Por qué no preguntas?

Siempre existe la posibilidad de que su modelo no aprenda exactamente lo que quiere. Además, tiene muchos desafíos, como el sobreajuste, por los que debe preocuparse. Es un enfoque estadístico, como dije. Incluso si clasifica todos sus datos de prueba como 100% correctos, no hay manera (a menos que verifique las matemáticas increíblemente intratables) para estar 100% seguro de que siempre se clasificará correctamente. Además, sospecho que también es probable que termines pasando más tiempo trabajando en tu modelo que el tiempo que llevaría deducir la lógica.

También estoy en desacuerdo con @Bitzel: no haría una CNN (red neuronal convolucional) sobre esto. Las CNN se usan cuando se quiere ver partes específicas de la matriz, y la relación y la conexión entre los píxeles son importantes, por ejemplo, en las imágenes. Como solo tiene 1 y 0, sospecho que una CNN sería demasiado exagerada. Y con toda la escasez (muchos ceros) terminarías con muchos ceros en las circunvoluciones.

De hecho, sugeriría una red neuronal simple de vainilla (alimentación hacia adelante) que, a pesar de la escasez, creo que podrá hacer esta clasificación con bastante facilidad.

Andreas Storvik Strauman
fuente
1
Respuesta muy completa. Una versión corta es que para las preguntas que tienen una solución analítica, ML generalmente no es el enfoque correcto.
Amrinder Arora
0

Por lo que yo entiendo, sí, su problema está relacionado con el reconocimiento de patrones. Dado que el enfoque consiste en clasificar las entradas con etiquetas que proporcionó anteriormente para la red neuronal, creo que una red neuronal convolucional podría funcionar para su problema.

Bitzel
fuente
0

El problema

Los datos de capacitación para el sistema propuesto son los siguientes.

  • Una matriz booleana que representa la adyacencia de la superficie de un diseño geométrico sólido.
  • También se representa en la matriz la diferenciación entre los ángulos de los bordes interiores y exteriores.
  • Etiquetas (descritas a continuación)

Convexo y cóncavo no son los términos correctos para describir las discontinuidades del gradiente de superficie. Un borde interior, como el hecho por una fresa de extremo, no es en realidad una superficie cóncava. La discontinuidad del gradiente de superficie, desde el punto de vista del modelo sólido idealizado, tiene un radio cero. Un borde exterior no es una porción convexa de una superficie por la misma razón.

La salida prevista del sistema entrenado propuesto es una matriz booleana que indica la presencia de características específicas de diseño geométrico sólido.

  • Una o más ranuras
  • Uno o más jefes
  • Uno o más agujeros
  • Uno o más bolsillos
  • Uno o más pasos

Esta matriz de valores booleanos también se usa como etiquetas para el entrenamiento.

Posibles advertencias en el enfoque

Hay incongruencias de mapeo en este enfoque. Caen aproximadamente en una de cuatro categorías.

  • Ambigüedad creada al asignar la topología en el modelo CAD a la matriz: geometrías sólidas que tienen primario no capturado en la codificación de matriz propuesta
  • Modelos CAD para los que no existe una matriz: casos en los que los bordes cambian de ángulos internos a externos o emergen de la curvatura
  • Ambigüedad en la identificación de características de la matriz: superposición entre características que podrían identificar el patrón en la matriz
  • Matrices que describen características que no se encuentran entre las cinco: esto podría convertirse en un problema de pérdida de datos en el desarrollo

Estos son solo algunos ejemplos de problemas de topología que pueden ser comunes en algunos dominios de diseño mecánico y ofuscar el mapeo de datos.

  • Un agujero tiene la misma matriz que un marco de caja con radios internos.
  • Los radios externos pueden conducir a una simplificación excesiva en la matriz.
  • Los agujeros que se cruzan con los bordes pueden ser indistinguibles de otra topología en forma de matriz.
  • Dos o más agujeros cruzados pueden presentar ambigüedades de adyacencia.
  • Las bridas y las costillas que sostienen las protuberancias redondas con orificios centrales pueden ser indistinguibles.
  • Una bola y un toro tienen la misma matriz.
  • Un disco y una banda con una cruz hexagonal con un giro de 180 grados tienen la misma matriz.

Estas posibles advertencias pueden o no ser motivo de preocupación para el proyecto definido en la pregunta.

Establecer un tamaño de cara equilibra la eficiencia con la fiabilidad, pero limita la usabilidad. Puede haber enfoques que aprovechen una de las variantes de RNN, que pueden permitir la cobertura de tamaños de modelos arbitrarios sin comprometer la eficiencia para geometrías simples. Tal enfoque puede implicar desplegar la matriz como una secuencia para cada ejemplo, aplicando una estrategia de normalización bien concebida a cada matriz. El relleno puede ser efectivo si no existen restricciones estrictas sobre la eficiencia del entrenamiento y existe un máximo práctico para el número de caras.

Considerando el conteo y la certeza como salida

[0.0,1.0]

La posibilidad de usar una salida entera no negativa, como una representación binaria sin signo creada mediante la agregación de múltiples celdas de salida binarias, en lugar de un solo booleano por característica también debe considerarse al menos. Aguas abajo, la capacidad de contar características puede volverse importante.

Esto lleva a cinco permutaciones realistas a considerar, que podrían ser producidas por la red capacitada para cada característica de cada modelo de geometría sólida.

  • Existencia indicadora booleana
  • Entero no negativo que indica recuento de instancias
  • Certeza booleana y real de una o más instancias
  • Entero no negativo que representa el recuento de instancias más probable y la certeza real de una o más instancias
  • Media real no negativa y desviación estándar

¿Reconocimiento de patrones o qué?

fXY

f(X)Y

Si la clase de concepto que la red aproxima funcionalmente está suficientemente representada en la muestra utilizada para el entrenamiento y la muestra de ejemplos de entrenamiento se dibuja de la misma manera que la aplicación objetivo se dibujará más adelante, es probable que la aproximación sea suficiente.

En el mundo de la teoría de la información, hay una confusión entre la distinción entre el reconocimiento de patrones y la aproximación funcional, como debería haber en esa abstracción conceptual de IA de nivel superior.

Factibilidad

¿Aprendería la red a asignar matrices a [la matriz de] [indicadores] booleanos de las características de diseño?

Si las advertencias mencionadas anteriormente son aceptables para las partes interesadas del proyecto, los ejemplos están bien etiquetados y se proporcionan en número suficiente, y la normalización de datos, la función de pérdida, los hiperparámetros y los arreglos de capas están bien configurados, es probable que ocurra convergencia durante capacitación y un razonable sistema automatizado de identificación de características. Nuevamente, su usabilidad depende de nuevas geometrías sólidas que se extraen de la clase de concepto como lo fueron los ejemplos de capacitación. La confiabilidad del sistema depende de que la capacitación sea representativa de los casos de uso posteriores.

Douglas Daseeco
fuente