¿Qué es una Red Neuronal?

Muchos de los mayores avances en IA están impulsados por redes neuronales artificiales. Las redes neuronales artificiales (ANN) son la conexión de funciones matemáticas unidas en un formato inspirado en las redes neuronales que se encuentran en el cerebro humano.

Guía de Inteligencia Artificial

Estas ANN son capaces de extraer patrones complejos de los datos, aplicando estos patrones a datos invisibles para clasificar/reconocer los datos. De esta forma, la máquina es capazz de aprender.

¿Qué son las Redes Neuronales Artificiales (ANN)?

Este es un resumen muy rápido de las redes neuronales, pero echemos un vistazo más de cerca a las redes neuronales para comprender mejor qué son y cómo funcionan.

Perceptrón multicapa explicado

Antes de ver redes neuronales más complejas, vamos a tomarnos un momento para ver una versión simple de una ANN, un perceptrón multicapa (MLP).

Imagina una línea de montaje en una fábrica. En esta línea de ensamblaje, un trabajador recibe un artículo y le hace algunos ajustes y luego se lo pasa al siguiente trabajador en la línea que hace lo mismo. Este proceso continúa hasta que el último trabajador de la línea le da los últimos toques al artículo y lo coloca en una cinta que lo sacará de la fábrica.

En esta analogía, hay múltiples capas en la línea de ensamblaje y los productos se mueven entre capas a medida que pasan de un trabajador a otro. La línea de montaje también tiene un punto de entrada y un punto de salida.

Se puede pensar en un perceptrón multicapa como una línea de producción muy simple, compuesta de tres capas en total: Una capa de entrada, una capa oculta y una capa de salida.

La capa de entrada es donde los datos se introducen en el MLP y en la capa oculta algunos “trabajadores” manejan los datos antes de pasarlos a la capa de salida que entrega el producto al mundo exterior.

En el caso de un MLP, esos trabajadores se les denominan neuronas (o, a veces, nodos) y cuando manejan los datos, los manipulan a través de una serie de funciones matemáticas.

Dentro de la red, existen estructuras que conectan nodo a nodo llamadas “pesos”. Los pesos son una suposición sobre cómo se relacionan los puntos de datos a medida que se mueven a través de la red.

Para decirlo de otra manera, los pesos reflejan el nivel de influencia que una neurona tiene sobre otra neurona. Los pesos pasan por una “función de activación” al salir del nodo actual, que es un tipo de función matemática que transforma los datos y transforman datos lineales en representaciones no lineales, lo que permite a la red analizar patrones complejos.

La analogía con el cerebro humano implícita en la red neuronal artificial proviene del hecho de que las neuronas que componen el cerebro humano se unen de manera similar a como se vinculan los nodos en una ANN.

Si bien, los perceptrones multicapa han existido desde la década de 1940, hubo una serie de limitaciones que les impidieron ser especialmente útiles. Sin embargo, en el transcurso de las últimas dos décadas, se creó una técnica llamada **”propagación hacia atrás” que permite a las redes ajustar los pesos de las neuronas y por lo tanto, aprender de manera mucho más efectiva.

La retropropagación cambia los pesos en la red neuronal, lo que permite que la red capture mejor los patrones reales dentro de los datos.

Redes neuronales profundas

Las redes neuronales profundas toman la forma básica del MLP y lo hacen más grande agregando más capas ocultas en el medio del modelo. Entonces, en lugar de que haya una capa de entrada, una capa oculta y una capa de salida; hay muchas capas ocultas en el medio.

Las salidas de una capa oculta se convierten en las entradas para la siguiente capa oculta, hasta que los datos llegan hasta el final a través de la red y son devueltos.

Las múltiples capas ocultas de una red neuronal profunda pueden interpretar patrones más complejos que el perceptrón multicapa tradicional, puesto que las diferentes capas de la red neuronal profunda aprenden los patrones de diferentes partes de los datos.

Por ejemplo, si los datos de entrada consisten en imágenes, la primera parte de la red podría interpretar el brillo o la oscuridad de los píxeles, mientras que las capas posteriores seleccionarán formas y bordes que se puedan usar para reconocer objetos en la imagen.

Diferentes tipos de redes neuronales

Hay varios tipos de redes neuronales y cada uno de los diversos tipos de redes neuronales tiene sus propias ventajas y desventajas (por lo tanto, sus propios casos de uso).

El tipo de red neuronal profunda descrito anteriormente es el tipo más común de red neuronal y,a menudo, se le denomina red neuronal de avance.

