IA 101
¿Qué es el Aprendizaje Profundo?
El aprendizaje profundo es uno de los campos más influyentes y de mayor crecimiento en la inteligencia artificial. Sin embargo, obtener una comprensión intuitiva del aprendizaje profundo puede ser difícil porque el término aprendizaje profundo cubre una variedad de diferentes algoritmos y técnicas. El aprendizaje profundo también es una subdisciplina del aprendizaje automático en general, por lo que es importante entender qué es el aprendizaje automático para entender el aprendizaje profundo.
¿Qué es el Aprendizaje Automático?
Aprendizaje profundo es una extensión de algunos de los conceptos que se originan en el aprendizaje automático, así que por esa razón, tomémonos un minuto para explicar qué es el aprendizaje automático.
En pocas palabras, el aprendizaje automático es un método para permitir que las computadoras realicen tareas específicas sin codificar explícitamente cada línea de los algoritmos utilizados para realizar esas tareas. Hay muchos diferentes algoritmos de aprendizaje automático, pero uno de los algoritmos más comúnmente utilizados es un perceptrón multilayer. Un perceptrón multilayer también se conoce como red neuronal, y está compuesto por una serie de nodos/neuronas conectados. Hay tres capas diferentes en un perceptrón multilayer: la capa de entrada, la capa oculta y la capa de salida.
La capa de entrada introduce los datos en la red, donde se manipulan por los nodos en la capa media/oculta. Los nodos en la capa oculta son funciones matemáticas que pueden manipular los datos que provienen de la capa de entrada, extrayendo patrones relevantes de los datos de entrada. Así es como la red neuronal “aprende”. Las redes neuronales obtienen su nombre del hecho de que están inspiradas en la estructura y función del cerebro humano.
Las conexiones entre nodos en la red tienen valores llamados pesos. Estos valores son esencialmente suposiciones sobre cómo los datos en una capa están relacionados con los datos en la siguiente capa. A medida que la red se entrena, los pesos se ajustan, y el objetivo es que los pesos/suposiciones sobre los datos eventualmente converjan en valores que representen con precisión los patrones significativos dentro de los datos.
Las funciones de activación están presentes en los nodos de la red, y estas funciones de activación transforman los datos de manera no lineal, lo que permite a la red aprender representaciones complejas de los datos. Las funciones de activación multiplican los valores de entrada por los valores de peso y suman un término de sesgo.
¿Qué es el Aprendizaje Profundo?
El aprendizaje profundo es el término dado a las arquitecturas de aprendizaje automático que unen muchos perceptrones multilayer, de modo que no solo hay una capa oculta, sino muchas capas ocultas. Cuanto “más profunda” sea la red neuronal profunda, más sofisticados patrones puede aprender la red.
Las redes de capas profundas compuestas por neuronas a veces se denominan redes completamente conectadas o capas completamente conectadas, en referencia al hecho de que un neurona determinada mantiene una conexión con todos los neuronas que la rodean. Las redes completamente conectadas se pueden combinar con otras funciones de aprendizaje automático para crear diferentes arquitecturas de aprendizaje profundo.
Diferentes Tipos de Aprendizaje Profundo
Hay una variedad de arquitecturas de aprendizaje profundo utilizadas por investigadores e ingenieros, y cada una de las diferentes arquitecturas tiene su propio caso de uso especializado.
Redes Neuronales Convolucionales
Redes neuronales convolucionales, o CNN, son la arquitectura de red neuronal comúnmente utilizada en la creación de sistemas de visión por computadora. La estructura de las redes neuronales convolucionales les permite interpretar datos de imágenes, convirtiéndolos en números que una red completamente conectada puede interpretar. Una CNN tiene cuatro componentes principales:
- Capas convolucionales
- Capas de subsampling/almacenamiento
- Funciones de activación
- Capas completamente conectadas
Las capas convolucionales son las que toman las imágenes como entradas en la red, analizando las imágenes y obteniendo los valores de los píxeles. El subsampling o almacenamiento es donde los valores de la imagen se convierten/reducen para simplificar la representación de las imágenes y reducir la sensibilidad de los filtros de imagen al ruido. Las funciones de activación controlan cómo fluyen los datos de una capa a la siguiente capa, y las capas completamente conectadas son las que analizan los valores que representan la imagen y aprenden los patrones que se encuentran en esos valores.
RNN/LSTM
Redes neuronales recurrentes, o RNN, son populares para tareas donde el orden de los datos es importante, donde la red debe aprender sobre una secuencia de datos. Las RNN se aplican comúnmente a problemas como el procesamiento del lenguaje natural, ya que el orden de las palabras es importante al decodificar el significado de una oración. La parte “recurrente” del término Red Neuronal Recurrente proviene del hecho de que la salida para un elemento determinado en una secuencia depende del cálculo anterior, así como del cálculo actual. A diferencia de otras formas de redes neuronales profundas, las RNN tienen “memorias”, y la información calculada en los diferentes pasos de tiempo en la secuencia se utiliza para calcular los valores finales.
Hay varios tipos de RNN, incluyendo RNN bidireccionales, que toman en cuenta los elementos futuros en la secuencia, además de los elementos anteriores, al calcular el valor de un elemento. Otro tipo de RNN es una Red de Memoria a Corto Plazo (LSTM). Las LSTM son tipos de RNN que pueden manejar cadenas de datos largas. Las RNN regulares pueden ser víctimas de algo llamado “problema de gradiente explosivo”. Este problema ocurre cuando la cadena de datos de entrada se vuelve extremadamente larga, pero las LSTM tienen técnicas para combatir este problema.
Autoencoders
La mayoría de las arquitecturas de aprendizaje profundo mencionadas hasta ahora se aplican a problemas de aprendizaje supervisado, en lugar de tareas de aprendizaje no supervisado. Los autoencoders pueden transformar datos no supervisados en un formato supervisado, lo que permite que las redes neuronales se utilicen en el problema.
Los autoencoders se utilizan con frecuencia para detectar anomalías en conjuntos de datos, un ejemplo de aprendizaje no supervisado, ya que la naturaleza de la anomalía no es conocida. Tales ejemplos de detección de anomalías incluyen la detección de fraude para instituciones financieras. En este contexto, el propósito de un autoencoder es determinar una línea base de patrones regulares en los datos e identificar anomalías o valores atípicos.
La estructura de un autoencoder es a menudo simétrica, con capas ocultas dispuestas de tal manera que la salida de la red se asemeja a la entrada. Los cuatro tipos de autoencoders que se utilizan con frecuencia son:
- Autoencoders regulares/planos
- Autoencoders multilayer
- Autoencoders convolucionales
- Autoencoders regulados
Los autoencoders regulares/planos son solo redes neuronales con una capa oculta, mientras que los autoencoders multilayer son redes profundas con más de una capa oculta. Los autoencoders convolucionales utilizan capas convolucionales en lugar de, o además de, capas completamente conectadas. Los autoencoders regulados utilizan una función de pérdida específica que permite que la red neuronal realice funciones más complejas, funciones que no son solo copiar entradas a salidas.
Redes Adversarias Generativas
Las Redes Adversarias Generativas (GAN) son en realidad múltiples redes neuronales profundas en lugar de una sola red. Dos modelos de aprendizaje profundo se entrenan al mismo tiempo, y sus salidas se alimentan a la otra red. Las redes están en competencia entre sí, y como tienen acceso a los datos de salida de la otra red, ambas aprenden de estos datos y mejoran. Las redes están esencialmente jugando un juego de falsificación y detección, donde el modelo generativo intenta crear nuevas instancias que engañarán al modelo detective/ discriminator. Las GAN se han vuelto populares en el campo de la visión por computadora.
Resumen de Aprendizaje Profundo
El aprendizaje profundo extiende los principios de las redes neuronales para crear modelos sofisticados que pueden aprender patrones complejos y generalizar esos patrones en futuros conjuntos de datos. Las redes neuronales convolucionales se utilizan para interpretar imágenes, mientras que las RNN/LSTM se utilizan para interpretar datos secuenciales. Los autoencoders pueden transformar tareas de aprendizaje no supervisado en tareas de aprendizaje supervisado. Finalmente, las GAN son múltiples redes que se enfrentan entre sí y son especialmente útiles para tareas de visión por computadora.












