Director
D. Sergio Luis Toral Marín
(Ingeniería Electrónica)
Unidad Promotora
Escuela Técnica Superior de Ingeniería
Impartición
Del 23/05/2023 al 27/06/2023
Modalidad
A distancia
(Plataforma Virtual US)
Idioma de impartición
Español
Preinscripción
Del 01/03/2023 al 30/04/2023
Matrícula
Del 21/04/2023 al 30/04/2023
Objetivos
<p>1. Proporcionar una introducción al lenguaje de programación Python3 y a sus principales módulos (Numpy, Pandas, Matplotlib, Seaborn)2. Introducir desde un punto de vista teórico-práctico la programación de redes neuronales con Tensorflow y Keras3. Aprender la características específicas de las Fully Connected Networks, Convolutional Neural Networks (CNNs), autoencoders y Recurrent Neural Networks (RNNs)4. Programar ejemplos de aplicación con Deep Learning</p>
Competencias
- Capacidad de resolver problemas con iniciativa, toma de decisiones, creatividad, y de comunicar y transmitir conocimientos, habilidades y destrezas
- Capacidad para reconocer cuándo se necesita información, dónde localizarla, cómo evaluar su idoneidad y darle el uso adecuado de acuerdo con el problema que se plantea
- Que los estudiantes sepan aplicar los conocimientos adquiridos y su capacidad de resolución de problemas en entornos nuevos o poco conocidos dentro de contextos más amplios (o multidisciplinares)
- Que los estudiantes posean las habilidades de aprendizaje que les permitan continuar estudiando de un modo que habrá de ser en gran medida autodirigido o autónomo
Procedimiento de evaluación
Asistencia, Pruebas, Trabajos
Requisitos
Requisitos específicos de admisión a los estudios
- Graduados y alumnos de Máster y Doctorado; también, cualquier persona interesada con conocimientos previos de programación (no es necesario en Python).
Criterios de selección de alumnos
- Orden de Preinscripción.
Módulos / Asignaturas
Modalidad de impartición: A distancia
Fechas de inicio-fin: 23/05/2023 - 06/06/2023
Contenido
(Horario: de 17 a 21 horas)
Sesión 1: Introducción a Python I
Características del lenguaje
Formas de trabajar en Python: Anaconda y Spyder
Objetos básicos de Python: Listas, tuplas, cadenas y diccionarios.
Clases en Python.
Sesión 2: Introducción a Python II
Control flujo (if-else, bucles)
Declaración de funciones y funciones nativas
Librerías y Módulos
Manejo de archivos básico
Sesión 3: Trabajando con Arrays (tensores) y Visualización de datos I
Definición, manipulación y operaciones con Arrays de numpy.
Definición, manipulación y operaciones con tensores de tensorflow.
Creación de gráficas con Matplotlib.
Graficas de dispersión, barras, superficies, etc.
Sesión 4: Manipulación de datos I
Introducción a Pandas
Operaciones con dataframes
Fuentes de datos: csv, excel, .zip, html, json, base de datos, APIs
Sesión 5: Manipulación de datos II y Visualización de datos II
Ejemplos de dataset reales para machine learning
Limpiar datos: filtrado, falta de valores, detección de outliers
Visualización de datasets con Seaborn
Sesión 6: Introducción a Machine Learning
Introducción machine learning (aprendizaje supervisado y aprendizaje no supervisado).
Transformaciones de los datos: normalización, escalado, one-hot encoding, pipelines.
Regresión y Clasificación.
Ajustes de modelos
Ejemplos prácticos
Sesión 7: Ejemplos prácticos de preprocesamiento de datos reales y Machine Learning
Preprocesamiento y visualización con dataset ejemplo
Ajustes de modelos
Ejemplos prácticos
Modalidad de impartición: A distancia
Fechas de inicio-fin: 07/06/2023 - 27/06/2023
Contenido
(Horario: de 17 a 21 horas)
Sesión 8: El clasificador logístico
Fundamentos del clasificadores lineales y clasificador logístico
Aplicación: análisis de sentimiento
Overfitting y regularización L1 y L2
Ejemplos prácticos
Sesión 9: Introducción a Deep Learning con Keras I
El perceptrón como clasificador logístico
Redes neuronales profundas
Forward and backward propagation
Definición de modelos secuencias con Keras
Ejemplos de redes densas
Sesión 10: Introducción a Deep Learning con Keras II
Consideraciones prácticas en redes neuronales: tamaño de los datasets y normalización
Técnicas de regularización en redes neuronales: L1, L2, Dropout, data augmentation y early stoipping
Inicialización de los pesos
Algoritmos de optimización en redes neuronales
Ejemplos prácticos
Sesión 11: Redes neuronales convolucionales I
Introducción a computer visión: filtros convolucionales
La capa convolucional
Construcción de redes convolucionales en Keras
Técnicas de data augmentation en Keras
Redes ejemplo: Lenet-5, AlexNet, VGG, ResNet e Inception
Sesión 12: Redes neuronales convolucionales II
Transfer Learning
Redes Siamesas
Transferencia de estilo
Ejemplos prácticos
Sesión 13: Autoencoders I
Introducción
Modelos Functional API en Keras
Autoencoders simles
Autoencoders variacionales
Ejemplos prácticos
Sesión 14: Autoencoders II
Redes generativas Adversarias
Capas Upsampling y convolución traspuesta
Programación: Eager execution en Tensorflow
Dificultad de entrenamiento de las GAN: colapso modal y vanishing gradient
Ejemplos prácticos
Sesión 15: Redes Neuronales Recurrentes RNN I
Introducción a modelos secuenciales
La capa RNN
Modelos GRU y LSTM
Modelos Bidireccionales y con capas ocultas
Definición de las RNN en Keras
Ejemplos prácticos
Sesión 16: Redes Neuronales Recurrentes RNN II
Análisis de Series temporales mediante redes recurrentes
Procesamiento del lenguaje natural mediante redes recurrentes
Profesorado
Personal Académico
- D. Daniel Gutiérrez Reina . Universidad de Sevilla - Ingeniería Electrónica
- Dª. Mª del Rocío Martínez Torres . Universidad de Sevilla - Administración de Empresas y Marketing
- D. Sergio Luis Toral Marín . Universidad de Sevilla - Ingeniería Electrónica
Profesorado
- D. Daniel Gutiérrez Reina . Universidad de Sevilla - Ingeniería Electrónica
- Dª. Mª del Rocío Martínez Torres . Universidad de Sevilla - Administración de Empresas y Marketing
- D. Sergio Luis Toral Marín . Universidad de Sevilla - Ingeniería Electrónica