Inteligencia Artificial en la FP Informática

Virginia Fariñas Ruz
9 min readJan 15, 2021
Inteligencia artificial en el sector de la informática

En esta jornada de inteligencia artificial del ciclo de AIXFP se enfocó en la familia de informática con la participación de Nerea Luis Mingueza, Doctora cum laude en Intel·ligència artificial i AI Engineer en Sngular, y Eva Deltor, Data scientist en Connecthink y colaboradora de Saturdays.AI. Si te perdiste la jornada y quieres ver los vídeos, puedes hacerlo aquí.

Nerea Luis, ejemplos de proyectos de AI

Nerea Luis, Doctora cum laude en Intel·ligència artificial i AI Engineer en Sngular

El último proyecto que ha participado Nerea (@sailormerqury)es un chatbox para poder resolver las dudas de la ciudadanía acerca de la pandemia mediante Whatsapp. Poco a poco y en colaboración con el Ministerio de Sanidad y multitud de investigadores, se fue desarrollando las respuestas dándole un toque más personal y humano.

Como ejemplo de otra de las grandes aplicaciones que está teniendo la inteligencia artificial es el Computer Vision que consiste en reconocer imagen y vídeo para convertirlo en conocimiento. Por ejemplo, a través de un programa se intenta concebir qué está pasando en la calle, pudiendo detectar posibles accidentes de coche para poner en alerta los servicios de emergencias en un tiempo menor.

Computer vision

El campo del Procesamiento de lenguaje natural (PNL), que estudia las interacciones entre las computadoras y el lenguaje humano, está experimentando un gran crecimiento y será una de las grandes aplicaciones de esta tecnología.

Y llegamos a la parte quizá más futurista aunque tiene parte de realidad: los coches autónomos. Esta evolución va a atraer un cambio de paradigma de todo lo que entendemos como la conducción actual. Existen cinco niveles de conducción: el más básico es la conducción con un conductor que es el actual, hasta el más desarrollado que es el Full Autnomos, donde el coche tomará todas las decisiones. Entre medio está la situación actual de convivencia y el dilema de cómo se va a afrontar.

Tampoco nos podemos olvidar de la robótica que aunque surge desde el lado más industrial de la tecnología, hay un momento en el que converge con la AI cuando el robot necesita adaptarse a nuevos entornos. En ese aprendizaje que necesita hacer es cuando la AI tiene una gran utilidad. Proyectos ya desarrollados con dicha simbiosis son los robots que se están entrenando para enviarlos a Marte. O los robots que hay en los almacenes de Amazon que acercan los productos a personas, pero son las personas quienes lo cogen. Actualmente, desarrollar esta multitud de formas de agarre en robots sería muy costoso.

Robots preparados para ir a Marte

También hay proyectos que ayudan a mejorar la sostenibilidad, como el Google Scale donde a través de inteligencia artificial se estudian las mejores condiciones, como temperatura, de los almacenajes de sus servidores para reducir el coste y la emisión de CO2.

Existe un enfoque generativo donde se utiliza la inteligencia artificial para desarrollar objetos que no existen. Por ejemplo, desarrollar rostros de personas que no existen basado en un conjunto de rostros de personas reales a modo de patrón. El algoritmo identifica patrones de los rasgos físicos de las personas y en base a ello, desarrolla nuevos rostros que no existen. Estas imágenes son utilizadas en campañas de publicidad.

Conceptos clave: tipos de entrenamiento

Hay dos formas de entrenar los sistemas. Uno es el aprendizaje por refuerzo, intenta imitar el aprendizaje de animales, es decir, darle un premio por acertar y decirle que ha fallado cuando se equivoca. El otro es el Machine Learning o aprendizaje automático, en el que es el propio algoritmo que aprende solo.

La diferencia entre Deep Learning (Aprendizaje profundo) y Automatic Learning (Aprendizaje automático) es la complejidad de las estructura de los algoritmos, pero el sistema es el mismo: transformar datos en conocimientos para tomar decisiones.

Eva Deltor, conceptos base de la AI

Eva Deltor, Data scientist en Connecthink y colaboradora de Saturdays.AI

“A diferencia de las otras especialidades que se han profundizado en las jornadas como la sanidad y la química, la informática no aprovecha estas herramientas, si no que es la base de la inteligencia artificial”.

El objetivo de la AI es imitar el razonamiento humano, por ejemplo un condicional: si sale el sol, salgo a la calle.

El Machine Learning usa métodos estadísticos y el objetivo es grandes bases de datos para poder predecir una salida. Un ejemplo sería cuando los bancos utilizan el AI para conceder o denegar un préstamo. Cuanto más datos tengamos, mejores son las predicciones, pudiendo detectar los pequeños cambios.

El Deep Learning es el uso de redes neuronales para aprender los rasgos característicos de una base de datos. Él mismo aprende qué características son importantes y cuáles no.

Machine learning

A través del ejemplo de identificar si un perro es un pastor alemán o un chiguagua, vemos cómo funciona el Machine Learning.

Nosotros identificamos las características importantes para diferenciar las dos razas y le pasamos una base de datos para que entrene su conocimiento acerca de ambas. Tenemos que proporcionarle un rango amplio de datos y que cubran todas las posibilidades para que pueda aprender bien, si no su conocimiento se verá sesgado. Siguiendo con el ejemplo, si solo le damos datos de pastores alemanes entre 2 y 5 años, el algoritmo entenderá que todos los pastores alemanes tienen esa edad. Con lo que también es necesario que le demos datos con todas las posibilidades.

Cómo funciona el machine learning

Dentro del Machine Learning existen tres áreas:

  1. Aprendizaje supervisado

