Introducción al Deep Learning con Paquete KERAS (III)

Profesor: Manuel Mendoza García, Científico Titular del CSIC 

Objetivo de los Cursos

Aprender a aplicar con R las principales técnicas de Aprendizaje automático en investigación científica, comprendiendo en profundidad cómo funcionan. El curso tiene una fuerte componente práctica (≈ 80%), con numerosos ejercicios prácticos  procedentes de investigaciones reales, cuya programación, resolución e interpretación se va viendo simultáneamente con la teoría.

A quién va dirigido

Investigadores de cualquier nivel académico.

Requisitos

Conocimientos básicos de R.

Haber cursado  los módulos I y II de Técnicas Avanzadas de Machine Learning o un Curso anterior que incluya ambos módulos
 

Material incluido en el curso

Los códigos explicados de los 20 ejercicios del curso. 

Guía del curso con los principales conceptos en Power Point

Programa

BLOQUE 3. Deep Learning

1. Introducción

   1.1 Redes Neuronales (RN)

   1.2 Redes Neuronales Artificiales vs. Redes Neuronales Biológicas

   1.3 Funcionamiento general del aprendizaje profundo

   1.4 Optimización por Gradiente Descendiente

   1.5 Otros algoritmos de optimización

2. Redes Neuronales Feedforward (FFNN)

   2.1 Entrenamiento

  - Forward propagation

  - Backward propagation (retropropagación)

  - Training loop (bucle de entrenamiento)

   2.2 Función de activación (FdA)

Ejercicio 3.2.1. Activación de la única neurona de una RN con la FdA ReLU y actualización de sus pesos. Script DL

   2.3 Programación de RNs extremadamente simples

   2.4 Tensores

   2.5 Trade-off entre sesgo y varianza en DL

3. Introducción a la librería Keras

   3.1 Hiperparámetros (Hpps) básicos a optimizar

   3.2 Interpretación de las curvas loss y métrica en Keras

Ejercicio 3.3.1. Estimar con FFNN la riqueza de especies de aves invernantes a partir de predictores ambientales, a) Optimizar el nº de épocas con checkpoint_callback; b) Inferir la riqueza de especies esperable en una nueva localidad (NvLoc). Script Numspc.

Ejercicio 3.2.2. Programar (sin librería) paso a paso una RN feedforward con una sola capa (oculta) y una sola neurona, sin utilizar ningún paquete. Script DL

Ejercicio 3.3.2. SOLOS Estimar con FFNN la masa corporal de las aves a partir de su morfología, a) Optimizar el nº de épocas con checkpoint_callback; b) estimar la masa corporal de Accipiter brachyurus, Cincloramphus cruralis y Tigriornis leucolopha (datos reales, pero no de una investigación real). Script AVONETMsCrp

   3.3 Comportamientos de loss y métrica – Estrategias

Ejercicio 3.3.3. Entrenar un modelo de FFNN para predecir si una comunidad estará depauperada a partir de una serie de factores de impacto humano.  Optimizar el nº de épocas con checkpoint callback. Script Human impact.

Ejercicio 3.3.4. SOLOS Entrenar un modelo de FFNN para diagnosticar la posible malignidad de un tumor a partir de 10 características diferentes que pueden tomarse a partir de imágenes digitalizadas de una aguja de biopsia del seno. Optimizar 100 épocas con checkpoint callback. Script BreastCancer (Usar n=300).

Ejercicio 3.3.5. Entrenar un modelo de FFNN para predecir el comportamiento migratorio de las aves a partir de su morfología (clasificación multiclase), a) Optimizar el nº de épocas con checkpoint callback; b) predecir el comportamiento migratorio de Accipiter brachyurus, A. brevipes y A. Butler (Newspcs). Script AVONETMgr

4. Redes Neuronales Recurrentes (RNN)

