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 przy użyciu 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 Probability, zapoznaj się z przewodnikiem instalacji i przejrzyj samouczki dotyczące notesu w języku Python .
składniki
Struktura naszych probabilistycznych narzędzi do uczenia maszynowego jest następująca:
Warstwa 0: TensorFlow
Operacje numeryczne — w szczególności klasa LinearOperator
— umożliwiają implementacje bezmacierzowe, które mogą wykorzystywać określoną strukturę (przekątną, niskiej rangi itp.) do wydajnych obliczeń. Jest zbudowany i utrzymywany przez zespół TensorFlow Probability i jest częścią tf.linalg
w rdzeniu TensorFlow.
Warstwa 1: Statystyczne elementy 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ładalne transformacje zmiennych losowych. Bijektory zapewniają bogatą klasę przekształconych rozkładów, od klasycznych przykładów, takich jak rozkład logarytmiczno-normalny, po wyrafinowane modele głębokiego uczenia się, takie jak maskowane przepływy autoregresyjne .
Warstwa 2: Budowa modelu
- Wspólne dystrybucje (np.
tfp.distributions.JointDistributionSequential
): wspólne dystrybucje w ramach jednej lub większej liczby potencjalnie współzależnych dystrybucji. Aby zapoznać się z wprowadzeniem do modelowania za pomocąJointDistribution
TFP, sprawdź tę współpracę - Warstwy probabilistyczne (
tfp.layers
): Warstwy sieci neuronowej z niepewnością co do funkcji, które reprezentują, rozszerzające warstwy TensorFlow.
Warstwa 3: Wnioskowanie probabilistyczne
- Łańcuch Markowa Monte Carlo (
tfp.mcmc
): Algorytmy aproksymacji całek poprzez próbkowanie. Obejmuje Hamiltonian Monte Carlo , Metropolis-Hastings o losowym przechodzeniu i możliwość budowania niestandardowych jąder przejściowych. - Wnioskowanie wariacyjne (
tfp.vi
): Algorytmy aproksymacji całek poprzez optymalizację. - Optymalizatory (
tfp.optimizer
): Metody optymalizacji stochastycznej, rozszerzające Optymalizatory TensorFlow. Obejmuje stochastyczną dynamikę gradientu Langevina . - Monte Carlo (
tfp.monte_carlo
): Narzędzia do obliczania oczekiwań Monte Carlo.
TensorFlow Prawdopodobieństwo jest w fazie aktywnego rozwoju i interfejsy mogą ulec zmianie.
Przykłady
Oprócz samouczków dotyczących notatnika Pythona wymienionych w nawigacji dostępnych jest kilka przykładowych skryptów:
- Autoenkodery wariacyjne — uczenie się reprezentacji za pomocą kodu ukrytego i wnioskowania wariacyjnego.
- Autoenkoder kwantyzowany wektorowo — nauka reprezentacji dyskretnej z kwantyzacją wektorową.
- Bayesowskie sieci neuronowe — Sieci neuronowe z niepewnością co do ich wag.
- Bayesowska regresja logistyczna — wnioskowanie bayesowskie dla klasyfikacji binarnej.
Zgłoś problemy
Zgłaszaj błędy lub prośby o funkcje, korzystając z narzędzia do śledzenia problemów TensorFlow Probability .