Cómo funciona la inteligencia artificial - Ronald T. Kneusel - E-Book

Cómo funciona la inteligencia artificial E-Book

Ronald T. Kneusel

0,0
19,99 €

-100%
Sammeln Sie Punkte in unserem Gutscheinprogramm und kaufen Sie E-Books und Hörbücher mit bis zu 100% Rabatt.
Mehr erfahren.
Beschreibung

¿Desea saberlo todo sobre la IA? Son muchos los manuales que enseñan conceptos acerca de la IA y que se quedan solo en lo superficial, o bien presentan demasiada teoría complicada y poco clara. Sin embargo, este libro es distinto: profundiza en cómo funciona la IA sin recurrir a las complejas matemáticas. Con sus más de dos décadas de experiencia en el campo, Ronald T. Kneusel le guiará a través de la historia de la IA y arrojará luz sobre los predecesores que allanaron el camino para los avances modernos y los modelos clásicos que marcaron el comienzo de todo. En este libro encontrará cómo funcionan las redes neuronales y cómo las redes convolucionales aprenden a identificar y clasificar imágenes. También se adentrará en los reinos más vanguardistas de la IA, como los de las redes generativas antagónicas y los modelos de difusión, y aprenderá cómo han ido evolucionando para generar imágenes complejas y realistas a partir de sencillas indicaciones de texto. Asimismo, descubrirá cómo los grandes modelos lingüísticos (LLM) comprenden y producen textos muy similares a los humanos, por qué muchos los consideran el amanecer de la verdadera IA y cómo podrían ser ellos los que den forma a nuestro futuro. Además, gracias a esta lectura explorará: - La relación entre inteligencia artificial, aprendizaje automático (Machine Learning) y aprendizaje profundo (Deep Learning). - La historia que está detrás de la IA y el motivo por el que ahora está teniendo lugar la revolución de la inteligencia artificial. - Por qué la IA simbólica fracasó, pero allanó el camino para la aparición de las redes neuronales. - Cómo las redes neuronales se entrenan y se aplican para lograr lo que antes se consideraba imposible. - Cómo los LLM, como ChatGPT, y Bard podrían llegar a cambiar nuestro mundo y nuestra vida cotidiana. Es cierto que la IA a veces puede parecer magia, pero no lo es. Si se pregunta cómo funciona, qué puede llegar a hacer y por qué hay tanto revuelo a su alrededor, este libro se lo revelará todo sobre este misterioso y nuevo mundo ¡sin una sola ecuación! SOBRE EL AUTOR Ronald T. Kneusel trabaja en la industria del aprendizaje automático desde el año 2003. Es doctor en aprendizaje automático por la Universidad de Colorado, en Boulder.

Das E-Book können Sie in Legimi-Apps oder einer beliebigen App lesen, die das folgende Format unterstützen:

EPUB
MOBI

Seitenzahl: 367

Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



CÓMO FUNCIONA LA INTELIGENCIA ARTIFICIAL

De la magia a la ciencia

Ronald T. Kneusel

Copyright © 2024 by Ronald T. Kneusel. Title of English-language original: How AI Works: From Sorcery to Science, ISBN 9781718503724, published by No Starch Press Inc. 245 8th Street, San Francisco, California United States 94103. The Spanish-Language 1st edition Copyright © 2024 by Marcombo, S.L. under license by No Starch Press Inc. All rights reserved.

Primera edición original publicada en inglés por No Starch Press Inc. con el título How AI Works: From Sorcery to Science, ISBN 9781718503724 © Ronald T. Kneusel, 2024.

Título de la edición en español:

Cómo funciona la inteligencia artificial

Primera edición en español, 2024

© 2024 MARCOMBO, S.L.

www.marcombo.com

Ilustración de portada: Gina Redman

Diseño del interior: Octopod Studios

Revisión técnica: Alex Kachurin

Traducción: Beatriz García

Corrección: Mónica Muñoz

Directora de producción: M.a Rosa Castillo

Cualquier forma de reproducción, distribución, comunicación pública o transformación de esta obra solo puede ser realizada con la autorización de sus titulares, salvo excepción prevista por la ley. La presente publicación contiene la opinión del autor y tiene el objetivo de informar de forma precisa y concisa. La elaboración del contenido, aunque se ha trabajado de forma escrupulosa, no puede comportar una responsabilidad específica para el autor ni el editor de los posibles errores o imprecisiones que pudiera contener la presente obra.

ISBN del libro en papel: 978-84-267-3847-9

ISBN del libro electrónico: 978-84-267-3890-5

Producción del ePub: booqlab

A Frank Rosenblatt, que lo vio venir.

Sobre el autor

Ronald T. Kneusel lleva desde el año 2003 trabajando en el campo del aprendizaje automático y su aplicación en la industria. En 2016 obtuvo su doctorado en Aprendizaje Automático en la Universidad de Colorado en Boulder. Ron es autor de otros cinco libros: Practical Deep Learning: A Python-Based Introduction (No Starch Press, 2021), Math for Deep Learning: What You Need to Know to Understand Neural Networks (No Starch Press, 2021), Strange Code: Esoteric Languages That Make Programming Fun Again (No Starch Press, 2022), Numbers and Computers (Springer, 2017) y Random Numbers and Computers (Springer, 2018).

Sobre el revisor técnico

Alex Kachurin es un especialista en ciencia de datos y aprendizaje automático con más de quince años de experiencia en este ámbito. En el año 2010 realizó un máster en Visión Artificial en la Universidad de Florida Central.

CONTENIDO

Agradecimientos

Prefacio

1. Allá vamos: una panorámica de la IA

2. ¿Por qué ahora? La historia de la IA

3. Modelos clásicos: el aprendizaje automático en la vieja escuela

4. Redes neuronales: una IA similar al cerebro

5. Redes neuronales convolucionales: la IA aprende a ver

6. La IA generativa: la IA se vuelve creativa

7. Grandes modelos lingüísticos. ¿Por fin una verdadera IA?

8. Reflexiones: las implicaciones de la IA

