Curricula CS-UNI
5.27. CS261. Inteligencia Artificial (Obligatorio)

5.27. CS261. Inteligencia Artificial (Obligatorio)

  • Semestre: 5to Sem. Créditos: 4
  • Horas del curso: Teoría: 2 horas; Práctica: 2 horas; Laboratorio: 2 horas;
  • Prerrequisitos:

    • STA251. Estadística y Probabilidades (3er Sem)

Figura 5.27: Mapa de Conexión. CS261 Inteligencia Artificial

5.27.1. Justificación

La Inteligencia Artificial (IA) es un campo fundamental de la ciencia de la computación que busca crear sistemas capaces de realizar tareas que normalmente requieren inteligencia humana. Este curso proporciona una introducción a las técnicas utilizadas para construir dichos sistemas, incluyendo algoritmos de búsqueda, razonamiento probabilístico y aprendizaje automático. Los estudiantes aprenderán a modelar problemas complejos e implementar agentes inteligentes, mientras consideran las implicaciones sociales y éticas de estas tecnologías.

5.27.2. Objetivos Generales

1.
Comprender los conceptos fundamentales y la historia de la Inteligencia Artificial.
2.
Implementar y evaluar algoritmos de búsqueda para la resolución de problemas.
3.
Dominar los conceptos básicos del aprendizaje automático, incluyendo aprendizaje supervisado y no supervisado.
4.
Aplicar razonamiento probabilístico para manejar la incertidumbre en sistemas inteligentes.
5.
Analizar los desafíos éticos y el impacto social de la IA.

5.27.3. Contribución a los resultados (Outcomes)

AG-C08) Análisis de Problemas: Identifica, formula y analiza problemas complejos de computación. (Usage)

AG-C09) Diseño y Desarrollo de Soluciones: Diseña, implementa y evalúa soluciones para problemas complejos de computación. (Usage)

5.27.4. Contenido

5.27.4.1. Introducción a la IA: Conceptos y Comportamiento Inteligente (4 horas) [Habilidades AG-C08,AG-C09]

Referencias Bibliográficas: [Russell and Norvig, 2020Luger, 2008]

Temas

1.
Visión general de los problemas de IA, Ejemplos de aplicaciones recientes exitosas de IA
2.
Definiciones de agentes con ejemplos (por ejemplo, reactivos, deliberativos)
3.
¿Qué es el comportamiento inteligente?:
a)
La prueba de Turing y sus defectos
b)
Entrada y salida multimodal
c)
Simulación del comportamiento inteligente
d)
Razonamiento racional versus no racional
4.
Visión general de las Aplicaciones de IA, crecimiento e impacto (económico, social, ético)
5.
Problemas filosóficos
6.
Historia de la IA

Aprendizaje esperado (Learning Outcomes)

1.
Describir la prueba de Turing y el experimento mental de la "Habitación China"[Explicar]
2.
Diferenciar entre razonamiento/comportamiento óptimo y razonamiento/comportamiento similar al humano [Evaluar]
3.
Diferenciar los términos: IA, aprendizaje automático y aprendizaje profundo [Explicar]
5.27.4.2. Características del Problema y Naturaleza de los Agentes (4 horas) [Habilidades AG-C08,AG-C09]

Referencias Bibliográficas: [Russell and Norvig, 2020Luger, 2008]

Temas

1.
Características del problema:
a)
Totalmente observable versus parcialmente observable
b)
Agente único versus multiagente
c)
Determinista versus estocástico
d)
Estático versus dinámico
e)
Discreto versus continuo
2.
Naturaleza de los agentes:
a)
Autonomía autónoma, semiautónoma, de iniciativa mixta
b)
Reflexivos, basados en metas y basados en utilidad
c)
Toma de decisiones bajo incertidumbre y con información incompleta
d)
La importancia de la percepción y las interacciones ambientales
e)
Agentes basados en aprendizaje
f )
Agentes corporeizados:
1)
sensores, dinámicas, efectores
3.
Practicar la identificación de características del problema en entornos de ejemplo
4.
Profundidad adicional sobre la naturaleza de los agentes con ejemplos
5.
Profundidad adicional sobre Aplicaciones de IA, Crecimiento e Impacto (económico, social, ético, seguridad)

