Probabilità di TensorFlow

TensorFlow Probability è una libreria per il ragionamento probabilistico e l'analisi statistica in TensorFlow. Come parte dell'ecosistema TensorFlow, TensorFlow Probability fornisce l'integrazione di metodi probabilistici con reti profonde, inferenza basata su gradienti utilizzando la differenziazione automatica e scalabilità su set di dati e modelli di grandi dimensioni con accelerazione hardware (GPU) e calcolo distribuito.

Per iniziare con TensorFlow Probability, consulta la guida all'installazione e visualizza i tutorial del notebook Python .

Componenti

I nostri strumenti probabilistici di machine learning sono strutturati come segue:

Livello 0: TensorFlow

Le operazioni numeriche , in particolare la classe LinearOperator , consentono implementazioni prive di matrice che possono sfruttare una particolare struttura (diagonale, di basso rango, ecc.) per un calcolo efficiente. È costruito e gestito dal team TensorFlow Probability e fa parte di tf.linalg nel core TensorFlow.

Livello 1: elementi costitutivi statistici

Livello 2: costruzione del modello

  • Distribuzioni congiunte (ad esempio, tfp.distributions.JointDistributionSequential ): distribuzioni congiunte su una o più distribuzioni possibilmente interdipendenti. Per un'introduzione alla modellazione con JointDistribution di TFP, dai un'occhiata a questa collaborazione
  • Livelli probabilistici ( tfp.layers ): livelli di rete neurale con incertezza sulle funzioni che rappresentano, che estendono i livelli di TensorFlow.

Livello 3: Inferenza probabilistica

  • Catena di Markov Monte Carlo ( tfp.mcmc ): Algoritmi per l'approssimazione degli integrali tramite campionamento. Include Hamiltonian Monte Carlo , Metropolis-Hastings con camminata casuale e la possibilità di creare kernel di transizione personalizzati.
  • Inferenza variazionale ( tfp.vi ): algoritmi per l'approssimazione degli integrali tramite ottimizzazione.
  • Ottimizzatori ( tfp.optimizer ): metodi di ottimizzazione stocastica, estensione degli ottimizzatori TensorFlow. Include la dinamica Langevin del gradiente stocastico .
  • Monte Carlo ( tfp.monte_carlo ): Strumenti per calcolare le aspettative Monte Carlo.

TensorFlow Probability è in fase di sviluppo attivo e le interfacce potrebbero cambiare.

Esempi

Oltre ai tutorial del notebook Python elencati nella navigazione, sono disponibili alcuni script di esempio:

Segnala problemi

Segnala bug o richieste di funzionalità utilizzando il tracker dei problemi di TensorFlow Probability .