Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Introducción al Deep Learning y Redes Neuronales Artificiales, Apuntes de Visión Computacional

Este documento proporciona una introducción al deep learning y las redes neuronales artificiales (ann). Explora la evolución histórica del deep learning, desde los primeros modelos matemáticos de redes neuronales hasta los modelos generativos modernos. Se detallan los elementos fundamentales de una ann, incluyendo conexiones, funciones de activación y capas, así como su funcionamiento a través de forward y backward propagation. Además, se describen diferentes tipos de redes como dnn, cnn y rnn, y se discuten las funciones de pérdida, algoritmos de optimización y técnicas de regularización. El documento también aborda el aprendizaje supervisado, no supervisado y semi-supervisado, la detección de anomalías y el uso de autoencoders para la compresión de datos. Finalmente, se comparan diferentes optimizadores como adam, rmsprop y sgd, destacando sus ventajas y desventajas para diferentes tipos de problemas.

Tipo: Apuntes

2024/2025

Subido el 29/05/2025

ana-cristina-pereda-ortiz
ana-cristina-pereda-ortiz 🇵🇪

1 documento

1 / 8

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Semana 1: Introducción al Deep Learning y Redes Neuronales Artificiales
Deep Learning:
Es un subconjunto del aprendizaje automático que imita al cerebro humano, usando redes
neuronales profundas que extraen y clasifican automáticamente características complejas.
Evolución histórica:
1943: Primer modelo matemático de red neuronal (Pitts y McCulloch).
1957-58: Perceptrón, la primera neurona artificial (Rosenblatt).
1979: Neocognitron, precursor de las redes convolucionales (Fukushima).
1996: Deep Blue vence a Kasparov.
2008: GPUs específicas para Deep Learning.
2016: AlphaGo vence campeón mundial de Go.
2022: Modelos generativos como DALL-E crean imágenes desde texto.
Redes Neuronales Artificiales (ANN):
Inspiradas en el cerebro, están formadas por neuronas artificiales que reciben entradas, las
ponderan, aplican una función de activación y producen salidas.
Componentes clave:
Neuronas: unidades que procesan información.
Conexiones: enlaces que transmiten señales.
Función de activación: decide cuánto se activa una neurona, introduciendo no
linealidad.
Capas: organización en entrada, ocultas (caja negra) y salida.
Inspiración Biología
ANN están inspirado en el cerebro humano
Entradas (inputs) / pesos sinápticos / función de activación / salida
Estructura de una ANN
Capas de entrada: recibe los datos iniciales
Capas ocultas: Presenta la información de forma compleja (descrito como caja negra)
Capa Salida: Proporciona el resultado o respuesta de la red
Funcionamiento:
Forward Propagation: Los datos fluyen desde la entrada hacia la salida, pasando por
capas y funciones de activación para generar predicciones.
Backward Propagation: Se calcula el error comparando con valores reales, se
ajustan pesos con optimizadores (como Adam) para mejorar la predicción, repitiendo
iterativamente.
Tipos de redes:
DNN: Redes profundas con múltiples capas para aprender representaciones
complejas.
CNN: Redes convolucionales especializadas en imágenes, con capas de convolución
y pooling para reconocer patrones visuales.
RNN: Redes recurrentes que manejan secuencias y datos temporales, conservando
memoria útil para lenguaje y series temporales.
pf3
pf4
pf5
pf8

Vista previa parcial del texto

¡Descarga Introducción al Deep Learning y Redes Neuronales Artificiales y más Apuntes en PDF de Visión Computacional solo en Docsity!

Semana 1: Introducción al Deep Learning y Redes Neuronales Artificiales