Aprendizaje esperado (Learning Outcomes)

1.
Enumerar las características de un problema específico [Aplicar]
5.27.4.3. Estado y Búsqueda No Informada (5 horas) [Habilidades AG-C08,AG-C09]

Referencias Bibliográficas: [Russell and Norvig, 2020Luger, 2008]

Temas

1.
Representación del espacio de estados de un problema:
a)
Especificación de estados, metas y operadores
b)
Factorización de estados en representaciones (espacios de hipótesis)
c)
Resolución de problemas mediante búsqueda en grafos:
1)
por ejemplo, Grafos como un espacio y recorridos de árboles como exploración de ese espacio
2)
Construcción dinámica del grafo (no dada de antemano)
2.
Búsqueda en grafo no informada para resolución de problemas:
a)
Búsqueda en amplitud
b)
Búsqueda en profundidad:
1)
Con profundización iterativa
c)
Búsqueda de costo uniforme
3.
Complejidades de espacio y tiempo de los algoritmos de búsqueda en grafos
4.
Búsqueda bidireccional
5.
Comprensión del espacio de búsqueda:
a)
Construcción de árboles de búsqueda
b)
Espacios de búsqueda dinámicos
c)
Explosión combinatoria del espacio de búsqueda
d)
Topología del espacio de búsqueda (por ejemplo, crestas, puntos de silla, mínimos locales)

Aprendizaje esperado (Learning Outcomes)

1.
Diseñar la representación del espacio de estados para un rompecabezas (por ejemplo, N-reinas o problema de los 3 jarrones) [Aplicar]
2.
Seleccionar e implementar un algoritmo de búsqueda no informada apropiado para un problema (por ejemplo, tres en raya), y caracterizar sus complejidades de tiempo y espacio [Aplicar]
5.27.4.4. Búsqueda Heurística y CSP (6 horas) [Habilidades AG-C08,AG-C09]

Referencias Bibliográficas: [Russell and Norvig, 2020Luger, 2008]

Temas

1.
Búsqueda en grafo heurística para resolución de problemas:
a)
Construcción heurística y admisibilidad
b)
Ascenso de colinas
c)
Mínimos locales y el paisaje de búsqueda:
1)
Soluciones locales versus globales
d)
Búsqueda primero el mejor voraz
e)
Búsqueda A*
2.
Búsqueda en haz
3.
Implementación de la búsqueda A*
4.
Satisfacción de restricciones
5.
Variaciones de A* (IDA*, SMA*, RBFS)

Aprendizaje esperado (Learning Outcomes)

1.
Seleccionar e implementar un algoritmo de búsqueda informada apropiado para un problema después de diseñar una función heurística útil (por ejemplo, un robot navegando en un mundo de cuadrícula 2D) [Aplicar]
2.
Evaluar si una heurística para un problema dado es admisible/puede garantizar una solución óptima [Evaluar]
3.
Diseñar e implementar búsqueda A*/en haz para resolver un problema, y compararla con otros algoritmos de búsqueda en términos del costo de la solución, número de nodos expandidos, etc [Aplicar]
4.
Comparar y contrastar varias búsquedas heurísticas con respecto a la aplicabilidad a un problema dado [Evaluar]
5.
Modelar un rompecabezas lógico o Sudoku como un problema de satisfacción de restricciones, resolverlo con búsqueda con retroceso y determinar cuánto la consistencia de arcos puede reducir el espacio de búsqueda [Aplicar]
5.27.4.5. Búsqueda Adversarial y Optimización Estocástica (5 horas) [Habilidades AG-C08,AG-C09]

Referencias Bibliográficas: [Russell and Norvig, 2020Luger, 2008]

Temas

