TensorFlow Probability é uma biblioteca para raciocínio probabilístico e análise estatística no TensorFlow. Como parte do ecossistema TensorFlow, o TensorFlow Probability fornece integração de métodos probabilísticos com redes profundas, inferência baseada em gradiente usando diferenciação automática e escalabilidade para grandes conjuntos de dados e modelos com aceleração de hardware (GPUs) e computação distribuída.
Para começar com o TensorFlow Probabilidade, consulte o guia de instalação e ver os tutoriais notebook Python .
Componentes
Nossas ferramentas de aprendizado de máquina probabilísticas são estruturadas da seguinte forma:
Camada 0: TensorFlow
Operações numéricas -em particular, o LinearOperator
classe permite-implementações livre de matriz que podem explorar uma determinada estrutura (, baixa-rank diagonal, etc) para o cálculo eficiente. Ele é construído e mantido pela equipe de Probabilidade TensorFlow e faz parte da tf.linalg
em TensorFlow núcleo.
Camada 1: Blocos de Construção Estatísticos
- Distribuições (
tfp.distributions
): Um grande colecção de distribuições de probabilidade e de estatísticas associadas com lote e transmitindo semântica. - Bijectors (
tfp.bijectors
): reversível e transformações componíveis de variáveis aleatórias. Bijectors fornecer uma rica classe de distribuições transformados, a partir de exemplos clássicos como a distribuição log-normal para modelos sofisticados de aprendizagem profundas, como fluxos de auto-regressivos mascarados .
Camada 2: construção de modelo
- Conjunto Distribuições (por exemplo,
tfp.distributions.JointDistributionSequential
): distribuições conjunto sobre uma ou mais distribuições possivelmente-interdependentes. Para uma introdução à modelagem com o TFPJointDistribution
s, veja este colab - Camadas Probabilísticos (
tfp.layers
): as camadas da rede neural com a incerteza sobre as funções que representam, estendendo-se as camadas TensorFlow.
Camada 3: Inferência Probabilística
- Cadeia de Markov de Monte Carlo (
tfp.mcmc
): algoritmos para aproximar integrais através de amostragem. Inclui Hamiltonian Monte Carlo , random-walk Metropolis-Hastings, e a capacidade de kernels de transição de compilação personalizada. - Variational Inference (
tfp.vi
): Algoritmos para aproximar integrais através da otimização. - Otimizadores (
tfp.optimizer
): métodos de optimização estocástica, que se estendem TensorFlow Otimizadores. Inclui Stochastic Gradient Langevin Dynamics . - Monte Carlo (
tfp.monte_carlo
): Ferramentas para computação expectativas de Monte Carlo.
A Probabilidade do TensorFlow está em desenvolvimento ativo e as interfaces podem mudar.
Exemplos
Além dos tutoriais notebook Python listados na navegação, existem alguns exemplos de scripts disponíveis:
- Variational Autoencoders -Representação aprendendo com um código latente e inferência variational.
- Vector-Quantized Autoencoder -Discrete aprendizagem representação com quantização vetorial.
- Bayesian Neural Networks redes -Neural com incerteza sobre seus pesos.
- Bayesian Regressão Logística inferência -Bayesian para a classificação binária.
Reportar problemas
Reportar erros ou pedidos de funcionalidades utilizando o rastreador TensorFlow questão de probabilidade .