Probabilité TensorFlow

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 permet l'intégration de méthodes probabilistes avec des réseaux profonds, une inférence basée sur le gradient utilisant la différenciation automatique et une é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 notebook 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 : Éléments de base statistiques

  • Distributions ( tfp.distributions ) : une vaste collection de distributions de probabilité et de statistiques associées avec une sémantique de lots et de diffusion .
  • Bijecteurs ( tfp.bijectors ) : Transformations réversibles et composables de variables aléatoires. Les bijecteurs fournissent une riche classe de distributions transformées, depuis des exemples classiques comme la distribution log-normale jusqu'à des 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 les JointDistribution de TFP, consultez cette collaboration
  • Couches probabilistes ( tfp.layers ) : couches de réseau neuronal avec une 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 via échantillonnage. Comprend l'hamiltonien 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 pour approximer les intégrales par optimisation.
  • Optimiseurs ( tfp.optimizer ) : méthodes d'optimisation stochastique, étendant les optimiseurs TensorFlow. Comprend 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 du notebook Python répertoriés dans la navigation, quelques exemples de scripts sont disponibles :

Signaler des problèmes

Signalez des bogues ou des demandes de fonctionnalités à l'aide de l'outil de suivi des problèmes TensorFlow Probability .