Deep Learning: Es un subconjunto del aprendizaje automático que imita al cerebro humano, usando redes neuronales profundas que extraen y clasifican automáticamente características complejas. Evolución histórica:

  • 1943: Primer modelo matemático de red neuronal (Pitts y McCulloch).
  • 1957 - 58: Perceptrón, la primera neurona artificial (Rosenblatt).
  • 1979: Neocognitron, precursor de las redes convolucionales (Fukushima).
  • 1996: Deep Blue vence a Kasparov.
  • 2008: GPUs específicas para Deep Learning.
  • 2016: AlphaGo vence campeón mundial de Go.
  • 2022: Modelos generativos como DALL-E crean imágenes desde texto. Redes Neuronales Artificiales (ANN): Inspiradas en el cerebro, están formadas por neuronas artificiales que reciben entradas, las ponderan, aplican una función de activación y producen salidas. Componentes clave:
  • Neuronas: unidades que procesan información.
  • Conexiones: enlaces que transmiten señales.
  • Función de activación: decide cuánto se activa una neurona, introduciendo no linealidad.
  • Capas: organización en entrada, ocultas (caja negra) y salida. Inspiración Biología ANN están inspirado en el cerebro humano Entradas (inputs) / pesos sinápticos / función de activación / salida Estructura de una ANN Capas de entrada: recibe los datos iniciales Capas ocultas: Presenta la información de forma compleja (descrito como caja negra) Capa Salida: Proporciona el resultado o respuesta de la red Funcionamiento:
  • Forward Propagation: Los datos fluyen desde la entrada hacia la salida, pasando por capas y funciones de activación para generar predicciones.
  • Backward Propagation: Se calcula el error comparando con valores reales, se ajustan pesos con optimizadores (como Adam) para mejorar la predicción, repitiendo iterativamente. Tipos de redes:
  • DNN: Redes profundas con múltiples capas para aprender representaciones complejas.
  • CNN: Redes convolucionales especializadas en imágenes, con capas de convolución y pooling para reconocer patrones visuales.
  • RNN: Redes recurrentes que manejan secuencias y datos temporales, conservando memoria útil para lenguaje y series temporales.

Semana 2: Aprendizaje Supervisado Aprendizaje Supervisado Entrenamos modelos con datos ya etiquetados, guiando al modelo para que descubra patrones y relaciones entre entradas (X) y salidas correctas (Y). Objetivo principal: Identificar patrones, buscamos que el modelo descubra “patrones o relaciones entre variable en entada y salida” Estructura de los Datos Entrada (X): Datos que queremos clasificar. Etiqueta (Y): Respuesta correcta asociada a cada entrada. Proceso del Aprendizaje Supervisado Alimentar el modelo con datos para que establezca relaciones. Medir precisión usando función de pérdida. Ajustar parámetros para mejorar el modelo. Repetir hasta minimizar el error a un nivel aceptable. Ciclo de optimización de Aprendizaje Supervisado (Es un ciclo iterativo, debido que se repite en cada época, buscando mejorar el modelo) Definir función de pérdida para medir errores. Calcular la pérdida entre predicciones y valores reales. Ajustar parámetros para reducir errores. Evaluar la mejora en la precisión. Función de Pérdida Permite que el modelo aprenda sistemáticamente de sus errores cuantificándolos.

1. Pérdida de Entropía Cruzada - Mide diferencia entre probabilidades predichas y reales. - Usada en clasificación binaria y multiclase. - Ventajas: buena para clasificación, detecta cambios, señales suaves. - Desventajas: problemas con clases desbalanceadas, necesita muchos datos. 2. Pérdida de Errores Cuadráticos Medios (MSE) - Mide promedio del cuadrado de errores entre predicciones y valores reales. - Usada en regresión (predicción de valores continuos). - Ventajas: fácil de entender, buen rendimiento. - Desventajas: sensible a valores atípicos. 3. Pérdida Hinge

  • Maximiza margen entre clases, usada en Máquinas de Vectores de Soporte (SVM).
  • Ventajas: crea fronteras claras, menos afectada por outliers.
  • Desventajas: no diferenciable en punto 0, sensible a algunos outliers. 4. Divergencia de Kullback-Leibler (KL)
    • Mide cuánto difiere una distribución predicha de la real.
    • Usada en modelos generativos y detección de cambios en datos.
    • Ventajas: excelente medida de similitud, útil en estadística avanzada.
    • Desventajas: no simétrica, difícil de interpretar.

Tareas Clave del Aprendizaje No Supervisado

1. Clustering (Agrupamiento)

Técnica para agrupar datos similares sin conocimiento previo, usando centroides y medidas de similitud. Busca formar grupos homogéneos dentro de conjuntos heterogéneos.

2. Reducción de Dimensionalidad

Proceso que simplifica los datos manteniendo su información esencial, no eliminando columnas arbitrariamente, sino preservando variables importantes para facilitar la visualización y análisis de datos complejos.

3. Detección de Anomalías

Identifica puntos que se desvían significativamente del comportamiento normal, permitiendo detectar valores atípicos o eventos inusuales en conjuntos de datos.

4. Aprendizaje de Reglas de Asociación

