21-22
CURSO DE ESPECIALIZACIÓN EN INTELIGENCIA ARTIFICIAL Y BIG DATA
PROGRAMACIÓN DIDÁCTICA ASIGNATURA
PROGRAMACIÓN PARA LA INTELIGENCIA ARTIFICIAL CÓDIGO 5073
21-22
PROGRAMACIÓN PARA LA INTELIGENCIA ARTIFICIAL CÓDIGO 5073
ÍNDICE PRESENTACIÓN Y CONTEXTUALIZACIÓN REQUISITOS Y/O RECOMENDACIONES PARA CURSAR ESTA ASIGNATURA MARCO REGULATORIO COMPETENCIAS QUE ADQUIERE EL ESTUDIANTE RESULTADOS DE APRENDIZAJE Y CRITERIOS DE EVALUACIÓN CONTENIDOS METODOLOGÍA SISTEMA DE EVALUACIÓN BIBLIOGRAFÍA BÁSICA BIBLIOGRAFÍA COMPLEMENTARIA RECURSOS DE APOYO Y WEBGRAFÍA ANEXO 1: PROPUESTA DE CONTENIDOS EXTENDIDO
PROGRAMACIÓN PARA LA INTELIGENCIA ARTIFICIAL
PROGRAMACION 21-22
Nombre de la asignatura
PROGRAMACION PARA LA INTELIGENCIA ARTIFICIAL
Código Curso académico Título en que se imparte Docente 2021-22 Nº ETCS Horas Nivel de formación
5073 2021/2022 CURSO ESPECIALIZACIÓN EN INTELIGENCIA ARTIFICIAL Y BIG DATA JOSÉ ALBERTO GARCÍA GUTIÉRREZ 12 110.0
Familia profesional
INFORMÁTICA / TELECOMUNICACIONES
FORMACIÓN PROFESIONAL DE GRADO SUPERIOR
PRESENTACIÓN Y CONTEXTUALIZACIÓN La asignatura "Programación para la inteligencia artificial" presenta de manera práctica los principales lenguajes y librerías de programación utilizados en el ámbito de la inteligencia artificial y su aplicación en la implementación de técnicas efectivas que abordan los distintos retos y áreas de aplicación en la actualidad en la industria y el ámbito empresarial. Se estudiarán arquitecturas como las redes neuronales convolucionales, las redes neuronales recurrentes, los modelos basados en atención y los modelos contextuales, aplicadas a la resolución de problemas realistas como el del Procesamiento del Lenguaje Natural o la Visión por computador. El estudiante se familiarizará con los distintos lenguajes y formas de implementación y se iniciará en el uso de las principales librerías a partir de ejercicios prácticos enfocados al diseño, implementación, entrenamiento y evaluación de las arquitecturas propuestas, para desarrollar habilidades que le permitan seleccionar las más adecuadas para cada determinado problema e diseñar soluciones basadas en ellas evaluando su convergencia con las diferentes tecnologías y estándares de la industria.
REQUISITOS Y/O RECOMENDACIONES PARA CURSAR ESTA ASIGNATURA Para cursar este módulo se recomienda tener los siguientes conocimientos previos: • Conocimientos básicos de álgebra y cálculo • Conocimientos básicos de estadística o nociones de aprendizaje automático • Capacidad de lectura fluida en inglés • Conocimientos de programación, a ser posible Python (las prácticas se harán en Python) Serán suficiente los conocimientos adquiridos durante el CFGS, aunque sería deseable si hubiera cursado previamente asignaturas con contenido de programación en Python o R.
MARCO LEGISLATIVO La presente PD está fundamentada en el Real Decreto 279/2021, de 20 de abril, por el que se establece el Curso de especialización en Inteligencia Artificial y Big Data y se fijan los aspectos básicos del currículo. El Real Decreto 1147/2011, de 29 de julio, por el que se establece la ordenación general de la formación profesional del sistema educativo, regula en su artículo 27 los cursos de especialización de formación profesional e indica los requisitos y condiciones a que deben ajustarse dichos cursos de especialización. Así, este real decreto, conforme a lo previsto en el Real Decreto 1147/2011, de 29 de julio, establece y regula, en los aspectos y elementos básicos antes indicados, el curso de especialización de formación profesional del sistema educativo en Inteligencia Artificial y Big Data.
3
CURSO 2021/22
PROGRAMACIÓN PARA LA INTELIGENCIA ARTIFICIAL
CÓDIGO 5073
El citado texto establece a su vez que la competencia general de este curso de especialización consiste en programar y aplicar sistemas inteligentes que optimizan la gestión de la información y la explotación de datos masivos, garantizando el acceso a los datos de forma segura y cumpliendo los criterios de accesibilidad, usabilidad y calidad exigidas en los estándares establecidos, así como los principios éticos y legales. Otras competencias generales del ciclo incluyen:
-
Desarrollar e implementar sistemas de Inteligencia Artificial que faciliten la toma de decisiones ágiles dentro de un negocio gestionando y explotando datos masivos. Aplicar Inteligencia Artificial en funcionalidades, procesos y sistemas de decisión empresariales. Gestionar los distintos tipos de Inteligencia Artificial para la consecución de transformación y cambio en las empresas. Aplicar sistemas de Inteligencia Artificial para identificar nuevas formas de interacción en los negocios que mejoren la productividad.
Por su parte entre los objetivos generales del ciclo destacamos los siguientes:
-
Caracterizar las interacciones en los negocios de las empresas y organizaciones para aplicar sistemas de Inteligencia artificial que incremente la productividad. Caracterizar sistemas de la Inteligencia Artificial para implantar funcionalidades, procesos y sistemas de decisiones. Aplicar herramientas de inteligencia artificial para optimizar el desarrollo de los procesos autónomos.
La formación del módulo contribuye a alcanzar los objetivos generales a), b), c), d), e), j), k), m), n), ñ), o) y p) así como las competencias profesionales y sociales a), b), c), d), e), j), k), m), n), ñ), o), p), q), r) y s) del curso de especialización (RD 279/2021).
COMPETENCIAS QUE ADQUIERE EL ESTUDIANTE COMPETENCIAS COMPETENCIAS GENERALES CPG1 - Adquirir capacidad de abstracción, análisis, síntesis y relación de ideas. CPG2 - Adquirir capacidad crítica y de decisión CPG3 - Adquirir capacidad de estudio y autoaprendizaje CPG4 - Adquirir capacidad creativa y de investigación en entornos colaborativos y abiertos COMPETENCIAS ESPECÍFICAS CE1 - Adquirir capacidad de comprender y manejar de forma básica los aspectos más importantes relacionados con los lenguajes de programación y sistemas informáticos, en especial, en la implementación y el despliegue de sistemas de información empresariales basados en inteligencia artificial cuando existen grandes volúmenes de datos. CE3 - Adquirir capacidad de estudio de los sistemas y aproximaciones existentes para distinguir las aproximaciones más efectivas. CE4 - Adquirir capacidad para detectar carencias en el estado actual de la ciencia de datos y las distintas soluciones existentes a los retos de la inteligencia artificial. CE5 - Adquirir capacidad para proponer nuevas aproximaciones que den solución a las carencias detectadas y mejoren la productividad de las empresas. CE6 - Adquirir capacidad de especificar, diseñar, implementar y evaluar tanto cualitativa como cuantitativamente los modelos y sistemas propuestos. CE7 - Adquirir capacidad para proponer y medir el rendimiento de modelos con metodología
4
CURSO 2021/22
PROGRAMACIÓN PARA LA INTELIGENCIA ARTIFICIAL
CÓDIGO 5073
adecuada como para poder extraer conclusiones y proponer nuevas líneas de actuación.
RESULTADOS DE APRENDIZAJE Y CRITERIOS EVALUACIÓN 1. Caracteriza lenguajes de programación valorando su idoneidad en el desarrollo de Inteligencia Artificial. Criterios de evaluación: a) Se ha identificado la estructura de un programa informático. b) Se han valorado características en los lenguajes de programación adecuadas al tipo de aplicaciones a implementar. c) Se ha determinado el lenguaje de programación más apropiado para el desarrollo de la aplicación. d) Se han valorado características de los lenguajes de programación para el desarrollo de Inteligencia Artificial. e) Se ha determinado el lenguaje de programación más apropiado para el desarrollo de la aplicación de Inteligencia Artificial. f) Se han caracterizado lenguajes de marcado destacando la información que contienen sus etiquetas. 2. Desarrolla aplicaciones de Inteligencia artificial utilizando entornos de modelado. Criterios de evaluación: a) Se han evaluado plataformas de Inteligencia Artificial. b) Se han caracterizado entornos de modelo de aplicaciones de Inteligencia Artificial. c) Se ha definido el modelo que se quiere implementar según el problema planteado. d) Se ha implementado la aplicación de Inteligencia Artificial. e) Se han evaluado los resultados obtenidos. 3. Evalúa las mejoras en los negocios integrando convergencia tecnológica. Criterios de evaluación: a) Se han identificado las ventajas que ofrece unificar procesos, servicios, herramientas, métodos y sectores. b) Se han identificado sistemas que facilitan la conexión tecnológica. c) Se han evaluado las características de dichos sistemas. d) Se ha evaluado como la convergencia tecnológica aporta seguridad en los negocios. 4. Evalúa modelos de automatización industrial y de negocio relacionándolos con los resultados esperados por las empresas. Criterios de evaluación: a) Se han identificado las nuevas estrategias corporativas y modelos de negocio en las empresas. b) Se ha definido la relación entre empresas y clientes y su efecto en la forma en que las empresas organizan y gestionan sus activos y recursos. c) Se han evaluado modelos de automatización para los nuevos requerimientos industriales y de negocio. d) Se ha evaluado la conveniencia de cada modelo para conseguir los resultados esperados por las empresas.
CONTENIDOS 1. Caracterización de lenguajes de programación: – Programa informático. Etapas. Lenguajes de programación. – Principales características en un lenguaje de programación para IA. Bibliotecas. 2. Rendimiento en ejecución. Herramientas. Soporte. – Principales Lenguajes de programación para Inteligencia Artificial: Python, R, Java.. – Lenguajes de marcado. Información de sus etiquetas. 3. Desarrollo de aplicaciones de IA: – Plataformas de IA: Librerías. Servicios. – Entornos de modelado de IA: • Herramientas de modelado. Librerías, algoritmos y modelos predefinidos, recolección de datos, manipulación de datos, Evaluación de resultados. • Modelado de redes neuronales. Módulos predefinidos. Ejemplos (TensorFlow, Keras). • Herramientas de generación de código para crear software con comportamiento inteligente. 4. Evaluación de la Convergencia tecnológica 5
CURSO 2021/22
PROGRAMACIÓN PARA LA INTELIGENCIA ARTIFICIAL
CÓDIGO 5073
5. Evaluación de modelos de automatización industrial y de negocio Para mayor detalle consulte el Anexo 1 donde se incluye el desarrollo de los bloques de contenido.
METODOLOGÍA El enfoque de la docencia será eminentemente práctico, presentando los contenidos teóricos De forma aplicada y transversal y tratando de conseguir la implicación continua de los estudiantes. El material docente incluye un resumen de los contenidos de cada tema y distintos tipos de actividades relacionadas con la consulta bibliográfica, la realización de ejercicios prácticos y, en ocasiones, la utilización de herramientas asociadas a las tecnologías y técnicas presentadas en el curso. Junto a las actividades y enlaces con fuentes de información externas, existe material didáctico propio preparado por el equipo docente con ejercicios que organizan las actividades prácticas del alumno. Tratándose de un curso orientado a la empleabilidad, las actividades de aprendizaje se estructuran alrededor del estado del arte en cada uno de los temas del curso y a su inmediata aplicación en los distintos ámbitos tecnológicos y industriales. Se utilizarán los recursos del centro aunque se animará al alumno a hacer uso de sus propios recursos a lo largo del curso. Así mismo se propondrá a los alumnos actividades de ampliación y material extra fomentando la curiosidad y la participación del alumno en charlas, seminarios y jornadas referidas a los contenidos del curso. El plan de trabajo marcará unas pautas adecuadas para que el alumno alcance los objetivos al final del curso. Incluye una descripción ordenada y secuenciada de los contenidos de cada tema y orientaciones sobre las actividades a realizar, tanto de estudio teórico como práctico. Los ejercicios prácticos correspondientes a cada tema, así como la práctica final, son para apoyo y refuerzo del aprendizaje, y su realización es obligatoria para superar la asignatura. Las actividades pueden ser de los siguientes tipos: 1. L: Lectura y estudio del material correspondiente 2. P: Ejercicios prácticos de entrega obligatoria (exige una entrega en el aula virtual) 3. PF: Tarea escrita relacionada con un examen o práctica final obligatoria (entrega física)
SISTEMA DE EVALUACIÓN Instrumentos de evaluación TIPO DE PRIMERA PRUEBA Prueba escrita o supuestos prácticos
Tipo de instrumento TIPO DE SEGUNDA PRUEBA
Prueba escrita o supuestos prácticos
Tipo de instrumento
CARACTERÍSTICAS DE LA PRUEBA Y/O LOS TRABAJOS
Requiere Presencialidad
La asistencia es esencial para la evaluación.
6
CURSO 2021/22
PROGRAMACIÓN PARA LA INTELIGENCIA ARTIFICIAL
CÓDIGO 5073
La asistencia a clase es obligatoria y constituirá un elemento imprescindible la evaluación. PRUEBAS DE EVALUACIÓN CONTINUA (PEC)
Descripción En esta asignatura se realiza una evaluación continua a través de la elaboración de prácticas obligatorias por tema (hasta un 60% de la nota final) y una Práctica Obligatoria final (hasta un 30% de la nota final), cuyo aprobado es requisito indispensable para superar la asignatura.
Criterios de evaluación Para cada tarea se valorará principalmente: Completitud: se tratan todos los puntos importantes de la tarea. Corrección: el trabajo realizado no contiene incorrecciones.
Ponderación de la PEC en la nota final
90%, la asignatura se evalúa principalmente mediante estos trabajos.
Fechas de entrega
Las fechas aproximadas de entrega de cada tarea se encuentran indicadas en el plan de trabajo de la asignatura.
OTRAS ACTIVIDADES EVALUABLES
Descripción Se considerarán otras actividades evaluables VOLUNTARIAS como la participación activa en los foros, las actividades optativas y los debates propuestos por el equipo docente a lo largo del curso.
Criterios de evaluación 10% de la nota final A lo largo del curso
Ponderación en la nota final Fecha aproximada de entrega
¿CÓMO SE OBTIENE LA NOTA FINAL?
La calificación final máxima será de 10 puntos. Para calcular la nota final del alumno en la asignatura se sumarán las notas obtenidas en las prácticas obligatorias de cada unidad y el examen o la Práctica Obligatoria final con los siguientes pesos:
7
CURSO 2021/22
PROGRAMACIÓN PARA LA INTELIGENCIA ARTIFICIAL
CÓDIGO 5073
Prácticas obligatorias por cada tema –– 60% Examen o Práctica Obligatoria final –– 40% Otras actividades –– 10% Para superar la evaluación por parciales, el alumno debe alcanzar todos los resultados de aprendizaje marcados en un grado suficiente. Los resultados de aprendizaje no superados en las evaluaciones parciales serán evaluados en la evaluación final. Evaluación final del módulo: Para superar el módulo, el alumno debe alcanzar todos los resultados de aprendizaje marcados en un grado suficiente. La calificación final será la media ponderada de todos los criterios de evaluación trabajados durante el curso.
BIBLIOGRAFÍA BÁSICA La bibliografía básica será proporcionada al estudiante dentro del curso virtual, estará compuesta por materiales teórico-prácticos realizados por el equipo docente. Gran parte de la bibliografía, así como los recursos proporcionados al estudiante en el curso virtual pueden estar únicamente en inglés, debido a la novedad de algunos de los contenidos propuestos en la asignatura. El profesor procurará material traducido a aquel alumno que lo solicite.
BIBLIOGRAFÍA COMPLEMENTARIA ISBN(13):9781838550295 Título:INTRODUCTION TO DEEP LEARNING (June 2019) Autor/es:Karthiek Reddy Bokka ; Monicah Wambugu ; Tanuj Jain ; Shubhangi Hora ; Editorial:Springer
La bibliografía complementaria de la asignatura se puede encontrar en la sección de "Libros electrónicos" del Moodle de la asignatura, desde donde se tiene acceso a gran cantidad de recursos online, y otro material adicional, así como a las transparencias de clase y los ejemplos que se vallan presentando a los alumnos.
RECURSOS DE APOYO Y WEBGRAFÍA Los/as estudiantes dispondrán de los siguientes recursos de apoyo al estudio: • Guía de la asignatura. Incluye el plan de trabajo y orientaciones para su desarrollo. Esta guía será accesible desde el curso virtual. • Curso virtual. A través de esta plataforma los/as estudiantes tienen la posibilidad de consultar información de la asignatura, realizar consultas al Equipo Docente a través de los foros correspondientes o del tutor, consultar e intercambiar información con el resto de los compañeros/as.
8
CURSO 2021/22
PROGRAMACIÓN PARA LA INTELIGENCIA ARTIFICIAL
CÓDIGO 5073
• Documentación de la asignatura. El equipo docente publicará recursos adicionales que faciliten o profundicen los contenidos desarrollados en la asignatura, además de los contenidos ya ofrecidos. • Biblioteca. El estudiante tendrá acceso tanto a la biblioteca del Centro educativo, así como a diversos recursos en el Moodle del centro, donde podrá encontrar un entorno adecuado para el estudio, así como de distinta bibliografía que podrá serle de utilidad durante el proceso de aprendizaje.
ANEXO 1. CONTENIDOS EXTENDIDO BLOQUE 1: Exploratorio, caracterización de lo que debe ser un lenguaje para IA Paradigmas de desarrollo Caracterización de lenguajes de programación. Introducción a los lenguajes de modelado. Complejidad del software. Métricas. Gestión de proyectos de software. Implementación de soluciones de Machine Learning en Java. - Deeplearning4java, Encog y otros Frameworks para Java. - Implementación de algunos algoritmos clásicos de IA: algoritmos genéticos, programación evolutiva, metaheurísticas, redes neuronales clásicas, mapas autoorganizados, redes Hopfield para el reconocimiento de patrones. BLOQUE 2: Desarrollo de aplicaciones para IA Soluciones de aprendizaje automático utilizando R / Rstudio -Vectores, listas, dataframes, matrices -Cargando datos Readr / pipes de Tidyverse -Manejo de datos y transformaciones: Mutar,filtrar,y agrupar con Dplyr. -Ordenaciones, pivotaciones, y proyecciones con Tidyr -Análisis exploratorio, estadístico y medidas de dispersión -Uso de Stringr para manipulación textos, nociones de webscraching con Rvest -Filtrado de atributos, nociones de correlación y covarianza. -Abordaje de la alta dimensionalidad: Análisis componentes principales (PCA) y Análisis discriminantes lineales (LDA) -Tipos de Gráficos. Gráficos con Ggplot2 y Seaborn -Implementación de algoritmos de estratificación y clustering en R: algoritmos de mixtura, K-Means y K-Nearest Neighbors. -Soluciones de regresión y clasificación en R: lineal/no lineal, arboles clasificación, bayesianos, máquinas de soporte de vectores. BLOQUE 3: Evaluación de modelos y convergencia tecnológica - Plataformas de IA: Colab, Jupiter, Servicios de Amazon AWS - Entornos de modelado para IA (Knime) - Despliegue de modelos en Azure Cognitive Services Soluciones de inteligencia artificial en Cloud con Python / Jupyter - Librerias para calculo numérico: Pandas, Numpy, - Librerias para algebra y estadística: SciPy, - Técnicas avanzadas de Machine learning en Python con Scikit-learn. - Métodos de ensamblado: Boosting, bagging y Random Forest. - Visualización avanzada de datos: Matplotlib, Seaborn, Bokeh (interactivos) - Sistemas de convergencia electrónica: Blockchain, IoT, Cloud, entre otros. BLOQUE 4: Evaluación de modelos de automatización industrial y de negocio - Modelos de Deep Learning en el ámbito industrial y empresarial - Implementación de modelos neuronales profundos con Google Tensorflow y Keras - Evaluación de modelos empresariales. Métricas de rendimiento para la clasificación multiclase. - Casos de éxito en la industria e implementaciones del mundo real: - CNN clasificación de imágenes - CNN reconocimiento de rostros - LSTM predicción de sentimientos - Librerías para procesamiento del lenguaje natural (NPL): Spacy, NLTK, Whoosh, Gensim. - Librerías en tratamiento de imagen y visión por computador: OpenCV - Modelos avanzados y estado del arte de las redes neuronales profundas: Pytorch - Modelos preentrenados para visión artificial: VGG, Inceptionv3 - Modelos preentranados para NLP: ELMO, Transformer (BERT, alBERT), GPT-2 - Líneas de investigación abiertas en IA: Modelos y tendencias.
9
CURSO 2021/22