TensorFlow Probability to biblioteka do wnioskowania probabilistycznego i analizy statystycznej w TensorFlow. Jako część ekosystemu TensorFlow, TensorFlow Probability zapewnia integrację metod probabilistycznych z głębokimi sieciami, wnioskowanie oparte na gradientach z wykorzystaniem automatycznego różnicowania oraz skalowalność do dużych zbiorów danych i modeli z akceleracją sprzętową (GPU) i obliczeniami rozproszonymi.
Aby rozpocząć korzystanie z TensorFlow Prawdopodobieństwo, patrz podręcznik instalacji i obejrzeć samouczki notebooków Pythona .
składniki
Nasze probabilistyczne narzędzia do uczenia maszynowego mają następującą strukturę:
Warstwa 0: TensorFlow
Operacje liczbowe -w szczególności LinearOperator
klasy umożliwia implementację matrycy wolnej który może wykorzystywać określoną strukturę (przekątna, nisko-rank, etc.) dla efektywnego obliczeń. Jest zbudowany i utrzymywany przez zespół Prawdopodobieństwa TensorFlow i jest częścią tf.linalg
w podstawowej TensorFlow.
Warstwa 1: Statystyczne bloki konstrukcyjne
- Dystrybucje (
tfp.distributions
): Duży zbiór rozkładów prawdopodobieństwa i statystyk związanych z partii i nadawczych semantyki. - Bijectors (
tfp.bijectors
): odwracalny i sk transformacje zmiennych losowych. Bijectors stanowią bogate klasę przekształconych rozkładów, od klasycznych przykładów takich jak rozkładzie logarytmiczno-normalny dla zaawansowanych modeli, takich jak głębokie uczenia maskowanych przepływów autoregresyjnych .
Warstwa 2: Budowa modelu
- Wspólne Dystrybucje (np
tfp.distributions.JointDistributionSequential
): Wspólne dystrybucje nad jednym lub więcej ewentualnie rozkładów-współzależne. Wprowadzenie do modelowania z TFP naJointDistribution
s, sprawdź ten colab - Warstwy probabilistyczne (
tfp.layers
): warstwy sieci neuronowe niepewności na funkcje, które stanowią, przebiegające warstwy TensorFlow.
Warstwa 3: Wnioskowanie probabilistyczne
- Łańcuch Markowa Monte Carlo (
tfp.mcmc
) Algorytmy zbliżony całki poprzez pobieranie próbek. Zawiera Hamiltona Monte Carlo , random-walk Metropolis-Hastings, oraz zdolność do budowania niestandardowych jąder przejściowych. - Wnioskowanie wariacyjna (
tfp.vi
): Algorytmy zbliżenie całek poprzez optymalizację. - Pozycjonujące (
tfp.optimizer
): stochastyczne metody optymalizacji, rozciągające TensorFlow optymalizatorów. Zawiera Stochastic Gradient Langevin Dynamics . - Monte Carlo (
tfp.monte_carlo
): Narzędzia do obliczania oczekiwań Monte Carlo.
TensorFlow Probability jest aktywnie rozwijany i interfejsy mogą ulec zmianie.
Przykłady
W uzupełnieniu do tutoriali notebooków Pythona wymienionych w nawigacji, istnieją pewne przykładowe skrypty dostępne:
- Wariacyjna Autoencoders -Representation uczenia się utajonego kodu i wariacyjnym wnioskowania.
- Wektor kwantowane Autoencoder -Discrete uczenia reprezentacja z kwantyzacji wektorowej.
- Bayesa Sieci neuronowe Sieci -Neural z niepewnością ich ciężarami.
- Bayesa regresja logistyczna -Bayesian wnioskowanie klasyfikacji binarnej.
Zgłoś problemy
Zgłoś błędy i propozycje nowych funkcji przy użyciu tracker TensorFlow Prawdopodobieństwo emisyjnej .