25,99 €
Si está listo para aventurarse más allá de los conceptos introductorios e indagar en el aprendizaje automático, en el aprendizaje profundo y en la inteligencia artificial (IA), el formato de preguntas y respuestas que presenta el libro El Machine Learning y la IA le facilitará mucho las cosas. Nacido de las cuestiones que a menudo se plantea el autor, Sebastián Raschka, este libro muestra un método directo y sin rodeos para acercarle a temas avanzados, que presenta de forma rápida y accesible. Cada capítulo es breve y autónomo, y aborda una cuestión fundamental de la IA, desvelándola con explicaciones claras, diagramas y ejercicios prácticos. En esta lectura encontrará: CAPÍTULOS CONCISOS: Las preguntas clave de la IA se responden de forma sencilla y las ideas complejas se desglosan en piezas fáciles de digerir. GAMA AMPLIA DE TEMAS: Raschka cubre temas que van desde la arquitectura de las redes neuronales y la evaluación de los modelos hasta la visión informática y el procesamiento del lenguaje natural. USOS PRÁCTICOS: Conocerá técnicas para mejorar el rendimiento de los modelos, afinar modelos grandes y mucho más. También aprenderá a: "Gestionar las distintas fuentes de aleatoriedad en la formación de redes neuronales "Diferenciar entre arquitecturas de codificador y decodificador en modelos de lenguaje grandes "Reducir el sobreajuste con modificaciones de datos y modelos "Construir intervalos de confianza para clasificadores y optimizar los modelos con datos etiquetados limitados "Elegir entre paradigmas distintos de formación multi-GPU y tipos diferentes de modelos de IA generativa "Comprender las métricas de rendimiento para el procesamiento del lenguaje natural "Dar sentido a los sesgos inductivos en los transformadores de visión Si busca el recurso perfecto para mejorar su comprensión del aprendizaje automático, El Machine Learning y la IA le ayudará a avanzar fácilmente en este camino.
Sie lesen das E-Book in den Legimi-Apps auf:
Seitenzahl: 318
Veröffentlichungsjahr: 2024
Copyright © 2024 by Sebastian Raschka. Title of English-language original: Machine Learning Q and AI: 30 Essential Questions and Answers on Machine Learning and AI, ISBN 9781718503762, 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 Machine Learning Q and AI: 30 Essential Questions and Answers on Machine Learning and AI, ISBN 9781718503762 © Sebastian Raschka, 2024.
Título de la edición en español:
El Machine Learning y la inteligencia artificial
Primera edición en español, 2025
© 2025 MARCOMBO, S.L.
www.marcombo.com
Ilustración de portada: Gina Redman
Diseño del interior: Octopod Studios
Revisión técnica: Andrea Panizza
Traducción: Miguel Ángel Torres
Corrección: Cristina Pazos
Directora de producción: M.ª 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-3862-2
ISBN del libro electrónico: 978-84-267-3930-8
Producción del ePub: booqlab
A mi pareja, Liza; a mi familia y a la comunidad mundialde creadores que han motivado e influidoen mi trayectoria como autor.
Sebastián Raschka es doctor e investigador del aprendizaje automático (AA) y la inteligencia artificial (IA) con una pasión fuerte por la educación. Como educador principal de IA en Lightning AI, le entusiasma hacer que la IA y el aprendizaje profundo sean más accesibles y enseñar a la gente a utilizar estas tecnologías a escala. Antes de dedicarse plenamente a Lightning AI, Sebastián ocupó el puesto de profesor de estadística adjunto en la Universidad de Wisconsin-Madison, donde se especializó en la investigación del aprendizaje profundo y el aprendizaje automático (machine learning, en inglés). Puede obtener más información sobre sus investigaciones en el sitio web (https://Sebastiánraschka.com). A Sebastián también le encanta el software de código abierto y es un colaborador apasionado desde hace más de una década. Aparte de programar, también le encanta escribir y es autor de los libros superventas Python Machine Learning y Machine Learning with PyTorch and Scikit-Learn (ambos de Packt Publishing).
Andrea Panizza es especialista principal en IA en Baker Hughes, donde aprovecha las técnicas de IA/AA de vanguardia para acelerar el diseño de ingeniería y automatizar la recuperación y extracción de información de paquetes grandes de documentos, y utiliza la visión informática para impulsar la inspección de activos sin supervisión. Tiene un doctorado en dinámica de fluidos computacional. Antes de unirse a Baker Hughes, trabajó como investigador de CFD (Computational Fluid Dynamics, en inglés) en el CIRA (Centro Italiano de Investigación Aeroespacial).
Preámbulo
Agradecimientos
Introducción
PARTE I:REDES NEURONALES Y APRENDIZAJE PROFUNDO
Capítulo 1. Incrustaciones, espacio latente y representaciones
Capítulo 2. Aprendizaje autosupervisado
Capítulo 3. Aprendizaje con pocos golpes
Capítulo 4. La hipótesis del boleto de lotería
Capítulo 5. Reducción del sobreajuste con datos
Capítulo 6. Reducción del sobreajuste con modificaciones del modelo
Capítulo 7. Paradigmas de la formación multi-GPU
Capítulo 8. El éxito de los transformadores
Capítulo 9. Modelos de IA generativa
Capítulo 10. Fuentes de aleatoriedad
PARTE II:VISIÓN INFORMÁTICA
Capítulo 11. Cálculo del número de parámetros
Capítulo 12. Capas convolucionales y totalmente conectadas
Capítulo 13. Conjuntos de formación grandes para transformadores de visión
PARTE III:PROCESAMIENTO DEL LENGUAJE NATURAL
Capítulo 14. La hipótesis distribucional
Capítulo 15. Aumento de datos para texto
Capítulo 16. Autoatención
Capítulo 17. Transformadores tipo codificador y decodificador
Capítulo 18. Uso y afinación de transformadores con formación previa
Capítulo 19. Evaluación de modelos de lenguaje grandes generativos
PARTE IV:PRODUCCIÓN E INSTALACIÓN
Capítulo 20. Formación sin estado y con estado
Capítulo 21. IA centrada en los datos
Capítulo 22. Aceleración de la inferencia
Capítulo 23. Cambios en la distribución de los datos
PARTE V:DESEMPEÑO PREDICTIVO Y EVALUACIÓN DE LOS MODELOS
Capítulo 24. Regresión de Poisson y ordinal
Capítulo 25. Intervalos de confianza
Capítulo 26. Intervalos de confianza y predicciones conformes
Capítulo 27. Métricas adecuadas
Capítulo 28. La k en la validación cruzada de k iteraciones
Capítulo 29. Discordancia entre los conjuntos de formación y los de prueba
Capítulo 30. Datos etiquetados limitados
Epílogo
Respuestas a los ejercicios
PREÁMBULO
AGRADECIMIENTOS
INTRODUCCIÓN
¿Para quién es este libro?
¿Qué conseguirá con este libro?
Cómo leer este libro
Recursos en línea
PARTE IREDES NEURONALES Y APRENDIZAJE PROFUNDO
1.INCRUSTACIONES, ESPACIO LATENTE Y REPRESENTACIONES
Incrustaciones
Espacio latente
Representación
Ejercicios
Referencias
2.APRENDIZAJE AUTOSUPERVISADO
El aprendizaje autosupervisado frente al aprendizaje por transferencia
Aprovechamiento de datos sin etiqueta
Autopredicción y aprendizaje autosupervisado contrastivo
Ejercicios
Referencias
3.APRENDIZAJE CON POCOS GOLPES
Conjuntos de datos y terminología
Ejercicios
4.LA HIPÓTESIS DEL BOLETO DE LOTERÍA
El procedimiento de formación con boleto de lotería
Implicaciones prácticas y limitaciones
Ejercicios
Referencias
5.REDUCCIÓN DEL SOBREAJUSTE CON DATOS
Métodos comunes
Recopilación de más datos
Aumento de datos
Formación previa
Otros métodos
Ejercicios
Referencias
6.REDUCCIÓN DEL SOBREAJUSTE CON MODIFICACIONES DEL MODELO
Métodos comunes
Regularización
Modelos más pequeños
Precauciones con los modelos más pequeños
Métodos de ensamble
Otros métodos
Elección de una técnica de regularización
Ejercicios
Referencias
7.PARADIGMAS DE LA FORMACIÓN MULTI-GPU
Los paradigmas de la formación
Paralelismo del modelo
Paralelismo de los datos
Paralelismo tensorial
Paralelismo de las tuberías
Paralelismo de secuencias
Recomendaciones
Ejercicios
Referencias
8.EL ÉXITO DE LOS TRANSFORMADORES
El mecanismo de atención
Formación previa con el aprendizaje autosupervisado
Número de parámetros grande
Paralelización sencilla
Ejercicios
Referencias
9.MODELOS DE IA GENERATIVA
Modelado generativo frente a modelado discriminativo
Tipos de modelos generativos profundos
Modelos basados en energía
Autocodificadores variacionales
Redes adversarias generativas
Modelos basados en el flujo
Modelos autorregresivos
Modelos de difusión
Modelos de consistencia
Recomendaciones
Ejercicios
Referencias
10.FUENTES DE ALEATORIEDAD
Inicialización del peso del modelo
Muestreo y distribución de conjuntos de datos
Algoritmos no determinísticos
Algoritmos de tiempo de ejecución
Hardware y controladores
Aleatoriedad e IA generativa
Ejercicios
Referencias
PARTE IIVISIÓN INFORMÁTICA
11.CÁLCULO DEL NÚMERO DE PARÁMETROS
Cómo contar los parámetros
Capas convolucionales
Capas totalmente conectadas
Usos prácticos
Ejercicios
12.CAPAS CONVOLUCIONALES Y TOTALMENTE CONECTADAS
Cuando los tamaños del núcleo y de la entrada son iguales
Cuando el tamaño del núcleo es 1
Recomendaciones
Ejercicios
13.CONJUNTOS DE FORMACIÓN GRANDES PARA TRANSFORMADORES DE VISIÓN
Los sesgos inductivos en las CNN
Los ViT pueden superar a las CNN
Sesgos inductivos en los ViT
Recomendaciones
Ejercicios
Referencias
PARTE IIIPROCESAMIENTO DEL LENGUAJE NATURAL
14.LA HIPÓTESIS DISTRIBUCIONAL
Word2vec, BERT y GPT
¿Se cumple la hipótesis?
Ejercicios
Referencias
15.AUMENTO DE DATOS PARA TEXTO
Reemplazo de sinónimo
Eliminación de palabras
Intercambio de posición de palabras
Barajado de oraciones
Inyección de ruido
Traducción inversa
Datos sintéticos
Recomendaciones
Ejercicios
Referencias
16.AUTOATENCIÓN
Atención en las RNN
El mecanismo de autoatención
Ejercicios
Referencias
17.TRANSFORMADORES TIPO CODIFICADOR Y DECODIFICADOR
El transformador original
Codificadores
Decodificadores
Híbridos codificadores-decodificadores
Terminología
Modelos de transformadores contemporáneos
Ejercicios
Referencias
18.USO Y AFINACIÓN DE TRANSFORMADORES CON FORMACIÓN PREVIA
Uso de transformadores para tareas de clasificación
Aprendizaje en contexto, indexación y afinación de indicaciones
Ajuste fino con parámetros eficientes
El aprendizaje por refuerzo con retroalimentación humana
Adaptación de modelos de lenguaje preformados
Ejercicios
Referencias
19.EVALUACIÓN DE MODELOS DE LENGUAJE GRANDES GENERATIVOS
Métricas de evaluación para los LLM
Perplejidad
Puntuación BLEU
Puntuación ROUGE
Puntuación BERT (BERTScore)
Métricas de sustitución
Ejercicios
Referencias
PARTE IVPRODUCCIÓN E INSTALACIÓN
20.FORMACIÓN SIN ESTADO Y CON ESTADO
(Re)formación sin estado
Formación con estado
Ejercicios
21.IA CENTRADA EN LOS DATOS
IA centrada en los datos frente a IA centrada en los modelos
Recomendaciones
Ejercicios
Referencias
22.ACELERACIÓN DE LA INFERENCIA
Paralelización
Vectorización
Mosaico de bucles
Fusión de operadores
Cuantificación
Ejercicios
Referencias
23.CAMBIOS EN LA DISTRIBUCIÓN DE LOS DATOS
Cambio de covariable
Cambio de etiqueta
Deriva del concepto
Cambio de dominio
Tipos de cambios en la distribución de los datos
Ejercicios
Referencias
PARTE VDESEMPEÑO PREDICTIVO Y EVALUACIÓN DE LOS MODELOS
24.REGRESIÓN DE POISSON Y ORDINAL
Ejercicios
25.INTERVALOS DE CONFIANZA
Definición de intervalos de confianza
Los métodos
Método 1: Intervalos de aproximación normal
Método 2: Conjuntos de formación con pruebas de arranque
Método 3: Predicciones con conjunto de pruebas de arranque
Método 4: Reformación de modelos con semillas aleatorias diferentes
Recomendaciones
Ejercicios
Referencias
26.INTERVALOS DE CONFIANZA Y PREDICCIONES CONFORMES
Intervalos de confianza e intervalos de predicción
Intervalos de predicción y predicciones conformes
Regiones, intervalos y conjuntos de predicción
Cálculo de predicciones conformes
Un ejemplo de predicción conforme
Los beneficios de las predicciones conformes
Recomendaciones
Ejercicios
Referencias
27.MÉTRICAS ADECUADAS
Los criterios
El error cuadrático medio
La pérdida de entropía cruzada
Ejercicios
28.LA K EN LA VALIDACIÓN CRUZADA DE K ITERACIONES
Compensaciones en la selección de valores para k
Determinación de los valores apropiados para k
Ejercicios
Referencias
29.DISCORDANCIA ENTRE LOS CONJUNTOS DE FORMACIÓN Y LOS DE PRUEBA
Ejercicios
30.DATOS ETIQUETADOS LIMITADOS
Mejora del rendimiento del modelo con datos etiquetados limitados
Etiquetado de más datos
Arranque de los datos
Aprendizaje por transferencia
Aprendizaje autosupervisado
Aprendizaje activo
Aprendizaje con pocos golpes
Metaprendizaje
Aprendizaje con supervisión débil
Aprendizaje semisupervisado
Autoformación
Aprendizaje multitarea
Aprendizaje multimodal
Sesgos inductivos
Recomendaciones
Ejercicios
Referencias
EPÍLOGO
RESPUESTAS A LOS EJERCICIOS
Hay cientos de textos introductorios sobre el aprendizaje automático. Los hay en una gran variedad de estilos y enfoques; desde perspectivas teóricas para estudiantes de posgrado hasta puntos de vista empresariales para directivos. Estos textos son recursos inestimables para las personas que dan sus primeros pasos en este campo y lo seguirán siendo durante décadas.
Sin embargo, el camino hacia la pericia no consiste únicamente en el inicio. También abarca los desvíos intrincados, las subidas empinadas y los matices que no son evidentes inicialmente. Dicho de otro modo, después de estudiar lo básico, los alumnos se preguntan: «¿Y ahora qué?». Es aquí, en el reino más allá de lo básico, que este libro encuentra un propósito.
En estas páginas, Sebastián guía a los lectores a través de un espectro amplio de temas intermedios y avanzados en el aprendizaje automático aplicado que probablemente encontrarán en el camino hacia la especialización. Difícilmente podría pedirse un guía mejor que Sebastián, que es, sin exageración, el mejor profesor de aprendizaje automático actualmente en el campo. En cada página, Sebastián no solo imparte sus conocimientos amplios, sino que también comparte la pasión y la curiosidad que marcan la experiencia verdadera.
Para todos los estudiantes que han cruzado el umbral inicial y están ansiosos por profundizar: este libro es para ustedes. Terminarán este libro siendo unos practicantes del aprendizaje automático más preparados que al comenzar. Dejen que este sea el puente hacia la próxima fase de aventuras gratificantes en el aprendizaje automático.
Buena suerte.
Chris Albon
Director de aprendizaje automático en la Fundación Wikimedia
San Francisco Agosto de 2023
Escribir un libro es una tarea enorme. Este proyecto no habría sido posible sin la ayuda de las comunidades de código abierto y aprendizaje automático que crearon colectivamente las tecnologías de las que se trata en este libro.
Quiero extender mi agradecimiento a las siguientes personas por los comentarios inmensamente útiles sobre el manuscrito:
• Andrea Panizza, por ser un revisor técnico excepcional, que proporcionó comentarios muy valiosos y perspicaces.
• Anton Reshetnikov, por sugerir un diseño más limpio para el diagrama de flujo de aprendizaje supervisado en el capítulo 30.
• Nikan Doosti, Juan M. Bello-Rivas y Ken Hoffman, por compartir varios errores tipográficos.
• Abigail Schott-Rosenfield y Jill Franklin, por ser unos editores ejemplares. Su habilidad para hacer las preguntas correctas y mejorar el lenguaje ha elevado significativamente la calidad de este libro.
Gracias a los rápidos avances en el aprendizaje profundo, hemos visto una expansión significativa del aprendizaje automático y la IA en los últimos años.
Este progreso es emocionante si esperamos que estos avances creen industrias nuevas, transformen las existentes y mejoren la calidad de vida de la gente en todo el mundo. Por otro lado, la aparición constante de técnicas nuevas puede hacer que sea desafiante y lento mantenerse al día con los últimos desarrollos. Sin embargo, mantenerse al día es esencial para los profesionales y organizaciones que utilizan estas tecnologías.
Escribí este libro como un recurso para los lectores y profesionales del aprendizaje automático que quieren avanzar en la experiencia en el campo y aprender sobre técnicas que considero útiles y significativas, pero que a menudo se pasan por alto en los libros de texto y clases tradicionales e introductorias. Espero que encuentren en este libro un recurso valioso para obtener una perspectiva nueva y descubrir otras técnicas que puedan poner en práctica en el trabajo.
Navegar por el mundo de la IA y la literatura de aprendizaje automático a menudo puede ser como caminar sobre una cuerda floja, con la mayoría de los libros posicionados en los extremos: introducciones amplias para novatos o tratados profundamente matemáticos. En este libro se ilustran y discuten desarrollos importantes en estos campos sin dejar de ser accesible y sin requerir conocimientos avanzados de matemática o codificación.
Este libro es para personas con cierta experiencia en el aprendizaje automático y que quieren aprender conceptos y técnicas nuevos. Es ideal para quienes han realizado un curso para principiantes en aprendizaje automático o aprendizaje profundo o han leído un libro introductorio equivalente sobre el tema. (A lo largo de este libro, usaré aprendizaje automático como un término general para el aprendizaje automático, el aprendizaje profundo y la IA).
En este libro se adopta un estilo único de preguntas y respuestas, donde cada capítulo breve se estructura en torno a una pregunta central relacionada con conceptos fundamentales en el aprendizaje automático, el aprendizaje profundo y la IA. Cada pregunta se sigue con una explicación, varias ilustraciones y figuras, así como ejercicios para poner a prueba su comprensión. Muchos capítulos también incluyen referencias para una lectura posterior. Estas píldoras de información son un buen punto de partida para pasar de aprendiz a experto en el aprendizaje automático.
En el libro se cubre una gama de temas amplia. Se incluyen conocimientos nuevos sobre las arquitecturas establecidas, como las redes convolucionales, que le permiten utilizar estas tecnologías de manera más efectiva. También se discuten técnicas más avanzadas, como el funcionamiento interno de los modelos de lenguaje grandes (LLM, sigla en inglés) y los transformadores de visión (ViT, sigla en inglés). Incluso los investigadores y profesionales experimentados en el aprendizaje automático encontrarán algo nuevo que añadir al arsenal de técnicas.
Si bien este libro le expondrá a conceptos e ideas nuevos, no es un libro de matemática o codificación. No necesitará resolver pruebas o ejecutar código alguno mientras lee. En otras palabras, este libro es un compañero de viaje perfecto o algo que puede leer en su silla de lectura favorita con el café o té de la mañana.
Cada capítulo de este libro está diseñado para ser autónomo, ofreciéndole la libertad de saltar entre temas como desee. Cuando el concepto de un capítulo se explica con más detalle en otro, he incluido referencias de capítulos que puede seguir para llenar los vacíos de comprensión.
Sin embargo, hay una secuencia estratégica en los capítulos. Por ejemplo, el primer capítulo sobre las incrustaciones prepara el escenario para discusiones posteriores sobre el aprendizaje autosupervisado y el aprendizaje con pocos golpes. Para hacer una lectura más fácil y una comprensión más completa del contenido, mi recomendación es abordar el libro de principio a fin.
Cada capítulo va acompañado de ejercicios opcionales para los lectores que quieren poner a prueba la comprensión, con una lista de respuestas al final del libro.
Además, para cualquier artículo mencionado en un capítulo o lectura posterior sobre el tema del capítulo, puede encontrar la información completa de la cita en la sección de «Referencias» de ese capítulo.
El libro está estructurado en cinco partes principales centradas en los temas más importantes del aprendizaje automático y la IA de hoy.
En la parte I: Redes neuronales y aprendizaje profundo, se cubren preguntas sobre redes neuronales profundas y aprendizaje profundo que no son específicas de un subdominio en particular. Por ejemplo, discutimos alternativas al aprendizaje supervisado y técnicas para reducir el sobreajuste, que es un problema común al utilizar modelos de aprendizaje automático para problemas del mundo real donde los datos son limitados.
En el capítulo 1: Incrustaciones, espacio latente y representaciones, se profundiza en las distinciones y similitudes entre los vectores de incrustación, los vectores latentes y las representaciones. Se aclara cómo estos conceptos ayudan a codificar la información en el contexto del aprendizaje automático.
En el capítulo 2: Aprendizaje autosupervisado, nos centramos en el aprendizaje autosupervisado, un método que permite a las redes neuronales utilizar conjuntos de datos grandes, sin etiqueta, de una manera supervisada.
En el capítulo 3: Aprendizaje con pocos golpes, se introduce el aprendizaje con pocos golpes, una técnica de aprendizaje supervisado especializada y adaptada para conjuntos pequeños de datos de formación.
En el capítulo 4: La hipótesis del boleto de lotería, se explora la idea de que las redes neuronales inicializadas aleatoriamente contienen subredes más pequeñas y eficientes.
En el capítulo 5: Reducción del sobreajuste con datos, se discuten este reto y estrategias centradas en el aumento de datos y el uso de datos sin etiquetar para reducir el sobreajuste.
En el capítulo 6: Reducción del sobreajuste con modificaciones del modelo, se extiende la conversación sobre el sobreajuste, centrándose en soluciones relacionadas con el modelo, como la regularización, la elección de modelos más sencillos y las técnicas de ensamble.
En el capítulo 7: Paradigmas de la formación multi-GPU, se explican varios paradigmas de la formación para configuraciones multi-GPU para acelerar la formación de modelos, incluyendo el paralelismo de datos y modelos.
En el capítulo 8: El éxito de los transformadores, se explora esta arquitectura popular, destacando atributos como mecanismos de atención, facilidad de paralelización y recuentos de parámetros altos.
En el capítulo 9: Modelos de IA generativa, se proporciona una visión general completa de los modelos generativos profundos, que se utilizan para producir medios de comunicación diversos, incluyendo imágenes, texto y audio. Se discuten las fortalezas y debilidades de cada tipo de modelo.
En el capítulo 10: Fuentes de aleatoriedad, se abordan varias fuentes de aleatoriedad en la formación de redes neuronales profundas que pueden conducir a resultados inconsistentes e irreproducibles durante la formación y la inferencia. Si bien la aleatoriedad puede ser accidental, también puede ser introducida intencionalmente en el diseño.
La parte II: Visión informática, se centra en temas relacionados principalmente con el aprendizaje profundo, pero específicos para la visión informática, muchos de los cuales cubren redes neuronales convolucionales y transformadores de visión.
En el capítulo 11: Cálculo del número de parámetros, se explica el procedimiento para determinar los parámetros en una red neuronal convolucional, que es útil para medir los requisitos de almacenamiento y memoria de un modelo.
En el capítulo 12: Capas convolucionales y totalmente conectadas, se ilustran las circunstancias en las que las capas convolucionales pueden reemplazar sin problemas las capas completamente conectadas, lo que puede ser útil para la optimización de hardware o simplificar las implementaciones.
En el capítulo 13: Conjuntos de formación grandes para transformadores de visión, se prueba la lógica tras los transformadores de visión que requieren conjuntos de formación más extensos en comparación con las redes neuronales convolucionales convencionales.
En la parte III: Procesamiento del lenguaje natural, se cubren temas relacionados con el trabajo con texto, muchos de los cuales están relacionados con arquitecturas de transformadores y autoatención.
En el capítulo 14: La hipótesis distribucional, se profundiza en esta hipótesis, una teoría lingüística que sugiere que las palabras que aparecen en los mismos contextos tienden a poseer significados similares, lo que tiene implicaciones útiles para la formación de los modelos de aprendizaje automático.
En el capítulo 15: Aumento de datos para texto, se destaca la importancia de esta técnica utilizada para aumentar artificialmente el tamaño de los conjuntos de datos, lo que puede ayudar a mejorar el rendimiento del modelo.
En el capítulo 16: Autoatención, se presenta la autoatención, un mecanismo que permite que cada segmento de la entrada de una red neuronal se refiera a otras partes. La autoatención es un mecanismo clave en los modelos de lenguaje grandes modernos.
En el capítulo 17: Transformadores tipo codificador y decodificador, se describen los matices de las arquitecturas de transformadores codificadores y decodificadores y se explica qué tipo de arquitectura es más útil para cada tarea de procesamiento de lenguaje.
En el capítulo 18: Uso y afinación de transformadores con formación previa, se explican los diferentes métodos para afinar los modelos de lenguaje grandes con formación previa y se discuten los puntos fuertes y débiles.
En el capítulo 19: En la evaluación de modelos de lenguaje grandes generativos, se enumeran las métricas de evaluación prominentes para modelos de lenguaje como Perplejidad, BLEU, ROUGE y puntuación BERT.
En la parte IV: Producción e instalación, se cubren cuestiones relacionadas con escenarios prácticos, como el aumento de las velocidades de inferencia y varios tipos de cambios de distribución.
En el capítulo 20: Formación sin estado y con estado, se distingue entre las metodologías de formación sin estado y con estado utilizadas en la implementación de modelos.
En el capítulo 21: IA centrada en los datos, se explora la IA centrada en datos, que prioriza el refinamiento de conjuntos de datos para mejorar el rendimiento del modelo. Este método contrasta con el método convencional centrado en el modelo, que enfatiza la mejora de las arquitecturas o métodos de los modelos.
En el capítulo 22: Aceleración de la inferencia, se presentan técnicas para mejorar la velocidad de la inferencia del modelo sin ajustar la arquitectura del modelo o comprometer la exactitud.
En el capítulo 23: Cambios en la distribución de los datos, tras su despliegue, los modelos de IA pueden enfrentarse a discrepancias entre los datos de formación y las distribuciones de datos en el mundo real, lo que se conoce como cambios en la distribución de datos. Estos cambios pueden deteriorar el rendimiento del modelo. En este capítulo se categorizan y desarrollan cambios comunes como el cambio de covariable, la deriva de concepto, el cambio de etiqueta y el de dominio.
En la parte V: Desempeño predictivo y evaluación de los modelos, se profundiza en varios aspectos de extracción de rendimiento predictivo, como cambiar la función de pérdida, configurar la validación cruzada de k iteraciones y tratar con datos etiquetados limitados.
En el capítulo 24: Regresión de Poisson y ordinal, se destacan las diferencias entre regresión de Poisson y ordinal. La regresión de Poisson es adecuada para los datos de conteo que siguen una distribución de Poisson, como el número de resfriados contraídos en un avión. En contraste, la regresión ordinal consiste en datos categóricos ordenados sin asumir categorías equidistantes, como la gravedad de la enfermedad.
En el capítulo 25: Intervalos de confianza, se profundiza en los métodos para construir intervalos de confianza para clasificadores de aprendizaje automático. Se revisa el propósito de los intervalos de confianza, se discute cómo se estiman los parámetros desconocidos de la población y se presentan técnicas como intervalos de aproximación normal, pruebas de arranque y reformación con varias semillas aleatorias.
En el capítulo 26: Intervalos de confianza y predicciones conformes, se discute la distinción entre ellos, siendo esta última una herramienta para crear intervalos de predicción que cubren los resultados reales con probabilidad específica.
En el capítulo 27: Métricas adecuadas, el enfoque está en las propiedades esenciales de una métrica adecuada en las ciencias de la matemática y la informática. Se examina si las funciones de pérdida comúnmente utilizadas en el aprendizaje automático, como el error cuadrático medio y la pérdida de entropía cruzada, satisfacen estas propiedades.
En el capítulo 28: La k en la validación cruzada de k iteraciones, se explora el papel de la k y se proporciona información sobre las ventajas y desventajas de escoger una k grande.
En el capítulo 29: Discordancia entre los conjuntos de formación y los de prueba, se trata la situación en la que un modelo obtiene resultados mejores en un conjunto de datos de prueba que en el de formación. Se ofrecen estrategias para descubrir y abordar discrepancias entre los conjuntos de datos de formación y los de prueba, presentando el concepto de validación contradictoria.
En el capítulo 30: Datos etiquetados limitados, se presentan varias técnicas para mejorar el rendimiento del modelo en situaciones en las que los datos son limitados. Se cubren el etiquetado de datos, las pruebas de arranque y paradigmas como el aprendizaje por transferencia, el aprendizaje activo y el aprendizaje multimodal.
He proporcionado materiales complementarios opcionales con ejemplos de código para ciertos capítulos para mejorar su experiencia al aprender (consulte www.marcombo.info con el código MACHINE25). Estos materiales están diseñados como extensiones prácticas e inmersiones profundas en temas cubiertos en el libro. Puede utilizarlos junto a cada capítulo o explorarlos después de la lectura para solidificar y ampliar su conocimiento.
Sin más preámbulos, entremos en materia.
En el aprendizaje profundo, a menudo usamos los términos vectores de incrustación, representaciones y espacio latente. ¿Qué tienen en común estos conceptos y cómo difieren?
Si bien estos tres términos a menudo se usan indistintamente, podemos hacer distinciones sutiles entre ellos:
• Los vectores de incrustación son representaciones de datos de entrada donde elementos similares están cerca unos de otros.
• Los vectores latentes son representaciones intermedias de los datos de entrada.
• Las representaciones son versiones codificadas de la entrada original.
En las secciones siguientes se explora la relación entre incrustaciones, vectores latentes y representaciones, y cómo cada una funciona para codificar información en contextos de aprendizaje automático.
Los vectores de incrustación, o incrustaciones para abreviar, codifican datos de dimensiones relativamente altas en vectores de dimensiones relativamente bajas.
Podemos utilizar métodos de incrustación para crear un vector denso continuo (no disperso) a partir de una codificación (dispersa) de un bit alto. La codificación de un bit alto es un método utilizado para representar los datos categóricos como vectores binarios, donde cada categoría se asigna a un vector que tiene un 1 en la posición del índice de la categoría, y un 0 en todas las demás. Esto asegura que los valores categóricos se representen de un modo que ciertos algoritmos de aprendizaje automático pueden procesar. Por ejemplo, si tenemos una variable categórica color con tres categorías, rojo, verde y azul, la codificación de un bit alto representaría rojo con [1, 0, 0], verde con [0, 1, 0] y azul con [0, 0, 1]. Estas variables categóricas codificadas de un bit alto se pueden asignar a vectores de incrustación continuos utilizando la matriz de peso aprendido de una capa o módulo de incrustación.
También podemos utilizar métodos de incrustación para datos densos como imágenes. Por ejemplo, las últimas capas de una red neuronal convolucional pueden producir vectores de incrustación, como se ilustra en la figura 1-1.
Figura 1-1:Una incrustación de entrada (izquierda) y una incrustación desde una red neuronal (derecha).
Técnicamente, todas las salidas de capa intermedia de una red neuronal podrían producir vectores de incrustación. Dependiendo del objetivo de formación, la capa de salida también puede producir vectores de incrustación útiles. Para simplificar, la red neuronal convolucional en la figura 1-1 asocia la segunda a la última capa con incrustaciones.
Las incrustaciones pueden tener un número mayor o menor de dimensiones que la entrada original. Por ejemplo, usando métodos de incrustaciones para expresión extrema, podemos codificar datos en representaciones densas y continuas bidimensionales para fines de visualización y análisis de agrupación, como se ilustra en la figura 1-2.
Figura 1-2:Asignación de palabras (izquierda) e imágenes (derecha) a un espacio de atributos bidimensional.
Una propiedad fundamental de las incrustaciones es que codifican distancia o similitud. Es decir, que las incrustaciones capturan la semántica de los datos de modo que las entradas similares están cerca en el espacio de incrustaciones.
Para los lectores interesados en una explicación más formal utilizando terminología matemática, una incrustación es un mapa inyectivo y de preservación de la estructura entre un espacio de entrada X y el espacio de incrustación Y. Esto implica que las entradas similares se ubicarán en puntos cercanos dentro del espacio de incrustación, lo que puede verse como la característica de «preservación de la estructura» de la incrustación.
El espacio latente se utiliza típicamente como sinónimo del espacio de incrustación, el espacio en el que se asignan los vectores de incrustación.
Elementos similares pueden aparecer cerca en el espacio latente; sin embargo, esto no es un requisito estricto. Más libremente, podemos pensar en el espacio latente como cualquier espacio de atributos que contiene atributos, a menudo versiones comprimidas de los atributos de entrada originales. Estos atributos de espacio latente pueden ser aprendidos por una red neuronal, como un autocodificador que reconstruye las imágenes de entrada, como se muestra en la figura 1-3.
Figura 1-3:Un autocodificador que reconstruye la imagen de entrada.
El cuello de botella de la figura 1-3 representa una capa intermedia pequeña de la red neuronal que codifica o asigna la imagen de entrada a una representación de dimensión inferior. Podemos pensar en el espacio objetivo de esta asignación como un espacio latente. El objetivo de formación del autocodificador es reconstruir la imagen de entrada; es decir, minimizar la distancia entre las imágenes de entrada y salida. Con el fin de optimizar el objetivo de formación, el autocodificador puede aprender a poner los atributos codificados de entradas similares (por ejemplo, imágenes de gatos) cerca entre sí en el espacio latente y crear así vectores de incrustación útiles donde entradas similares están cerca en el espacio de incrustación (latente).
Una representación es una forma codificada, típicamente intermedia de una entrada. Por ejemplo, un vector de incrustación o vector en el espacio latente es una representación de la entrada, como se discutió anteriormente. Sin embargo, las representaciones también pueden ser producidas por procedimientos más simples. Por ejemplo, los vectores codificados de un bit alto se consideran representaciones de una entrada.
La idea clave es que la representación capte algunos atributos o características esenciales de los datos originales para que sean útiles en el análisis posterior o el procesamiento.
1-1. Supongamos que estamos formando una red convolucional con cinco capas convolucionales seguidas de tres capas totalmente conectadas (FC), similar a AlexNet (https://en.wikipedia.org/wiki/AlexNet), como se ilustra en la figura 1-4.
Figura 1-4:Una ilustración de AlexNet.
Podemos pensar en estas capas totalmente conectadas como dos capas ocultas y una capa de salida en un perceptrón multicapa. ¿Cuál de las capas de la red neuronal se puede utilizar para producir incrustaciones útiles? Los lectores interesados encontrarán más detalles sobre la arquitectura e implementación de AlexNet en la publicación original de Alex Krizhevsky, Ilya Sutskever y Geoffrey Hinton.
1-2. Nombre algunos tipos de representaciones de entrada que no sean incrustaciones.
• El artículo original en que se describe la arquitectura e implementación de AlexNet: Alex Krizhevsky, Ilya Sutskever y Geoffrey Hinton, «ImageNet Classification with Deep Convolutional Neural Networks» (2012), https://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks.
¿Qué es el aprendizaje autosupervisado, cuándo es útil y cuáles son los principales métodos para implementarlo?
El aprendizaje autosupervisado es un procedimiento de preformación que permite a las redes neuronales aprovechar conjuntos grandes de datos sin etiqueta de una manera supervisada. En este capítulo se compara el aprendizaje autosupervisado con el aprendizaje por transferencia, un método relacionado para la preformación de redes neuronales, y se discuten los usos prácticos del aprendizaje autosupervisado. Por último, se describen las principales categorías de aprendizaje autosupervisado.
El aprendizaje autosupervisado está relacionado con el aprendizaje por transferencia, una técnica en la que un modelo preformado con una tarea se reutiliza como punto de partida para un modelo en una segunda tarea. Por ejemplo, supongamos que estamos interesados en formar un clasificador de imágenes para clasificar especies de aves. En el aprendizaje por transferencia, preformaríamos una red neuronal convolucional con el conjunto de datos ImageNet, un gran conjunto de datos de imágenes etiquetadas con muchas categorías diferentes, incluidos varios objetos y animales. Después de la formación previa con el conjunto de datos general ImageNET, tomaríamos ese modelo preformado y lo formaríamos con el conjunto de datos de destino más pequeño y específico que contiene las especies de aves de interés. (A menudo, solo tenemos que cambiar la capa de salida específica de la clase, pero, de lo contrario, podemos adoptar la red formada previamente tal cual).
En la figura 2-1 se ilustra el proceso de aprendizaje por transferencia.
Figura 2-1:Formación previa con aprendizaje por transferencia convencional.
El aprendizaje autosupervisado es un método alternativo al aprendizaje por transferencia en el que el modelo es formado previamente no con datos etiquetados sino no etiquetados. Consideramos un conjunto de datos sin etiqueta para el cual no tenemos información de etiqueta y luego tenemos una manera de obtener etiquetas de la estructura del conjunto de datos para formular una tarea de predicción para la red neuronal, como se ilustra en la figura 2-2. Estas tareas de formación autosupervisadas también se llaman tareas de pretexto.
Figura 2-2:Formación previa con aprendizaje autosupervisado.
La principal diferencia entre el aprendizaje por transferencia y el autosupervisado radica en cómo obtener las etiquetas durante el paso 1 en las figuras 2-1 y 2-2. En el aprendizaje por transferencia, asumimos que las etiquetas se proporcionan junto con el conjunto de datos; típicamente son creadas por etiquetadores humanos. En el aprendizaje autosupervisado, las etiquetas pueden derivarse directamente de los ejemplos de formación.
Una tarea de aprendizaje autosupervisado podría ser la predicción de palabras omitidas en un contexto de procesamiento del lenguaje natural. Por ejemplo, dada la oración «hace un día precioso y soleado», podemos enmascarar la palabra soleado, introducir en la red la entrada «hace un día precioso y [MÁSCARA]» y hacer que la red prediga la palabra que falta en lugar de «[MÁSCARA]». Del mismo modo, podríamos eliminar parches de imagen en un contexto de visión informática y hacer que la red neuronal rellene los espacios en blanco. Estos son solo dos ejemplos de tareas de aprendizaje autosupervisado; existen muchos más métodos y paradigmas para este tipo de aprendizaje.
En resumen, podemos pensar en el aprendizaje autosupervisado en la tarea de pretexto como aprendizaje de representación. Podemos tomar el modelo preformado para afinarlo en la tarea objetivo (también conocida como la tarea descendente).
Las arquitecturas de redes neuronales grandes requieren cantidades grandes de datos etiquetados para funcionar y generalizar bien. Sin embargo, para muchas áreas problemáticas, no tenemos acceso a conjuntos grandes de datos etiquetados. Con el aprendizaje autosupervisado, podemos aprovechar los datos no etiquetados. Por lo tanto, es probable que el aprendizaje autosupervisado sea útil cuando se trabaja con redes neuronales grandes y con una cantidad limitada de datos de formación etiquetados.
Se sabe que las arquitecturas basadas en transformadores que forman la base de los LLM y los transformadores de visión requieren un aprendizaje autosupervisado para que la formación previa tenga un buen desempeño.
Para modelos de redes neuronales pequeñas, como los perceptrones multicapa con dos o tres capas, el aprendizaje autosupervisado normalmente no se considera ni útil ni necesario.
El aprendizaje autosupervisado tampoco es útil en el aprendizaje automático tradicional con modelos no paramétricos, como bosques aleatorios basados en árboles o aumento de gradientes. Los métodos convencionales basados en árboles no tienen una estructura de parámetros fijos (a diferencia de las matrices de peso, por ejemplo). Así, los métodos convencionales basados en árboles no pueden realizar el aprendizaje por transferencia y son incompatibles con el aprendizaje autosupervisado.
Hay dos categorías principales de aprendizaje autosupervisado: autopredicción y autosupervisado contrastivo. En la autopredicción, ilustrada en la figura 2-3, típicamente se cambian u ocultan partes de la entrada y se forma al modelo para reconstruir las entradas originales, por ejemplo, con una máscara de perturbación que ofusca ciertos píxeles en una imagen.
Figura 2-3:Autopredicción después de utilizar una máscara de perturbación.
Un ejemplo clásico es un autocodificador de eliminación de ruido que aprende a eliminar el ruido de una imagen de entrada. Alternativamente, considere un autocodificador enmascarado que reconstruye las partes faltantes de una imagen, como se muestra en la figura 2-4.
Figura 2-4:Un autocodificador enmascarado que reconstruye una imagen enmascarada.
Los métodos de autopredicción de entradas ausentes (enmascaradas) también se utilizan habitualmente en contextos de procesamiento del lenguaje natural. Muchos LLM generativos, como GPT, se forman con una tarea de pretexto de predicción de la próxima palabra (GPT se discutirá con mayor detalle en los capítulos 14 y 17). Aquí, alimentamos los fragmentos de texto de red, donde se tiene que predecir la palabra siguiente en la secuencia (como discutiremos más adelante en el capítulo 17).
En el aprendizaje autosupervisado contrastivo formamos a la red neuronal para aprender un espacio de incrustación donde las entradas similares están cerca unas de otras y las diferentes están muy separadas. En otras palabras, formamos a la red para producir incrustaciones que minimicen la distancia entre entradas de formación similares y maximicen la distancia entre ejemplos de formación diferentes.
Discutamos el aprendizaje contrastivo usando ejemplos concretos. Supongamos que tenemos un conjunto de datos que consiste en imágenes aleatorias de animales. Primero, dibujamos una imagen aleatoria de un gato (la red no conoce la etiqueta, porque asumimos que el conjunto de datos no está etiquetado). A continuación, aumentamos, corrompemos o perturbamos esta imagen de gato, por ejemplo, agregando una capa de ruido aleatoria y recortándola de manera diferente, como se muestra en la figura 2-5.
Figura 2-5:Pares de imágenes encontrados en el aprendizaje contrastivo.