Aprendizaje Profundo Práctico para Nube, Móvil y Edge

Book description

Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com

Tanto si eres un ingeniero de software que aspira a entrar en el mundo del aprendizaje profundo, un cientÃfico de datos veterano o un aficionado con el simple sueño de crear la próxima aplicación viral de IA, puede que te hayas preguntado por dónde empezar. Esta guía paso a paso te enseña a crear aplicaciones prácticas de aprendizaje profundo para la nube, el móvil, los navegadores y los dispositivos edge, utilizando un enfoque práctico.

Basándose en años de experiencia en el sector transformando la investigación sobre aprendizaje profundo en aplicaciones galardonadas, Anirudh Koul, Siddha Ganju y Meher Kasam te guiarán a través del proceso de convertir una idea en algo que la gente del mundo real pueda utilizar.

  • Entrena, ajusta y despliega modelos de visión por ordenador con Keras, TensorFlow, Core ML y TensorFlow Lite
  • Desarrolla IA para una serie de dispositivos como Raspberry Pi, Jetson Nano y Google Coral
  • Explora divertidos proyectos, desde la aplicación Not Hotdog de Silicon Valley hasta más de 40 casos prácticos del sector
  • Simula un coche autónomo en un entorno de videojuego y construye una versión en miniatura con aprendizaje por refuerzo
  • Utiliza el aprendizaje por transferencia para entrenar modelos en minutos
  • Descubre más de 50 consejos prácticos para maximizar la precisión y velocidad de los modelos, depurar y escalar a millones de usuarios