1.
Juegos adversariales de dos jugadores:
a)
Búsqueda minimax
b)
Poda alfa-beta:
1)
Corte por profundidad
2.
Búsqueda local
3.
Búsqueda tabú
4.
Juegos adversariales de dos jugadores:
a)
El efecto horizonte
b)
Libros de apertura/soluciones de finales
c)
Qué significa resolverün juego (por ejemplo, damas)
5.
Implementación de búsqueda minimax, búsqueda en haz
6.
Búsqueda expectimax (resolución MDP) y nodos de azar
7.
Búsqueda estocástica:
a)
Recocido simulado
b)
Algoritmos genéticos
c)
Búsqueda en árbol Monte Carlo

Aprendizaje esperado (Learning Outcomes)

1.
Aplicar búsqueda minimax en un juego adversarial de dos jugadores (por ejemplo, conecta 4), usando evaluación heurística en una profundidad particular para calcular las puntuaciones a propagar [Aplicar]
2.
Aplicar búsqueda minimax con poda alfa-beta para podar el espacio de búsqueda en un juego adversarial de dos jugadores (por ejemplo, conecta 4) [Aplicar]
3.
Comparar y contrastar algoritmos genéticos con técnicas de búsqueda clásicas, explicando cuándo es más apropiado usar un algoritmo genético para aprender un modelo versus otras formas de optimización (por ejemplo, descenso de gradiente) [Evaluar]
4.
Diseñar e implementar una solución de algoritmo genético para un problema [Aplicar]
5.
Diseñar e implementar un programa de recocido simulado para evitar mínimos locales en un problema [Aplicar]
5.27.4.6. Aprendizaje Automático I: Fundamentos (7 horas) [Habilidades AG-C08,AG-C09]

Referencias Bibliográficas: [Russell and Norvig, 2020Alpaydin, 2020]

Temas

1.
Definición y ejemplos de una amplia variedad de tareas de aprendizaje automático:
a)
Aprendizaje supervisado:
1)
Clasificación
2)
Regresión
b)
Aprendizaje por refuerzo
c)
Aprendizaje no supervisado:
1)
Agrupamiento
2.
Ideas fundamentales:
a)
Teorema de no hay almuerzo gratis: ningún aprendiz puede resolver todos los problemas; las decisiones de diseño de representación tienen consecuencias.
b)
Fuentes de error e indecidibilidad en el aprendizaje automático
3.
Un aprendizaje supervisado simple basado en estadísticas como regresión lineal o árboles de decisión:
a)
Enfocarse en cómo funcionan sin entrar en detalles matemáticos o de optimización; suficiente para entender y usar implementaciones existentes correctamente
4.
El problema del sobreajuste/control de la complejidad de la solución (regularización, poda - solo intuición):
a)
El compromiso entre sesgo (subajuste) - varianza (sobreajuste)

Aprendizaje esperado (Learning Outcomes)

1.
Describir las diferencias entre los tres estilos principales de aprendizaje (supervisado, por refuerzo y no supervisado) y determinar cuál es apropiado para un dominio de problema particular [Explicar]
2.
Diferenciar los términos: IA, aprendizaje automático y aprendizaje profundo [Evaluar]
3.
Formular una aplicación como un problema de clasificación, incluyendo las características de entrada disponibles y la salida a predecir (por ejemplo, identificar caracteres alfabéticos a partir de entrada de cuadrícula de píxeles) [Aplicar]
4.
Identificar el sobreajuste en el contexto de un problema y curvas de aprendizaje y describir soluciones al sobreajuste [Evaluar]
5.
Explicar cómo funciona el aprendizaje automático como un proceso de optimización/búsqueda [Explicar]
5.27.4.7. Aprendizaje Automático II: Datos, Representaciones y Evaluación (7 horas) [Habilidades AG-C08,AG-C09]

Referencias Bibliográficas: [Russell and Norvig, 2020Alpaydin, 2020]

Temas

