Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Equipment >> Robot industrial

Procesamiento de señales mediante redes neuronales:validación en el diseño de redes neuronales

Este artículo explica por qué la validación es particularmente importante cuando procesamos datos mediante una red neuronal.

La serie de AAC sobre desarrollo de redes neuronales continúa aquí con una mirada a la validación en redes neuronales y cómo funcionan las NN en el procesamiento de señales.

  1. Cómo realizar la clasificación mediante una red neuronal:¿Qué es el perceptrón?
  2. Cómo utilizar un ejemplo de red neuronal de Perceptron simple para clasificar datos
  3. Cómo entrenar una red neuronal de perceptrón básica
  4. Comprensión del entrenamiento de redes neuronales simples
  5. Introducción a la teoría del entrenamiento para redes neuronales
  6. Comprensión de la tasa de aprendizaje en redes neuronales
  7. Aprendizaje automático avanzado con el perceptrón multicapa
  8. La función de activación sigmoidea:activación en redes neuronales de perceptrones multicapa
  9. Cómo entrenar una red neuronal de perceptrón multicapa
  10. Comprender las fórmulas de entrenamiento y la retropropagación para perceptrones multicapa
  11. Arquitectura de red neuronal para una implementación de Python
  12. Cómo crear una red neuronal de perceptrón multicapa en Python
  13. Procesamiento de señales mediante redes neuronales:validación en el diseño de redes neuronales
  14. Conjuntos de datos de entrenamiento para redes neuronales:cómo entrenar y validar una red neuronal Python

La naturaleza del procesamiento de señales de redes neuronales

Una red neuronal es fundamentalmente diferente de otros sistemas de procesamiento de señales. La forma "normal" de lograr algún tipo de objetivo de procesamiento de señales es aplicar un algoritmo.

En este modelo, un investigador crea un método matemático para analizar o modificar una señal de alguna manera. Existen métodos para eliminar el ruido del audio, encontrar bordes en las imágenes, calcular la temperatura a partir de la resistencia de un termistor, determinar el contenido de frecuencia de una forma de onda de RF, etc. Luego, el diseñador se basa en el trabajo del investigador convirtiendo ese método en un algoritmo que puede ser llevado a cabo por un procesador y adaptado a las necesidades de una aplicación determinada.

Un filtro FIR es un ejemplo de un sistema de procesamiento de señales que podemos evaluar y comprender de una manera matemática precisa.

Una red neuronal entrenada, por otro lado, es un método empírico sistema.

Los procesos matemáticos que ocurren en la red no constituyen un algoritmo específico que pretenda clasificar caracteres manuscritos, ni predecir la formación de tornados, ni desarrollar procedimientos de control para maniobras aeronáuticas extremas. Más bien, las matemáticas en la red neuronal son un marco que permite a la red crear un modelo computacional personalizado basado en datos de entrenamiento.

Entendemos el marco matemático que permite que una red neuronal aprenda y logre su funcionalidad requerida, pero el algoritmo real de procesamiento de señales es específico para los datos de entrenamiento, la tasa de aprendizaje, los valores de peso inicial y otros factores.

Una red neuronal, a diferencia de un filtro FIR, depende de muchos factores diferentes.

Es como la diferencia entre aprender un idioma de niño y estudiar un idioma de adulto.

Un niño que ni siquiera ha escuchado la palabra "gramática" puede producir repetidamente la forma verbal correcta porque su cerebro ha reconocido y retenido naturalmente los patrones contenidos en la enorme cantidad de datos de entrada lingüística que los niños reciben de las personas mayores con las que interactúan.

Sin embargo, los adultos generalmente no tienen acceso a toda esta información y es posible que no asimilen los patrones de la misma manera, por lo que memorizamos e implementamos los "algoritmos" lingüísticos que nos permiten conjugar correctamente los verbos y elegir los tiempos.

La importancia de la validación

Las redes neuronales pueden resolver problemas extremadamente complejos porque cuando se les proporciona información abundante, encuentran "naturalmente" patrones matemáticos similares a cómo los niños encuentran patrones lingüísticos. Pero este enfoque del procesamiento de señales no es de ninguna manera infalible.

Piense en los niños de habla inglesa que dicen "goed" en lugar de "went" o "holded" en lugar de "hold". Estos se denominan errores de sobreregularización. Han recogido el patrón -ed para el tiempo pasado, pero por alguna razón, tal vez datos insuficientes o idiosincrasias cognitivas, todavía no han refinado su modelo lingüístico para explicar los verbos que son irregulares en tiempo pasado.