Ejercicio 3.4.1. Entrenar un modelo de Red Neuronal Recurrente (RNN) utilizando capas LSTM para predecir el nivel de ozono basándose en secuencias temporales de características ambientales y de contaminación. El objetivo es analizar cómo las condiciones ambientales a lo largo del tiempo influyen en la concentración de ozono y predecir su nivel en futuros momentos basándonos en patrones históricos. Script AirQuality

   4.1 Análisis de Series Temporales (ST): regresión multivariada

Ejercicio 3.4.2: Entrena un modelo de RNN utilizando capas LSTM bidireccionales que permita predecir la temperatura a lo largo de un día, a partir de los registros de temperatura de las 24 horas anteriores (registrados cada 10 minutos). Script Jenaclim

   4.2 Análisis de Series Temporales (ST): Auto-regresión basada en ventanas temporales

Ejercicio 3.4.2: Entrena un modelo de RNN utilizando capas LSTM bidireccionales que permita predecir la temperatura a lo largo de un día, a partir de los registros de temperatura de las 24 horas anteriores (registrados cada 10 minutos). Script Jenaclim

   4.3 Procesamiento del Lenguaje Natural (PLN) mediante RNN

  - Tokenización

  - Codificación

  - Embedding

5 Redes Neuronales Convolucionales (ConvNets) 

   5.1 Principales características técnicas

   5.3 Clasificación de imágenes con ConvNets

Ejercicio 3.5.1 Entrenar una ConvNet para el reconocimiento de 5 grandes grupos de mamíferos acuáticos (delfines, nutrias, focas, ballenas y castores) a partir de 500 fotos en color de ejemplares de cada grupo (2500 en total). Testar con otras 100 fotos/grupo dando la matriz de confusión y el coeficiente kappa. Script AqMammals.

Ejercicio 3.5.2 Entrenar una ConvNet para el reconocimiento de dígitos escritos a mano (0 a 9), a partir de 60000 imágenes de 28x28 en gama de grises. Script MNIST

6. Optimización de hiperparámetros Aleatorizada (Random Search)

Ejercicio 3.6.1 Optimización Aleatorizada de una ConvNet entrenada para el reconocimiento de 5 grandes grupos de mamíferos acuáticos (delfines, nutrias, focas, ballenas y castores). 

Optimizar: 

Nº de Neuronas (Dense Units): Cantidad de neuronas en las capas densas.

Función de Activación (Activation): Función de activación utilizada en las capas, como 'relu'.

Tasa de Aprendizaje (Learning Rate): Velocidad a la que el modelo ajusta los pesos durante el entrenamiento.

Nº de Capas Ocultas (Capas): Cantidad de capas ocultas en la red neuronal.

Inicializador de Pesos (Kernel Initializer): Método utilizado para inicializar los pesos en la red, en este caso 'glorot_uniform'.

Regularización L1 (l1) y Regularización L2 (l2): Parámetros de regularización que ayudan a prevenir el sobreajuste.

Tasa de Dropout (Dropout Rate): Proporción de neuronas que se desactivan aleatoriamente durante el entrenamiento para evitar el sobreajuste.

Cantidad de Filtros en las Capas Convolutivas:

Filters Layer 1 (filters_layer1): Cantidad de filtros en la primera capa convolucional.

Filters Layer 2 (filters_layer2): Cantidad de filtros en la segunda capa convolucional.

Nº de Salidas (n_output): nº de clases en la capa de salida, con función de activación 'softmax' para la clasificación multiclase. Script OptAqMammals.

Ejercicio 3.6.2. Optimización Aleatorizada de una RN feedforward entrenada para predecir la riqueza de especies de aves invernantes a partir de predictores ambientales. Usar chatGPT 4.0 para mejorar el modelo. 

Optimizar: 

Nº de Neuronas (neuronas): Cantidad de neuronas en cada capa densa.