Glosario

Recursos

AGRADECIMIENTOS

En primer lugar, quiero darle las gracias a Eva Morrow, por su cuidada, y amabilísima, edición. Mi agradecimiento también a Alex Kachurin, gran experto en ciencias, por su perspicacia, sus atentos comentarios y sus sugerencias. Por último, gracias infinitas al fantástico equipo de No Starch Press, por creer en este libro y ayudarme a hacerlo realidad.

Prefacio

Se han escrito muchos libros que enseñan a hacer inteligencia artificial (IA). Asimismo, son muchísimos los libros que se han hecho famosos por hablar de la IA. Sin embargo, a estas alturas, parece faltar un libro que enseñe cómo funciona la IA a nivel conceptual. La IA no funciona por arte de magia, y cualquiera puede llegar a entenderla sin necesidad de abrumarse con complejas fórmulas matemáticas.

Precisamente por eso, se ha publicado este libro: para llenar ese vacío con una explicación sin matemáticas de cómo funciona la IA. Mientras que algunas obras se adentran en la maleza y otras se esfuerzan por ofrecer una especie de vista de pájaro, las páginas de este libro se han escrito desde la copa de un árbol. El objetivo es proporcionar suficientes detalles para entender el enfoque, pero sin empantanar al lector en la esencia matemática; así que, si el propósito del libro le resulta interesante, lo invito a seguir leyendo.

A medida que avance en la lectura, en algunas partes encontrará los símbolos ****. Con ellos se pretende señalar un cambio de tema o un punto de transición. En un libro de texto, **** indicaría una nueva sección, pero esto no es un libro de texto ni quiero que se le parezca, por lo que, en lugar de hablar de secciones y subsecciones, recurriré a los asteriscos, para avisar de que se avecina un cambio, como ahora…

****

La primera vez que oí hablar de la IA fue allá por 1987, en un curso universitario con el mismo nombre. No obstante, lo que la gente suele entender por IA ha cambiado considerablemente en las últimas décadas. Pese a ello, el objetivo sigue siendo el mismo: imitar el comportamiento inteligente de una máquina.

En los años ochenta, pocas personas tenían motivos para aprender sobre la IA, si es que la conocían. Lo cierto es que la IA tenía un impacto mínimo en su vida cotidiana, más allá de ese ordenador rebelde que, de cuando en cuando, aparecía en programas de televisión y películas de ciencia ficción como Star Trek y Juegos de guerra, por no hablar del implacable y terrorífico Terminator.

Sin embargo, y por mucha tendencia retro que sigamos observando, los ochenta han quedado atrás y la IA, en la actualidad, está en todas partes. De hecho, diariamente afecta a nuestras vidas de muchas formas: nuestros teléfonos nos dicen si debemos conducir por aquí o por allí, nuestros amigos y familiares nos etiquetan en sus fotos e internet no cesa de bombardearnos con miles de artículos y anuncios, nos gusten o no. Y eso por no hablar de la reciente explosión de la IA y sus grandes modelos lingüísticos, lo que muchos interpretan como “verdadera IA“, por fin.

La IA también se deja ver entre bastidores en ámbitos en los que rara vez advertimos su presencia. Así, entre otras muchas cosas, permite a las aerolíneas planificar los vuelos, facilita las labores de transporte y logística, está detrás de la automatización de las fábricas, ayuda a obtener imágenes de la Tierra por satélite y hace posible que el médico sea capaz de diagnosticar un cáncer.

Entonces…, ¿por qué aprender sobre IA ahora?

Este libro que tiene en las manos pretende responder a esa pregunta explicando qué ha ocurrido, cuándo, por qué y, lo que es más importante, cómo, y todo sin recurrir a exageraciones ni a una sola ecuación matemática. Francamente, considero que la realidad que hay detrás de la revolución de la IA es por sí sola tan impresionante que el bombo publicitario resulta del todo innecesario.

Una vez aquí, me parece oportuno hablar un poco de mí. Si le estoy pidiendo que, como lector, me acompañe en un viaje por el mundo de la IA, creo que lo más razonable es que usted quiera saber algo sobre su guía. Por eso, déjeme que me presente.

Como ya he dicho, la IA entró en mi vida a finales de los años ochenta. Fue en 2003 cuando empecé a trabajar en el ámbito de la IA, concretamente en un subcampo conocido como machine learning o aprendizaje automático. Por aquel entonces, mi labor consistía en aplicar modelos de aprendizaje automático a imágenes de ecografía intravascular.

La expresión deep learning, o aprendizaje profundo, entró en mi vocabulario en 2010. El deep learning es un subcampo del aprendizaje automático. Más adelante, en el capítulo 1, aclararé la diferencia entre aprendizaje profundo, aprendizaje automático e inteligencia artificial, pero, por ahora, vale pensar que son lo mismo.

La IA entró en escena en 2012, o al menos fue en ese año cuando comenzó a salir en las noticias por el anuncio de lo que pasaría a llamarse AlexNet y un curioso experimento de Google con ordenadores, que aprendían a identificar gatos en vídeos de YouTube. Yo estuve presente en aquel Congreso Internacional sobre Aprendizaje Automático celebrado en Edimburgo (Escocia) en 2012 en el que Google presentó su ponencia ante los cerca de ochocientos asistentes que tuvimos que estar de pie.

Más adelante, en 2016, terminé mi doctorado en Informática Especializada en IA en la Universidad de Colorado en Boulder, bajo la dirección de Michael Mozar. Desde entonces, llevo trabajando en IA a diario, principalmente enfocada a la industria de la defensa, excepto durante un breve periodo de descanso que me concedí en 2016, para ayudar a cofundar una startup de IA médica.

Tras AlexNet, las cosas fueron cambiando a un ritmo vertiginoso, ya que casi cada mes aparecía algún nuevo “milagro” relacionado con la IA, ya fuera en la bibliografía académica o en los telediarios de por la noche. Por ello, la única forma de mantenerse al día era participando en congresos y conferencias varias veces al año, pues esperar a que los resultados aparecieran publicados en revistas académicas era absurdo, ya que el campo de la IA avanzaba demasiado rápido para la lentitud burocrática que conllevan las publicaciones científicas.

