Probabilidade do TensorFlow

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 a usar o TensorFlow Probability, consulte o guia de instalação e veja os tutoriais do notebook Python .

Componentes

Nossas ferramentas probabilísticas de aprendizado de máquina são estruturadas da seguinte forma:

Camada 0: TensorFlow

As operações numéricas — em particular, a classe LinearOperator — permitem implementações sem matriz que podem explorar uma estrutura específica (diagonal, classificação baixa, etc.) para computação eficiente. Ele é criado e mantido pela equipe de Probabilidade do TensorFlow e faz parte do tf.linalg no núcleo do TensorFlow.

Camada 1: blocos de construção estatísticos

Camada 2: Construção de modelo

  • Distribuições conjuntas (por exemplo, tfp.distributions.JointDistributionSequential ): distribuições conjuntas sobre uma ou mais distribuições possivelmente interdependentes. Para uma introdução à modelagem com JointDistribution s do TFP, confira este colab
  • Camadas probabilísticas ( tfp.layers ): Camadas de rede neural com incerteza sobre as funções que representam, estendendo as camadas do TensorFlow.

Camada 3: Inferência Probabilística

  • Cadeia de Markov Monte Carlo ( tfp.mcmc ): Algoritmos para aproximação de integrais via amostragem. Inclui o Monte Carlo hamiltoniano , Metropolis-Hastings aleatório e a capacidade de criar kernels de transição personalizados.
  • Inferência Variacional ( tfp.vi ): Algoritmos para aproximação de integrais por otimização.
  • Otimizadores ( tfp.optimizer ): métodos de otimização estocástica, estendendo os otimizadores do TensorFlow. Inclui Stochastic Gradient Langevin Dynamics .
  • Monte Carlo ( tfp.monte_carlo ): Ferramentas para calcular as expectativas de Monte Carlo.

TensorFlow Probability está em desenvolvimento ativo e as interfaces podem mudar.

Exemplos

Além dos tutoriais do notebook Python listados na navegação, há alguns scripts de exemplo disponíveis:

Relatar problemas

Relate bugs ou solicitações de recursos usando o rastreador de problemas de probabilidade do TensorFlow .