Path: blob/master/site/pt-br/probability/overview.md
25115 views
TensorFlow Probability
O TensorFlow Probability é uma biblioteca para raciocínio probabilístico e análise estatística no TensorFlow. O TensorFlow Probability faz parte do ecossistema do TensorFlow e conta com integração de métodos probabilísticos com redes profundas, inferência baseada em gradientes usando diferenciação automática e escalabilidade para datasets e modelos grandes com aceleração de hardware (GPUs) e computação distribuída.
Para começar a usar o TensorFlow Probability, confira o guia de instalação e veja os tutoriais em notebook do Python{:.external}.
Componentes
As ferramentas de aprendizado de máquina probabilístico são estruturadas da seguinte forma:
Camada 0: TensorFlow
As operações numéricas — especificamente, a classe LinearOperator
— permitem implementações sem matrizes que podem aproveitar uma estrutura específica (diagonal, posto baixo, etc.) para deixar a computação eficiente. A classe é construída e mantida pela equipe do TensorFlow Probability e faz parte do tf.linalg
no TensorFlow core.
Camada 1: blocos de construção estatística
Distribuições (
tfp.distributions
): coleção grande de distribuições de probabilidade e estatísticas relacionadas com lote e semântica de broadcasting{:.external}.Bijetores (
tfp.bijectors
): transformações de variáveis aleatórias que são reversíveis e podem ser compostas. Os bijetores oferecem uma classe rica de distribuições transformadas, desde exemplos clássicos, como a distribuição log-normal{:.external} até modelos de aprendizado profundo sofisticados, como fluxos autorregressivos com máscara{:.external}.
Camada 2: criação do modelo
Distribuições conjuntas (por exemplo:
tfp.distributions.JointDistributionSequential
): distribuições conjuntas de uma ou mais distribuições possivelmente interdependentes. Confira uma introdução da modelagem comJointDistribution
s do TFP neste colab.Camadas probabilísticas (
tfp.layers
): camadas de redes neurais com incerteza sobre as funções representadas, que estendem as camadas do TensorFlow.
Camada 3: inferência probabilística
Monte Carlo via cadeias de Markov (
tfp.mcmc
): algoritmos para aproximação de integrais via amostragem. Inclui Monte Carlo Hamiltoniano{:.external}, algoritmo de Metropolis-Hastings random-walk e a capacidade de compilar kernels de transição personalizados.Inferência variacional (
tfp.vi
): algoritmos para aproximação de integrais por meio de otimização.Otimizadores (
tfp.optimizer
): métodos de otimização estocástica que estendem os TensorFlow Optimizers. Inclui o Método do gradiente estocástico de Langevin{:.external}.Monte Carlo (
tfp.monte_carlo
): ferramentas para computar as expectativas de Monte Carlo.
O TensorFlow Probability está em constante desenvolvimento, e as interfaces podem ser alteradas.
Exemplos
Além dos tutoriais em notebook do Python{:.external} indicados na navegação, confira alguns scripts de exemplo disponíveis:
Autoencoders variacionais — representam o aprendizado com um código latente e inferência variacional.
Autoencoder quantizado em vetores — aprendizado com representação discreta e quantização em vetores.
Redes neurais bayesianas — redes neurais com incerteza sobre os pesos.
Regressão logística bayesiana — inferência bayesiana para classificação binária.
Comunique problemas
Comunique bugs ou solicite recursos usando o issue tracker do TensorFlow Probability.