Estoy escribiendo este prefacio en noviembre del año 2022, durante los días en que se celebra el congreso NeurIPS, que es posiblemente la reunión más importante en materia de IA (no me manden ningún correo de odio, por favor). Y esta es la primera vez que vuelve a ser presencial desde la pandemia del COVID-19. La asistencia es elevada, aunque quizá no tan alta como en 2019, cuando hubo que sortear quiénes podían acudir, ya que solo había 13 500 plazas. El simple hecho de que la participación en el congreso haya pasado de unos pocos cientos a más de diez mil en tan solo una década ya nos indica la relevancia que ha adquirido la investigación sobre IA.

Asimismo, los nombres de los líderes de la industria tecnológica que apoyan estas conferencias, sin duda cotos de caza privilegiados para los estudiantes de posgrado, también revelan la enorme importancia de la IA. Por allí se ven estands de Google, DeepMind (también Google), Meta (léase Facebook), Amazon, Apple y otros. Es evidente que la IA impulsa gran parte de lo que hacen estas empresas. A estas alturas, todo el mundo sabe que la IA mueve mucho dinero. La IA funciona con datos y, precisamente, estas empresas engullen todos los datos que les proporcionamos libremente a cambio de sus servicios.

Mi objetivo es que, al final de este libro, llegue a comprender la cara oculta de la IA. A fin de cuentas, tampoco es tan difícil de ver, por muy sutiles que hayan intentado ser quienes están detrás de ella.

El libro se desarrolla del siguiente modo:

- Capítulo 1: Allá vamos: una panorámica de la IA. Nos adentramos en el mundo de la IA para conocer sus principios básicos y un ejemplo.

- Capítulo 2: ¿Por qué ahora? La historia de la IA. En este capítulo, repasamos la historia de la IA y tratamos de entender por qué está teniendo lugar esta revolución.

- Capítulo 3: Modelos clásicos: el aprendizaje automático en la vieja escuela. La IA moderna se basa en las redes neuronales, pero, para entender su funcionamiento, resulta útil comprender los modelos anteriores.

- Capítulo 4: Redes neuronales: una IA similar al cerebro. Este capítulo va especialmente dirigido a todos aquellos que quieren saber qué es una red neuronal, cómo se entrena y cómo se utiliza.

- Capítulo 5: Redes neuronales convolucionales: la IA aprende a ver. Gran parte de la fuerza de la IA moderna proviene del aprendizaje de nuevas formas de interpretar los datos. Si le parece que esta afirmación no tiene mucho sentido, apuesto a que este capítulo le será de gran ayuda.

- Capítulo 6: La IA generativa: la IA se vuelve creativa. En los modelos tradicionales de aprendizaje automático, se asignan etiquetas a las entradas. Sin embargo, la IA generativa produce resultados novedosos, como texto, imágenes e incluso vídeo. En este capítulo, se exploran dos enfoques populares: las redes generativas antagónicas (GAN) y los modelos de difusión. Las GAN son las que nos proporcionan la intuición necesaria para explorar los modelos de difusión y, en el capítulo 7, los modelos de lenguaje grande (LLM). Los modelos de difusión son expertos en producir imágenes y vídeos detallados y fotorrealistas, a partir de mensajes de texto.

- Capítulo 7: Grandes modelos lingúísticos. ¿Por fin una verdadera IA? En otoño de 2022, el lanzamiento por parte de OpenAI de su modelo de lenguaje grande, ChatGPT, sí podría haber marcado el comienzo de la era de la verdadera IA; de ahí que, en este capítulo, haya querido explorar los LLM: qué son, cómo funcionan y por qué se nos antojan algo nuevo y disruptivo.

- Capítulo 8: Reflexiones: las implicaciones de la IA. La llegada de los grandes modelos lingüísticos ha alterado el panorama de la IA, de ahí que el objetivo de este capítulo sea reflexionar sobre sus muchas implicaciones.

Al final del libro, encontrará una colección de recursos adicionales que podrá explorar si le pica el gusanillo de la IA y quiere saber más. Yo, aunque no sea muy objetivo en este sentido, le recomiendo leer mis libros Practical Deep Learning: A Python-Based Introduction (2021) y Math for Deep Learning: What You Need to Know to Understand Neural Networks (2021), los dos disponibles en No Starch Press. La lectura de ambos le dará todo lo que necesita para pasar de leer sobre cómo funciona conceptualmente la IA a hacer IA de verdad.

Por último, a medida que vaya avanzando en las páginas del libro, se dará cuenta de que algunas afirmaciones aparecen resaltadas. Las definiciones de muchas de estas palabras y frases enfatizadas se recogen en el glosario que encontrará al final del libro. Como sucede en todos los campos, el de la IA también tiene su jerga. Y acordarse de tantos vocablos es casi misión imposible, de ahí la idea de incluir este glosario. Yo soy una persona real; lo sé con certeza porque soy capaz de identificar y pulsar, sin meter la pata, imágenes de trenes y semáforos. Por eso, si tiene algún comentario o pregunta sobre los materiales de este libro, no dude en escribirme a [email protected]. Y ahora, si está listo…, ¡adelante!

Capítulo 1

ALLÁ VAMOS: UNA PANORÁMICA DE LA IA

La inteligencia artificial trata de convencer a una máquina, normalmente un ordenador, para que se comporte de un modo que los humanos consideran inteligente. El nombre fue acuñado en la década de los cincuenta por el destacado informático John McCarthy (1927-2011).

En este capítulo, se pretende aclarar qué es la IA y explicar su relación con el aprendizaje automático y el aprendizaje profundo; dos expresiones que seguro que, en estos últimos años, ha escuchado en numerosas ocasiones. Empezaremos con un ejemplo de aprendizaje automático en acción. Entienda este capítulo como una visión general de lo que es la IA y, en los siguientes, ya iremos profundizando en los conceptos aquí introducidos.

