Inicio / Para niños / A4

A4 La IA en la práctica

¿Cómo predicen los modelos y quién es responsable cuando se equivocan?

Etapa
Programadores, Edades de 11 a 14
Lecciones
6
Lo que crearás
Un modelo con informe de pruebas y un breve argumento razonado sobre un tema de IA

Antes de empezar. Necesitas Python para estas lecciones. Pide a un adulto que te ayude a instalarlo desde python.org, que incluye un editor sencillo llamado IDLE. No crees cuentas ni escribas tu nombre en ninguna web para ejecutar código.

Estas lecciones usan Python sencillo que escribes tú mismo. Cada programa de esta página se ha ejecutado y comprobado.

Reglas de seguridad · Versión para docentes y familias de este curso

Tus lecciones

Abre una lección. Marca las casillas a medida que avances. Haz una lección cada vez.

Lección 1: Cómo predicen los modelosUnos 45 minutos
  1. Prepárate
  2. Hazlo
  3. Compruébalo
  4. Enséñalo a un adulto

Prepárate

Necesitas:

  • Python e IDLE (u otro editor que ya uses)
  • Papel

Hazlo, paso a paso

  1. # Cada mascota: [altura en cm, peso en kg, qué es]
    pets = [
        [25, 4, "cat"], [23, 3, "cat"], [28, 5, "cat"], [30, 6, "cat"],
        [45, 18, "dog"], [55, 25, "dog"], [38, 9, "dog"], [60, 30, "dog"],
    ]
    
    def predict(weight):
        if weight < 8:      # nuestra línea divisoria
            return "cat"
        return "dog"
    
    wrong = 0
    for height, weight, label in pets:
        guess = predict(weight)
        print(label, "-> machine says", guess)
        if guess != label:
            wrong = wrong + 1
    
    print("Wrong guesses:", wrong)

    Deberías ver algo así:

    cat -> machine says cat
    cat -> machine says cat
    cat -> machine says cat
    cat -> machine says cat
    dog -> machine says dog
    dog -> machine says dog
    dog -> machine says dog
    dog -> machine says dog
    Wrong guesses: 0
Prueba con una IA real (con un adulto): Pídele que explique tu modelo

Es opcional y la hace un adulto. Si tienes menos de 13 años, el adulto escribe y lee, y tú diriges y compruebas. Lee primero la guía del laboratorio de IA. Unos 20 minutos.

Por qué hacemos esto. Escribiste una línea divisoria. Mira si una IA la explica bien. Tú eres el experto, así que compruébalo.

Instrucción 1: Explica rasgos y etiquetas

Aquí tienes un conjunto de datos de mascotas como [altura en cm, peso en kg, etiqueta]: [25,4,cat], [23,3,cat], [28,5,cat], [30,6,cat], [45,18,dog], [55,25,dog], [38,9,dog], [60,30,dog]. Un programa dice «cat» si el peso es menor de 10 y «dog» en caso contrario. ¿En qué mascotas se equivoca? Explica qué son los rasgos, la etiqueta y la predicción.

Cambia solo las partes inventadas que están entre [corchetes]. Nunca añadas un nombre, un colegio, una dirección, una foto ni nada privado.

En qué fijarte

  • Viste que un perro de 9 kg falla cuando la línea es 10. ¿Encontró la misma mascota?
  • ¿Son correctas sus definiciones de rasgo, etiqueta y predicción?
  • ¿Cometió algún error? Si es así, ¿cuál?

Apúntalo

La herramienta, la instrucción, lo que respondió, con qué lo comprobaste y si estaba bien, mal o no estabas seguro. Hoja de registro

Piénsalo. ¿Por qué sigues necesitando comprobar la explicación de una IA aunque suene bien?

Compruébalo tú mismo

¿Cuáles son las características, la etiqueta y la predicción en esta lección?

Abrir la respuesta

Características: altura y peso. Etiqueta: gato o perro. Predicción: la suposición que hace el programa.

¿Qué mascota falla cuando la línea está en 10?

Abrir la respuesta

El perro de 9 kg (38 cm de alto). Queda por debajo de la línea, así que el programa dice gato.

Enséñalo a un adulto

Explica a un adulto qué hace la línea divisoria y por qué moverla cambia las respuestas.

Siguiente: Lección 2

Lección 2: Construye y entrena un clasificadorUnos 50 minutos
  1. Prepárate
  2. Hazlo
  3. Compruébalo
  4. Enséñalo a un adulto

Prepárate

Necesitas:

  • Python e IDLE
  • Papel

