Skip to content

Instantly share code, notes, and snippets.

@Santiago-j-s
Last active June 8, 2020 00:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Santiago-j-s/a108862ed82005559396c33137367a39 to your computer and use it in GitHub Desktop.
Save Santiago-j-s/a108862ed82005559396c33137367a39 to your computer and use it in GitHub Desktop.
Clasificadores probabilisticos en aprendizaje automático

Día 1

Papers:

  • ImageNet Classification with Deep Convolutional Neural Networks
  • A Neural Probabilistic Language Model
  • Human-level control through deep reinforcement learning
  • Mastering the game of Go with deep neural networks ad tree search
  • A general reinforcement learning algorithm that masters chess, shogi, Go through self-play
  • Human-level performance in 3d multiplayer games with population-based reinforcement learning
  • AlphaStar: Mastering the Real-Time Strategy Game StarCraft II
  • On Calibration of Model Neural Networks (Probabilidades calibradas)
  • The three challenges keeping cars from being fully autonomous
  • Probabilistic machine learning and artificial intelligence

"The Bitter Lesson" - Rich Sutton

  1. Los investigadores intentan construir conocimiento en sus agentes
  2. Esto ayuda en el corto plazo, y es satisfactorio para el investigador
  3. Sin embargo, en el largo plazo los agentes se estancan y se inhibe el progreso
  4. El progreso eventualmente llega mediante una aproximación opuesta basada en la escalabilidad de la computación mediante búsqueda y aprendizaje

"Model versus Data AI" - Max Welling

Todas las predicciones tienen presunciones a partir de sesgos inductivos humanos.

La lección fundamental de Machine Learning es el compromiso entre sesgo y varianza. Cuando tienes suficientes datos, no necesitas incluir un gran sesgo inductivo humano en tu modelo, puedes dejar que los datos hablen por si mismos. Sin embargo, cuando los datos no son suficientes, necesitas usar el conocimiento humano para llenar los huecos.

Al extrapolar cambia el dominio de los datos de entrada, ahora los datos son dispersos y el modelo entrenado comienza a fallar.

Para dominios de entrada simples, concretamente definidos, donde es posible construir un simulador casi perfecto, es posible entrenar un modelo discriminativo y que funcione muy bien. Pero un simulador es un modelo del mundo y por tanto hay conocimiento humano en el modelo discriminativo.

Pero cuando hay que generalizar a nuevos dominios, extrapolar por afuera de los datos, necesitamos un modelo generativo. Este modelo generativo estará basado en ciertas presunciones acerca del mundo, pero suele generalizar mucho mejor. A medida que la cantidad de datos aumenta se puede reemplazar lentamente el modelo generativo por uno discriminativo.

On calibration of modern neural networks

Avances recientes han mejorado mucho la precisión de las redes neuronales, este avance ha sido acompañado de una mayor confianza para usar las redes neuronales en diferentes campos de aplicación (detección de objetos, diagnósticos médicos, vehículos autonómos, etc.) como elementos importantes para la toma de decisiones.

Sin embargo, en sistemas de decisión del mundo real, las redes neuronales no solo deben tener gran precisión sino que cada predicción debe estar acompañada de la confianza en esa predicción, y esa confianza debe ser una probabilidad calibrada. Que las confianzas sean calibradas significa que, por ejemplo, 8 de cada 10 veces que se produce una predicción con una confianza de 0.8, esta predicción sea acertada.

La confianza de una predicción permite tomar decisiones más acertadas, y evaluar cuando es necesario usar otras herramientas para acompañar la predicción.

Las redes neuronales modernas presentan la característica de que el error probabilístico y el error de calibración aumentan incluso cuando el error de clasificación disminuye. La capacidad del modelo, normalización y regularización tienen efectos fuertes en la calibración de las redes.

Se pueden usar técnicas simples, como temperature scaling para solucionar este problema.

Problemas de DL

Modelos en que es necesario interpretar los modelos

Deep Learning tiende a generar cajas negras poco interpretables, los modelos probabilisticos generativos son mucho más interpretables.

Modelos en que es necesario interpretar los resultados.

Problemas en los que sea necesario obtener probabilidades interpretables y fiables, probabilidades calibradas. Usar únicamente DL no consigue esa calibración.

Clasificadores independientes del escenario de aplicación.

A veces durante el entrenamiento el equilibrio de clases es muy diferente a cuando el modelo se encuentra en su escenario de aplicación real.

El clasificador debe funcionar bien para cualquier probabilidad a priori. A veces un tipo de error es mucho más grave que el otro (detectar un cáncer que no existe vs no detectar un cáncer que sí existe).

DL suele pretender mejorar tasa de acierto (aciertos/total), lo que implicitamente asume clases equilibradas e igualmente importantes.

Para cambiar de escenario de aplicación no podemos usar solo DL.

Problemas en los que tenemos pocos datos.

  • Los datos pueden no ser suficientes para entrenar un modelo
  • En ocasiones en entornos de Big Data hay clases poco representadas, "small data in big data".
  • O la variabilidad puede ser extrema

Problemas en los que es necesario extrapolar

  • Porque su espacio de características es poco conocido
  • o porque su espacio es tan complejo que no hay suficientes datos

ML Probabilístico

Puede ayudar para solucionar algunos problemas de DL.

En ocasiones los modelos de ML probabilísticos son una generalización de modelos de DL no probabilísticos.

Utilizan un enfoque probabilístico riguroso, necesariamente bayesiano, aunque generalmente no usan soluciones puramente bayesianas sino que se realizan ciertas simplificaciones que llegan a funcionar moderadamente bien.

Desafíos

Teóricamente más complejos que los enfoques de DL no probabilísticos.

  • Problemas intratables (computacional y/o analíticamente) salvo en casos muy sencillos
  • Requiren aproximaciones (Inferencia variacional, Métodos Monte Carlo)
  • Incluso las aproximaciones pueden resultar demasiado complejas o no ajustadas
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment