tensorflow / tensorflow/probability

Which objective functions does TensorFlow Probability provide?

Open
#740 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Jupyter Notebook
Stars
4.4k
Forks
1.1k
PR merge metrics
No merged PRs in 30d

Description

To train a probabilistic neural network (PNN), the ELBO loss is usually used. The ELBO loss is composed of the KL loss between the prior and the variational posterior distributions, for each layer, and the likelihood loss, which currently needs to be implemented by the programmer. However, it may be handy to have some default implementations of this likelihood loss (similarly to the TF's or Keras' implementations of the cross-entropy, MSE, etc., losses).

Am I missing something? Why didn't you provide the default implementations of this loss?

However, note that I've already implemented this likelihood loss (that is part of the ELBO) as a custom loss, but I think it would be nice if TFP provided a default implementation of this loss. You can actually train a PNN with the cross-entropy loss, but the PNN does not learn.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the existing ELBO likelihood-loss discussion and comparing it with TensorFlow and Keras implementations of cross-entropy and MSE. Determine which default likelihood objectives TensorFlow Probability should provide and how they would support probabilistic neural-network training; the issue does not name files or tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
keras, tensorflow
Domain
machine-learning
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.