{IA.FP}

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

{visión general}

para que los árboles no nos oculten el bosque

{visión general}

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

{visión general}

MIA 45%

SAA 55%

PIA

600 horas (720 sesiones de 50 minutos)

9 sesiones semanales

9 sesiones semanales

200 horas

¿Por qué?

  1. SAA tiene un contenido muy fuerte para empezarlo en paralelo a los demás módulos.
  2. MIA, en cambio, es un módulo que repasa la IA de principio a fin.
  3. El alumnado viene con muy bajo nivel de programación y nulo conocimiento de Python.

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

{visión general}

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

{recursos}

porque para navegar antes tenemos que flotar

{recursos}

Libros

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.

{recursos}

Libros

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).

{recursos}

Libros

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.

{recursos}

Libros

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.

{recursos}

Libros

Machine Learning Design Patterns

Valliappa Lakshmanan, et al.

Nivel avanzado.

Excelente rellenador de gaps.

Uso en SAA y quizá PIA. Pero al final.

{recursos}

Libros

Deep Learning

Ian Goodfellow, et al.

Nivel avanzado.

Una de las biblias de deep learning.

Uso en SAA y PIA. Pero al final.

{recursos}

Libros

Introducción a la Inteligencia Artificial

José María Girón Sierra.

Nivel básico, divulgativo.

Uso en MIA.

{recursos}

Libros

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.

{recursos}

Sitios

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:

  • Bajarse datasets para ejercicios.
  • Ver código de otros sobre esos datasets.
  • Inspiración para ejercicios.

Muy usado en PIA y SAA.

 

Hay que registarse.

Promueven competiciones.

{recursos}

Sitios

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:

  • Bajarse modelos y datasets.

Muy usado en PIA.

 

Hay que registrarse.

{recursos}

Sitios

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:

  • Más de 350 nodos.
  • 66 de ellos con GPU
  • Sistemas de colas

 

Acceso por VPN, o desde los centros.

 

Acceso por terminal (*).

{recursos}

Sitios

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

{recursos}

Sitios

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

{recursos}

Sitios

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

{recursos}

Herramientas

JUPYTER

https://jupyter.org

 

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!

{recursos}

Herramientas

JUPYTER

{recursos}

Herramientas

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:

  1. Tiene cuotas, lógico. Use with caution.
  2. por la tarde se nota que los EE.UU. reclaman recursos.

Nota: KAGGLE tiene algo parecido, pero es muy lento. Sin embargo es usable.

{recursos}

Herramientas

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.


https://www.xataka.com/basics/mega-guia-71-herramientas-inteligencia-artificial-dime-necesitas-te-digo-que-ias-mejores


{recursos}

RRSS

Grupo de Telegram

Al iniciar el curso por primera vez creamos un grupo de Telegram:

Estáis invitados a uniros

{recursos}

Hardware

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

{introducción}

vamos a acercarnos a los árboles

{introducción}

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

{introducción}

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

{introducción}

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

{Jupyter}

"La herramienta"

{Jupyter}

Arquitectura cliente-servidor

kernel

kernel

kernel

servicios kernel

{Jupyter}

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

{MIA}

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.

{MIA}

modelos de inteligencia artificial

Introducción

Introducción (en moodle)

Historia (en moodle)

Tipos de inteligencia artificial  (en moodle)

Vídeos

{MIA}

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)

{MIA}

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

{MIA}

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)

{MIA}

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

{SAA}

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.

{SAA}

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, ...

{SAA}

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

{SAA}

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

{SAA}

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

{PIA}

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.

{PIA}

programación de inteligencia artificial

Introducción

Introducción a la programación de Inteligencia Artificial

Lenguajes

Entornos: pip, conda, jupyter ...

Librerías

{PIA}

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

{PIA}

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

{PIA}

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

{PIA}

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

{PIA}

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

{PIA}

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

Y eso es todo, amigos!

Code

By Juan Francisco Puentes Calvo