Conceptos Fundamentales de Deep Learning
Rodrigo Esteban Navaridas
UNIR
Contents
1 Redes Neuronales 2
1.1 Multilayer Perceptron (MLP) . . . . . . . . . . . . . . . . . . 2
1.2 Redes Convolucionales (CNN) . . . . . . . . . . . . . . . . . . 2
1.3 Redes Recurrentes (RNN) . . . . . . . . . . . . . . . . . . . . 3
1.4 Autoencoders . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.5 Transformers . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.6 GANs (Generative Adversarial Networks) . . . . . . . . . . . 5
1.7 Q-Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2 Optimización y Gradiente 6
2.1 Concepto de Gradiente . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Descenso de Gradiente Estocástico (SGD) y Mini-batch SGD 6
2.3 Momentum . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.4 ADAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3 Estrategias para Evitar el Sobreajuste y Convergencia In-
adecuada 7
3.1 Reducción del Tamaño de la Red . . . . . . . . . . . . . . . . 7
3.2 Regularización basada en Penalizaciones . . . . . . . . . . . . 7
3.3 Dropout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.4 Vanishing y Exploding Gradient . . . . . . . . . . . . . . . . 7
3.5 Inicialización Óptima de Pesos . . . . . . . . . . . . . . . . . 7
3.6 Batch Normalization . . . . . . . . . . . . . . . . . . . . . . . 8
4 Selección de Hiperparámetros 8
4.1 Parámetro vs. Hiperparámetro . . . . . . . . . . . . . . . . . 8
4.2 Grid Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4.3 Random Search . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4.4 Optimización Bayesiana . . . . . . . . . . . . . . . . . . . . . 8
1
1 Redes Neuronales
1.1 Multilayer Perceptron (MLP)
Definición: Un Multilayer Perceptron (MLP) es una red neuronal comple-
tamente conectada en la que cada neurona en una capa está conectada a
todas las neuronas de la siguiente capa. Se utiliza principalmente en prob-
lemas de clasificación y regresión en aprendizaje supervisado. Los MLP
pueden modelar relaciones no lineales complejas entre las variables de en-
trada y salida mediante capas ocultas y funciones de activación.
Componentes:
• Capas de entrada, ocultas y salida, donde las capas ocultas transfor-
man los datos con funciones de activación.
• Función de activación (ReLU, Sigmoid, Tanh) para introducir no lin-
ealidad y mejorar la capacidad de aprendizaje del modelo.
• Algoritmo de optimización (SGD, Adam) que ajusta los pesos para
minimizar la función de pérdida.
Casos de uso: Se utilizan en clasificación de imágenes, predicción de
valores numéricos, detección de fraudes y reconocimiento de patrones en
datos estructurados.
Ventajas: Su capacidad de modelar relaciones complejas, flexibilidad y
adaptabilidad a diferentes tipos de datos.
Desventajas: No maneja bien datos con estructura espacial o secuen-
cial, y puede requerir mucho ajuste de hiperparámetros.
1.2 Redes Convolucionales (CNN)
Definición: Las Redes Convolucionales (CNN) están diseñadas para proce-
sar datos con estructura de cuadrícula, como imágenes. Utilizan capas con-
volucionales con filtros para extraer características jerárquicas y patrones
espaciales, lo que las hace altamente eficientes en visión por computadora.
Componentes:
• Capas convolucionales que aplican filtros para detectar características
específicas como bordes y texturas.
• Funciones de activación (ReLU) que introducen no linealidad en la
red.
• Capas de pooling que reducen la dimensionalidad de los datos y mejo-
ran la eficiencia computacional.
2
Casos de uso: Se aplican en clasificación de imágenes, detección de
objetos, segmentación de imágenes y reconocimiento facial.
Ventajas: Capacidad para extraer características sin necesidad de in-
geniería manual, alta precisión en tareas de visión por computadora.
Desventajas: Requieren gran cantidad de datos y poder computacional
significativo.
1.3 Redes Recurrentes (RNN)
Definición: Las Redes Neuronales Recurrentes (RNN) son un tipo de red
neuronal diseñada para procesar datos secuenciales. Incorporan conexiones
recurrentes que permiten que la red mantenga información sobre estados
anteriores, lo que las hace ideales para modelar dependencias temporales en
secuencias de datos.
Componentes:
• Neuronas con conexiones recurrentes que permiten la propagación de
información a través del tiempo.
• Estado oculto que almacena información de pasos anteriores en la se-
cuencia.
• Funciones de activación no lineales para mejorar la capacidad de apren-
dizaje.
Casos de uso: Se utilizan en traducción automática, reconocimiento
de voz, generación de texto y predicción de series temporales.
Ventajas: Captura dependencias en secuencias de datos y puede generar
texto y audio de manera coherente.
Desventajas: Problemas como el vanishing y exploding gradient pueden
dificultar el entrenamiento.
1.4 Autoencoders
Definición: Los Autoencoders son un tipo de red neuronal utilizada para
aprender representaciones eficientes de los datos. Funcionan mediante la
compresión y posterior reconstrucción de la información, eliminando com-
ponentes irrelevantes o ruido. Se utilizan principalmente en aprendizaje no
supervisado y sirven para detectar patrones en los datos de entrada.
Componentes:
• Codificador: Reduce la dimensionalidad de los datos y extrae las
características más relevantes.
• Espacio latente: Representación comprimida de los datos en un es-
pacio de menor dimensión.
3
• Decodificador: Reconstruye la información original a partir del es-
pacio latente.
Casos de uso: Reducción de dimensionalidad, eliminación de ruido
en imágenes, detección de anomalías en datos financieros y sistemas de re-
comendación.
Ventajas:
• No requieren etiquetas para entrenar.
• Pueden descubrir estructuras ocultas en los datos.
Desventajas:
• Pueden generar resultados pobres si la arquitectura no es óptima.
• Pueden sobreajustarse fácilmente si la capacidad del modelo es de-
masiado grande.
1.5 Transformers
Definición: Los Transformers son un tipo de arquitectura basada en mecan-
ismos de atención, que han revolucionado el procesamiento de lenguaje nat-
ural (NLP) al permitir el modelado de relaciones a largo plazo en secuencias
de datos. A diferencia de las RNN, pueden procesar secuencias en paralelo,
lo que mejora su eficiencia.
Componentes:
• Mecanismo de autoatención: Evalúa la importancia de cada pal-
abra en relación con el resto de la oración.
• Encoders y decoders: Procesan la información en múltiples capas,
permitiendo el aprendizaje jerárquico.
• Embeddings posicionales: Añaden información sobre la posición
de los elementos en la secuencia para mantener el orden.
Casos de uso: Traducción automática, generación de texto, análisis de
sentimientos, modelos de lenguaje como GPT y BERT.
Ventajas:
• Permiten el procesamiento en paralelo de secuencias largas.
• Superan a las RNN en tareas de NLP.
Desventajas:
• Requieren grandes cantidades de datos para entrenar.
• Alto consumo computacional.
4
1.6 GANs (Generative Adversarial Networks)
Definición: Las GANs son un tipo de red neuronal generativa que consiste
en dos modelos que compiten entre sí: un generador y un discriminador. Su
objetivo es crear datos realistas a partir de ruido aleatorio.
Componentes:
• Generador: Crea datos sintéticos similares a los datos reales.
• Discriminador: Distingue entre datos reales y falsos, proporcionando
retroalimentación al generador.
Casos de uso: Generación de imágenes realistas, deepfakes, síntesis de
voz, mejora de resolución de imágenes y generación de datos sintéticos para
entrenamiento.
Ventajas:
• Capacidad para crear datos realistas sin necesidad de etiquetado.
• Útiles en aplicaciones de mejora de calidad de imágenes y simulaciones.
Desventajas:
• Difíciles de entrenar y propensas al colapso del modo (el generador
produce poca diversidad de datos).
• Alto consumo computacional.
1.7 Q-Learning
Definición: Q-Learning es un algoritmo de aprendizaje por refuerzo basado
en valores, que permite a un agente aprender a tomar decisiones óptimas en
un entorno desconocido mediante la maximización de una función de rec-
ompensa. Se basa en la ecuación de Bellman y en la actualización iterativa
de valores de una tabla Q(s, a).
Componentes:
• Estados (s): Representación del entorno en un momento dado.
• Acciones (a): Conjunto de decisiones posibles que el agente puede
tomar en cada estado.
• Recompensa (r): Retroalimentación recibida después de tomar una
acción.
• Función Q(s, a): Tabla que almacena la "calidad" esperada de cada
acción en cada estado.
5
Casos de uso: Juegos (Deep Q-Network en videojuegos de Atari),
robótica (navegación autónoma), optimización de redes y sistemas de re-
comendación.
Ventajas:
• Puede aprender en entornos sin necesidad de un modelo explícito del
sistema.
• Se adapta bien a problemas de toma de decisiones a largo plazo.
Desventajas:
• Su convergencia puede ser lenta.
• En problemas con grandes espacios de estados, la representación en
tabla se vuelve inviable.
2 Optimización y Gradiente
2.1 Concepto de Gradiente
El gradiente es una herramienta matemática que mide la tasa de cambio
de una función en un punto determinado. En el contexto del aprendizaje
automático y deep learning, el gradiente indica cómo ajustar los parámetros
de un modelo para minimizar la función de costo. La optimización basada
en gradientes permite encontrar valores óptimos para los parámetros del
modelo de manera eficiente.
2.2 Descenso de Gradiente Estocástico (SGD) y Mini-batch
SGD
El descenso de gradiente estocástico (SGD) es una variante del descenso de
gradiente tradicional en la que los parámetros del modelo se actualizan de-
spués de cada muestra de entrenamiento en lugar de usar todo el conjunto de
datos. Esto permite converger más rápido pero introduce ruido en las actu-
alizaciones. Mini-batch SGD es un compromiso entre SGD y el descenso de
gradiente estándar, donde las actualizaciones se realizan utilizando pequeños
lotes de datos en lugar de muestras individuales.
2.3 Momentum
Momentum es una técnica que acelera la convergencia en el descenso de
gradiente al acumular información sobre la dirección del gradiente en itera-
ciones previas. Esto ayuda a reducir la oscilación en valles estrechos y a
mejorar la estabilidad del entrenamiento en redes neuronales profundas.
6
2.4 ADAM
El optimizador Adam (Adaptive Moment Estimation) combina los benefi-
cios de Momentum y RMSprop para ajustar la tasa de aprendizaje de cada
parámetro individualmente. Utiliza estimaciones de la media y la varianza
del gradiente para realizar actualizaciones más efectivas y eficientes en tér-
minos de convergencia.
3 Estrategias para Evitar el Sobreajuste y Con-
vergencia Inadecuada
3.1 Reducción del Tamaño de la Red
Reducir la cantidad de neuronas y capas en un modelo puede ayudar a
prevenir el sobreajuste al minimizar la complejidad del modelo y reducir la
posibilidad de aprender patrones espurios.
3.2 Regularización basada en Penalizaciones
Las técnicas de regularización como L1 (Lasso) y L2 (Ridge) agregan penal-
izaciones a los pesos del modelo para prevenir valores excesivamente grandes,
lo que mejora la generalización en datos no vistos.
3.3 Dropout
Dropout es una técnica que apaga aleatoriamente ciertas neuronas durante
el entrenamiento para evitar que el modelo dependa demasiado de ciertos
nodos, mejorando la robustez y reduciendo el sobreajuste.
3.4 Vanishing y Exploding Gradient
El problema del vanishing gradient ocurre cuando los gradientes se vuelven
demasiado pequeños, dificultando el aprendizaje en capas profundas. El ex-
ploding gradient ocurre cuando los gradientes crecen exponencialmente, lo
que causa inestabilidad en el entrenamiento. Métodos como Batch Normal-
ization y optimizadores avanzados ayudan a mitigar estos problemas.
3.5 Inicialización Óptima de Pesos
La correcta inicialización de los pesos es crucial para evitar problemas de
convergencia. Métodos como Xavier y He Initialization ayudan a estabilizar
los valores de activación durante la propagación del modelo.
7
3.6 Batch Normalization
Batch Normalization normaliza las activaciones de cada capa para mejorar
la estabilidad del entrenamiento y acelerar la convergencia. También ac-
túa como una forma de regularización al reducir la dependencia de ciertas
características individuales en los datos de entrada.
4 Selección de Hiperparámetros
4.1 Parámetro vs. Hiperparámetro
Los parámetros son valores aprendidos durante el entrenamiento, como los
pesos de una red neuronal. En cambio, los hiperparámetros son configura-
ciones definidas antes del entrenamiento, como la tasa de aprendizaje y el
número de capas en una red neuronal.
4.2 Grid Search
Grid Search es un método de optimización de hiperparámetros que explora
todas las combinaciones posibles dentro de un conjunto definido de valores.
Aunque garantiza encontrar la mejor configuración, es computacionalmente
costoso.
4.3 Random Search
Random Search selecciona valores aleatorios para los hiperparámetros den-
tro de un rango predefinido. Es más eficiente que Grid Search en términos
de tiempo de cómputo y, en muchos casos, puede ofrecer resultados compa-
rables.
4.4 Optimización Bayesiana
La optimización bayesiana es un método más avanzado que modela la relación
entre hiperparámetros y rendimiento del modelo utilizando modelos proba-
bilísticos. Aprende de iteraciones previas y elige de manera más inteligente
los próximos valores de hiperparámetros para probar.