Descripción del Curso
Profesores
Fabio A. González
Profesor Titular
Depto. de Ingeniería de Sistemas e Industrial
Universidad Nacional de Colombia
Jaime H. Niño
Profesor Ocasional
Depto. de Ingeniería de Sistemas e Industrial
Universidad Nacional de Colombia
Objetivo del curso
Los sistemas inteligentes estudian el desarrollo de agentes inteligentes o racionales. Un agente racional debe ser capaz de actuar para maximizar el mejor resultado esperado. El objetivo del curso es estudiar la teoría y los métodos que permiten construir agentes racionales bajo diferentes condiciones.
Temas
1 Introducción
1.1 Historia de la IA
1.2 Qué es IA
1.3 Agentes inteligentes
2 Solución de problemas
2.1 Agentes y Búsquedas
2.2 Búsqueda no informada
2.3 Búsqueda informada
3 Aprendizaje de máquina
3.1 Qué es aprendizaje de máquina
3.2 Aprendizaje supervisado
3.2.1 Clasificación lineal
3.2.2 Modelos probabilísticos (regresión logística, Naïve Bayes)
3.2.3 Clasificación no lineal (k-nn, árboles de decisión)
3.2.4 Support Vector Machines
3.2.5 Random Forest
3.2.6 Redes Neuronales
3.2.7 Deep learning
3.3 Aprendizaje no supervisado
3.3.1 Reducción de la dimensionalidad
3.3.2 Clustering
3.4 Aprendizaje por refuerzo
Evaluación
- Quices 15%
- Participación 10%
- Examen 30%
- Talleres 15%
- Curso DL: 20%
- Cada entrega: 4%
- Evaluación final 4%
- Proyecto 10%
Recursos del Curso
Bibliografía
- [Russell21] Russell, S and Norvig, P. 2021 Artificial Intelligence: a Modern Approach, 4th Ed, Prentice-Hall
- [Alp10] Alpaydin, E. 2010 Introduction to Machine Learning, 2Ed. The MIT Press.
- [IAI-Udac] Intro to Artificial Intelligence, Udacity
- [CS188-Berkeley] CS 188 Introduction to Artificial Intelligence, UC Berkley, Summer 2021
- [aima-python] Python code for the book Artificial Intelligence: A Modern Approach, GitHub repository
- [FundDL] Raúl Ramos, Fundamentos de Deep Learning, Universidad de Antioquia, 2021
Calendario del curso
| Semana | Tema | Material | Actividades |
|---|---|---|---|
| Mar 7 | 1. Introducción | Clase asíncrona: Inteligencia Artificial (video) Lectura: [Russell21] Chap 1 (slides) Recursos adicionales: [CS188-Berkeley] Introduction to AI (slides) (video) The Wonderful and Terrifying Implications of Computers That Can Learn, Jeremy Howard, TED | Práctica 1 |
| Mar 14-21 | 1.3 Agentes inteligentes 2.1 Agentes y Búsquedas | Clase asíncrona: Agentes inteligentes (video 1) (video 2) Lectura: [Russell21] Chap 2 (slides) Recursos adicionales: [CS188-Berkeley] Planning agents (slides) (video) | Práctica 2 |
| Mar 28 | 2.1 Agentes y Búsquedas 2.2 Búsqueda no informada | Clase asíncrona: Agentes, búsquedas, BFS, DFS (video 1) (video 2) (video 3) Lectura: [Russell21] Sect 3.1-3.4 (slides) Recursos adicionales: [CS188-Berkeley] Uninformed search (slides) (video) | Taller 1 |
| Abr 4-11 | 2.5 Búsqueda informada | Clase asíncrona: A* y heurísticas (video 1)(video 2) Lectura: [Russell21] Sect 3.5-3.6 (slides) Recursos adicionales: [CS188-Berkeley] A* Search and Heuristics (slides) (video) Search algorithms notebook from AIMA | Taller 2 |
| Abr 18 | 3.1 Qué es aprendizaje de máquina 3.2 Aprendizaje supervisado | Clase asíncrona: Introducción al ML (slides)(video ) Clasificación binaria usando un modelo lineal (notebook)(video ) Recursos adicionales: [Russell21] Sect 19.1, 19.2, 19.6 (slides) | |
| Abr 25 | 3.2.1 Clasificación lineal 3.2.2 Modelos probabilísticos (regresión logística, Naïve Bayes) | Clase asíncrona: Clasificador Naïve Bayes (slides 49-60)(notebook)(video 1)(video 2) Recursos adicionales: [CS188-Berkeley] Naïve Bayes 1 (slides) (video) [CS188-Berkeley] Naïve Bayes 2 (slides) (video) [Russell21] Chapter 12 Notebook: Clasificación Lineal y Evaluación del Desempeño | Práctica 3 |
| May 2 | 3.2.3 Clasificación no lineal (k-nn, árboles de decisión) | Clase asíncrona: Árboles de Decisión, K-nn (slides)(notebook)(video 1)(video 2) Recursos adicionales: [Russell10] Sect 19.3 (slides) Notebook: Clasificación no lineal, complejidad y sobreajuste | Práctica 4 Taller 3 |
| May 9 | 3.2.4 Support-vector machines 3.2.5 Random Forest | Clase asíncrona: Support-vector machines, random forest (notebook 1)(notebook 2)(video 1)(video 2) Recursos adicionales: [Russell10] Sects 19.7.5, 19.8.1-2 (slides) Notebook: Máquinas de vectores de soporte y selección de modelos Notebook: Random Forests y exploración aleatorizada | |
| May 16 | 3.2.6 Redes neuronales | Clase asíncrona: [FundDL] Secc 2.1-2.4 Recursos adicionales: [Russell10] Sect 18.6 (slides) [Alp10] Chap 11 (slides) Neural Network Playground Notebook: Redes Neuronales Notebook: Neural Networks in Keras | |
| May 23 | 3.2.7 Deep learning | Clase asíncrona: [FundDL] Secc 2.5-2.8 Recursos adicionales: Introduction to Deep Learning and Applications (slides) Representation Learning and Deep Learning Tutorial Notebook: CNN for image classification in Keras | |
| May 30 | 3.2.7 Deep learning | Clase asíncrona: [FundDL] Secc 3 Recursos adicionales: Deep learning frameworks (slides) Introduction to TensorFlow (Jupyter notebook) Neural Networks in Keras (Jupyter notebook) | |
| Jun 6 | 3.2.7 Deep learning | Clase asíncrona: [FundDL] Secc 4.1-4.5 Recursos adicionales: Deep learning frameworks (slides) Introduction to TensorFlow (Jupyter notebook) Neural Networks in Keras (Jupyter notebook) | |
| Jun 13 | 3.3 Aprendizaje no supervisado 3.3.2 Clustering (agrupamiento) | Clase asíncrona: Agrupamiento (video) K-means(slides) Notebook: Agrupamiento | Proyecto Final |
| Jun 20 | 3.3.1 Reducción de la dimensionalidad | Clase asíncrona: Reducción de la dimensionalidad con PCA (video) Intro to PCA (slides) A tutorial on principal component analysis (slides) Reducción de la dimensionalidad con PCA (notebook) |
Actividades Curso Fundamentos de Deep Learning
El objetivo es cursar y aprobar algunas de las actividades del curso Fundamentos de Deep Learning. Se debe revisar el material y completar los laboratorios en las fechas especificadas:
- Entrega 1 (May 23):
- LAB 01.01 - WARM UP
- LAB 2.1 - Customized loss function
- Entrega 2 (May 30):
- LAB 2.2 - Sparse Autoencoders
- LAB 2.4 - Model instrumentation
- Entrega 3 (Jun 6):
- LAB 3.1 - TF model subclassing
- LAB 3.2 - Low level Tensorflow
- Entrega 4 (Jun 13):
- LAB 4.1 - Convolutions
- LAB 4.2 - Transfer learning
Entregas actividades del curso
Antes de hacer un envío revise las instrucciones en el enunciado correspondiente. Verifique cuál es su grupo y utilice el enlace apropiado. La se debe hacer antes de la media noche de la fecha límite que aparece en paréntesis.
- Entregas Grupo 1: Lunes y Miércoles 16:00-18:00 Profesor Fabio González