****

Todos los ordenadores se programan, para que lleven a cabo una tarea determinada. Para eso, se les da una secuencia de instrucciones, un programa, que incorpora un algoritmo, o la fórmula que el programa hace que el ordenador ejecute.

La palabra “algoritmo”, que tanto se utiliza hoy día, en realidad no es nueva. Se trata de una corrupción de Al-Juarismi, en referencia al matemático persa del siglo IX Muḥammad Ibn Mūsā Al-Jwarizmī, cuyo principal regalo al mundo fueron las matemáticas que, en la actualidad, denominamos álgebra.

****

Permítame comenzar con una historia.

Tonya es la propietaria de una exitosísima fábrica de salsa picante. La receta de la salsa picante es de Tonya, y es ella quien la guarda con mucho celo. Es, literalmente, su salsa secreta, y solo ella conoce el proceso de elaboración.

Tonya emplea a un trabajador para cada paso del proceso de elaboración de la salsa picante. Son trabajadores humanos, pero lo cierto es que Tonya los trata como si fueran máquinas, porque le preocupa que le roben la receta de su salsa picante y porque Tonya es un poco bruja. En realidad, a los trabajadores esto no les importa mucho, porque su jefa les paga bien y se ríen de ella a sus espaldas.

La receta de Tonya es un algoritmo, pues consiste en el conjunto de pasos que hay que seguir para crear la salsa picante. La serie de instrucciones que Tonya utiliza para indicar a sus trabajadores cómo hacer la salsa picante es un programa. El programa incorpora el algoritmo de forma que los trabajadores (la máquina) puedan seguirlo paso a paso. Digamos que Tonya ha programado a sus trabajadores para que apliquen su algoritmo para crear salsa picante. La secuencia es algo así:

Cabe destacar algunas cuestiones de este escenario. En primer lugar, Tonya es, indudablemente, bastante bruja por tratar a los seres humanos como máquinas. En segundo lugar, en ningún momento del proceso de elaboración de la salsa picante, ningún trabajador necesita entender por qué hace lo que hace. En tercer lugar, el programador (Tonya) sí sabe por qué la máquina (los trabajadores) hace lo que hace, aunque la máquina no lo sepa.

****

Lo que acabo de describir resume a la perfección cómo hemos llegado a controlar prácticamente todos los ordenadores, remontándonos a las primeras máquinas conceptuales concebidas por Alan Turing en la década de los treinta e, incluso antes, a la máquina analítica del siglo XIX de Charles Babbage. Un humano concibe un algoritmo y lo traduce en una secuencia de pasos (un programa). La máquina ejecuta el programa e implementa así el algoritmo. La máquina no entiende lo que hace; simplemente, ejecuta una serie de instrucciones primitivas.

La genialidad de Babbage y Turing residió en prever que podía existir una máquina de propósito general capaz de ejecutar algoritmos arbitrarios mediante programas. Sin embargo, yo me atrevería a decir que fue Ada Lovelace, una amiga de Babbage a quien suele considerarse la primera programadora del mundo, quien comprendió desde el inicio las amplias posibilidades de lo que hoy llamamos ordenador. Hablaremos más sobre Turing, Babbage y Lovelace en el capítulo 2.

NOTA

En la época de Lovelace, un “ordenador” no era una máquina, sino un ser humano, que calculaba a mano. Por lo tanto, la máquina de Babbage era un ordenador mecánico.

Dediquemos un momento a explorar la relación entre las expresiones inteligencia artificial, aprendizaje automático y aprendizaje profundo. Sucede que los tres se han convertido en sinónimos para referirse a la IA moderna. Esto es erróneo, pero conveniente. En la figura 1.1, se muestra la adecuada relación entre las expresiones.

Figura 1.1. Relación entre inteligencia artificial, aprendizaje automático y aprendizaje profundo

El aprendizaje profundo es un subcampo del aprendizaje automático que, a su vez, es un subcampo de la inteligencia artificial. Esta relación implica que la IA integra conceptos que no son ni aprendizaje automático ni aprendizaje profundo. A todos esos conceptos los llamaremos IA de la vieja escuela, que incluye los algoritmos y enfoques desarrollados a partir de la década de los cincuenta. La IA de la vieja escuela no es lo que hoy día se entiende por IA. En adelante, ignoraremos por completo (e injustamente) esta parte del universo de la IA.

En pocas palabras, con el aprendizaje automático, se construyen modelos a partir de datos. Para nosotros, un modelo es una noción abstracta de algo que acepta entradas y genera salidas, donde las entradas y las salidas están relacionadas de alguna manera significativa. El objetivo principal del aprendizaje automático es acondicionar un modelo utilizando datos conocidos, para que el modelo produzca resultados significativos cuando se le den datos desconocidos. Esto está tan poco claro como el agua turbia, pero paciencia: con el tiempo, hasta el barro se acaba asentando.

En el aprendizaje profundo, se utilizan enormes modelos que antes eran demasiado grandes para resultar útiles. Lo sé, más agua turbia, pero voy a argumentar que no hay una definición estricta de aprendizaje profundo, aparte de que implica redes neuronales con muchas capas. Trataré de aclarar estos puntos en el capítulo 4.

En este libro seremos poco rigurosos, pero iremos en sintonía con el uso popular, incluso por parte de expertos, y consideraremos que “aprendizaje profundo” significa grandes redes neuronales (aún por definir formalmente), que “aprendizaje automático” se refiere a modelos condicionados por datos y que la “inteligencia artificial” es un cajón de sastre, tanto para el aprendizaje automático como para el aprendizaje profundo. Eso sí, hemos de tener presente que la IA es mucho más que lo que tratamos aquí.

De hecho, en la IA los datos lo son todo. Y no me cansaré nunca de repetirlo. Los modelos son pizarras en blanco que los datos deben acondicionar, para hacerlos adecuados para una tarea. Si los datos son malos, el modelo es malo. En las páginas que siguen, volveremos sobre esta noción de datos “buenos” y “malos”.

