⚡ Redes neuronales con TensorFlow y Keras

En el notebook anterior escribimos una red neuronal a mano, derivadas incluidas: lo que Ana llama nivel 0 en sus notas (sección 6.8). Este notebook sube los otros pisos de su "edificio": la diferenciación automática con TensorFlow, las capas estándar con Keras y los modelos ya hechos con scikit-learn. Con Keras construye la red convolucional que diseña Ana para el proyecto de dermatología de Minermont (sección 6.4), capa a capa y parámetro a parámetro, con imágenes sintéticas de lesiones de la piel.

El notebook interactivo incluye:

  • Nivel 1, diferenciación automática: TensorFlow calcula los gradientes del ejemplo de Marta, y coinciden con los calculados a mano.
  • Nivel 2, la API de Keras: una red pequeña que resuelve XOR.
  • Imágenes sintéticas de 28 × 28 de lesiones benignas, sospechosas y malignas.
  • La red convolucional del libro, con sus parámetros contados capa a capa, entrenada con parada temprana.
  • La evaluación con las imágenes de prueba: exactitud, matriz de confusión y precisión y exhaustividad por clase.
  • Qué ve la red: los filtros de la primera convolución y sus mapas de características.
  • Nivel 3: una red de scikit-learn con las mismas imágenes, y por qué funciona mucho peor que la red convolucional.

¿Quieres modificar el código y experimentar por tu cuenta?
Abre el notebook en Google Colab

Bibliografía