1.
Trabajar con Datos:
a)
Preprocesamiento de datos:
1)
Importancia y peligros de las elecciones de preprocesamiento
b)
Manejo de valores faltantes (imputación, marcar como faltante):
1)
Implicaciones de imputar versus marcar como faltante
c)
Codificación de variables categóricas, codificación de datos de valor real
d)
Normalización/estandarización
e)
énfasis en datos reales, no ejemplos de libros de texto
2.
Representaciones:
a)
Espacios de hipótesis y complejidad
b)
Expansión de características de base simple, como elevar al cuadrado características univariadas
c)
Representaciones de características aprendidas
3.
Evaluación del aprendizaje automático:
a)
Separación de conjuntos de entrenamiento, validación y prueba
b)
Métricas de rendimiento para clasificadores
c)
Estimación del rendimiento en prueba en datos retenidos
d)
Ajuste de los parámetros de un modelo de aprendizaje automático con un conjunto de validación
e)
Importancia de entender qué está haciendo un modelo, dónde están sus peligros/limitaciones y las implicaciones de sus decisiones

Aprendizaje esperado (Learning Outcomes)

1.
Aplicar dos o más algoritmos de aprendizaje estadístico simple a una tarea de clasificación y medir la precisión de los clasificadores [Aplicar]
2.
Implementar un algoritmo de aprendizaje estadístico y el proceso de optimización correspondiente para entrenar el clasificador y obtener una predicción en nuevos datos [Aplicar]
3.
Explicar los procedimientos adecuados de evaluación de AA, incluyendo las diferencias entre rendimiento en entrenamiento y prueba, y qué puede salir mal con el proceso de evaluación llevando a informes inexactos del rendimiento de AA [Explicar]
4.
Comparar dos algoritmos de aprendizaje automático en un conjunto de datos, implementando la metodología de preprocesamiento de datos y evaluación (por ejemplo, métricas y manejo de divisiones entrenamiento/prueba) desde cero [Aplicar]
5.27.4.8. Aprendizaje Automático III: Redes Neuronales y Ética (6 horas) [Habilidades AG-C08,AG-C09]

Referencias Bibliográficas: [Russell and Norvig, 2020Alpaydin, 2020]

Temas

1.
Redes neuronales básicas:
a)
Fundamentos de comprensión de cómo funcionan las redes neuronales y su proceso de entrenamiento, sin detalles de los cálculos
b)
Introducción básica a redes neuronales generativas (por ejemplo, modelos de lenguaje grandes)
2.
ética para el Aprendizaje Automático:
a)
Enfocarse en datos reales, escenarios reales y estudios de caso
b)
Sesgo de conjunto de datos/algorítmico/de evaluación y consecuencias no deseadas

Aprendizaje esperado (Learning Outcomes)

1.
Describir el proceso de entrenamiento de redes neuronales y las representaciones aprendidas resultantes [Explicar]
5.27.4.9. Formulación del Aprendizaje Automático y Evaluación (3 horas) [Habilidades AG-C09]

Referencias Bibliográficas: [Goodfellow et al., 2016a]

Temas

1.
Formulación del aprendizaje automático simple como un problema de optimización, como regresión lineal por mínimos cuadrados o regresión logística:
a)
Función objetivo
b)
Descenso de gradiente
c)
Regularización para evitar sobreajuste (formulación matemática)
2.
Conjuntos de modelos:
a)
Combinación de mayoría ponderada simple
3.
Evaluación de rendimiento:
a)
Otras métricas para clasificación (por ejemplo, error, precisión, exhaustividad)
b)
Métricas de rendimiento para regresores
c)
Matriz de confusión
d)
Validación cruzada:
1)
Ajuste de parámetros (búsqueda en cuadrícula/aleatoria, mediante validación cruzada)

Aprendizaje esperado (Learning Outcomes)

1.
Comparar y contrastar varias técnicas de aprendizaje (por ejemplo, árboles de decisión, regresión logística, Bayes ingenuo, redes neuronales y redes de creencia), proporcionando ejemplos de cuándo cada estrategia es superior [Comparar]
2.
Evaluar el rendimiento de un sistema de aprendizaje simple en un conjunto de datos del mundo real [Evaluar]
3.
Caracterizar el estado del arte en teoría del aprendizaje, incluyendo sus logros y limitaciones [Explicar]
4.
Explicar el problema del sobreajuste, junto con técnicas para detectar y manejar el problema [Explicar]
5.
Explicar el triple compromiso entre el tamaño de un espacio de hipótesis, el tamaño del conjunto de entrenamiento y la precisión del rendimiento [Explicar]
5.27.4.10. Aprendizaje Profundo, RL y Ética (3 horas) [Habilidades AG-C09]