Por ahora, centrémonos en qué es un modelo, cómo se hace útil acondicionándolo y cómo se utiliza después de dicho acondicionamiento. Todo esto del acondicionamiento y el uso suena oscuro y siniestro, si no totalmente malvado, pero, se lo aseguro, no lo es, aun cuando tengamos formas de hacer que el modelo hable.

****

Un modelo de aprendizaje automático es una caja negra en el que se acepta una entrada, normalmente una colección de números, y produce una salida: por lo general, una etiqueta como “perro” o “gato”, o un valor continuo, como la probabilidad de ser un “perro” o el valor de una casa con las características dadas al modelo (tamaño, número de baños, código postal, etc.).

El modelo tiene parámetros, los cuales controlan la salida del modelo. Acondicionar un modelo, lo que se conoce como entrenamiento, consiste en ajustar los parámetros del modelo de forma que produzcan el resultado correcto para una entrada determinada.

El entrenamiento implica que tenemos una colección de entradas y las salidas que el modelo debe producir cuando se le dan esas entradas. A primera vista, esto parece un poco absurdo: ¿por qué queremos que el modelo nos dé un resultado que ya tenemos? La respuesta es que, en algún momento futuro, tendremos entradas para las que aún no tenemos la salida. Este es justamente el objetivo de crear el modelo: utilizarlo con entradas desconocidas y creer en el modelo cuando nos dé una salida.

En el entrenamiento, se utiliza la colección de entradas y salidas conocidas para ajustar los parámetros del modelo y minimizar los errores. Si lo conseguimos, empezaremos a creer en los resultados del modelo cuando recibamos entradas nuevas y desconocidas.

Entrenar un modelo es completamente diferente a programarlo. En la programación, implementamos el algoritmo que queremos dando instrucciones al ordenador paso a paso. En el entrenamiento, utilizamos datos para enseñar al modelo a ajustar sus parámetros para producir la salida correcta. No hay programación porque, la mayoría de las veces, no tenemos ni idea de cómo debe ser el algoritmo. Solo sabemos o creemos que existe una relación entre las entradas y los resultados deseados. Esperamos que un modelo pueda aproximarse a esa relación lo suficiente como para ser útil.

Aquí vale la pena recordar las sabias palabras del estadista británico George Box, quien dijo que todos los modelos son erróneos, pero algunos son útiles. En aquel momento, se refería a otros tipos de modelos matemáticos, pero su sabiduría es también aplicable al aprendizaje automático.

Ahora entendemos por qué este campo se llama aprendizaje automático: enseñamos a la máquina (modelo) dándole datos. No programamos la máquina; la instruimos.

He aquí, pues, el algoritmo del aprendizaje automático:

1. Reunir un conjunto de datos de entrenamiento consistente en una colección de entradas para el modelo y las salidas que esperamos del modelo para esas entradas.

2. Seleccionar el tipo de modelo que queremos entrenar.

3. Entrenar el modelo presentando las entradas de entrenamiento y ajustando los parámetros del modelo cuando obtenga resultados erróneos.

1. 4.Repetir el paso 3 hasta estar satisfechos con el rendimiento del modelo.

2. 5.Utilizar el modelo ya entrenado para producir resultados para entradas nuevas y desconocidas.

La mayor parte del aprendizaje automático sigue este algoritmo. Dado que, para entrenar el modelo, utilizamos datos etiquetados conocidos, este enfoque se denomina aprendizaje supervisado: supervisamos el modelo mientras aprende a producir resultados correctos. En cierto sentido, castigamos al modelo hasta que acierta. Al fin y al cabo, ya iremos viendo que esta es una empresa un tanto oscura.

Antes de pasar al ejemplo, hagamos un resumen de lo visto hasta ahora.

Queremos un sistema en el que, para una entrada desconocida, obtengamos una salida significativa. Para crear el sistema, entrenamos un modelo de aprendizaje automático utilizando una colección de entradas y sus salidas conocidas. El entrenamiento condiciona el modelo modificando sus parámetros, para minimizar los errores que comete con los datos de entrenamiento. Una vez que estamos satisfechos con el rendimiento del modelo, lo utilizamos con entradas desconocidas, porque ahora ya creemos en el modelo cuando nos da una salida (al menos, la mayoría de las veces).

Nuestro primer ejemplo procede de un famoso conjunto de datos que consiste en medir las partes de las flores de iris. Este conjunto de datos data de la década de los treinta, lo que indica desde cuándo se contempla lo que ahora llamamos aprendizaje automático.

El objetivo es un modelo que, para una colección de medidas de entrada, determine la especie específica de flor de iris. El conjunto de datos completo tiene cuatro medidas para tres especies de iris. Lo simplificaremos y utilizaremos dos medidas y dos especies: longitud y anchura de los pétalos en centímetros (cm) para I. setosa frente a I. versicolor. Por lo tanto, queremos que el modelo acepte dos medidas como entrada y nos dé una salida que podamos interpretar, como I. setosa o I. versicolor.

Los modelos binarios como este siempre deciden entre dos posibles resultados y son comunes en la IA. Si el modelo decide entre más de dos categorías, se trata de un modelo multiclase.

Tenemos 100 muestras en nuestro conjunto de datos: 100 pares de medidas de pétalos y los correspondientes tipos de flores de iris. Llamaremos a I. setosa clase 0 y a I. versicolor clase 1, donde clase etiqueta las categorías de entrada.

Los modelos a menudo quieren etiquetas de clase numéricas, lo que nos indica que los modelos desconocen lo que significan sus entradas y salidas; solo hacen asociaciones entre conjuntos de entradas y salidas. Los modelos no “piensan”, según ninguna definición comúnmente aceptada de la palabra (los modelos del capítulo 7 podrían ser diferentes, pero ya hablaremos de ello más adelante).

****

