TensorFlow Probability es una biblioteca para el razonamiento probabilístico y el análisis estadístico en TensorFlow. Como parte del ecosistema de 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 Probabilidad, consulte la guía de instalación y ver los tutoriales de Python portátiles .
Componentes
Nuestras herramientas de aprendizaje automático probabilístico están estructuradas de la siguiente manera:
Capa 0: TensorFlow
Operaciones numéricas -en particular, el LinearOperator
clase permite implementaciones sin matriz que pueden explotar una estructura particular (diagonal, de bajo rango, etc.) para el cálculo eficiente. Está construido y mantenido por el equipo de probabilidad TensorFlow y es parte de tf.linalg
en TensorFlow núcleo.
Capa 1: Bloques de construcción estadísticos
- Distribuciones (
tfp.distributions
): Una gran colección de distribuciones de probabilidad y estadísticas relacionadas con el lote y de radiodifusión semántica. - Bijectors (
tfp.bijectors
): Reversible y transformaciones componibles de variables aleatorias. Bijectors proporcionan una rica clase de distribuciones transformadas, a partir de ejemplos clásicos como la distribución logarítmica normal a sofisticados modelos de aprendizaje profundas tales como los flujos de autorregresivos enmascarados .
Capa 2: Construcción de modelos
- Joint distribuciones (por ejemplo,
tfp.distributions.JointDistributionSequential
): distribuciones de conjunto sobre uno o distribuciones más posiblemente-interdependientes. Para una introducción a la modelización de la PTF conJointDistribution
s, echa un vistazo a este colab - Capas probabilísticos (
tfp.layers
): capas de red neuronal con incertidumbre sobre las funciones que representan, que se extienden capas TensorFlow.
Capa 3: Inferencia probabilística
- Cadena de Markov Monte Carlo (
tfp.mcmc
): Algoritmos para aproximar integrales a través de muestreo. Incluye hamiltoniano Monte Carlo , del paseo aleatorio Metropolis-Hastings, y la capacidad de los núcleos de transición de generación personalizada. - Inferencia variacional (
tfp.vi
): Algoritmos para aproximar integrales a través de la optimización. - Optimizadores (
tfp.optimizer
): métodos de optimización estocástica, que se extienden TensorFlow optimizadores. Incluye estocásticos gradiente Langevin Dinámica . - Monte Carlo (
tfp.monte_carlo
): Herramientas para el cálculo de las expectativas de Monte Carlo.
TensorFlow Probability está en desarrollo activo y las interfaces pueden cambiar.
Ejemplos de
Además de los tutoriales de Python portátiles que figuran en la navegación, hay algunos ejemplos que están disponibles:
- Variacional Autoencoders aprendizaje con un código latente y la inferencia variacional -Representación.
- Vector-Quantized Autoencoder aprendizaje representación -Discrete con cuantificación vectorial.
- Bayesiano Redes Neuronales redes -Neural con la incertidumbre sobre sus pesos.
- Bayesiano de regresión logística inferencia -Bayesian para la clasificación binaria.
Informar problemas
Informar de los errores o peticiones utilizando el gestor de incidencias Probabilidad TensorFlow .