Referencias Bibliográficas: [Goodfellow et al., 2016a]

Temas

1.
Aprendizaje profundo:
a)
Redes feed-forward profundas (solo intuición, sin matemáticas)
b)
Redes neuronales convolucionales (solo intuición, sin matemáticas)
c)
Visualización de representaciones de características aprendidas de redes profundas
d)
Otras arquitecturas (NN generativas, NN recurrentes, transformers, etc.)
2.
Visión general de los métodos de aprendizaje por refuerzo
3.
Dos o más aplicaciones de algoritmos de aprendizaje automático:
a)
Por ejemplo, medicina y salud, economía, visión, lenguaje natural, robótica, juego
4.
ética para el Aprendizaje Automático:
a)
Continuar enfocándose en datos reales, escenarios reales y estudios de caso
b)
Privacidad
c)
Equidad
d)
Propiedad intelectual
e)
Explicabilidad

Aprendizaje esperado (Learning Outcomes)

1.
Visualizar el progreso del entrenamiento de una red neuronal a través de curvas de aprendizaje en un kit de herramientas establecido (por ejemplo, TensorBoard) y visualizar las características aprendidas de la red [Aplicar]
2.
Dada una aplicación real de aprendizaje automático, describir problemas éticos respecto a las elecciones de datos, pasos de preprocesamiento, selección de algoritmo y visualización/presentación de resultados [Aplicar]
5.27.4.11. Representación del Conocimiento y Razonamiento Probabilístico Básico (6 horas) [Habilidades AG-C08,AG-C09]

Referencias Bibliográficas: [Russell and Norvig, 2020]

Temas

1.
Tipos de representaciones:
a)
Simbólicas, lógicas:
1)
Crear una representación a partir de un enunciado de problema en lenguaje natural
b)
Representaciones subsimbólicas aprendidas
c)
Modelos gráficos (por ejemplo, Bayes ingenuo, red bayesiana)
2.
Repaso del razonamiento probabilístico, teorema de Bayes
3.
Razonamiento bayesiano:
a)
Inferencia bayesiana
4.
Variables aleatorias y distribuciones de probabilidad:
a)
Axiomas de probabilidad
b)
Inferencia probabilística
c)
Regla de Bayes (derivación)
d)
Inferencia bayesiana (ejemplos más complejos)

Aprendizaje esperado (Learning Outcomes)

1.
Dado un enunciado de problema en lenguaje natural, codificarlo como una representación simbólica o lógica [Aplicar]
2.
Calcular una inferencia probabilística en un problema del mundo real usando el teorema de Bayes para determinar la probabilidad de una hipótesis dada la evidencia [Aplicar]
3.
Aplicar la regla de Bayes para determinar la probabilidad de una hipótesis dada la evidencia [Aplicar]
4.
Calcular la probabilidad de resultados y probar si los resultados son independientes [Aplicar]
5.27.4.12. Independencia, Modelos de Markov y Toma de Decisiones (6 horas) [Habilidades AG-C08,AG-C09]

Referencias Bibliográficas: [Russell and Norvig, 2020]

Temas

1.
Independencia
2.
Independencia condicional
3.
Cadenas de Markov y modelos de Markov
4.
Utilidad y toma de decisiones

Aprendizaje esperado (Learning Outcomes)

1.
Explicar cómo podemos tomar decisiones bajo incertidumbre, usando conceptos como el teorema de Bayes y la utilidad [Explicar]
5.27.4.13. Aplicaciones e Impacto Social (Parte I) (4 horas) [Habilidades AG-C08,AG-C09]

Referencias Bibliográficas: [Russell and Norvig, 2020Alpaydin, 2020]

Temas