Llegados a este punto, debemos hacer una pausa para introducir terminología que es de vital importancia. Sé que no es lo más apetecible de leer, pero resulta esencial para todo lo que sigue. La IA utiliza con frecuencia vectores y matrices (en singular, “matriz”). Un vector es una cadena de números tratados como una sola entidad; por ejemplo, las cuatro medidas de cada flor del iris nos permiten representar la flor como una cadena de cuatro números; pongamos por caso: 4.5, 2.3, 1.3, 0,3. La flor descrita por este vector tiene una longitud de sépalo de 4.5 cm, una anchura de sépalo de 2.3 cm, una longitud de pétalo de 1.3 cm y una anchura de pétalo de 0.3 cm. Al agrupar estas medidas, podemos referirnos a ellas como una única entidad.

El número de elementos de un vector determina su dimensionalidad; por ejemplo, el conjunto de datos del iris utiliza vectores de cuatro dimensiones, las cuatro medidas de la flor. La IA trabaja a menudo con entradas que tienen cientos o incluso miles de dimensiones. Si la entrada es una imagen, cada píxel de esa imagen es una dimensión, lo que significa que una pequeña imagen cuadrada de 28 píxeles se convierte en un vector de entrada de 28 × 28, o 784 dimensiones. El concepto es el mismo en 3 dimensiones o 33 000 dimensiones: sigue siendo una cadena de números tratada como una entidad única. Pero una imagen tiene filas y columnas, lo que la convierte en una matriz bidimensional de números, no en una cadena. Las matrices bidimensionales de números son matrices. En el aprendizaje automático, a menudo representamos los conjuntos de datos como matrices, en las que las filas son vectores que representan los elementos del conjunto de datos, como una flor de iris, y las columnas son las medidas; por ejemplo, las cinco primeras flores del conjunto de datos de iris forman la siguiente matriz:

Cada fila es una flor. Observe que la primera fila coincide con el ejemplo del vector. Las filas restantes muestran las medidas de otras flores.

Mientras lee, recuerde estas ideas:

- Los vectores son cadenas de números que suelen representar medidas en un conjunto de datos.

- Las matrices son matrices bidimensionales de números, que suelen representar conjuntos de datos (pilas de vectores).

A medida que avancemos en el estudio de la IA, iremos descubriendo las diferencias entre vectores y matrices. Ahora, volvamos a nuestra historia.

****

Las entradas de un modelo son sus características. Nuestro conjunto de datos de la flor del iris tiene dos características, la longitud y la anchura del pétalo, que se agrupan en vectores de características (o muestras). Un único vector de características sirve de entrada al modelo. La salida de un modelo binario suele ser un número que indica si el modelo cree que la entrada pertenece a la clase 1. En nuestro ejemplo, daremos al modelo un vector de características formado por dos características y esperamos una salida que nos permita decidir si debemos llamar a la entrada I. versicolor. Si no es así, declaramos que la entrada es I. setosa, porque asumimos que las entradas siempre serán una u otra.

Los protocolos en cuanto a aprendizaje automático establecen que debemos probar nuestro modelo; de lo contrario, ¿cómo sabremos que funciona? Se puede pensar que funciona cuando acierta todas las muestras de entrenamiento, pero, a estas alturas, la experiencia ha enseñado a los profesionales que no siempre es así. La forma correcta de probar un modelo es conservar algunos de los datos de entrenamiento etiquetados para utilizarlos después del entrenamiento. El rendimiento del modelo en este conjunto de datos de prueba retenido indica mejor lo bien que ha aprendido el modelo.

Utilizaremos 80 muestras etiquetadas para el entrenamiento y conservaremos 20 de ellas para la prueba, asegurándonos de que tanto el conjunto de entrenamiento como el de prueba contienen una mezcla aproximadamente equilibrada de ambas clases (tipos de flores). Esto también es esencial en la práctica, en la medida de lo posible. Si nunca mostramos al modelo de ejemplos de una determinada clase de entrada, ¿cómo podrá aprender a distinguir esa clase de las demás?

Utilizar un conjunto de pruebas reservado para juzgar el rendimiento de un modelo no es solo cuestión de protocolo. Aborda un aspecto fundamental en el aprendizaje automático: la generalización. Algunos modelos de aprendizaje automático siguen un proceso bastante similar a un enfoque ampliamente utilizado y que se conoce como optimización. Los científicos y los ingenieros utilizan la optimización para ajustar los datos medidos a funciones conocidas; los modelos de aprendizaje automático también utilizan la optimización para acondicionar sus parámetros, pero aquí el objetivo es diferente. Al ajustar los datos a una función, como una línea, se busca crear el mejor ajuste posible, o la línea que mejor explique los datos medidos. En el aprendizaje automático, en cambio, queremos un modelo que aprenda las características generales de los datos de entrenamiento para generalizarlos a nuevos datos; de ahí que evaluemos el modelo con el conjunto de prueba. Para el modelo, el conjunto de prueba contiene datos nuevos que no ha utilizado para modificar sus parámetros. El rendimiento del modelo en el conjunto de prueba no es sino un indicio de su capacidad de generalización.

Nuestro ejemplo tiene dos características de entrada, lo que significa que los vectores de características son bidimensionales. Como tenemos dos dimensiones, podemos optar por hacer un gráfico del conjunto de datos de entrenamiento (si tenemos dos o tres características en un vector de características, podemos trazar los vectores de características. Sin embargo, la mayoría de los vectores de características tienen entre cientos y miles de características. No sé usted, pero yo soy incapaz de visualizar un espacio de mil dimensiones).

En la figura 1.2, se muestran los datos de entrenamiento bidimensionales de iris; el eje x es la longitud del pétalo y el eje y es la anchura del pétalo. Los círculos corresponden a casos de I. setosa y los cuadrados, a I. versicolor. Cada círculo o cuadrado representa una única muestra de entrenamiento, la longitud y la anchura de los pétalos de una flor concreta. Para colocar cada punto, encuentre la longitud del pétalo en el eje x y la anchura del pétalo en el eje y. A continuación, desplácese hacia arriba desde el eje x hacia el eje y. Luego, desplácese hacia arriba desde el eje x y hacia la derecha desde el eje y.

El punto de unión de los dedos representa la flor. Si la flor es I. setosa, haga que el punto sea un círculo; si no, haga que sea un cuadrado.