Descubre relaciones y asociaciones entre variables dentro de grandes conjuntos de datos, útil para sistemas de recomendación y análisis de cestas de compra.

5. Extracción de Características

Detecta características relevantes en los datos, utilizando técnicas como autoencoders, para facilitar la identificación de patrones subyacentes.

PCA (Análisis de Componentes Principales)

Técnica clave de reducción de dimensionalidad que transforma linealmente los datos a un nuevo sistema de coordenadas, buscando concentrar la mayor varianza en cada componente para facilitar la interpretación y agrupación de los datos.

Los Componentes Principales

  • Primer Componente Principal (PC1): Dirección en el espacio de datos que captura la máxima varianza, representando la mayor cantidad de información.
  • Segundo Componente Principal (PC2): Dirección ortogonal a PC1 que captura la siguiente mayor varianza; su correlación con PC1 es cero.

Proceso de Aplicación de PCA

  1. Estandarizar Datos: Normalizar variables para que tengan escalas comparables y evitar dominancia de rangos grandes.
  2. Calcular Covarianza: Obtener matriz que muestra cómo varían las variables entre sí y con respecto a la media.
  3. Extraer Autovectores y Autovalores: Autovectores indican direcciones de máxima varianza; autovalores miden la magnitud de esa varianza.
  4. Seleccionar Componentes Principales: Elegir los K autovectores con mayores autovalores para formar un espacio reducido.
  5. Proyectar Datos: Transformar datos originales al nuevo espacio dimensional para facilitar visualización y análisis.

Aplicaciones de PCA: Se usa en análisis exploratorio, visualización, preprocesamiento para modelos, reducción de ruido, extracción de características, compresión de imágenes, reconocimiento de patrones y finanzas.

Autoencoders

Red neuronal que aprende codificaciones eficientes de datos no etiquetados, con tres componentes principales: ● Encoder (Codificador): Comprime datos de entrada a una representación de menor dimensión. ● Cuello de Botella (Espacio Latente): Capa central compacta que contiene la representación comprimida, determinando el grado de compresión. ● Decoder (Decodificador): Reconstruye los datos originales desde la representación comprimida. ● neuronas en la capa de salida del decodificador es típicamente igual que la entrada" Funcionamiento El ejemplo visual muestra cómo funciona un autoencoder con un dígito "2": ● Entrada: Imagen original del dígito "2" (podría ser 28×28 píxeles) ● Proceso de codificación: La imagen se comprime a una representación mínima (por ejemplo, "un 2×3, 4, 5, 2×6") ● Representación comprimida: Versión reducida y abstracta del "2" (en el centro) ● Proceso de decodificación: El decoder reconstruye la imagen original a partir de la versión comprimida ● Salida: Imagen reconstruida del "2", similar a la original, aunque puede "perder un poco de características"

Características Clave

  • El cuello de botella fuerza al modelo a aprender representaciones comprimidas, no solo memorizar datos.
  • Debe preservar la información esencial de los datos.
  • Puede ser profundo con múltiples capas en encoder y decoder, aumentando su capacidad. Semana 4: Regulación: L1, L2, Dropout y BatchNormalizacion

El Problema del Sobreajuste (Overfitting)

El sobreajuste ocurre cuando el modelo aprende en exceso los datos de entrenamiento, incluyendo el ruido, en vez de identificar patrones generalizables. Esto resulta en un rendimiento excelente en entrenamiento (99-100%) pero pobre en datos nuevos.

Manifestaciones del Sobreajuste

  • Alta varianza: rendimiento muy variable según el conjunto de entrenamiento.
  • Bajo sesgo (bias): ajuste muy estrecho a los datos, incluso a ruido y excepciones.

Causas del Sobreajuste

  • Entrenamiento excesivo con muchas épocas.
  • Poca penalización del error, es decir, falta de regularización.
  • Durante predicción, todas las neuronas están activas.
  • Beneficios: evita dependencias entre neuronas, promueve aprendizaje independiente y mejora generalización, actuando como un ensemble de redes.
  • Ventajas: fácil de implementar, funciona en capas densas, convolucionales y recurrentes.
  • Consideraciones: puede requerir más épocas, la tasa de dropout debe ajustarse cuidadosamente, y puede no combinarse bien con Batch Normalization o datos pequeños.