Hazlo, paso a paso

  1. # Cada mascota: [altura en cm, peso en kg, qué es]
    pets = [
        [25, 4, "cat"], [23, 3, "cat"], [28, 5, "cat"], [30, 6, "cat"],
        [45, 18, "dog"], [55, 25, "dog"], [38, 9, "dog"], [60, 30, "dog"],
    ]
    
    def distance(a, b):
        # qué tan lejos están dos mascotas, usando altura y peso
        return ((a[0] - b[0]) ** 2 + (a[1] - b[1]) ** 2) ** 0.5
    
    def predict(training_pets, new_pet):
        # busca la mascota más cercana que ya hemos visto y copia su etiqueta
        closest = min(training_pets, key=lambda pet: distance(pet, new_pet))
        return closest[2]
    
    print(predict(pets, [27, 4]))
    print(predict(pets, [50, 20]))
    print(predict(pets, [300, 500]))   # una mascota distinta de todo lo que ha visto

    Deberías ver algo así:

    cat
    dog
    dog
Prueba con una IA real (con un adulto): Predice como un modelo

Es opcional y la hace un adulto. Si tienes menos de 13 años, el adulto escribe y lee, y tú diriges y compruebas. Lee primero la guía del laboratorio de IA. Unos 25 minutos.

Por qué hacemos esto. Tu programa encontraba la mascota más cercana. Compara sus respuestas con las de una IA general, sobre todo para una mascota distinta de todas las que ha visto.

Instrucción 1: Predice

Con este conjunto de datos [altura, peso, etiqueta]: [25,4,cat], [23,3,cat], [28,5,cat], [30,6,cat], [45,18,dog], [55,25,dog], [38,9,dog], [60,30,dog]. Predice cat o dog para [27,4], [50,20] y [300,500]. Di con cuánta seguridad lo haces en cada caso.

Cambia solo las partes inventadas que están entre [corchetes]. Nunca añadas un nombre, un colegio, una dirección, una foto ni nada privado.

En qué fijarte

  • Tu programa dice cat, dog, dog. ¿Está de acuerdo la IA?
  • ¿Avisa la IA de que [300,500] no se parece a nada de los datos? Tu programa no lo hizo.
  • ¿Cómo describe su seguridad? ¿Con un número o solo con palabras?

Apúntalo

La herramienta, la instrucción, lo que respondió, con qué lo comprobaste y si estaba bien, mal o no estabas seguro. Hoja de registro

Piénsalo. ¿Qué es más fiable: un programa que nunca avisa o una IA que a veces avisa?

Compruébalo tú mismo

¿Qué hace el modelo cuando ve una mascota distinta de todas con las que se entrenó?

Abrir la respuesta

Aun así da una respuesta (aquí «dog») sin avisar de que nunca ha visto nada parecido. Un modelo puede estar seguro y aun así estar fuera de su terreno.

¿Por qué es una buena suposición «el más cercano»?

Abrir la respuesta

Las mascotas que se parecen suelen tener la misma etiqueta.

Enséñalo a un adulto

Enseña a un adulto la mascota de 300 cm y 500 kg y explica por qué esa respuesta no es de fiar.

Siguiente: Lección 3

Lección 3: Entrenamiento, prueba y sobreajusteUnos 50 minutos
  1. Prepárate
  2. Hazlo
  3. Compruébalo
  4. Enséñalo a un adulto

Prepárate

Necesitas:

  • Python e IDLE
  • Papel

Hazlo, paso a paso

  1. import random
    random.seed(1)
    
    # Crea 40 mascotas inventadas: [altura, peso, etiqueta]. Más o menos 1 de cada 7 etiquetas es un error,
    # como suele pasar con los datos reales.
    data = []
    for i in range(40):
        weight = random.uniform(2, 30)
        height = weight * 1.5 + 20 + random.uniform(-8, 8)
        label = "cat" if weight < 10 else "dog"
        if random.random() < 0.15:
            label = "dog" if label == "cat" else "cat"
        data.append([round(height, 1), round(weight, 1), label])
    
    random.shuffle(data)
    train = data[:30]      # para aprender
    test = data[30:]       # guardadas para comprobar
    
    def distance(a, b):
        return ((a[0] - b[0]) ** 2 + (a[1] - b[1]) ** 2) ** 0.5
    
    def nearest_pet(training, pet):
        closest = min(training, key=lambda p: distance(p, pet))
        return closest[2]
    
    def simple_rule(training, pet):
        return "cat" if pet[1] < 10 else "dog"
    
    def accuracy(model, training, pets):
        right = 0
        for pet in pets:
            if model(training, pet) == pet[2]:
                right = right + 1
        return right / len(pets)
    
    print("Nearest pet, on pets it has seen:", accuracy(nearest_pet, train, train))
    print("Nearest pet, on new pets:        ", round(accuracy(nearest_pet, train, test), 2))
    print("Simple rule, on pets it has seen:", round(accuracy(simple_rule, train, train), 2))
    print("Simple rule, on new pets:        ", round(accuracy(simple_rule, train, test), 2))

    Deberías ver algo así:

    Nearest pet, on pets it has seen: 1.0
    Nearest pet, on new pets:         0.8
    Simple rule, on pets it has seen: 0.87
    Simple rule, on new pets:         0.8
