TensorFlow Probability est une bibliothèque pour le raisonnement probabiliste et l'analyse statistique dans TensorFlow. Dans le cadre de l'écosystème TensorFlow, TensorFlow Probability fournit l'intégration de méthodes probabilistes avec des réseaux profonds, l'inférence basée sur les gradients utilisant la différenciation automatique et l'évolutivité vers de grands ensembles de données et modèles avec accélération matérielle (GPU) et calcul distribué.
Pour démarrer avec TensorFlow Probability, consultez le guide d'installation et consultez les didacticiels du bloc-notes Python .
Composants
Nos outils d'apprentissage automatique probabiliste sont structurés comme suit :
Couche 0 : TensorFlow
Les opérations numériques , en particulier la classe LinearOperator
, permettent des implémentations sans matrice qui peuvent exploiter une structure particulière (diagonale, de rang inférieur, etc.) pour un calcul efficace. Il est construit et maintenu par l'équipe TensorFlow Probability et fait partie de tf.linalg
dans le cœur de TensorFlow.
Couche 1 : Blocs de construction statistiques
- Distributions (
tfp.distributions
) : une vaste collection de distributions de probabilités et de statistiques associées avec une sémantique de traitement par lots et de diffusion . - Bijectors (
tfp.bijectors
): Transformations réversibles et composables de variables aléatoires. Les bijecteurs fournissent une riche classe de distributions transformées, des exemples classiques comme la distribution log-normale aux modèles sophistiqués d'apprentissage en profondeur tels que les flux autorégressifs masqués .
Couche 2 : Construction de modèles
- Distributions conjointes (par exemple,
tfp.distributions.JointDistributionSequential
) : distributions conjointes sur une ou plusieurs distributions éventuellement interdépendantes. Pour une introduction à la modélisation avec lesJointDistribution
de TFP, consultez cette collaboration - Couches probabilistes (
tfp.layers
) : Couches de réseau de neurones avec incertitude sur les fonctions qu'elles représentent, étendant les couches TensorFlow.
Couche 3 : Inférence probabiliste
- Chaîne de Markov Monte Carlo (
tfp.mcmc
): Algorithmes d'approximation d'intégrales par échantillonnage. Inclut Hamiltonian Monte Carlo , Metropolis-Hastings à marche aléatoire et la possibilité de créer des noyaux de transition personnalisés. - Inférence variationnelle (
tfp.vi
): Algorithmes d'approximation d'intégrales par optimisation. - Optimiseurs (
tfp.optimizer
) : méthodes d'optimisation stochastiques, étendant les optimiseurs TensorFlow. Inclut Stochastic Gradient Langevin Dynamics . - Monte Carlo (
tfp.monte_carlo
): Outils de calcul des attentes Monte Carlo.
TensorFlow Probability est en cours de développement et les interfaces peuvent changer.
Exemples
En plus des didacticiels sur les blocs-notes Python répertoriés dans la navigation, des exemples de scripts sont disponibles :
- Auto-encodeurs variationnels - Apprentissage de la représentation avec un code latent et une inférence variationnelle.
- Auto-encodeur à quantification vectorielle : apprentissage de la représentation discrète avec quantification vectorielle.
- Réseaux de neurones bayésiens —Réseaux de neurones avec incertitude sur leurs poids.
- Régression logistique bayésienne : inférence bayésienne pour la classification binaire.
Signaler des problèmes
Signalez des bugs ou des demandes de fonctionnalités à l'aide de l'outil de suivi des problèmes TensorFlow Probability .