Una variación de las redes neuronales de avance es la red neuronal recurrente (RNN). En el caso de las redes neuronales recurrentes los mecanismos de bucle se utilizan para contener información de estados de análisis anteriores, lo que significa que pueden interpretar los datos donde importa el orden.

Las RNN son útiles para derivar patrones a partir de datos secuenciales/cronológicos. Las redes neuronales recurrentes pueden ser unidireccionales o bidireccionales. En el caso de una red neuronal bidireccional, la red puede tomar información de partes posteriores de la secuencia, así como de partes anteriores de la secuencia.

Dado que el RNN bidireccional tiene en cuenta más información, es más capaz de dibujar los patrones correctos a partir de los datos.

Una red neuronal convolucional (CNN) es un tipo especial de red neuronal que es experta en interpretar los patrones que se encuentran dentro de las imágenes. Una CNN opera pasando un filtro sobre los píxeles de la imagen y logrando una representación numérica de los píxeles dentro de la imagen, que luego puede analizar en busca de patrones.

Una CNN está estructurada de modo que las capas convolucionales que sacan los píxeles de la imagen vienen primero y luego vienen las capas de alimentación hacia adelante densamente conectadas; aquellas que realmente aprenderán a reconocer objetos.

Relacionado

❌ React Native, crear aplicación como Netflix con Mario Díez

[no_toc] [expand title="Índice del Vídeotutorial"] 1. FlatList Horizontal 2. Componente Swiper 3. Menú Animado y Header 4. FlatList Grid 5. Más Flexbox, Tabs y Linear gradiantes 6. Reproductor de Vídeo 7. Share API 8. Animatable Header y NativeEvents 9. React Navigation 10. Header Múltiple con Animated 11. Modal con React Navigation 12. React Navigation con Redux 13. Servidor NodeJS con MongoDB para React Native 14. Conectando ¡SEGUIR LEYENDO!

❌ React Native con Mario Díez

[no_toc] [expand title="Índice del Vídeotutorial"] 1. Instalación 2. Introducción 3. Props y State 4. Fetch Data 5. ListView 6. Fech Data 2 7. Navigator IOS 8. Navigator 9. Flexbox 10. PropTypes 11. TabBarIOS 12. Formularios 13. AsyncStorage 14. Recorriendo Arrays con Map 15. Notificaciones Push 16. Notificaciones Push desde NodeJS 17. Barra de Búsqueda en ListView 18. Utilización de CameraRoll 19. Children o Props 20. Diferenciar ¡SEGUIR LEYENDO!

❌ React Native con Iván B. Trujillo

[no_toc] [expand title="Índice del Vídeotutorial"] 1. Primeros Pasos 2. Componentes, Botones y Alertas 3. Pantalla de Login, Navegador y Vistas 4. Navegación por Pestañas 5. Peticiones a API y ListView 6. Vista Detalles y Paso de Propiedades a Componente Hijo [/expand] [yotuwp type="playlist" id="PLuzQ5Ac_9_cI-ukaElfIFKXyhLsADBiJe" ] [expand title="Creador"] Editor del blog de Medium: Canarias JS [/expand]

❌ Javascript con Píldoras Informáticas

[no_toc] [expand title="Índice del Vídeotutorial"] 1. Presentación. Vídeo 1 2. Introducción. Vídeo 2 3. Sintaxis Básica I. Ubicación del código. Vídeo 3 4. Sintaxis Básica II. Estructuras Básicas. Vídeo 4 5. Sintaxis Básica III. Operadores Básicos. Vídeo 5 6. Sintaxis Básica IV. Operadores y prompt. Vídeo 6 7. Sintaxis Básica V Arrays, Matrices, Arreglos. Vídeo 7 8. Sintaxis Básica V. Arrays, Matrices, Arreglos II. Vídeo 8 ¡SEGUIR LEYENDO!

❌ Javascript con Falcon Masters

[no_toc] [expand title="Índice del Vídeotutorial"] 1. Introducción 2. Variables 3. Tipos de Dato 4. Arreglos 5. Metodos y propiedades para los Arreglos 6. Condicionales 7. Ciclo Fo 8. Ciclo While 9. Funciones 10. Ejercicio con Funciones y Formularios 11. Scope de Javascript (ámbito de las variables) 12. Metodos y propiedades para Cadenas de Texto 13. Introducción al DOM (Document Object Model) 14. Creando Nodos del DOM ¡SEGUIR LEYENDO!

Salir de la versión móvil