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 gradientowe z wykorzystaniem automatycznego różnicowania oraz skalowalność do dużych zestawów danych i modeli z akceleracją sprzętową (GPU) i obliczeniami rozproszonymi.
Aby rozpocząć korzystanie z prawdopodobieństwa TensorFlow, zapoznaj się z przewodnikiem instalacji i samouczkami dotyczącymi notebooków Python .
składniki
Nasze probabilistyczne narzędzia uczenia maszynowego mają następującą strukturę:
Warstwa 0: TensorFlow
Operacje numeryczne - w szczególności klasa LinearOperator
- umożliwiają implementacje bez macierzy, które mogą wykorzystywać określoną strukturę (przekątną, niskiego rzędu itp.) Do wydajnych obliczeń. Jest zbudowany i utrzymywany przez zespół TensorFlow Probability i jest częścią tf.linalg
w rdzeniu TensorFlow.
Warstwa 1: statystyczne bloki konstrukcyjne
- Dystrybucje (
tfp.distributions
): Duży zbiór rozkładów prawdopodobieństwa i powiązanych statystyk z semantyką wsadową i rozgłoszeniową . - Bijektory (
tfp.bijectors
): Odwracalne i składowalne transformacje zmiennych losowych. Bijektory zapewniają bogatą klasę transformowanych rozkładów, od klasycznych przykładów, takich jak rozkład logarytmiczno-normalny, po wyrafinowane modele głębokiego uczenia, takie jak zamaskowane przepływy autoregresyjne .
Warstwa 2: Budowanie modelu
- Wspólne dystrybucje (np.
tfp.distributions.JointDistributionSequential
): Wspólne rozkłady w jednej lub większej liczbie potencjalnie współzależnych dystrybucji. Aby zapoznać się z wprowadzeniem do modelowania za pomocąJointDistribution
TFP, zapoznaj się z tą współpracą - Warstwy probabilistyczne (
tfp.layers
): warstwy sieci neuronowych z niepewnością co do funkcji, które reprezentują, rozszerzające warstwy TensorFlow.
Warstwa 3: Wnioskowanie probabilistyczne
- Monte Carlo łańcucha Markowa (
tfp.mcmc
): Algorytmy aproksymacji całek poprzez próbkowanie. Obejmuje Hamiltonian Monte Carlo , losowy spacer Metropolis-Hastings i możliwość tworzenia niestandardowych jąder przejściowych. - Wnioskowanie o wariacji (
tfp.vi
): Algorytmy aproksymacji całek poprzez optymalizację. - Optymalizatory (
tfp.optimizer
): Stochastyczne metody optymalizacji, rozszerzenie TensorFlow Optimizers. Obejmuje Stochastic Gradient Langevin Dynamics . - Monte Carlo (
tfp.monte_carlo
): narzędzia do obliczania oczekiwań Monte Carlo.
Prawdopodobieństwo TensorFlow jest w trakcie opracowywania i interfejsy mogą ulec zmianie.
Przykłady
Oprócz samouczków dotyczących notatników Python wymienionych w nawigacji, dostępnych jest kilka przykładowych skryptów:
- Wariacyjne Autoenkodery - uczenie się reprezentacji z utajonym kodem i wnioskiem o wariacji.
- Autoenkoder kwantowany wektorowo - nauka dyskretnej reprezentacji z kwantyzacją wektorów.
- Bayesowskie sieci neuronowe - Sieci neuronowe z niepewnością co do ich wagi.
- Bayesowska regresja logistyczna - wnioskowanie Bayesa dla klasyfikacji binarnej.
Zgłoś problemy
Zgłaszaj błędy lub prośby o dodanie funkcji za pomocą narzędzia do śledzenia problemów z prawdopodobieństwem TensorFlow .