Nadie, por supuesto, va a castigar a un niño de cuatro años por decir "Fui al parque". Pero si un político prominente estuviera pronunciando un discurso importante y repetidamente dijera "ido", "retenido", "encontrado", "conocido", etc., la audiencia estaría seriamente disgustada (o completamente perpleja) y la carrera política del orador podría llegará a un final abrupto.

Estos errores de sobreregularización son un buen ejemplo de cómo una red neuronal entrenada puede tener brechas inesperadas en su capacidad para lograr la funcionalidad de procesamiento de señales deseada. Y aunque las pequeñas lagunas pueden parecer poco importantes, o incluso interesantes, cuando simplemente estamos realizando experimentos, el ejemplo del político nos recuerda que podrían ser catastróficas en una aplicación real.

Tanto el entrenamiento insuficiente como el sobreentrenamiento pueden provocar un comportamiento inesperado y problemático cuando la red se enfrenta a datos reales de la aplicación. Consulte la Parte 4 para obtener más información.

Y ahora vemos por qué la validación es un aspecto crucial del desarrollo de redes neuronales. El entrenamiento no es suficiente, porque un conjunto de datos de entrenamiento es inherentemente limitado y, por lo tanto, la respuesta de la red a este conjunto de datos también es limitada.

Además, el entrenamiento da como resultado un sistema computacional de “caja negra” que no podemos analizar y evaluar como si fuera una fórmula o algoritmo típico. Por lo tanto, necesitamos validar , que yo definiría como hacer todo lo que razonablemente podamos para asegurarnos de que la red procesará con éxito los datos de entrada típicos de la vida real y no producirá fallas espectaculares cuando se presenten datos atípicos.

Clasificación por terminología

El procedimiento que identifico como "validación" también podría llamarse "verificación" o simplemente "prueba".

En el contexto del desarrollo de software, los dos primeros términos tienen significados distintos. Wikipedia, citando a Barry Boehm, dice que la verificación busca determinar si el producto se está construyendo correctamente y la validación busca determinar si se está construyendo el producto correcto. Dado que ambos problemas son esenciales, verá la abreviatura "V&V" para "verificación y validación".

No soy un ingeniero de software, así que espero que eso signifique que no estoy obligado a adoptar este paradigma. Simplemente estoy usando el término "validación" para referirme a las pruebas, el análisis y la observación que realizamos en un intento de asegurarnos de que la red neuronal entrenada cumpla con los requisitos del sistema.

Reflexiones finales:¿Qué es exactamente la validación?

Bueno, eso depende.

La NASA, por ejemplo, publicó un documento bastante extenso titulado "Verificación y validación de redes neuronales para sistemas aeroespaciales". Si está más interesado que yo en V&V de redes neuronales, es posible que desee comenzar con este documento. Si eres un verdadero fanático de V&V, deberías considerar el libro Métodos y procedimientos para la verificación y validación de redes neuronales artificiales .; tiene 293 páginas y seguramente excede mis conocimientos sobre este tema en al menos tres órdenes de magnitud.

En mi mundo de redes neuronales simples desarrolladas con fines experimentales o de instrucción, la validación significa principalmente ejecutar la red entrenada con datos nuevos y evaluar la precisión de la clasificación, y también podríamos incluir ajustes que nos ayuden a determinar si el rendimiento general puede ser mejorado y cómo hacerlo. mejorado.

Analizaremos técnicas de validación específicas en artículos futuros.


Robot industrial

  1. Tipos de señales eléctricas
  2. ¿Qué es una red en sistemas integrados? - Diferentes tipos de redes
  3. Un curso intensivo en el aprovisionamiento de redes inalámbricas
  4. El procesador multinúcleo integra la unidad de procesamiento neuronal
  5. El chip de radar de baja potencia utiliza redes neuronales con picos
  6. Comprender los mínimos locales en el entrenamiento de redes neuronales
  7. Incorporación de nodos de sesgo en su red neuronal
  8. Cómo aumentar la precisión de una red neuronal de capa oculta
  9. Uso de redes neuronales para obtener imágenes de rayos X más rápidas
  10. 3 técnicas de enrutamiento en el diseño de circuito de señal de alta velocidad de PCB
  11. Procesamiento isométrico diferencial y verificación de simulación del diseño de PCB de alta velocidad