Función de Activación (activation): Función de activación utilizada en las capas densas, como 'relu' o 'elu'. Tasa de Aprendizaje (tasa_aprendizaje): Velocidad a la que el modelo ajusta los pesos durante el entrenamiento.

Nº de Capas Ocultas (capas): Cantidad de capas ocultas en la red neuronal.

Regularización L1 (l1): Parámetro de regularización L1, que penaliza los pesos absolutos para evitar el sobreajuste.

Regularización L2 (l2): Parámetro de regularización L2, que penaliza el cuárbol de regresiónado de los pesos para prevenir el sobreajuste.

Inicializador de Pesos (kernel_initializer): Método utilizado para la inicialización de los pesos en la red.

Parámetros del Optimizador Adam: Beta_1: Tasa de decaimiento del primer momento (media).

Beta_2: Tasa de decaimiento del segundo momento (varianza).

Epsilon: Un pequeño Nº para evitar divisiones por cero.

Tasa de Dropout (dropout): Proporción de neuronas desactivadas aleatoriamente durante el entrenamiento para prevenir el sobreajuste. Script OptNumspc.

Ejercicio 3.6.3. SOLOS Optimización Aleatorizada de los mismos hpps que en el ejercicio 3.6.1, de una RN feedforward entrenada para predecir la masa corporal de las aves a partir de su morfología. Script OptAVONETMsCrp

Ejercicio 3.6.4. Optimización Aleatorizada de los mismos hpps que en ejercicio 3.6.1, de una RN feedforward entrenada para predecir si una comunidad estará depauperada a partir de una serie de factores de impacto humano.

Optimizar: 

Nº de Neuronas (neuronas): Cantidad de neuronas en cada capa densa. Función de Activación (activacion): Función de activación utilizada en las capas densas, como 'relu'. Tasa de Aprendizaje (tasa_aprendizaje): Velocidad a la que el modelo ajusta los pesos durante el entrenamiento.

Nº de Capas Ocultas (capas): Cantidad de capas ocultas en la red neuronal.

Regularización L1 (l1): Parámetro de regularización L1, que ayuda a prevenir el sobreajuste penalizando los pesos absolutos de las neuronas.

Regularización L2 (l2): Parámetro de regularización L2, que también contribuye a evitar el sobreajuste penalizando el cuadrado de los pesos.

Inicializador de Pesos (kernel_initializer): 

Método utilizado para la inicialización de los pesos en la red, como 'glorot_uniform'.

Parámetros del Optimizador Adam: 

Beta_1: Tasa de decaimiento del primer momento (media).

Beta_2: Tasa de decaimiento del segundo momento (varianza).

Epsilon: Un pequeño Nº para evitar divisiones por cero en el optimizador.

Tasa de Dropout (dropout): Proporción de neuronas que se desactivan aleatoriamente durante el entrenamiento para evitar el sobreajuste.  Script OptHuman impact.

Ejercicio 3.6.5. SOLOS Optimización Aleatorizada de los mismos hpps que en ejercicio 3.6.1, de una RN feedforward entrenada para diagnosticar la malignidad de un tumor en el pecho a partir de nueve características (grosor de las células, tamaño, forma, etc.) que se toman en las biopsias. Script OptBreastCancer.

7. Transformers (TF)

 

Fecha

  • Martes, 22 Octubre 2024
  • Martes, 29 Octubre 2024

Horario

5 días, 15 horas 22 a 29 octubre (L-J)

Horario Clases en directo: 16.30 a 19.30h

Clases en diferido: disponibles online hasta el 30 de noviembre

Ubicación

Sala de Juntas del Museo 

en modo presencial 

ó en remoto a través de zoom

Plazas

20 plazas presenciales

50 plazas en remoto

RESERVA DE PLAZA

mcnc104@mncn.csic.es

CONSULTAS

mmendoza@mncn.csic.es

Los participantes recibirán un certificado a la finalización del curso.


 

Tarifas

180 euros

(170 euros Amigos del Museo)

Inscripción