Modelos simples de aprendizaje automático
Valentina armó un juego en el que su personaje salta cuando ella levanta los brazos frente a la cámara de la laptop de Ceibal. Nadie le escribió una regla del tipo «si el codo está a tal altura, saltá». ¿Cómo hace la computadora para reconocer la postura? Al final de la página vas a poder explicarlo.
Programar con reglas o aprender con ejemplos
Hasta ahora, en programación vos escribías las reglas: «si la variable vale más de 10, hacé esto». Pero hay problemas donde las reglas son casi imposibles de escribir. ¿Cómo describirías con condiciones exactas cómo se ve un «brazos arriba» en todas las personas?
El aprendizaje automático (en inglés, machine learning) es una forma de resolver esto: en lugar de escribir las reglas, le mostramos ejemplos a la computadora y ella encuentra un patrón. Es una rama de la inteligencia artificial.
Arriba, el camino clásico: una persona escribe las reglas. Abajo, el aprendizaje automático: se entregan ejemplos con su respuesta y el sistema construye el modelo.
Explicá con tus palabras qué significa «entrenar» un modelo de aprendizaje automático. Mencioná qué son los datos de entrenamiento y qué se espera que el modelo logre…
Explicá con tus palabras qué significa «entrenar» un modelo de aprendizaje automático. Mencioná qué son los datos de entrenamiento y qué se espera que el modelo logre después del entrenamiento.
Entrenar un modelo: datos y clases
Entrenar un modelo es mostrarle muchos ejemplos para que ajuste su forma de responder. Esos ejemplos son los datos de entrenamiento. Se espera que, después, el modelo pueda responder bien ante datos nuevos que nunca vio.
En un proyecto de reconocimiento de posturas con Pose Blocks, las categorías que el modelo debe distinguir se llaman clases. Cada ejemplo se etiqueta con la clase que le corresponde.
Para la clase nueva hay que recolectar y etiquetar ejemplos de esa postura, y volver a entrenar con todas las clases.
En un proyecto con Pose Blocks, Camila entrena un modelo para reconocer dos posturas: «brazos arriba» y «brazos abajo». Indicá qué son las clases en este caso y qué tipo…
En un proyecto con Pose Blocks, Camila entrena un modelo para reconocer dos posturas: «brazos arriba» y «brazos abajo». Indicá qué son las clases en este caso y qué tipo de datos tiene que recolectar para entrenar el modelo.
Probar y evaluar el modelo
Que el modelo acierte con los ejemplos que ya vio no demuestra nada: es como estudiar un escrito sabiendo las preguntas de antemano. Para evaluar, se usan datos de prueba: ejemplos nuevos, que no se usaron para entrenar.
Se cuentan los aciertos y se calcula el porcentaje:
$$\text{porcentaje de aciertos} = \frac{\text{casos bien clasificados}}{\text{casos probados}} \cdot 100$$Daría $\frac{30}{40} \cdot 100 = 75\ \%$.
Además del total, conviene mirar dónde se equivoca: ¿confunde siempre dos clases entre sí? A esas confusiones se las llama errores de clasificación, y se pueden ordenar en una tabla.
| Real \ Predicho | Saltar | Agacharse | Quieto |
|---|---|---|---|
| Saltar | 12 | 6 | 2 |
| Agacharse | 5 | 14 | 1 |
| Quieto | 0 | 1 | 19 |
Los aciertos están en la diagonal. Acá se ve que «saltar» y «agacharse» se confunden mucho entre sí.
Florencia probó su modelo con 50 imágenes nuevas, que no se habían usado para entrenar. El modelo clasificó bien 42 de ellas. a) Calculá el porcentaje de aciertos. b)…
Florencia probó su modelo con 50 imágenes nuevas, que no se habían usado para entrenar. El modelo clasificó bien 42 de ellas.
- a) Calculá el porcentaje de aciertos.
- b) Explicá por qué es importante probar el modelo con datos que no se usaron en el entrenamiento.
Joaquín entrenó un modelo con Pose Blocks para distinguir tres movimientos: saltar, agacharse y quedarse quieto. Usó 40 ejemplos de cada movimiento. Al probarlo, el…
Joaquín entrenó un modelo con Pose Blocks para distinguir tres movimientos: saltar, agacharse y quedarse quieto. Usó 40 ejemplos de cada movimiento. Al probarlo, el modelo acierta casi siempre con «quedarse quieto», pero confunde seguido «saltar» con «agacharse».
- a) ¿Cuántos ejemplos usó en total?
- b) Proponé dos posibles causas de la confusión.
- c) Indicá qué haría para mejorar el modelo.
La calidad de los datos
Un modelo es tan bueno como los datos con que se entrenó. Para que funcione en situaciones reales, los ejemplos tienen que ser:
-
Suficientes: una cantidad razonable por clase, y parecida entre clases.
-
Variados: distintas personas, fondos, luz, distancias a la cámara, manos o lados.
-
Bien etiquetados: cada ejemplo con la clase correcta.
-
Representativos: parecidos a lo que el modelo va a encontrar cuando se use de verdad.
Cada punto es un ejemplo. Con poca variedad, el modelo solo «conoce» una zona pequeña del mundo; fuera de ella, falla.
El modelo podría aprender «hay luz = brazos arriba» en vez de mirar la postura.
Agustín programó un juego en el que el personaje salta cuando el modelo detecta «brazos arriba». Funciona bien en el liceo, con buena luz, pero en su casa, con poca luz…
Agustín programó un juego en el que el personaje salta cuando el modelo detecta «brazos arriba». Funciona bien en el liceo, con buena luz, pero en su casa, con poca luz y otro fondo, falla mucho.
Explicá por qué puede pasar esto relacionándolo con los datos de entrenamiento, y proponé dos cambios en la forma de recolectar los datos para que el modelo funcione mejor en distintos lugares.
Bruno y Martina entrenaron cada uno un modelo para reconocer «mano abierta» y «puño». Bruno usó 10 ejemplos por clase, todos tomados en pocos minutos y con la misma…
Bruno y Martina entrenaron cada uno un modelo para reconocer «mano abierta» y «puño». Bruno usó 10 ejemplos por clase, todos tomados en pocos minutos y con la misma mano. Martina usó 60 ejemplos por clase, con ambas manos, distintos fondos y distintas distancias a la cámara. Ambos modelos acertaron el 100 % en sus propias pruebas, pero con otras personas el modelo de Bruno acertó el 55 % y el de Martina el 90 %.
Compará los dos modelos, explicá por qué el resultado inicial del 100 % puede engañar y argumentá qué conclusiones se pueden sacar sobre la calidad de los datos y la evaluación de un modelo.
Sesgos y uso responsable
Un sesgo es una tendencia del modelo a funcionar mejor para unos grupos que para otros, o a dar resultados injustos. Casi siempre nace de los datos: quién aparece en ellos, quién no, y cómo se etiquetaron.
Ejemplo: un modelo de posturas entrenado solo con estudiantes de estatura parecida y sin ayudas para moverse puede no reconocer bien a personas más bajas, adultas o que usan silla de ruedas. Esas personas quedan afuera del juego, aunque nadie lo haya querido.
Para reducir sesgos:
-
Revisar quién falta en los datos.
-
Incorporar ejemplos de personas y situaciones diversas, con su consentimiento.
-
Evaluar el modelo por separado con cada grupo, no solo con el promedio.
-
Permitir alternativas (por ejemplo, un control con teclado) para que nadie dependa de un único modo de uso.
-
Aclarar los límites del modelo: para qué sirve y para qué no.
Definí con tus palabras qué es un sesgo en un modelo de inteligencia artificial y da un ejemplo sencillo de cómo podría aparecer en un modelo que reconoce posturas con…
Definí con tus palabras qué es un sesgo en un modelo de inteligencia artificial y da un ejemplo sencillo de cómo podría aparecer en un modelo que reconoce posturas con la cámara.
Micaela entrenó un modelo de posturas usando solamente fotos de sus compañeros de grupo, todos de estatura parecida y sin ayudas para moverse. Quiere que el juego lo use…
Micaela entrenó un modelo de posturas usando solamente fotos de sus compañeros de grupo, todos de estatura parecida y sin ayudas para moverse. Quiere que el juego lo use todo el liceo, incluidas personas más bajas, personas adultas y estudiantes que usan silla de ruedas.
Analizá qué límites y sesgos tiene su modelo, qué consecuencias podrían tener para las personas que quedan afuera y qué plan de mejora propondrías, con al menos tres acciones concretas.
Volvé al principio: el juego de Valentina funciona porque entrenó un modelo con ejemplos etiquetados de «brazos arriba» y «brazos abajo»; la computadora halló el patrón sin que nadie escribiera reglas. Para que funcione bien con otras personas, los datos tienen que ser variados y el modelo se tiene que probar con ejemplos nuevos.