Figura 1.2. Datos de entrenamiento para iris

En el gráfico de la figura 1.2, se muestra el espacio de características del conjunto de entrenamiento. En este caso, podemos visualizar directamente el conjunto de entrenamiento, puesto que solo tenemos dos características. No obstante, cuando esto no sea posible, no hay que pensar que todo está perdido. También existen algoritmos avanzados que nos permiten hacer gráficos, como el de la figura 1.2, en el que los puntos en dos o tres dimensiones reflejan la distribución de las muestras en el espacio de dimensiones mucho mayores. Aquí, la palabra espacio significa casi lo mismo que en el lenguaje cotidiano.

Observe detenidamente la figura 1.2. ¿Hay algo que llame su atención? ¿Están mezcladas las distintas clases o se ven bien separadas? Todos los círculos ocupan la esquina inferior izquierda del gráfico, mientras que todos los cuadrados están en la esquina superior derecha. No hay solapamiento entre las clases, lo que significa que están completamente separadas en el espacio de características.

Ahora bien, ¿cómo podemos utilizar este hecho para crear un clasificador, un modelo que clasifique las flores del iris (aunque modelo es el término más general, ya que no todos los modelos colocan sus entradas en categorías; cuando lo hacen, se utiliza el término clasificador).

Tenemos muchos tipos de modelos entre los que elegir para nuestro clasificador, incluidos los árboles de decisión, que generan una serie de preguntas de “sí/no” relacionadas con las características utilizadas para decidir la etiqueta de clase a la que dar salida para una entrada dada. Cuando las preguntas se presentan visualmente, forman una estructura que recuerda a un árbol invertido. Piense en un árbol de decisión como una versión generada por ordenador del juego de las 20 preguntas.

Aunque tenemos dos características, la longitud y la anchura de los pétalos, podemos clasificar nuevas flores de iris con una sola pregunta: ¿es inferior la longitud de los pétalos a 2.5 cm? Si la respuesta es “sí”, devolvemos la clase 0, I. setosa; en caso contrario, devolvemos la clase 1, I. versicolor. Para clasificar correctamente los datos de entrenamiento, solo necesitamos la respuesta a esta sencilla pregunta.

¿Se ha fijado bien en lo que acabo de hacer? He dicho que la pregunta clasifica correctamente todos los datos de entrenamiento. ¿Qué pasa con las 20 muestras de prueba que no hemos utilizado? ¿Es suficiente nuestro clasificador de una sola pregunta para dar a cada una de ellas la etiqueta correcta? En la práctica, eso es lo que queremos saber y lo que comunicaríamos como rendimiento del clasificador.

En la figura 1.3, se muestran de nuevo los datos de entrenamiento, junto con los datos de prueba que no utilizamos para crear nuestro clasificador de una sola pregunta. Los círculos y cuadrados sólidos representan los datos de prueba.

Figura 1.3. Datos de entrenamiento para iris con los datos de prueba ocultos (sólidos)

Ninguno de los datos de prueba infringe nuestra regla; seguimos obteniendo etiquetas de clase correctas preguntando si la longitud del pétalo es inferior a 2.5 cm. Por tanto, podemos concluir que nuestro modelo es perfecto; no comete errores. Enhorabuena, acabas de crear tu primer modelo de aprendizaje automático.

Deberíamos estar contentos, pero no demasiado. Repitamos ahora este ejercicio volviendo a colocar I. setosa con la especie de iris restante: I. virginica. Esto nos lleva a la figura 1.4, donde los triángulos son instancias de I. virginica.

Figura 1.4. Los nuevos datos de entrenamiento para iris

Ahora ya las cosas no están tan claras. Ha desaparecido la diferencia obvia entre las clases, y estas se solapan.

He entrenado un árbol de decisión utilizando este nuevo conjunto de datos del iris. Como antes, había 80 muestras para el entrenamiento y 20 retenidas para las pruebas. Esta vez, el modelo no fue perfecto. Etiquetó correctamente 18 de las 20 muestras, con una precisión de 9 sobre 10, es decir, del 90 %. Esto significa a grandes rasgos que, cuando este modelo asigna una flor a una clase determinada, hay un 90 % de probabilidades de que sea correcto. La frase anterior, para tener rigor, necesita una aclaración cuidadosa, pero, por ahora, se entiende la idea: los modelos de aprendizaje automático no siempre son perfectos; [con bastante frecuencia] cometen errores.

En la figura 1.5, se muestra el árbol de decisión aprendido. Empiece por la parte superior, que es la raíz, y luego responda a la pregunta en ese cuadro. Si la respuesta es “sí”, muévase a la casilla de la izquierda; si no, muévase a la derecha. Siga respondiendo y avanzando así hasta llegar a una hoja: una casilla sin flechas. La etiqueta de esta casilla se asigna a la entrada.

Figura 1.5. El árbol de decisión para I. virginica, frente a I. versicolor

El primer clasificador del árbol de decisión era trivial, ya que bastaba la respuesta a una sola pregunta para decidir la pertenencia a una clase. El segundo clasificador del árbol de decisión es más común. La mayoría de los modelos de aprendizaje automático no son especialmente sencillos. Aunque su funcionamiento es comprensible, entender por qué actúan como lo hacen es una cuestión totalmente distinta. Los árboles de decisión son uno de los pocos tipos de modelos que se explican fácilmente por sí mismos. Para cualquier entrada, el camino recorrido desde la raíz hasta la hoja en la figura 1.5 aclara en detalle por qué la entrada recibió una etiqueta determinada. Sin embargo, las redes neuronales de la IA moderna no son tan transparentes.

****

