TensorFlow Probability es una biblioteca para razonamiento probabilístico y análisis estadístico en TensorFlow. Como parte del ecosistema TensorFlow, TensorFlow Probability proporciona integración de métodos probabilísticos con redes profundas, inferencia basada en gradientes mediante diferenciación automática y escalabilidad a grandes conjuntos de datos y modelos con aceleración de hardware (GPU) y computación distribuida.
Para comenzar con TensorFlow Probability, consulte la guía de instalación y vea los tutoriales del cuaderno de Python .
Componentes
Nuestras herramientas probabilísticas de aprendizaje automático están estructuradas de la siguiente manera:
Capa 0: TensorFlow
Las operaciones numéricas (en particular, la clase LinearOperator
) permiten implementaciones sin matrices que pueden explotar una estructura particular (diagonal, de rango bajo, etc.) para un cálculo eficiente. Está construido y mantenido por el equipo de TensorFlow Probability y es parte de tf.linalg
en el núcleo de TensorFlow.
Capa 1: Bloques de construcción estadísticos
- Distribuciones (
tfp.distributions
): una gran colección de distribuciones de probabilidad y estadísticas relacionadas con semántica de transmisión y por lotes. - Bijectors (
tfp.bijectors
): transformaciones reversibles y componibles de variables aleatorias. Los biyectores proporcionan una rica clase de distribuciones transformadas, desde ejemplos clásicos como la distribución log-normal hasta modelos sofisticados de aprendizaje profundo como los flujos autorregresivos enmascarados .
Capa 2: Construcción de modelos
- Distribuciones conjuntas (p. ej.,
tfp.distributions.JointDistributionSequential
): distribuciones conjuntas sobre una o más distribuciones posiblemente interdependientes. Para obtener una introducción al modelado conJointDistribution
de TFP, consulte esta colaboración - Capas probabilísticas (
tfp.layers
): Capas de redes neuronales con incertidumbre sobre las funciones que representan, extendiendo las capas de TensorFlow.
Capa 3: Inferencia probabilística
- Cadena de Markov Monte Carlo (
tfp.mcmc
): Algoritmos para aproximar integrales mediante muestreo. Incluye Hamiltonian Monte Carlo , Metropolis-Hastings de paseo aleatorio y la capacidad de crear núcleos de transición personalizados. - Inferencia variacional (
tfp.vi
): Algoritmos para aproximar integrales mediante optimización. - Optimizadores (
tfp.optimizer
): métodos de optimización estocástica que amplían los optimizadores de TensorFlow. Incluye dinámica de Langevin con gradiente estocástico . - Monte Carlo (
tfp.monte_carlo
): herramientas para calcular las expectativas de Monte Carlo.
TensorFlow Probability está en desarrollo activo y las interfaces pueden cambiar.
Ejemplos
Además de los tutoriales del cuaderno de Python que aparecen en la navegación, hay algunos scripts de ejemplo disponibles:
- Autocodificadores variacionales : aprendizaje de representación con un código latente e inferencia variacional.
- Autocodificador cuantificado por vectores: aprendizaje de representación discreta con cuantificación de vectores.
- Redes neuronales bayesianas : redes neuronales con incertidumbre sobre sus pesos.
- Regresión logística bayesiana : inferencia bayesiana para clasificación binaria.
Informar problemas
Informe errores o solicitudes de funciones utilizando el rastreador de problemas de probabilidad de TensorFlow .