Batch Normalization (BN)

  • Normaliza activaciones dentro de cada mini-batch a media cero y varianza uno para combatir el desplazamiento interno de covariables.
  • Se aplica después de capas lineales y antes de la activación.
  • Beneficios: acelera el entrenamiento, permite tasas de aprendizaje más altas, estabiliza gradientes y reduce sensibilidad a la inicialización. También tiene efecto regularizador.
  • Limitaciones: no funciona bien con batches muy pequeños, tiene problemas en NLP con secuencias variables, añade parámetros al modelo y puede no combinarse bien con Dropout. Semana 06:Tecnicas de Optimizacion en Machine Learning

1. Optimización

Busca encontrar los parámetros del modelo que minimizan la función de pérdida para mejorar su rendimiento. La función de pérdida mide qué tan bien actúa el modelo (ejemplo: MSE para regresión, entropía cruzada para clasificación). El objetivo es minimizar esta función para que

el modelo aprenda eficazmente. 2. Métodos de Optimización

Gradiente Descendente (Gradient Descent): Actualiza parámetros moviéndose en la dirección opuesta al gradiente para minimizar la función de pérdida.

  • Batch Gradient Descent: Usa todo el dataset para calcular el gradiente; lento para grandes datos.
  • Stochastic Gradient Descent (SGD): Usa una muestra a la vez; rápido pero ruidoso, requiere buen ajuste de tasa de aprendizaje.
  • Mini-Batch Gradient Descent: Usa pequeños lotes; balancea velocidad y precisión.

2. Métodos de Optimización

  • Gradiente Descendente (Gradient Descent): Actualiza parámetros en dirección del gradiente negativo para minimizar la pérdida. o Batch Gradient Descent: Usa todo el conjunto de datos para calcular el gradiente; es lento en grandes datos. o Stochastic Gradient Descent (SGD): Usa un solo ejemplo por iteración; es rápido pero ruidoso y menos preciso. o Mini-Batch Gradient Descent: Compromiso entre los dos anteriores, usa pequeños lotes para mejorar eficiencia y reducir ruido.
  • La tasa de aprendizaje (learning rate) es crucial: demasiado alta provoca oscilaciones, muy baja ralentiza la convergencia. 3. Técnicas de Optimización Avanzadas
  • Momentum: Usa el "impulso" de iteraciones previas para avanzar más rápido y evitar mínimos locales.
  • AdaGrad: Ajusta la tasa de aprendizaje por parámetro, favoreciendo actualizaciones mayores en parámetros menos frecuentes.
  • RMSProp: Mejora AdaGrad normalizando la tasa de aprendizaje para mayor estabilidad.
  • Adam (Adaptive Moment Estimation): Combina Momentum y RMSProp, ajustando dinámicamente tasas de aprendizaje para cada parámetro, muy eficiente y popular. 4. Optimización de Hiperparámetros
  • Grid Search: Busca exhaustivamente combinaciones predefinidas, costoso computacionalmente.
  • Random Search: Selecciona combinaciones aleatorias, más eficiente en muchos casos.
  • Optimización Bayesiana: Usa modelos probabilísticos para encontrar combinaciones óptimas de forma inteligente y eficiente. 5. Funcionamiento de RMSProp
  • Ajusta tasa de aprendizaje individual para cada parámetro basado en promedio de cuadrados de gradientes pasados.
  • Reduce tasa si el gradiente es grande y la aumenta si es pequeño, facilitando convergencia estable.
  • Ventajas: adaptación automática, manejo de varianza, convergencia rápida.
  • Desventajas: depende de parámetros iniciales, no garantiza mínimo global, requiere más memoria.

6. Adam

  • Optimizador adaptativo que combina ventajas de Momentum y RMSProp.
  • Ajusta tasas de aprendizaje para cada parámetro usando estimaciones de primer y segundo momento del gradiente.
  • Ventajas: adaptabilidad, eficiencia, rápida convergencia, buen desempeño en problemas no convexos.
  • Desventajas: depende de hiperparámetros, riesgo de sobreajuste, no asegura mínimo global.

7. Conclusiones

  • Adam : Convergencia rápida y estable, preferido para problemas complejos y datos escasos.
  • RMSProp : Ideal para funciones de costo ruidosas o no estacionarias.
  • SGD : Simple y eficiente, requiere ajuste cuidadoso de tasa de aprendizaje.
  • SGD con Momentum : Puede superar a Adam en generalización con suficiente tiempo y buen ajuste.