Para que un modelo funcione bien “en estado salvaje”, es decir, cuando se utiliza en el mundo real, los datos utilizados para entrenar el modelo deben cubrir toda la gama de entradas que el modelo podría encontrar; por ejemplo, supongamos que queremos que un modelo identifique imágenes de perros y que nuestro conjunto de datos de entrenamiento solo contiene imágenes de perros y loros. Aunque el modelo funcione bien en nuestro conjunto de pruebas, que también incluye imágenes de perros y loros, ¿qué puede ocurrir cuando desplegamos el modelo y este se encuentra con la imagen de un lobo? Intuitivamente, podríamos esperar que el modelo dijera “es un perro”, igual que un niño pequeño, antes de aprender qué es un lobo. Esto es precisamente lo que haría la mayoría de los modelos de aprendizaje automático.

Para ilustrarlo, hagamos un experimento. Un popular conjunto de datos utilizado por todos los investigadores de IA consiste en decenas de miles de pequeñas imágenes que contienen dígitos escritos a mano, del 0 al 9. Se conoce con el poco inspirador nombre de Modified NIST (MNIST), porque se obtuvo a finales de los años noventa a partir de un conjunto de datos estructurado por el Instituto Nacional de Estándares y Tecnología (NIST, por sus siglas en inglés), la división del Departamento de Comercio de Estados Unidos, encargada de implementar todo tipo de estándares para casi todo en el ámbito comercial e industrial.

En la figura 1.6, se presentan algunas muestras típicas de dígitos MNIST. Nuestro objetivo es construir una red neuronal que aprenda a identificar los dígitos 0, 1, 3 y 9. Podemos entrenar redes neuronales, sin saber cómo funcionan, gracias a potentes conjuntos de herramientas de código abierto, como scikit-learn, que están a disposición de todo el mundo. Por un lado, esto democratiza la IA; por otro, lo de contar con solo un poco de conocimiento suele resultar peligroso. Los modelos pueden parecer buenos cuando, en realidad, son defectuosos.

Y la falta de conocimiento sobre el funcionamiento de los modelos puede impedir que nos demos cuenta de ello antes de que sea demasiado tarde.

Figura 1.6. Ejemplo de dígitos MNIST

Una vez entrenado el clasificador, lo pondremos a prueba con imágenes de cuatros y sietes, entradas que la IA nunca vio durante el entrenamiento. ¿Qué podría hacer el modelo con estas entradas?

He entrenado el modelo de dígitos con un conjunto de herramientas de código abierto. Por ahora, todo lo que necesitamos saber sobre el conjunto de datos es que los vectores de características de entrada son imágenes de dígitos sin desentrañar; a la primera fila de píxeles le sigue la segunda fila, luego la tercera, y así sucesivamente, hasta que toda la imagen se desentraña en un vector largo: una cadena de números. Las imágenes de dígitos tienen 28 × 28 píxeles, lo que hace que el vector de características tenga 784 números.

Estamos pidiendo a la red neuronal que aprenda sobre cosas en un espacio de 784 dimensiones, en lugar del simple espacio bidimensional que utilizábamos antes, pero el aprendizaje automático está a la altura del reto.

El conjunto de entrenamiento utilizado para acondicionar el modelo de la red neuronal contenía 24 745 muestras, aproximadamente 6000 de cada tipo de dígito (0, 1, 3 y 9). Es probable que esto sea suficiente para representar fielmente los tipos de dígitos que el modelo podría encontrar al utilizarlo, pero tenemos que probarlo para saberlo. A fin de cuentas, la IA es, en gran medida, una ciencia empírica.

El conjunto de prueba, que también contenía los dígitos 0, 1, 3 y 9, tenía 4134 muestras (unas 1000 por cada dígito).

Utilizaremos una matriz de confusión, una tabla bidimensional de números, para evaluar el modelo. Las matrices de confusión son la forma más común de evaluar un modelo, porque muestran cómo se comporta en los datos de prueba.

En este caso, la matriz de confusión para nuestro clasificador de dígitos es la que se muestra en la tabla 1.1.

Tabla 1.1. Matriz de confusión del clasificador de dígitos

Las filas de la matriz representan las etiquetas verdaderas de las muestras dadas al modelo. Las columnas son las respuestas del modelo. Los valores de la tabla son recuentos; es decir, el número de veces que se ha producido cada combinación posible de clase de entrada y etiqueta asignada por el modelo.

Por ejemplo, la primera fila representa los ceros del conjunto de pruebas. De esas 980 entradas, el modelo asignó una etiqueta de 0 a 978 de ellas, pero dijo que la entrada era un 3 una vez y un 9 en otra ocasión. Por consiguiente, cuando el cero fue la entrada, la salida del modelo fue correcta 978 de 980 veces; un dato indudablemente alentador.

Del mismo modo, cuando la entrada era un 1, el modelo devolvió la etiqueta correcta 1128 veces. Acertó 997 veces para los treses y 995 veces para los nueves. Cuando un clasificador es bueno, los números a lo largo de la diagonal de la matriz de confusión desde arriba a la izquierda hasta abajo a la derecha son altos, y casi no hay números fuera de esa diagonal. Los números fuera de la diagonal son errores cometidos por el modelo.

En general, el modelo de dígitos tiene una precisión del 99 %. Tenemos un modelo sólido y que funciona bien, siempre y cuando podamos asegurarnos de que todas las entradas del modelo son realmente 0, 1, 3 o 9. Pero ¿y si no lo son?

Le di al modelo 982 cuatros. El modelo respondió así:

0

1

3

9

48

9

8

917

En otras palabras, el modelo devolvió una etiqueta de 9 para 917 de los 982 cuatros, una etiqueta de 1 para 48 cuatros y etiquetas de 1 o 3 para el resto. ¿Y los sietes?

0

1

3

9

19

20

227

762

El modelo seguía prefiriendo llamar nueves a los sietes, pero, a menudo, también los llamaba treses. Las redes neuronales son reacias a revelar sus secretos cuando explican sus acciones, pero, en este caso, de los 227 sietes etiquetados como tres, 47 eran sietes de estilo europeo con una barra. Una muestra aleatoria de 227 sietes de todo el conjunto de datos arrojó solo 24 sietes de estilo europeo. La comparación no es rigurosa desde el punto de vista matemático, pero indica que los sietes con barra suelen ser lo bastante parecidos a un tres como para engañar al modelo.