In the last post I have written about inverse problems. A simplified toy example was presented, which showed you how to translate this problem into an optimization problem. Optimization problems can be solved with multiple algorithms, e.g. gradient descent or evolutionary algorithms.
This article presents a more sophisticated inverse problem. We want to classify images of digits.
In general inverse problems have causal factors from which observations arise. The test images are our observations. In our classification problem there are two kinds of forward models:
- The first forward problem is the projection from the latent space (I use the words “causal factors” and “latent space” interchangeably) to the image space. This is modeled as being a linear combination of example images and the latent vector. The latent space has 10 dimensions. Each dimension is represented as an example image of each class.
- The second forward problem is to get from the latent space to the class prediction. Here it is simply the argmax operation. In other cases it could be a more complex model.
Defining the forward problems in this way, leads to a latent space, in which each dimension describes the weight of the corresponding class. It is not a probability distribution, since the values don’t sum up to one.
More complex causal factors, like translation and orientation could be modeled into the latent space as well. This isn’t done here in this article to keep everything simple.