Table of contents

  1. Prefacio
    1. Al Desarrollador de Software Backend/Frontend/Móvil
    2. Al científico de datos
    3. Al estudiante
    4. Al Profesor
    5. Para los aficionados a la robótica
    6. Qué esperar en cada capítulo
    7. Convenciones utilizadas en este libro
    8. Utilizar ejemplos de código
    9. Aprendizaje en línea O'Reilly
    10. Cómo contactar con nosotros
    11. Agradecimientos
      1. Agradecimientos del Grupo
      2. Agradecimientos personales
  2. 1. Explorando el panorama de la Inteligencia Artificial
    1. Una disculpa
    2. La verdadera introducción
    3. ¿Qué es la IA?
      1. Ejemplos motivadores
    4. Breve historia de la IA
      1. Comienzos emocionantes
      2. Los días fríos y oscuros
      3. Un rayo de esperanza
      4. Cómo el aprendizaje profundo se convirtió en algo
    5. Receta para la solución perfecta de aprendizaje profundo
      1. Conjuntos de datos
      2. Arquitectura Modelo
      3. Marcos
      4. Hardware
    6. IA responsable
      1. Sesgo
      2. Responsabilidad y explicabilidad
      3. Reproducibilidad
      4. Robustez
      5. Privacidad
    7. Resumen
    8. Preguntas frecuentes
  3. 2. Qué hay en la imagen: Clasificación de imágenes con Keras
    1. Presentación de Keras
    2. Predecir la categoría de una imagen
    3. Investigar el modelo
      1. Conjunto de datos ImageNet
      2. Zoos modelo
      3. Mapas de activación de clases
    4. Resumen
  4. 3. Gatos contra perros: aprendizaje por transferencia en 30 líneas con Keras
    1. Adaptar modelos preentrenados a nuevas tareas
      1. Una inmersión superficial en las redes neuronales convolucionales
      2. Aprendizaje por transferencia
      3. Ajuste fino
      4. Cuánto afinar
    2. Construir un clasificador personalizado en Keras con aprendizaje por transferencia
    3. Organizar los datos
    4. Construye el conducto de datos
      1. Número de clases
      2. Tamaño del lote
    5. Aumento de datos
    6. Definición del modelo
    7. Entrenar al modelo
      1. Establecer parámetros de entrenamiento
      2. Iniciar la formación
    8. Prueba el modelo
    9. Analizar los resultados
    10. Otras lecturas
    11. Resumen
  5. 4. Construir un motor de búsqueda inversa de imágenes: Comprender las incrustaciones
    1. Similitud de imágenes
    2. Extracción de características
    3. Búsqueda por similitud
    4. Visualización de grupos de imágenes con t-SNE
    5. Mejorar la velocidad de la búsqueda por similitud
      1. Longitud de los vectores de características
      2. Reducir la longitud de los rasgos con PCA
    6. Escalar la búsqueda de similitud con los vecinos más próximos aproximados
      1. Valor de referencia aproximado del vecino más próximo
      2. ¿Qué biblioteca debo utilizar?
      3. Crear un conjunto de datos sintéticos
      4. Fuerza bruta
      5. Molesta a
      6. NGT
      7. Faiss
    7. Mejorar la precisión con el ajuste fino
      1. Ajuste fino sin capas totalmente conectadas
    8. Redes siamesas para la verificación facial de una sola vez
    9. Casos prácticos
      1. Flickr
      2. Pinterest
      3. Doppelgangers de famosos
      4. Spotify
      5. Subtitulado de imágenes
    10. Resumen
  6. 5. De Novato a Maestro Predictor: Cómo maximizar la precisión de la red neuronal convolucional
    1. Herramientas del oficio
      1. Conjuntos de datos TensorFlow
      2. TensorBoard
      3. Herramienta Y si...
      4. tf-explica
    2. Técnicas comunes para la experimentación en aprendizaje automático
      1. Inspección de datos
      2. Desglosar los datos: Entrenar, Validar, Probar
      3. Parada anticipada
      4. Experimentos reproducibles
    3. Ejemplo de canalización de aprendizaje profundo de extremo a extremo
      1. Proceso básico de aprendizaje por transferencia
      2. Red básica personalizada
    4. Cómo afectan los hiperparámetros a la precisión
      1. Aprendizaje por transferencia frente a formación desde cero
      2. Efecto del número de capas afinadas en el aprendizaje por transferencia
      3. Efecto del tamaño de los datos en el aprendizaje por transferencia
      4. Efecto del ritmo de aprendizaje
      5. Efecto de los optimizadores
      6. Efecto del tamaño del lote
      7. Efecto del cambio de tamaño
      8. Efecto del cambio de relación de aspecto en el aprendizaje por transferencia
    5. Herramientas para automatizar el ajuste y obtener la máxima precisión
      1. Sintonizador Keras
      2. AutoAjuste
      3. AutoKeras
    6. Resumen
  7. 6. Cómo maximizar la velocidad y el rendimiento de TensorFlow: una práctica lista de comprobación
    1. Inanición de la GPU
      1. nvidia-smi
      2. Perfilador TensorFlow + TensorBoard
    2. Cómo utilizar esta lista de control
    3. Lista de control del rendimiento
      1. Preparación de datos
      2. Lectura de datos
      3. Aumento de datos
      4. Formación
      5. Inferencia
    4. Preparación de datos
      1. Almacenar como TFRecords
      2. Reducir el tamaño de los datos de entrada
      3. Utilizar conjuntos de datos TensorFlow
    5. Lectura de datos
      1. Utiliza tf.datos
      2. Prefijar datos
      3. Paralelizar el procesamiento de la CPU
      4. Paralelizar E/S y Procesamiento
      5. Activar la ordenación no determinista
      6. Datos de la caché
      7. Activa las Optimizaciones Experimentales
      8. Valores de los parámetros de autoajuste
    6. Aumento de datos
      1. Utiliza la GPU para aumentar
    7. Formación
      1. Utilizar Precisión Mixta Automática
      2. Utiliza un tamaño de lote mayor
      3. Utiliza múltiplos de ocho
      4. Encontrar la tasa de aprendizaje óptima
      5. Utiliza tf.function
      6. Sobreentrena y luego generaliza
      7. Instala una pila optimizada para el hardware
      8. Optimizar el Número de Hilos Paralelos de la CPU
      9. Utiliza mejor hardware
      10. Distribuir la formación
      11. Examinar las referencias del sector
    8. Inferencia
      1. Utiliza un modelo eficiente
      2. Cuantificar el modelo
      3. Podar el modelo
      4. Utilizar operaciones fusionadas
      5. Activar la Persistencia de la GPU
    9. Resumen
  8. 7. Herramientas prácticas, consejos y trucos
    1. Instalación
    2. Formación
    3. Modelo
    4. Datos
    5. Privacidad
    6. Educación y exploración
    7. Una última pregunta
  9. 8. API en la nube para visión por ordenador: En marcha en 15 minutos
    1. El panorama de las API de reconocimiento visual
      1. Clarifai
      2. Servicios cognitivos de Microsoft
      3. Visión de Google Cloud
      4. Rekognición Amazon
      5. Reconocimiento visual IBM Watson
      6. Algoritmia
    2. Comparación de las API de reconocimiento visual
      1. Oferta de servicios
      2. Coste
      3. Precisión
      4. Sesgo
    3. Ponerse en marcha con las API en la nube
    4. Entrenamiento de nuestro propio clasificador personalizado
      1. Razones principales por las que nuestro clasificador no funciona satisfactoriamente
    5. Comparación de las API de clasificación personalizadas
    6. Ajuste del rendimiento de las API en la nube
      1. Efecto del cambio de tamaño en las API de etiquetado de imágenes
      2. Efecto de la compresión en las API de etiquetado de imágenes
      3. Efecto de la compresión en las API de OCR
      4. Efecto del cambio de tamaño en las API de OCR
    7. Casos prácticos
      1. El New York Times
      2. Uber
      3. Giphy
      4. OmniTierra
      5. Photobucket
      6. Grapas
      7. InDro Robotics
    8. Resumen
  10. 9. Servicio de Inferencia Escalable en la Nube con TensorFlow Serving y KubeFlow
    1. Predicciones sobre el panorama de la IA al servicio
    2. Flask: Construye tu propio servidor
      1. Crear una API REST con Flask
      2. Implementación de un modelo Keras en Flask
      3. Ventajas de usar Flask
      4. Contras de usar Flask
    3. Cualidades deseables en un sistema de servicio a nivel de producción
      1. Alta disponibilidad
      2. Escalabilidad
      3. Baja latencia
      4. Disponibilidad geográfica
      5. Gestión de fallos
      6. Monitoreo
      7. Versionado de modelos
      8. Pruebas A/B
      9. Compatibilidad con múltiples bibliotecas de aprendizaje automático
    4. Motor ML de Google Cloud: Una pila de servicios de IA en la nube gestionada
      1. Ventajas de utilizar Cloud ML Engine
      2. Contras de usar Cloud ML Engine
      3. Construir una API de clasificación
    5. TensorFlow Sirviendo
      1. Instalación
    6. KubeFlow
      1. Tuberías
      2. Carenado
      3. Instalación
    7. Consideraciones sobre el precio frente al rendimiento
      1. Análisis de costes de la inferencia como servicio
      2. Análisis de costes de construir tu propia pila
    8. Resumen
  11. 10. IA en el navegador con TensorFlow.js y ml5.js
    1. Bibliotecas de aprendizaje automático basadas en JavaScript: Breve historia
      1. ConvNetJS
      2. Keras.js
      3. ONNX.js
      4. TensorFlow.js
    2. Arquitectura de TensorFlow.js
    3. Ejecutar modelos preentrenados con TensorFlow.js
    4. Conversión de modelos para el navegador
    5. Formación en el Navegador
      1. Extracción de características
      2. Recogida de datos
      3. Formación
      4. Utilización de la GPU
    6. ml5.js
    7. PoseNet
    8. pix2pix
    9. Evaluación comparativa y consideraciones prácticas
      1. Tamaño del modelo
      2. Tiempo de inferencia
    10. Casos prácticos
      1. Semiconductores
      2. TensorSpace
      3. Metacar
      4. Clasificación de fotos de Airbnb
      5. Laboratorio GAN
    11. Resumen
  12. 11. Clasificación de objetos en tiempo real en iOS con Core ML
    1. El ciclo de vida del desarrollo de la inteligencia artificial en el móvil
    2. Breve historia del núcleo ML
    3. Alternativas a Core ML
      1. TensorFlow Lite
      2. Kit ML
      3. Fritz
    4. Arquitectura de aprendizaje automático de Apple
      1. Marcos basados en dominios
      2. Marco ML
      3. Primitivas de rendimiento ML
    5. Crear una aplicación de reconocimiento de objetos en tiempo real
    6. Conversión a Core ML
      1. Conversión de Keras
      2. Conversión desde TensorFlow
    7. Implementación de modelos dinámicos
    8. Formación en el dispositivo
      1. Aprendizaje Federado
    9. Análisis de rendimiento
      1. Modelos de evaluación comparativa en iPhones
    10. Medir el impacto energético
      1. Carga comparativa
    11. Reducir el tamaño de la app
      1. Evita agrupar el modelo
      2. Utiliza la Cuantización
      3. Utiliza Crear ML
    12. Casos prácticos
      1. Sudoku mágico
      2. Ver la IA
      3. InicioTribunal
      4. InstaSaber + YoPuppet
    13. Resumen
  13. 12. No Hotdog en iOS con Core ML y Create ML
    1. Recogida de datos
      1. Enfoque 1: Encontrar o recopilar un conjunto de datos
      2. Método 2: Extensión Fatkun para el navegador Chrome
      3. Enfoque 3: Web Scraper utilizando la API de búsqueda de imágenes de Bing
    2. Entrenamiento de nuestro modelo
      1. Enfoque 1: Utilizar herramientas basadas en la interfaz de usuario web
      2. Enfoque 2: Utilizar Crear ML
      3. Método 3: Ajuste fino con Keras
    3. Conversión de modelos mediante herramientas básicas de ML
    4. Construir la aplicación iOS
    5. Exploración adicional
    6. Resumen
  14. 13. Shazam for Food: Desarrollando aplicaciones Android con TensorFlow Lite y ML Kit
    1. El Ciclo de Vida de una App Clasificadora de Alimentos
    2. Visión general de TensorFlow Lite
      1. Arquitectura de TensorFlow Lite
    3. Conversión del modelo a TensorFlow Lite
    4. Crear una aplicación de reconocimiento de objetos en tiempo real
    5. Kit ML + Firebase
      1. Clasificación de objetos en el kit ML
      2. Modelos personalizados en el kit ML
      3. Modelos alojados
      4. Pruebas A/B con modelos alojados
      5. Utilizar el Experimento en Código
    6. TensorFlow Lite en iOS
    7. Optimizaciones de rendimiento
      1. Cuantificar con el conversor TensorFlow Lite
      2. Kit de herramientas de optimización de modelos TensorFlow
    8. Fritz
    9. Una mirada holística al ciclo de desarrollo de aplicaciones móviles de IA
      1. ¿Cómo recojo los datos iniciales?
      2. ¿Cómo etiqueto mis datos?
      3. ¿Cómo entreno a mi modelo?
      4. ¿Cómo convierto el modelo a un formato apto para móviles?
      5. ¿Cómo hago que mi modelo rinda?
      6. ¿Cómo construyo una gran UX para mis usuarios?
      7. ¿Cómo pongo el modelo a disposición de mis usuarios?
      8. ¿Cómo mido el éxito de mi modelo?
      9. ¿Cómo puedo mejorar mi modelo?
      10. ¿Cómo actualizo el modelo en los teléfonos de mis usuarios?
    10. El modelo autoevolutivo
    11. Casos prácticos
      1. ¡Piérdelo!
      2. Modo Retrato en los teléfonos Pixel 3
      3. Reconocimiento de altavoces por Alibaba
      4. Contornos faciales en ML Kit
      5. Segmentación de vídeos en tiempo real en YouTube Stories
    12. Resumen
  15. 14. Creación de la aplicación Purrfect Cat Locator con la API de detección de objetos de TensorFlow
    1. Tipos de tareas de visión artificial
      1. Clasificación
      2. Localización
      3. Detección
      4. Segmentación
    2. Enfoques para la detección de objetos
    3. Invocar APIs de Detección de Objetos Preconstruidas en la Nube
    4. Reutilizar un modelo preentrenado
      1. Obtención del modelo
      2. Probar nuestro modelo
      3. Implementación en un dispositivo
    5. Construir un detector personalizado sin código
    6. La evolución de la detección de objetos
      1. Consideraciones sobre el rendimiento
    7. Términos clave en la detección de objetos
      1. Intersección sobre Union
      2. Media Precisión media
      3. Supresión no máxima
    8. Uso de la API de detección de objetos de TensorFlow para construir modelos personalizados
      1. Recogida de datos
      2. Etiquetar los datos
      3. Preprocesamiento de los datos
    9. Inspeccionar el modelo
      1. Formación
      2. Conversión de modelos
    10. Segmentación de imágenes
    11. Casos prácticos
      1. Frigorífico inteligente
      2. Recuento de multitudes
      3. Detección de caras en Seeing AI
      4. Coches autónomos
    12. Resumen
  16. 15. Convertirse en fabricante: Explorando la IA integrada en el perímetro
    1. Explorando el panorama de los dispositivos de IA integrados
      1. Raspberry Pi
      2. Intel Movidius Neural Compute Stick
      3. Acelerador USB Google Coral
      4. NVIDIA Jetson Nano
      5. FPGA + PYNQ
      6. Arduino
    2. Comparación cualitativa de los dispositivos de IA integrados
    3. Manos a la obra con la Raspberry Pi
    4. Acelerar con el Acelerador USB Google Coral
    5. Portar a NVIDIA Jetson Nano
    6. Comparación del rendimiento de los dispositivos de perímetro
    7. Casos prácticos
      1. JetBot
      2. En cuclillas por billetes de metro
      3. Clasificador de pepinos
    8. Exploración adicional
    9. Resumen
  17. 16. Construir un coche autónomo en menos de una hora: Aprendizaje por refuerzo con AWS DeepRacer
    1. Breve introducción al aprendizaje por refuerzo
    2. ¿Por qué aprender el aprendizaje por refuerzo con un coche autónomo?
    3. Aprendizaje por refuerzo profundo práctico con DeepRacer
      1. Construir nuestro primer aprendizaje por refuerzo
      2. Paso 1: Crear modelo
      3. Paso 2: Configurar la formación
      4. Paso 3: Entrenamiento del modelo
      5. Paso 4: Evaluación del rendimiento del modelo
    4. El aprendizaje por refuerzo en acción
      1. ¿Cómo aprende un sistema de aprendizaje por refuerzo?
      2. Teoría del aprendizaje por refuerzo
      3. Algoritmo de aprendizaje por refuerzo en AWS DeepRacer
      4. Resumen del aprendizaje profundo por refuerzo con DeepRacer como ejemplo
      5. Paso 5: Mejorar los modelos de aprendizaje por refuerzo
    5. Carreras con el coche AWS DeepRacer
      1. Construir la pista
      2. Plantilla AWS DeepRacer para pista de un solo giro
      3. Ejecutar el modelo en AWS DeepRacer
      4. Conducción autónoma del vehículo AWS DeepRacer
    6. Exploración adicional
      1. Liga DeepRacer
      2. AWS DeepRacer avanzado
      3. Olimpiadas de conducción con IA
      4. Robocoches DIY
      5. Roborace
    7. Resumen
  18. Curso acelerado de redes neuronales convolucionales
    1. Aprendizaje automático
    2. Perceptrón
    3. Funciones de activación
    4. Redes neuronales
    5. Retropropagación
    6. Deficiencias de las redes neuronales
    7. Propiedades deseadas de un clasificador de imágenes
    8. Convolución
    9. Puesta en común
    10. Estructura de una CNN
    11. Exploración adicional
  19. Índice
  20. Sobre los autores

Product information

  • Title: Aprendizaje Profundo Práctico para Nube, Móvil y Edge
  • Author(s): Anirudh Koul, Siddha Ganju, Meher Kasam
  • Release date: October 2024
  • Publisher(s): O'Reilly Media, Inc.
  • ISBN: 9798341603042