TensorFlow Probability est une bibliothèque de raisonnement probabiliste et d'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 le gradient 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 affichez les didacticiels du bloc-notes Python .
Composants
Nos outils d'apprentissage automatique probabilistes 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 bas rang, etc.) pour un calcul efficace. Il est construit et maintenu par l'équipe TensorFlow Probability et fait partie de tf.linalg
dans le noyau TensorFlow.
Couche 1: blocs de construction statistiques
- Distributions (
tfp.distributions
): Une grande collection de distributions de probabilités et de statistiques associées avec une sémantique de batch et de diffusion . - Bijecteurs (
tfp.bijectors
): Transformations réversibles et composables de variables aléatoires. Les bijecteurs fournissent une classe riche de distributions transformées, des exemples classiques comme la distribution log-normale aux modèles sophistiqués d'apprentissage profond 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 avecJointDistribution
s de TFP, consultez ce colab - Couches probabilistes (
tfp.layers
): couches de réseau neuronal 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 des intégrales par échantillonnage. Comprend 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 des intégrales par optimisation. - Optimiseurs (
tfp.optimizer
): méthodes d'optimisation stochastique, étendant les optimiseurs TensorFlow. Inclut la dynamique de Langevin à gradient stochastique . - Monte Carlo (
tfp.monte_carlo
): outils de calcul des attentes de Monte Carlo.
TensorFlow Probability est en cours de développement actif et les interfaces peuvent changer.
Exemples
En plus des didacticiels de bloc-notes Python répertoriés dans la navigation, quelques exemples de scripts sont disponibles:
- Autoencodeurs variationnels - Apprentissage de la représentation avec un code latent et une inférence variationnelle.
- Encodeur automatique à quantification vectorielle - Apprentissage de 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 les bogues ou les demandes de fonctionnalités à l'aide de l' outil de suivi des problèmes TensorFlow Probability .