TensorFlow Probability es una biblioteca para el razonamiento probabilístico y el 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 de aprendizaje automático probabilístico están estructuradas de la siguiente manera:
Capa 0: TensorFlow
Las operaciones numéricas , en particular, la clase LinearOperator
, permiten implementaciones sin matriz que pueden explotar una estructura particular (diagonal, de bajo rango, etc.) para un cálculo eficiente. Está construido y mantenido por el equipo de Probabilidad de TensorFlow 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 por lotes y de transmisión . - 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 logarítmica 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
s 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 Monte Carlo hamiltoniano , Metropolis-Hastings de caminata aleatoria y la capacidad de crear núcleos de transición personalizados. - Inferencia Variacional (
tfp.vi
): Algoritmos de aproximación de integrales mediante optimización. - Optimizadores (
tfp.optimizer
): métodos de optimización estocástica, que amplían los optimizadores de TensorFlow. Incluye Stochastic Gradient Langevin Dynamics . - 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 enumerados en la navegación, hay algunos scripts de ejemplo disponibles:
- Autocodificadores variacionales : aprendizaje de representación con un código latente e inferencia variacional.
- Codificador automático con cuantificación vectorial: aprendizaje de representación discreta con cuantificación vectorial.
- Redes neuronales bayesianas : redes neuronales con incertidumbre sobre sus pesos.
- Regresión logística bayesiana : inferencia bayesiana para la clasificación binaria.
Informar problemas
Informe de errores o solicitudes de funciones mediante el rastreador de problemas de probabilidad de TensorFlow .