Tipos de redes neuronales (¡y lo que hace cada una!) Explicación
Hay una gran cantidad de redes neuronales que tienen propiedades cautivadoras. Éstos son los más notables.
Vansh Sethi
28 de diciembre de 2019·8 min de lectura
El aprendizaje automático, un subconjunto de la inteligencia artificial, incorpora redes neuronales para crear un software increíble que usamos a diario.
Si usó Google para encontrar este artículo mediano, usó la red neuronal de Googlework que clasifica las páginas más relevantes según las palabras clave que le asignó. Si visitó Amazon.com recientemente, todos los productos recomendados que le sugirió el sitio web fueron seleccionados por una red neuronal. Incluso hoy en día, si usó su teléfono, probablemente se encontró con una red neuronal que le hizo la vida más fácil. Está a nuestro alrededor, y todos hacen cosas diferentes y funcionan de diferentes maneras.
Entonces … ¿Qué es una «red neuronal»?
La palabra ‘Neural’ es solo otra palabra para el Cerebro. «Así que es un cerebro ¿la red?» En esencia, ¡totalmente! Una red neuronal es una simplificación de nuestra herramienta más poderosa, la cerebro. Usa neuronas que están todos conectados entre sí a través de pesos (las líneas en la imagen de abajo). Las neuronas reciben una entrada numérica y se multiplican por los pesos. Los pesos son el corazón de la red neuronal y, al cambiarlos a valores numéricos específicos, podemos procesar cualquier entrada y obtener la salida deseada. Una red neuronal es solo una forma de procesar datos. Los datos son el 🔑 aquí y al manipular los datos a través de una variedad de redes neuronales … ¡podemos construir herramientas muy poderosas que hacen algunas cosas locas!
The Perceptron: la red neuronal más antigua y sencilla
El perceptrón es la red neuronal más antigua, creada en 1958. También es la red neuronal más simple. Desarrollado por Frank Rosenblatt, el perceptrón sentó las bases para los fundamentos de las redes neuronales.
Esta red neuronal solo tiene uno neurona, haciéndolo extremadamente simple. Se necesita norte cantidad de entradas y las multiplica por los pesos correspondientes. Calcula solo una salida. Sufre debido a su falta de complejidad, ya que solo puede procesar datos con un nivel de complejidad.
Casos de uso:
- Entendiendo el cerebro humano
- Ampliación para redes neuronales más avanzadas
Perceptrón multicapa: ¿Qué son las capas?
Un perceptrón multicapa (MLP) sigue siendo un perceptrón, sin embargo, existe una complejidad adicional a través del advenimiento de capas. Hay tres tipos de capas en un MLP:
Capa de entrada:
La capa de entrada es lo que parece, los datos que está ingresando en la red neuronal. Los datos de entrada deben ser numéricos. Esto significa que es posible que deba tomar algo que no sea numérico y encontrar una manera de hacerlo numérico. El proceso de manipular datos antes de ingresarlos en la red neuronal se llama datos Procesando y muchas veces será la parte que más tiempo requiera para crear modelos de aprendizaje automático.
Capa (s) oculta (s):
Las capas ocultas están compuestas por la mayoría de las neuronas de la red neuronal y son el núcleo de la manipulación de los datos para obtener la salida deseada. Los datos pasarán a través de las capas ocultas y serán manipulados por muchos pesos y sesgos. Se llama la capa «oculta» porque los desarrolladores de redes neuronales no trabajarán directamente con estas capas, a diferencia de las capas de entrada y salida.
Capa de salida:
La capa de salida es el producto final de la manipulación de los datos en la red neuronal y puede representar diferentes cosas. A menudo, la capa de salida consta de neuronas, cada una de las cuales representa un objeto y el valor numérico adjunto es la probabilidad de que sea ese objeto específico. Otras veces, podría ser la salida de una neurona el valor de algo cuando se le dan ciertas entradas. La idea principal es que las capas de salida son el resultado de los datos cuando pasan a través de la red neuronal y el objetivo que estamos tratando de alcanzar.
Director de feed forward:
La idea es que pasamos datos numéricos a las redes y continúe adelante con muchas operaciones. Alimentamos los datos. Para obtener las operaciones correctas de modo que cualquier entrada dada siempre produzca una salida deseada, se requiere capacitación. Básicamente, la formación consiste en encontrar lo que produce los mejores resultados y aplicarlos en la red.
Casos de uso:
- Visión por computador
- Procesamiento natural del lenguaje
- Base para otras redes neuronales
Red neuronal convolucional: ¿capas convolucionales?
Una red neuronal convolucional todavía usa los mismos principios que usan los MLP, sin embargo, esta red neuronal implementa capas convolucionales. Es importante tener en cuenta que las redes neuronales convolucionales se utilizan generalmente para imágenes y videos.
Es importante reconocer que las imágenes son solo una cuadrícula de números, y cada número le dice qué tan intenso es un determinado píxel. Sabiendo que es una cuadrícula de números, podemos manipular estos números para encontrar patrones y características de la imagen. Las capas convolucionales hacen esto mediante el uso de filtros.
Filtros
Un filtro es una cuadrícula de números N x M (N & M representa el tamaño de la cuadrícula) definida que se multiplica por la imagen original varias veces. Para comprender lo que está sucediendo realmente, consulte la animación.
El filtro se mueve a través de la cuadrícula y produce nuevos valores. Estos nuevos valores pueden representar bordes o líneas en la imagen. Por ejemplo, tome los filtros a continuación:
El filtro horizontal intenta eliminar los valores distintos del centro vertical. Lo hace usando valores negativos para deshacerse de los bordes y 0 para el centro para hacer que los píxeles sean neutrales. Si el filtro tiene éxito, podrá ver una línea horizontal de los nuevos valores. Lo mismo es cierto para el filtro vertical recién invertido.
Una vez aplicados los filtros en toda la imagen, podemos extraer fácilmente las características principales encontradas por los filtros utilizando una capa de agrupación. Averiguar qué números deben estar en el filtro se decide al entrenar el modelo. Averiguar cuáles son los mejores números producirá los mejores resultados para la tarea general.
Capa de agrupación
Las capas agrupadas hacen lo que parecen. Ellos “agrupan” las características más importantes encontradas por los filtros. Esto se hace utilizando varios métodos. Un método popular es Max Pooling, donde para cada parte filtrada de una imagen, se toma el número más grande y se almacena en una nueva cuadrícula. Lo que esto hace básicamente es tomar las características más importantes y comprimirlas en una imagen, para que sea procesada en un MLP. Este proceso también se puede conocer como muestreo de datos, y su uso arroja resultados muy prometedores.
Casos de uso
- Clasificación de imágenes
- Visión por computador
- Encuentra características / patrones en imágenes
Red neuronal recurrente: ¿datos temporales?
Los datos que podemos analizar con redes neuronales no se limitan por completo a los datos estáticos. Cosas como imágenes, números y marcos son todos datos que se pueden analizar por sí mismos. Sin embargo, los datos que dependen de instancias pasadas de sí mismos para predecir el futuro son ejemplos de datos temporales. Cosas como datos del mercado de valores, datos de series de tiempo, datos de ondas cerebrales y más siempre se analizan utilizando instancias pasadas de una variable dependiente. Las redes neuronales mencionadas hasta ahora no abordan otros estados de datos, sin embargo, los RNN son la solución.
Matrices de estado
Los RNN recuerdan estados anteriores de datos almacenando la última salida en su propia memoria. Estos se llaman matrices de estado. Funciona como una capa normal en un MLP pero usa la matriz de estado para calcular la nueva salida. El uso de resultados y estados de datos anteriores considera esencialmente esos datos en el resultado final. Esto es crucial para aplicaciones como las predicciones del mercado de valores y la previsión de series de tiempo.
LSTM
Las redes de memoria a largo y corto plazo amplían aún más esta idea de ahorro matrices de estado en dos estados. Hay un estado a largo plazo y un estado a corto plazo. Si un estado persiste en la salida del modelo, se convertirá en una matriz de estados a largo plazo y pesará más al considerar nuevos datos.
El sistema LSTM es súper eficiente para encontrar patrones en datos continuos y está a la vanguardia de los predictores del mercado de valores.
Casos de uso
- Procesamiento natural del lenguaje
- Predicciones del mercado de valores
- Predicciones de datos basadas en el tiempo
Autoencoders: representación de datos de forma comprimida
La mayoría de las redes neuronales toman datos y toman algunos tipos de decisiones. Los codificadores automáticos tienen una tarea diferente, y es encontrar una forma de comprimir los datos pero mantener la misma calidad.
Tradicionalmente, en el aprendizaje automático, las etiquetas adjuntas a nuestros datos son diferentes y el objetivo de la red neuronal es producir. En un codificador automático, las etiquetas son las mismas que las entradas.
Entonces, en esta arquitectura, tiene una capa de entrada y salida idéntica. La capa oculta es más pequeña que la capa de entrada y salida (en términos de nodos) y se llama «Cuello de botella». Dado que el cuello de botella es más pequeño, se ve obligado a encontrar una forma de comprimir los datos originales y volver a colocarlos en la capa de salida. Esta compresión suele ser mejor que los medios convencionales porque aún puede mantener una alta calidad.
Casos de uso:
- Principalmente para representar grandes cantidades de datos de una forma más pequeña y comprimida.
Conclusiones clave
Perceptrones multicapa (MLP)
- Red neuronal básica
- Utilizado para tareas sencillas
Redes neuronales de convolución (CNN)
- Utiliza filtros y agrupaciones para encontrar características en los datos.
- Se utiliza principalmente para tareas de imagen.
Redes neuronales recurrentes (RNN)
- Utiliza el resultado anterior de los datos para descubrir una nueva salida.
- Usado para datos temporales
Codificadores automáticos
- Una nueva forma de comprimir datos sin perder calidad