Prefacio
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
¿A quién va dirigido este libro?
Los libros de introducción al aprendizaje automático suelen centrarse en el qué y el cómo del aprendizaje automático (AA). A continuación, explican los aspectos matemáticos de los nuevos métodos de los laboratorios de investigación de IA y enseñan a utilizar los marcos de IA para aplicar estos métodos. Este libro, en cambio, reúne la experiencia duramente adquirida en torno al "por qué" que subyace a los consejos y trucos que emplean los profesionales experimentados del ML cuando aplican el aprendizaje automático a problemas del mundo real.
Suponemos que tienes conocimientos previos de aprendizaje automático y procesamiento de datos. Éste no es un libro de texto fundamental sobre aprendizaje automático. En cambio, este libro es para ti si eres un científico de datos, un ingeniero de datos o un ingeniero de ML que busca un segundo libro sobre aprendizaje automático práctico. Si ya conoces los fundamentos, este libro te introducirá en un catálogo de ideas, algunas de las cuales tú (un profesional del ML) puede que reconozcas, y dará un nombre a esas ideas para que puedas llegar a ellas con confianza.
Si eres un estudiante de informática que se dirige a trabajar en la industria, este libro completará tus conocimientos y te preparará para el mundo profesional. Te ayudará a aprender a construir sistemas ML de alta calidad.
Lo que no está en el libro
Se trata de un libro dirigido principalmente a los ingenieros de ML de la empresa, no a los científicos de ML del mundo académico o de los laboratorios de investigación de la industria.
A propósito, no tratamos áreas de investigación activa: aquí encontrarás muy poco, por ejemplo, sobre arquitectura de modelos de aprendizaje automático (codificadores bidireccionales, o el mecanismo de atención, o capas de cortocircuito, por ejemplo) porque suponemos que utilizarás una arquitectura de modelo preconstruida (como ResNet-50 o GRUCell), no que escribirás tu propia clasificación de imágenes o red neuronal recurrente.
He aquí algunos ejemplos concretos de áreas de las que nos mantenemos intencionadamente alejados porque creemos que estos temas son más apropiados para cursos universitarios e investigadores de ML:
- Algoritmos ML
- No tratamos las diferencias entre los bosques aleatorios y las redes neuronales, por ejemplo. Esto se trata en los libros de texto de introducción al aprendizaje automático.
- Bloques de construcción
- No cubrimos los distintos tipos de optimizadores de descenso de gradiente ni las funciones de activación. Recomendamos utilizar Adam y ReLU: en nuestra experiencia, el potencial de mejora del rendimiento al hacer elecciones diferentes en este tipo de cosas tiende a ser menor.
- Arquitecturas de modelos ML
- Si te dedicas a la clasificación de imágenes, te recomendamos que utilices un modelo estándar como ResNet o cualquiera que esté de moda en el momento en que leas esto. Deja el diseño de nuevos modelos de clasificación de imágenes o de texto a los investigadores especializados en este problema.
- Capas del modelo
- En este libro no encontrarás redes neuronales convolucionales ni redes neuronales recurrentes. Están doblemente descalificadas: en primer lugar, por ser un bloque de construcción y, en segundo lugar, por ser algo que puedes utilizar sin más.
- Bucles de entrenamiento personalizados
- Llamar simplemente a
model.fit()
en Keras se ajustará a las necesidades de los profesionales.
En este libro, hemos intentado incluir sólo patrones comunes del tipo que los ingenieros de aprendizaje automático de las empresas emplearán en su trabajo diario.
Como analogía, considera las estructuras de datos. Mientras que un curso universitario sobre estructuras de datos profundizará en las implementaciones de diferentes estructuras de datos, y un investigador sobre estructuras de datos tendrá que aprender a representar formalmente sus propiedades matemáticas, el profesional puede ser más pragmático. Un desarrollador de software empresarial simplemente necesita saber cómo trabajar eficazmente con matrices, listas enlazadas, mapas, conjuntos y árboles. Este libro está escrito para un profesional pragmático del aprendizaje automático.
Muestras de código
Proporcionamos código de aprendizaje automático (a veces en Keras/TensorFlow, y otras en scikit-learn o BigQuery ML) y de procesamiento de datos (en SQL) como forma de mostrar cómo se implementan en la práctica las técnicas que tratamos. Todo el código al que se hace referencia en el libro forma parte de nuestro repositorio de GitHub, donde encontrarás modelos ML totalmente operativos. Te animamos encarecidamente a que pruebes esos ejemplos de código.
El código es secundario en importancia respecto a los conceptos y técnicas que se tratan. Nuestro objetivo ha sido que el tema y los principios sigan siendo relevantes independientemente de los cambios en TensorFlow o Keras, y podemos imaginar fácilmente la actualización del repositorio de GitHub para incluir otros marcos de ML, por ejemplo, manteniendo el texto del libro sin cambios. Por lo tanto, el libro debería ser igualmente informativo si tu marco de trabajo principal de ML es PyTorch o incluso un marco de trabajo que no sea Python, como H20.ai o R. De hecho, agradecemos tus contribuciones al repositorio de GitHub de implementaciones de uno o más de estos patrones en tu marco de trabajo de ML favorito.
Si tienes una pregunta técnica o un problema al utilizar los ejemplos de código, envía un correo electrónico a bookquestions@oreilly.com.
Este libro está aquí para ayudarte a hacer tu trabajo. En general, si se ofrece código de ejemplo con este libro, puedes utilizarlo en tus programas y documentación. No es necesario que te pongas en contacto con nosotros para pedirnos permiso, a menos que estés reproduciendo una parte importante del código. Por ejemplo, escribir un programa que utilice varios trozos de código de este libro no requiere permiso. Vender o distribuir ejemplos de los libros de O'Reilly sí requiere permiso. Responder a una pregunta citando este libro y el código de ejemplo no requiere permiso. Incorporar una cantidad significativa de código de ejemplo de este libro en la documentación de tu producto sí requiere permiso.
Agradecemos la atribución, pero en general no la exigimos. Una atribución suele incluir el título, el autor, la editorial y el ISBN. Por ejemplo "Patrones de diseño de aprendizaje automático " de Valliappa Lakshmanan, Sara Robinson y Michael Munn (O'Reilly). Copyright 2021 Valliappa Lakshmanan, Sara Robinson y Michael Munn, 978-1-098-11578-4". Si crees que el uso que haces de los ejemplos de código no se ajusta al uso legítimo o a la autorización mencionada, no dudes en ponerte en contacto con nosotros en permissions@oreilly.com.
Convenciones utilizadas en este libro
En este libro se utilizan las siguientes convenciones tipográficas:
- Cursiva
-
Indica nuevos términos, URL, direcciones de correo electrónico, nombres de archivo y extensiones de archivo.
Constant width
-
Se utiliza en los listados de programas, así como dentro de los párrafos para referirse a elementos del programa como nombres de variables o funciones, bases de datos, tipos de datos, variables de entorno, sentencias y palabras clave.
Constant width bold
-
Muestra comandos u otros textos que deben ser tecleados literalmente por el usuario.
Constant width italic
-
Muestra el texto que debe sustituirse por valores proporcionados por el usuario o por valores determinados por el contexto.
Consejo
Este elemento significa un consejo o sugerencia.
Nota
Este elemento significa una nota general.
Advertencia
Este elemento indica una advertencia o precaución.
Aprendizaje en línea O'Reilly
Nota
Durante más de 40 años, O'Reilly Media ha proporcionado formación tecnológica y empresarial, conocimientos y perspectivas para ayudar a las empresas a alcanzar el éxito.
Nuestra red única de expertos e innovadores comparten sus conocimientos y experiencia a través de libros, artículos y nuestra plataforma de aprendizaje online. La plataforma de aprendizaje en línea de O'Reilly te ofrece acceso bajo demanda a cursos de formación en directo, rutas de aprendizaje en profundidad, entornos de codificación interactivos y una amplia colección de textos y vídeos de O'Reilly y de más de 200 editoriales. Para más información, visita http://oreilly.com.
Cómo contactar con nosotros
Dirige tus comentarios y preguntas sobre este libro a la editorial:
- O'Reilly Media, Inc.
- 1005 Gravenstein Highway Norte
- Sebastopol, CA 95472
- 800-998-9938 (en Estados Unidos o Canadá)
- 707-829-0515 (internacional o local)
- 707-829-0104 (fax)
Tenemos una página web para este libro, donde se enumeran erratas, ejemplos y cualquier información adicional. Puedes acceder a esta página en https://oreil.ly/MLDP.
Envía un correo electrónico a bookquestions@oreilly.com para comentar o hacer preguntas técnicas sobre este libro.
Para obtener noticias e información sobre nuestros libros y cursos, visita http://oreilly.com.
Encuéntranos en Facebook: http://facebook.com/oreilly
Síguenos en Twitter: http://twitter.com/oreillymedia
Míranos en YouTube: http://youtube.com/oreillymedia
Agradecimientos
Un libro como éste no sería posible sin la generosidad de numerosos Googlers, especialmente nuestros colegas de los equipos de IA en la Nube, Ingeniería de Soluciones, Servicios Profesionales y Relaciones con los Desarrolladores. Les estamos muy agradecidos por dejarnos observar, analizar y cuestionar sus soluciones a los desafiantes problemas que encontraron al entrenar, mejorar y hacer operativos los modelos de ML. Gracias a nuestros directores, Karl Weinmeister, Steve Cellini, Hamidou Dia, Abdul Razack, Chris Hallenbeck, Patrick Cole, Louise Byrne y Rochana Golani por fomentar el espíritu de apertura dentro de Google, darnos la libertad de catalogar estos patrones y publicar este libro.
Salem Haykal, Benoit Dherin y Khalid Salama revisaron cada patrón y cada capítulo. Sal señaló matices que habíamos pasado por alto, Benoit acotó nuestras afirmaciones y Khalid nos señaló investigaciones relevantes. Este libro no sería ni de lejos tan bueno sin vuestras aportaciones. Muchas gracias. Amy Unruh, Rajesh Thallam, Robbie Haertel, Zhitao Li, Anusha Ramesh, Ming Fang, Parker Barnes, Andrew Zaldivar, James Wexler, Andrew Sellergren y David Kanter revisaron partes de este libro que coinciden con sus áreas de especialización e hicieron numerosas sugerencias sobre cómo afectaría la hoja de ruta a corto plazo a nuestras recomendaciones. Nitin Aggarwal y Matthew Yeager aportaron un ojo de lector al manuscrito y mejoraron su claridad. Un agradecimiento especial a Rajesh Thallam por crear el prototipo del diseño de la última figura del Capítulo 8. Cualquier error que quede es nuestro, por supuesto.
O'Reilly es la editorial preferida para los libros técnicos, y la profesionalidad de nuestro equipo demuestra por qué. Rebecca Novak nos guió en la elaboración de un esquema convincente, Kristen Brown gestionó todo el desarrollo del contenido con aplomo, Corbin Collins nos proporcionó orientación útil en cada etapa, fue un placer trabajar con Elizabeth Kelly durante la producción y Charles Roumeliotis aportó una mirada aguda a la edición. ¡Gracias por toda vuestra ayuda!
Michael: Gracias a mis padres por creer siempre en mí y fomentar mis intereses, tanto académicos como de otro tipo. Sabrán apreciar tanto como yo la portada subrepticia. A Phil, gracias por soportar pacientemente mi horario poco llevadero mientras trabajaba en este libro. Ahora me voy a dormir.
Sara: Jon, tú eres una gran razón de que exista este libro. Gracias por animarme a escribirlo, por saber hacerme reír siempre, por apreciar mis rarezas y por creer en mí especialmente cuando yo no lo hacía. A mis padres, gracias por ser mis mayores fans desde el primer día y fomentar mi amor por la tecnología y la escritura desde que tengo uso de razón. A Ally, Katie, Randi y Sophie, gracias por ser una fuente constante de luz y risas en estos tiempos inciertos.
Lak: Acepté este libro pensando que podría trabajar en él mientras esperaba en los aeropuertos. COVID-19 hizo que gran parte del trabajo se realizara en casa. Gracias Abirami, Sidharth y Sarada por toda vuestra paciencia mientras me agazapaba a escribir una vez más. ¡Ahora más excursiones los fines de semana!
Los tres vamos a donar el 100% de los derechos de autor de este libro a Girls Who Code, una organización cuya misión es crear una gran cantera de futuras ingenieras. La diversidad, la equidad y la inclusión son especialmente importantes en el aprendizaje automático para garantizar que los modelos de IA no perpetúen los prejuicios existentes en la sociedad humana.
Get Patrones de diseño de aprendizaje automático now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.