TensorFlow Probability adalah library untuk penalaran probabilistik dan analisis statistik di TensorFlow. Sebagai bagian dari ekosistem TensorFlow, TensorFlow Probability menyediakan integrasi metode probabilistik dengan jaringan dalam, inferensi berbasis gradien menggunakan diferensiasi otomatis, dan skalabilitas ke kumpulan data besar dan model dengan akselerasi perangkat keras (GPU) dan komputasi terdistribusi.
Untuk memulai Probabilitas TensorFlow, lihat panduan penginstalan dan lihat tutorial notebook Python .
Komponen
Alat pembelajaran mesin probabilistik kami disusun sebagai berikut:
Lapisan 0: TensorFlow
Operasi numerik — khususnya, kelas LinearOperator
— memungkinkan implementasi bebas matriks yang dapat mengeksploitasi struktur tertentu (diagonal, peringkat rendah, dll.) untuk komputasi yang efisien. Itu dibangun dan dikelola oleh tim Probabilitas TensorFlow dan merupakan bagian dari tf.linalg
di inti TensorFlow.
Lapisan 1: Blok Bangunan Statistik
- Distribusi (
tfp.distributions
): Kumpulan besar distribusi probabilitas dan statistik terkait dengan semantik batch dan penyiaran . - Bijectors (
tfp.bijectors
): Transformasi variabel acak yang dapat dibalik dan disusun. Bijector menyediakan kelas yang kaya dari distribusi yang ditransformasikan, dari contoh klasik seperti distribusi log-normal hingga model pembelajaran mendalam yang canggih seperti aliran autoregresif bertopeng .
Lapisan 2: Bangunan Model
- Distribusi Bersama (misalnya,
tfp.distributions.JointDistributionSequential
): Distribusi bersama atas satu atau lebih distribusi yang mungkin saling bergantung. Untuk pengenalan pemodelan denganJointDistribution
s TFP, lihat colab ini - Lapisan probabilistik (
tfp.layers
): Lapisan jaringan saraf dengan ketidakpastian atas fungsi yang diwakilinya, memperluas lapisan TensorFlow.
Lapisan 3: Inferensi Probabilistik
- Rantai Markov Monte Carlo (
tfp.mcmc
): Algoritma untuk mendekati integral melalui pengambilan sampel. Termasuk Hamiltonian Monte Carlo , Metropolis-Hastings yang berjalan acak, dan kemampuan untuk membuat kernel transisi khusus. - Inferensi Variasi (
tfp.vi
): Algoritma untuk mendekati integral melalui pengoptimalan. - Pengoptimal (
tfp.optimizer
): Metode pengoptimalan stokastik, memperluas Pengoptimal TensorFlow. Termasuk Stochastic Gradient Langevin Dynamics . - Monte Carlo (
tfp.monte_carlo
): Alat untuk menghitung ekspektasi Monte Carlo.
Probabilitas TensorFlow sedang dalam pengembangan aktif dan antarmuka dapat berubah.
Contoh
Selain tutorial notebook Python yang terdaftar di navigasi, ada beberapa contoh skrip yang tersedia:
- Variational Autoencoder —Pembelajaran representasi dengan kode laten dan inferensi variasional.
- Vector-Quantized Autoencoder —Pembelajaran representasi diskrit dengan kuantisasi vektor.
- Bayesian Neural Networks —Jaringan saraf dengan ketidakpastian atas bobotnya.
- Regresi Logistik Bayesian —Inferensi Bayesian untuk klasifikasi biner.
Laporkan masalah
Laporkan bug atau permintaan fitur menggunakan pelacak masalah TensorFlow Probability .