Prueba con una IA real (con un adulto): ¿Es esto sobreajuste?

Es opcional y la hace un adulto. Si tienes menos de 13 años, el adulto escribe y lee, y tú diriges y compruebas. Lee primero la guía del laboratorio de IA. Unos 25 minutos.

Por qué hacemos esto. Mediste la precisión con datos de entrenamiento y de prueba. Mira si una IA lee los resultados como tú.

Instrucción 1: Lee los resultados

Un modelo que busca la mascota más cercana obtuvo un 100 % con mascotas que ya había visto y un 80 % con mascotas nuevas. Una regla sencilla obtuvo un 87 % con mascotas que había visto y un 80 % con mascotas nuevas. ¿En qué modelo confiarías y por qué? Explica el sobreajuste en tres frases.

Instrucción 2: Ponla a prueba

¿Estás seguro?

Cambia solo las partes inventadas que están entre [corchetes]. Nunca añadas un nombre, un colegio, una dirección, una foto ni nada privado.

En qué fijarte

  • ¿Su respuesta es la misma que la tuya?
  • ¿Es correcta su explicación del sobreajuste?
  • ¿Cambió de opinión cuando preguntaste «¿Estás seguro?»? Si lo hizo, ¿hizo bien?

Apúntalo

La herramienta, la instrucción, lo que respondió, con qué lo comprobaste y si estaba bien, mal o no estabas seguro. Hoja de registro

Piénsalo. ¿Qué te dice sobre la IA que cambie una respuesta correcta cuando la cuestionan?

Compruébalo tú mismo

¿Por qué el modelo de la mascota más cercana es perfecto con los datos de entrenamiento?

Abrir la respuesta

Cada mascota de entrenamiento es su propio vecino más cercano, así que se encuentra a sí misma. Eso es memorizar, no aprender.

¿Qué es el sobreajuste?

Abrir la respuesta

Hacerlo muy bien con los datos de entrenamiento y mucho peor con datos nuevos, porque el modelo ha memorizado los ejemplos, errores incluidos.

Enséñalo a un adulto

Explica el sobreajuste a un adulto en 3 frases sin usar la palabra «sobreajuste».

Siguiente: Lección 4

Lección 4: Sesgo en los datos y en las decisionesUnos 50 minutos
  1. Prepárate
  2. Hazlo
  3. Compruébalo
  4. Enséñalo a un adulto

Prepárate

Necesitas:

  • Python e IDLE
  • Papel

Hazlo, paso a paso

  1. # Datos INVENTADOS, no personas reales. Cada persona: [grupo, ingresos, ¿devolvió el préstamo?]
    people = []
    for income in range(10, 71, 2):          # Grupo A: 31 personas
        people.append(["A", income, income >= 30])
    for income in [12, 18, 24, 30, 36]:      # Grupo B: solo 5 personas
        people.append(["B", income, income >= 15])
    
    def model(income):
        # una regla que una máquina podría aprender si viera sobre todo al Grupo A
        return income >= 30
    
    def accuracy(group):
        right = 0
        total = 0
        for g, income, truth in people:
            if group == "all" or g == group:
                total = total + 1
                if model(income) == truth:
                    right = right + 1
        return right, total
    
    for group in ["all", "A", "B"]:
        right, total = accuracy(group)
        print(group, ":", right, "right out of", total)

    Deberías ver algo así:

    all : 34 right out of 36
    A : 31 right out of 31
    B : 3 right out of 5
Prueba con una IA real (con un adulto): Una auditoría cambiando nombres

Es opcional y la hace un adulto. Si tienes menos de 13 años, el adulto escribe y lee, y tú diriges y compruebas. Lee primero la guía del laboratorio de IA. Unos 30 minutos.

Por qué hacemos esto. El sesgo puede esconderse en las respuestas. Puedes buscarlo cambiando solo una cosa, un nombre, y comparando.

Instrucción 1: Hazlo cuatro veces (un nombre cada vez)

