Curso de Inteligencia Artificial
para docentes de formación profesional
Curso de especialización en Inteligencia Artificial y Big Data
Tutoría a docentes que empiezan a impartir la parte de inteligencia artificial
Juan Francisco (juanfran) Puentes Calvo / fpuentes@edu.xunta.gal
para que los árboles no nos oculten el bosque
Modelos de Inteligencia Artificial
Sistemas de Aprendizaje Automático
Programación de Inteligencia Artificial
600 horas (720 sesiones de 50 minutos)
88 sesiones
109 sesiones
240 sesiones
En total
467 sesiones
en el curso
de un total de 720 sesiones
4 sesiones
5 sesiones
10 sesiones
semana
En total
19 sesiones
a la semana
de un total de 31 sesiones
total
MIA 45%
SAA 55%
PIA
600 horas (720 sesiones de 50 minutos)
9 sesiones semanales
9 sesiones semanales
200 horas
¿Por qué?
Al secuenciar MIA y SAA, damos tiempo a que el alumnado aprenda Python en PIA, mientras que MIA introduce a la IA, y a finales de diciembre introducimos SAA.
En el Wirtz lo organizamos de la siguiente manera
10 sesiones semanales
164 horas
21/dic
600 horas (720 sesiones de 50 minutos)
No podemos dar todo del currículo
MIA: análisis de sistemas robotizados
MIA: sistemas expertos.
PIA: servicios externos (AWS, Google clous, Azure, ...)
PIA: Iot, blockchain, etc ...
De todas formas el alumnado dispone de documentación para consultar estos temas.
¿qué nos "saltamos" del currículo?
Poco uso en nuestro entorno
Poco uso en nuestro entorno
Muy caro (CESGA)
offtopics
porque para navegar antes tenemos que flotar
Inteligencia artificial. Técnicas, métodos y aplicaciones
Varios
Cubre la IA clásica.
NO CUBRE aprendizaje automático (y menos deep learning).
Útil para algoritmos clásicos.
Posible uso para el docente en MIA o incluso algo de PIA.
Deep Learning. Introducción práctica con Keras
Jordi Torres
Primera y segunda parte
Ambos tienen versión online gratuita.
El autor tiene más libros.
Ideal para PIA, SAA y parte de MIA (introducción).
Aprende Machine Learning con Scikit-Learn, Keras y Tensorflow
Aurelien Geron
O'Reilly / Anaya
Va por su tercera edición
Tiene traducción a castellano, pero en B/W (v2).
Ideal para SAA.
Artificial Intelligence. A modern Approach
Stuart Rusell, Peter Norvig.
Una de las biblias de inteligencia artificial (2021).
Hay una versión en castellano ... del 2003.
Uso en MIA, SAA y PIA.
Machine Learning Design Patterns
Valliappa Lakshmanan, et al.
Nivel avanzado.
Excelente rellenador de gaps.
Uso en SAA y quizá PIA. Pero al final.
Deep Learning
Ian Goodfellow, et al.
Nivel avanzado.
Una de las biblias de deep learning.
Uso en SAA y PIA. Pero al final.
Introducción a la Inteligencia Artificial
José María Girón Sierra.
Nivel básico, divulgativo.
Uso en MIA.
Tecnologías Inteligentes
Juan Francisco Puentes Calvo
Creado para la materia "Tecnoloxías intelixentes" de 1º de bach.
Publicación esperada: 2º trimestre octubre.
Nivel bajo e intermedio.
Uso en MIA y SAA.
KAGGLE: https://www.kaggle.com
Punto de encuentro de la ciencia de datos.
Nivel bajo, medio y (muy) avanzado.
Aquí vas a encontrar datasets, modelos y código
Ideal para:
Muy usado en PIA y SAA.
Hay que registarse.
Promueven competiciones.
Hugging Face: https://huggingface.co
Punto de encuentro de machine learning.
Nivel bajo, medio y (muy) avanzado.
Aquí vas a encontrar datasets y modelos.
Tienen API propia, la cual es excelente.
Ideal para:
Muy usado en PIA.
Hay que registrarse.
CESGA: https://www.cesga.es
Centro de supercomputación de Galicia
Hay convenio firmado ente la Consellería y el CESGA para permitir que alumnado tenga cuenta y use la infraestructura.
Básicamente podemos tener acceso al Finisterrae III:
Acceso por VPN, o desde los centros.
Acceso por terminal (*).
Otros
Navegación por la IA
Cursos de Google para ML
Carlos Santana y sus vídeos sobre IA
API de OpenAI, con acceso a todos sus modelos
Mucha info de NVIDIA sobre IA: visitar de vez en cuando
Herramienta de google para ver como funciona un MLP
Otros
Blog de Apple sobre IA. Por ahora no aportan mucho, pero ....
Catálogo de desarrollo de IA, recopilado por NVIDIA
Aprendizaje por refuerzo, usando juegos de Atari. Fork de Gym de OpenAI
Ejemplo de publicación de medium, ....
Editorial online. Publica varias líneas editoriales
Otros
Para crear modelos de reconocimiento fácilmente
Modelos y librerías de META, un paso obligado
Fernando Sancho ha publicado contenido relacionado con IA
Banco de recursos de la XUNTA, especialmente para a distancia
JUPYTER
Jupyter = Julia + Python + R
Permite que un host (probablemente potente) exporte por web un entorno de edición y ejecución de notebooks.
Jupyter lab
Jupyter hub
¡LA HERRAMIENTA!
JUPYTER
Google Colab
https://colab.research.google.com
Jupyter ejecutado sobre la infraestructura de Google.
La mejor combinación.
Puedes reservar gratis entornos de ejecución, incluso con GPU! (T4 o TPU)
Problema:
Nota: KAGGLE tiene algo parecido, pero es muy lento. Sin embargo es usable.
Otras (de propósito concreto)
Hay cientos de herramientas online, algunas de pago y otras gratuitas con registro.
Obviamente, al ser tan cara la infraestructura de ML, casi todas tiene versión PRO con lo cual la versión gratuita es una vía para enganchar al usuario.
De todas formas son útiles.
Grupo de Telegram
Al iniciar el curso por primera vez creamos un grupo de Telegram:
Estáis invitados a uniros
DaVinci
Ordenador de sobremesa, GPU RTX4090 (24 GB)
Turing
Servidor de entrenamiento en rack
3 GPU A5000 (24 GB cada una)
256 GB de RAM y 45TB de disco
Babbage
Synology
Servidor de almacenamiento en rack
200TB de disco
Backups / modelos / servicios de red
Los ordenadores del alumnado no tienen GPU
vamos a acercarnos a los árboles
MIA
Modelos de inteligencia artificial
Principios legales y éticos
La ética en la era de la IA
El marco regulatorio
Aprendizaje automático y deep learning
Modelos de aprendizaje automático
Deep learning: perceptrón, aprendizaje, MLP
Inteligencia artificial
Resolución de problemas
Visión artificial
Procesamiento del lenguaje natural
Introducción
Historia, tipos de IA, vídeos
21/dic
SAA
Sistemas de aprendizaje automático
Aprendizaje profundo
Perceptrón, aprendizaje
MLP, autoencoders, redes convolucionales
Transformers
Aprendizaje automático
Aprendizaje automático supervisado: predicción, clasificación
Aprendizaje automático no supervisado: reducción de dimensionalidad, agrupamientos
Aprendizaje por refuerzo
Introducción
Introducción, conceptos, proyecto ML de principio a fin.
8/ene
PIA
Programación de inteligencia artificial
Aprendizaje profundo
Ejercicios de clasificadores
Ejercicios de clustering
Ejercicios de deep learning
Programación en Python
Python I: bienvenido a python
Python II: python y la IA clásica (búsquedas en el espacio de estados; optimización)
Python III: procesamiento de imágenes y visión artificial
Python IV: procesamiento del lenguaje natural
Entornos pip y conda; el CESGA
Lenguajes de programación y sus entornos
Fundamentos de programación
21/dic
"La herramienta"
Arquitectura cliente-servidor
kernel
kernel
kernel
servicios kernel
Arquitectura cliente-servidor
El editor original
Crea y comparte notebooks.
El entorno
JupyterLab entrega un entorno para gestionar los notebooks.
Notebooks estáticos
JupyterLite entrega un forma de visualizar notebooks.
Notebooks como dashboards
modelos de inteligencia artificial
Esté módulo profesional contiene la información necesaria para desempeñar las funciones de analizar y relacionar la mejora de la eficiencia operativa de las organizaciones y empresas con tecnologías de Inteligencia artificial que se pueden implementar aplicando principios legales y éticos.
modelos de inteligencia artificial
Introducción
Introducción (en moodle)
Historia (en moodle)
Tipos de inteligencia artificial (en moodle)
Vídeos
modelos de inteligencia artificial
Inteligencia artificial
Resolución de problemas (libro Javier Béjar, en moodle)
Visión artificial
Procesamiento del lenguaje natural
Componentes básicos de una imagen
Transformaciones y operaciones con imágenes
Percepción: identificación, segmentación, pose, tracking, profundidad.
Codificación de texto: ASCII, Unicode
Qué es NLP
Tokenización
Steamming y lemmas
Similitud entre textos, análisis de emociones en textos y modelos de lenguaje
Análisis de expresiones
Embeddings (vectores de características)
modelos de inteligencia artificial
Algoritmos y modelos
Aprendizaje automático y deep learning
Modelos de aprendizaje automático
Redes neuronales artificiales
La ciencia de los datos
Entrenamiento y evaluación de modelos
Introducción
El aprendizaje en RNA
Estructura básica en una RNA
Arquitecturas de redes neuronales
Ejemplos de redes neuronales artificiales: librerías
modelos de inteligencia artificial
Introducción
Principios legales y éticos
La ética en la era de la IA
El marco regulatorio
¿Por qué hablar de ética aplicada a la inteligencia artificial?
Riesgos y desafíos éticos del aprendizaje automático
La inteligencia artificial y su futuro marco regulatorio (artículo)
Europa abraza la inteligencia artificial (web)
Propuesta de Reglamento del Parlamento Europeo y del Consejo (web)
modelos de inteligencia artificial
Al acabar este módulo en diciembre, deberían ...
Conocer Python y saber hacer scripts (nivel intermedio)
Manejar con soltura entornos notebook Jupyter
Manejar con soltura entornos bash (pero nivel intermedio)
Lanzar pequeños scripts en el CESGA
Ten en cuenta que MIA y SAA van en secuencia
sistemas de aprendizaje automático
Esté módulo profesional contiene la información necesaria para desempeñar las funciones de analizar y relacionar las técnicas de aprendizaje automático con la predicción de comportamientos futuros que permitan a las organizaciones y empresas la eficiencia operativa.
sistemas de aprendizaje automático
Introducción
Introducción a la ciencia de los datos
Introducción y conceptos
Proyecto de principio de fin
Librerías: pandas, scikit-learn, matplotlib, seaborn, ...
sistemas de aprendizaje automático
Aprendizaje automático
Aprendizaje automático supervisado
Regresión lineal de una variable: descenso del gradiente
Regularización
Support Vector Machines
Árboles de decisión
Algoritmos de ensamble: random forest, xgboost
Clasificadores binarios
Clasificadores multiclase
Datasets a usar
Precios de viviendas en california, Iris dataset
Cáncer de pecho
MNIST digits
MNIST fashion
sistemas de aprendizaje automático
Aprendizaje automático
Aprendizaje automático no supervisado
Reducción de dimensionalidad
Clustering
Detección de anomalías
Datasets a usar
Iris dataset
Cáncer de pecho
MNIST digits
MNIST fashion
sistemas de aprendizaje automático
Aprendizaje profundo
Fundamentos de la redes neuronales
El perceptrón
El perceptrón multicapa
Creación de MLP con keras
Arquitecturas de redes neuronales artificiales
Autoencoders
Redes convulocionales
IA generativa
GAN
Modelos de difusión
Transformers
Redes recurrentes
Datasets a usar
Kaggle: cada año selecciono varios diferentes al del año anterior
programación de inteligencia artificial
Este módulo profesional contiene la información necesaria para desempeñar las funciones de desarrollar aplicaciones de Inteligencia Artificial utilizando lenguajes de programación y entornos de modelado.
programación de inteligencia artificial
Introducción
Introducción a la programación de Inteligencia Artificial
Lenguajes
Entornos: pip, conda, jupyter ...
Librerías
programación de inteligencia artificial
Lenguaje de programación
Python
Usando el intérprete de python
Introducción a Python
Control de flujo
Estructuras de datos
Módulos
Entrada y salida
Errores y excepciones
Orientación a objetos
programación de inteligencia artificial
Python y la IA convencional
Búsqueda en el espacio de estados
Búsquedas sin información
Búsquedas heurísticas
Algoritmos genénicos
Basados en la inteligencia del grupo
Descenso del gradiente
Técnicas de optimización
programación de inteligencia artificial
Visión artificial
Procesamiento de imágenes
Técnicas básicas
Técnicas avanzadas: filtros, convolución, ...
Identificación de patrones
Segmentación semántica y de instancias
Estimación de la profundidad
Percepción
Trabajos
Ajuste fino con YOLO v3 o v8
Máscaras inteligentes
Percepción 3D
Neural Radiance Fields NeRF / Gaussian Splatting
programación de inteligencia artificial
Procesamiento del lenguaje natural
NLP
Técnicas básicas
Técnicas avanzadas: TF-IDF, embeddings, bases de datos de vectores de características
Buscadores clásicos e inteligentes
Síntesis con modelos de lenguaje
Trabajos
Trabajamos con la wikipedia en gallego
Buscador clásico, con TF-IDF
Buscador basado en vectores de características
Entrenamiento de un pequeño modelo de lenguaje
programación de inteligencia artificial
Ciencia de datos y deep learning
Aprendizaje automático
...
Trabajos
Kaggle: cada año selecciono problemas diferentes al curso anterior
Aprendizaje profundo
...
Modelos con paper y repositorio en github, intentar implementarlos
programación de inteligencia artificial
Texto | Audio | Imagen | Vídeo | |
Texto | Traducción automática, generación de texto, resúmenes, ... | Síntesis del habla. | Midjourney, Dalle, Stable diffusion, ... | Generación de vídeo a partir de su descripción. |
Audio | Transcripción del habla. | Transformación y mejora. | Generación de imágenes a partir de audio. | Generación de vídeo a partir de audio. |
Imagen | Descripción de imágenes, OCR, ... | Generación de audio a partir de de imágenes. | Transformación de imágenes, estilos, ... | |
Vídeo | Generación de subtítulos, resúmenes de vídeos, ... | edición automática, SFX, estilos, .... |
Juan Francisco (juanfran) Puentes
fpuentes@edu.xunta.gal
@JuanFranPuentes
@juanFranPuentes