Las redes neuronales, también conocidas como redes neuronales artificiales o ANN, son sistemas adaptativos que aprenden empleando neuronas o nodos interconectados en una estructura en capas que se asemeja al cerebro humano. Las redes neuronales pueden aprender a partir de datos; por lo tanto, pueden entrenarse para reconocer patrones, clasificar datos y predecir eventos futuros. Las redes neuronales descomponen la entrada en capas de abstracción. Pueden entrenarse con muchos ejemplos para reconocer patrones en voz o imágenes del mismo modo que el cerebro humano. El comportamiento de las redes neuronales está definido por la forma en que se conectan sus elementos individuales y la fortaleza, o pesos, de esas conexiones. Estos pesos se ajustan automáticamente durante el entrenamiento conforme a una regla de aprendizaje especificada hasta que las redes neuronales artificiales ejecutan la tarea deseada correctamente.
Aplicaciones de las redes neuronales
Las redes neuronales son un tipo de método de Machine Learning inspirado en cómo las neuronas intercambian señales entre sí dentro del cerebro humano. Las redes neuronales son especialmente adecuadas para modelar relaciones no lineales, y suelen utilizarse para efectuar reconocimiento de patrones y clasificar objetos o señales en sistemas de voz, visión y control.
Las redes neuronales, en particular las redes neuronales profundas, destacan por su eficacia en aplicaciones complejas de identificación como reconocimiento de imágenes, traducción de texto y reconocimiento de voz. Estos métodos constituyen una tecnología clave que impulsa la innovación en tareas y sistemas avanzados de asistencia a la conducción, como clasificación de carriles y reconocimiento de señales de tráfico.
Ejemplos de redes neuronales
Estos son algunos ejemplos de uso de redes neuronales en aplicaciones de Machine Learning:
- Segmentación semántica de imágenes y vídeos
- Detección de objetos en imágenes, como peatones y ciclistas
- Entrenamiento de un robot bípedo para que camine con Reinforcement Learning
- Detección del cáncer mediante la asistencia a patólogos en la clasificación de tumores
- Aproximación de soluciones de ecuaciones diferenciales
- Y muchas más
Cómo funcionan las redes neuronales
Las redes neuronales, que se inspiran en los sistemas nerviosos biológicos, combinan varias capas de procesamiento empleando elementos simples que actúan en paralelo. Cada red consta de una capa de entrada, una o varias capas ocultas, y una capa de salida. Cada capa tiene varios nodos, o neuronas, y los nodos de cada capa emplean las salidas de todos los nodos de la capa anterior como entradas, de modo que todas las neuronas se interconectan entre sí a través de las distintas capas. Normalmente se asigna un peso a cada neurona, que se ajusta durante el proceso de aprendizaje. Las disminuciones o aumentos del peso modulan la intensidad de la señal de esa neurona.
Arquitectura típica de redes neuronales.
Al igual que otros algoritmos de Machine Learning, las redes neuronales pueden utilizarse para tareas de clasificación o regresión. Los parámetros del modelo se definen estableciendo pesos para las redes neuronales durante el aprendizaje con datos de entrenamiento, normalmente optimizando los pesos para reducir el error de predicción.
Tipos de redes neuronales
El primer y más sencillo tipo de red neuronal fue el perceptrón, presentado por Frank Rosenblatt en 1958. Constaba de una única neurona y, en esencia, era un modelo de regresión lineal con una función de activación sigmoidal. Desde entonces, se han estudiado redes neuronales cada vez más complejas, que han dado lugar a las redes profundas actuales, que pueden contener cientos de capas.
Deep Learning hace referencia a redes neuronales con muchas capas, mientras que las redes neuronales que solo tienen dos o tres capas de neuronas conectadas se conocen como redes neuronales superficiales. Deep Learning se ha popularizado porque evita extraer características de imágenes, lo que anteriormente dificultaba la aplicación de Machine Learning al procesamiento de imágenes y señales. Aunque en las aplicaciones de procesamiento de imágenes puede omitirse la extracción de características, en las tareas de procesamiento de señales aún suele aplicarse algún tipo de extracción de características para mejorar la precisión del modelo.
En aplicaciones de ingeniería se utilizan comúnmente tres tipos de redes neuronales:
- Redes neuronales feedforward: Constan de una capa de entrada, una o varias capas ocultas, y una capa de salida (típicas redes neuronales superficiales).
- Redes neuronales convolucionales (CNN): Arquitectura de redes neuronales profundas ampliamente utilizada en procesamiento de imágenes y caracterizada por capas convolucionales que desplazan ventanas por la entrada con nodos que comparten pesos, y abstraen la entrada (normalmente una imagen) para crear mapas de características. Puede utilizar redes CNN previamente entrenadas, como SqueezeNet o GoogleNet.
- Redes neuronales recurrentes (RNN): Arquitectura de redes neuronales con lazos de retroalimentación que modelan dependencias secuenciales en la entrada, como en datos de series temporales, sensores y texto; el tipo más popular de RNN son las redes de memoria a corto-largo plazo (LSTM).
Cómo funcionan las redes CNN
Vea este breve vídeo sobre las redes CNN, sus capas, activaciones y clasificación.
Obtenga más información sobre Deep Learning:
Cómo se crean redes neuronales con MATLAB
Utilizando MATLAB® con Deep Learning Toolbox™ y Statistics and Machine Learning Toolbox™, puede crear redes neuronales profundas y superficiales para aplicaciones como visión artificial y conducción autónoma.
Con unas pocas líneas de código, puede crear redes neuronales en MATLAB sin necesidad de ser especialista. Puede iniciarse rápidamente, entrenar y visualizar modelos de redes neuronales, e integrar redes neuronales en un sistema existente y desplegarlas en servidores, sistemas empresariales, clusters, nubes y dispositivos embebidos.
Flujo de trabajo típico para desarrollar sistemas con redes neuronales
Desarrollar aplicaciones de IA, específicamente redes neuronales, suele implicar estos pasos:
- Preparación de datos
- Capture suficientes datos de entrenamiento etiquetados, y muchos más para entrenar redes neuronales profundas; las apps de etiquetado de imágenes, vídeos y señales pueden acelerar este proceso.
- Utilice simulación para generar datos de entrenamiento, especialmente si no es viable recopilar datos de sistemas reales (condiciones de fallo).
- Aumente los datos para disponer de más variabilidad en los datos de entrenamiento.
- Modelado con IA
- Entrene redes neuronales superficiales de manera interactiva en Classification Learner y Regression Learner de Statistics and Machine Learning Toolbox, o utilice funciones de línea de comandos; esto se recomienda si desea comparar el rendimiento de redes neuronales superficiales con otros algoritmos de Machine Learning convencionales, como árboles de decisión o SVM, o si solo dispone de un volumen limitado de datos de entrenamiento etiquetados.
- Especifique y entrene redes neuronales, superficiales o profundas, de manera interactiva con Deep Network Designer o funciones de línea de comandos de Deep Learning Toolbox, que resulta especialmente adecuada para redes neuronales profundas o cuando se necesita más flexibilidad para personalizar arquitectura de red y solvers.
- Simulación y prueba
- Integre redes neuronales en modelos de Simulink® en forma de bloques, para facilitar integración en un sistema más amplio, pruebas y despliegue en muchos tipos de hardware.
- Despliegue
- Genere código C/C++ a partir de redes neuronales superficiales entrenadas en Statistics and Machine Learning Toolbox para desplegarlas en hardware embebido y sistemas de cálculo de alto rendimiento.
- Genere código CUDA® y C/C++ optimizado a partir de redes neuronales entrenadas en Deep Learning Toolbox para inferencia rápida en GPU y otros tipos de hardware industrial (ARM, FPGA).
Temas relacionados
Explore áreas temáticas similares comúnmente asociadas con productos de MATLAB y Simulink.
Seleccione un país/idioma
Seleccione un país/idioma para obtener contenido traducido, si está disponible, y ver eventos y ofertas de productos y servicios locales. Según su ubicación geográfica, recomendamos que seleccione: .
También puede seleccionar uno de estos países/idiomas:
Cómo obtener el mejor rendimiento
Seleccione China (en idioma chino o inglés) para obtener el mejor rendimiento. Los sitios web de otros países no están optimizados para ser accedidos desde su ubicación geográfica.
América
- América Latina (Español)
- Canada (English)
- United States (English)
Europa
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)