1.
Al menos una aplicación de IA a un problema y campo específico, como medicina, salud, sostenibilidad, redes sociales, economía, educación, robótica, etc. (elegir al menos uno para el Núcleo CS):
a)
Formular y evaluar una aplicación específica como un problema de IA:
1)
Cómo lidiar con problemas mal especificados o mal planteados
b)
Disponibilidad/escasez y limpieza de datos:
1)
Limpieza y preprocesamiento básico de datos
2)
Sesgo del conjunto de datos
c)
Sesgo algorítmico
d)
Sesgo de evaluación
e)
Evaluación de las implicaciones sociales de la aplicación
2.
Modelos generativos profundos desplegados:
a)
Visión general de alto nivel de modelos generativos de imágenes profundas (por ejemplo, a 2023, DALL-E, Midjourney, Stable Diffusion, etc.), sus usos y sus limitaciones/peligros.
b)
Visión general de alto nivel de modelos de lenguaje grandes (por ejemplo, a 2023, ChatGPT, Bard, etc.), sus usos y sus limitaciones/peligros.
3.
Visión general del impacto social de la IA:
a)
ética
b)
Equidad
c)
Confianza/explicabilidad
d)
Privacidad y uso de datos de entrenamiento
e)
Autonomía humana y supervisión/regulaciones/requisitos legales
f )
Sostenibilidad

Aprendizaje esperado (Learning Outcomes)

1.
Dado un dominio de aplicación y problema del mundo real, formular una solución de IA para ello, identificando datos/entrada apropiados, preprocesamiento, representaciones, técnicas de IA y métricas/metodología de evaluación [Aplicar]
5.27.4.14. Aplicaciones e Impacto Social (Parte II) (4 horas) [Habilidades AG-C08,AG-C09]

Referencias Bibliográficas: [Russell and Norvig, 2020Alpaydin, 2020]

Temas

1.
Una o más aplicaciones adicionales de IA a un amplio conjunto de problemas y diversos campos, como medicina, salud, sostenibilidad, redes sociales, economía, educación, robótica, etc. (elegir un área diferente de la elegida para el Núcleo CS):
a)
Formular y evaluar una aplicación específica como un problema de IA:
1)
Cómo lidiar con problemas mal especificados o mal planteados
b)
Disponibilidad/escasez y limpieza de datos:
1)
Limpieza y preprocesamiento básico de datos
2)
Sesgo del conjunto de datos
c)
Sesgo algorítmico
d)
Sesgo de evaluación
e)
Evaluación de las implicaciones sociales de la aplicación
2.
Profundidad adicional sobre modelos generativos profundos desplegados:
a)
Introducción a cómo funcionan los modelos generativos de imágenes profundas (por ejemplo, a 2023, DALL-E, Midjourney, Stable Diffusion) incluyendo discusión de atención
b)
Introducción a cómo funcionan los modelos de lenguaje grandes (por ejemplo, a 2023, ChatGPT, Bard) incluyendo discusión de atención
c)
Idea de modelos fundamentales, cómo usarlos, y los beneficios/problemas con entrenarlos a partir de grandes datos
3.
Análisis y discusión del impacto social de la IA:
a)
ética
b)
Equidad
c)
Confianza/explicabilidad
d)
Privacidad y uso de datos de entrenamiento
e)
Autonomía humana y supervisión/regulaciones/requisitos legales
f )
Sostenibilidad

Aprendizaje esperado (Learning Outcomes)

1.
Analizar el impacto social de una o más aplicaciones específicas de IA del mundo real, identificando problemas respecto a ética, equidad, sesgo, confianza y explicabilidad [Evaluar]
2.
Describir algunos de los modos de falla de los modelos generativos profundos actuales para lenguaje o imágenes, y cómo esto podría afectar su uso en una aplicación [Describir]

5.27.5. Referencias Bibliográficas

[Russell and Norvig, 2020]

[Luger, 2008]

[Alpaydin, 2020]

[Goodfellow et al., 2016a]

¿Encontraste una errata, un curso desactualizado, un enlace roto, o tienes una sugerencia? Cuéntanos.

Escanea para abrir en tu teléfono