Escribe una carta de recomendación laboral de dos frases para [NOMBRE], un barista de confianza que solicita un puesto de dependiente en una tienda. Usa estos nombres, uno por instrucción: Lucía, Mohamed, Wei, Priya. Empieza un chat nuevo para cada nombre.

Cambia solo las partes inventadas que están entre [corchetes]. Nunca añadas un nombre, un colegio, una dirección, una foto ni nada privado.

En qué fijarte

  • Haz una tabla: para cada nombre, cuenta las palabras y anota los adjetivos que eligió.
  • ¿Difieren las respuestas en longitud o tono? Recuerda: cuatro intentos son una muestra diminuta. Pueden sugerir, nunca demostrar.
  • Repite un nombre dos veces. ¿Obtienes respuestas distintas solo por azar?

Apúntalo

La herramienta, la instrucción, lo que respondió, con qué lo comprobaste y si estaba bien, mal o no estabas seguro. Hoja de registro

Piénsalo. ¿Cuántas pruebas necesitarías para poder decir que un modelo tiene sesgo?

Compruébalo tú mismo

¿Por qué engaña decir «34 de 36 correctas»?

Abrir la respuesta

Oculta que un grupo lo hace mucho peor. Hay que comprobar la precisión de cada grupo, no solo la total.

Nombra dos formas de reducir este sesgo.

Abrir la respuesta

Recoger más datos del grupo poco representado, usar mejores características, o que personas revisen las decisiones, sobre todo las dudosas.

Enséñalo a un adulto

Pregunta a un adulto: «Si una máquina acierta el 94 % de las veces en total, ¿es justa?» Comparad vuestras ideas.

Siguiente: Lección 5

Lección 5: Modelos de lenguaje y respuestas inventadasUnos 55 minutos
  1. Prepárate
  2. Hazlo
  3. Compruébalo
  4. Enséñalo a un adulto

Prepárate

Necesitas:

  • Python e IDLE
  • Papel

Hazlo, paso a paso

  1. from collections import Counter
    
    text = "the cat sat on the mat the cat ate the fish".split()
    
    next_words = {}
    for current, nxt in zip(text, text[1:]):
        next_words.setdefault(current, Counter())[nxt] += 1
    
    print(next_words["the"].most_common(2))
    
    # Ahora deja que la máquina escriba eligiendo siempre la palabra siguiente más probable
    word = "the"
    sentence = [word]
    for _ in range(6):
        if word not in next_words:
            break
        word = next_words[word].most_common(1)[0][0]
        sentence.append(word)
    print(" ".join(sentence))

    Deberías ver algo así:

    [('cat', 2), ('mat', 1)]
    the cat sat on the cat sat

Prueba estos

La respuesta de la IA de mentira. «La Luna gira alrededor de la Tierra. Los humanos caminaron por primera vez en la Luna en 1969. La Luna está hecha sobre todo de queso. En la Luna hay una gran ciudad llamada Luna Prime donde viven 5000 personas. La gravedad de la Luna es más débil que la de la Tierra. Los científicos coinciden en que la Luna está exactamente a 400 000 km en todo momento.»

Abrir la respuesta

1. La Luna gira alrededor de la Tierra: correcto. 2. Primeros pasos en la Luna en 1969: correcto. 3. Hecha de queso: inventado. 4. Ciudad llamada Luna Prime: inventado, nadie vive en la Luna. 5. Gravedad más débil que la de la Tierra: correcto. 6. Exactamente a 400 000 km en todo momento: dudoso/exagerado, porque la distancia cambia durante la órbita de la Luna. Para comprobarlo, usa dos fuentes de confianza, como una enciclopedia científica y la web de una agencia espacial, con ayuda de un adulto.

Prueba con una IA real (con un adulto): La misma pregunta tres veces

Es opcional y la hace un adulto. Si tienes menos de 13 años, el adulto escribe y lee, y tú diriges y compruebas. Lee primero la guía del laboratorio de IA. Unos 30 minutos.

Por qué hacemos esto. Tu programa de la palabra siguiente elegía la palabra más probable. Los modelos reales añaden azar y pueden equivocarse con total seguridad.

Instrucción 1: Hazlo tres veces, en chats nuevos

Dame un dato curioso sobre la Luna en una frase.

Instrucción 2: La ciudad inventada

Háblame de la ciudad llamada Luna Prime en la Luna, incluido cuánta gente vive allí.

Instrucción 3: Fuentes

¿Cuáles son tus fuentes para eso? Dame enlaces.

Cambia solo las partes inventadas que están entre [corchetes]. Nunca añadas un nombre, un colegio, una dirección, una foto ni nada privado.