A. Supervisado con clasificación: dándole un valor, el modelo se verá obligado a clasificarlo en una de las categorías que le hayamos dado anteriormente.

B. Supervisado con regresión: el modelo consiste en predecir un valor. Ejemplo: estimar el valor de una vivienda teniendo en cuenta unas características.

2. Aprendizaje no supervisado: este modelo consiste en separar entre grupos. En el ejemplo de los perros sería darle los datos con las características pero sin darle la categoría a la que pertenecen. De tal forma que el modelo clasificará en grupos homogéneos

3. Reinforcement Learning: el objetivo es enseñarle a la máquina cómo aprender. Ejemplo: le mostramos una manzana y nos devuelve una respuesta. Nosotros le decimos si ha acertado o no y así el modelo va aprendiendo.

Reinforcement Learning

Deep Learning

Está basado en cómo funciona nuestro cerebro humano. A diferencia del Machine Learning en la que nosotros le dábamos las características de un pastor alemán, ahora le damos muchas imágenes de pastores alemanes y la clase a la que pertenece, pero es el modelo el que aprende las características importantes para diferenciarlos.

Conclusiones:

  • es fundamental tener muchos datos para entrenar bien los modelos de AI
  • los datos tienen que abarcar todas las posibilidades para no sesgar el algoritmo
  • todas las posibilidades tienen que estar igual de representadas para que funcione el entrenamiento, sino el algoritmo pensará que una posibilidad es mejor que la otra

Ejercicio práctico de Collub

El objetivo es ver cómo se trabaja en un proyecto de inteligencia artificial desde el principio pasando por todas las fases. Podéis ver el ejercicio y practicar vosotros mismos en este enlace.

Con una bade de datos de características de vino y su calificación, el ejercicio consiste en desarrollar un modelo de predicción para la calificación según las diferentes características.

Fases de un proyecto de inteligencia artificial

  1. comprender los datos y entender qué estamos haciendo.
  2. preparar y entrenar el modelo
  3. postmodelo, determinar si es bueno o no, identificar dónde falla y ver si funciona el modelo de predicción

1. Comprensión de los datos

Para empezar el proyecto se importa tanto la librería como la base de datos (en csv). La librería es una serie de código oculto y que han realizado otras personas. Hay multitud de fuentes, pero un ejemplo son Scikit learning, Matlo o Sivor para gráfico.

Se suben las dos bases de daros (para el entrenamiento y para el testeo) y se les nombran.

Lo primero es ver qué datos tenemos. Con el datashape se ve el número de filas y columnas. Vemos cuántas categorías hay y cuántas filas hay en cada clase, para ver cómo de balanceados están los datos. Es muy importante tener muchos datos pero que estén balanceados. Es mejor tener pocos datos pero más balanceados que muchos pero poco balanceados.

El siguiente paso es ver si el dataset tiene algún valor nulo (que haya alguna fila sin algún dato). El histograma nos dice cómo están distribuidos los datos para cada característica y ver el rango en el que se mueven los datos para detectar si hay algún dato que no tiene sentido e identificar datos erróneos. Este paso es muy importante para que después el modelo funcione.

La matriz de correlación nos dice cómo de correlacionadas están dos características entre sí. La correlación positiva (entre 0 y 1) significa que si una característica sube, la otra también sube. Una correlación negativa (entre -1 y 0) significa que si una sube, la otra disminuye. El objetivo es ver de manera visual las columnas que están más correlacionadas y decidir si se eliminan para que el tiempo de entreno y análisis sea más corto. No hay una única solución, es valorar pros y contras en cada caso.

2. Preparar y entrenar el modelo

En la coordenada X se guardan las diferentes características y en la Y la que queremos predecir. Se separan los datos en dos tercios para el training del modelo y un tercio para el test.

En este ejemplo concreto se ha decicido por el modelo Decision Tree como algoritmo. Una vez que hemos entrenado el modelo, vamos a ver cómo de bueno ha sido el entrenamiento con la parte del postmodelo.

3. Postmodelo, determinar la calidad del modelo

El accuracy nos dice cuánto se han predicho correctamente. Ejemplo: un accuracy del 56% nos diría que 56 de cada 100 filas están bien predichas. La precisión se centra en una clase respecto al total, es decir, va una a una para ver cuánto ha acertado. Por ejemplo, de los vinos clasificados como 6 de valoración, cuántos están bien predichos y cuántos no. Repitiendo el proceso para cada valoración de vinos. En este ejemplo como los datos no estaban balanceados, está claro que la clase 6, que tenía muchos más datos, la puede predecir mucho mejor que otras categorías que no tenían tanta representación.

Si analizamos el árbol de decisión podemos ver cómo está entrenado el modelo y qué decisiones va tomando para determinar qué valoración tiene.

En este caso se ha elegido un árbol de decisión pero en Scikit learning existe una librería de diferentes modelos de algoritmos para clasificar. Es tan importante la calidad de los datos, que estén balanceados como el modelo de algoritmo elegido.

Otra prueba es utilizar diferentes algoritmos para ver cuál da un accurancy mayor. A veces entrenar demasiado al algoritmo puede ser contraproducente y no sepa interpretar nuevos valores que no haya visto antes.

Y hasta aquí el ejercicio práctico. Si quieres ver las presentaciones y practicar con el caso práctico, puedes hacerlo a través de este enlace: https://bit.ly/aixfptallerinformatica

Os invitamos a que nos dejéis vuestros comentarios, dudas o sugerencias, en los comentarios de este post y os responderemos lo antes posible.

Por último, recordaros que esta charla está dentro del proyecto de Saturdays.AI AI4Schools. Si queréis incluir la inteligencia artificial en vuestra escuela o instituto, contactad con nosotros a través del correo: ai4schools@saturdays.ai

--

--