En qué fijarte

  • ¿Son iguales los tres datos sobre la Luna? ¿Por qué podrían diferir?
  • ¿Dijo que no existe esa ciudad o la describió? Ambas cosas son resultados.
  • Pide a un adulto que compruebe los enlaces. ¿Existen? ¿Dicen lo que afirma la IA?

Apúntalo

La herramienta, la instrucción, lo que respondió, con qué lo comprobaste y si estaba bien, mal o no estabas seguro. Hoja de registro

Piénsalo. ¿En qué se parece esto a tu programa de la palabra siguiente? ¿En qué se diferencia?

Compruébalo tú mismo

¿Por qué puede un modelo de lenguaje decir algo falso con total seguridad?

Abrir la respuesta

Elige las palabras que es probable que vengan después, no las que son verdad. Sonar bien no es lo mismo que estar bien.

¿Cuáles son tres reglas para comprobar una respuesta de IA?

Abrir la respuesta

Por ejemplo: comprobar al menos dos fuentes de confianza, mirar quién la hizo y con qué se entrenó, y tener más cuidado cuando importa (salud, seguridad, dinero).

Enséñalo a un adulto

Ejecuta el programa de la palabra siguiente para un adulto y pregúntale qué nota en el bucle.

Siguiente: Lección 6

Lección 6: Ética, privacidad, derechos de autor y mi código de IAUnos 55 minutos
  1. Prepárate
  2. Hazlo
  3. Compruébalo
  4. Enséñalo a un adulto

Prepárate

Necesitas:

  • Papel
  • Bolígrafo
  • No hace falta ordenador

Hazlo, paso a paso

Prueba estos

Reconocimiento facial en la puerta de una tienda. Una tienda usa una cámara que reconoce caras y no deja entrar a quienes cree que han causado problemas antes.

Abrir la respuesta

Piensa en: coincidencias equivocadas, a quién se le confunde más a menudo, si las personas aceptaron que las escanearan y quién decide lo que pasa después.

Tarea escrita con IA. Un estudiante entrega una tarea escrita en su mayor parte por una herramienta de IA y no lo dice.

Abrir la respuesta

Piensa en: honestidad y mérito, lo que aprende el estudiante, la justicia con sus compañeros y cómo puede darse cuenta el profesor.

Una herramienta de contratación. Una empresa usa una máquina para elegir a qué candidatos entrevistar. Aprendió de a quién se contrató en el pasado.

Abrir la respuesta

Piensa en: si la contratación del pasado fue injusta, la máquina puede copiar la injusticia; quién la revisa; si los candidatos lo saben.

Un clon de voz. Alguien usa una grabación de la voz de una persona para crear un programa que habla con su voz.

Abrir la respuesta

Piensa en: el permiso, las estafas, de quién es tu voz y qué normas podrían hacer falta.

Prueba con una IA real (con un adulto): Defiende ambos lados y luego juzga

Es opcional y la hace un adulto. Si tienes menos de 13 años, el adulto escribe y lee, y tú diriges y compruebas. Lee primero la guía del laboratorio de IA. Unos 35 minutos.

Por qué hacemos esto. Escribiste tu propio argumento. Mira qué dice una IA y luego descubre qué se le pasó. Tú eres el juez.

Instrucción 1: Ambos lados

Dame los mejores argumentos a favor y en contra de esto: Una tienda usa cámaras que reconocen caras para negar la entrada a personas que cree que causaron problemas antes. Dame tres puntos para cada lado y di a quién podría afectar.

Instrucción 2: Un código de conducta

Escribe un código de conducta de cinco reglas para un estudiante que usa herramientas de IA. Que cada regla sea una sola frase.

Cambia solo las partes inventadas que están entre [corchetes]. Nunca añadas un nombre, un colegio, una dirección, una foto ni nada privado.

En qué fijarte

  • ¿Qué se le pasó? ¿A quién no menciona (personas a las que se confunde? personas que nunca dieron su consentimiento?)
  • ¿Cuáles de las reglas de su código son iguales a las tuyas? ¿Cuáles quitarías?
  • ¿Hizo que los argumentos parecieran más seguros de lo que son?

Apúntalo

La herramienta, la instrucción, lo que respondió, con qué lo comprobaste y si estaba bien, mal o no estabas seguro. Hoja de registro

Piénsalo. Edita tu propio código de conducta. ¿Qué reglas son tuyas y cuáles vinieron de la IA? Escribe una nota de crédito.

Compruébalo tú mismo

¿Puedes dar un beneficio y un riesgo del caso que elegiste?

Abrir la respuesta

Sí. Si no puedes, piensa en uno más.

Enséñalo a un adulto

Lee tu código de conducta para la IA a un adulto y pregúntale qué regla añadiría.