Is the goal to tweak the rendering parameters until it matches a given input image? If yes that would be inference, not learning. What am I missing?
Is the goal to tweak the rendering parameters until it matches a given input image? If yes that would be inference, not learning. What am I missing?
Edit : nevermind, the article does state that it is similar to an autoencoder
No. The sentence of the parent post "a pixelwise error can be computed and backpropagated to the CNN" is possible only if the renderer is differentiable.
Update:
It would require more training cycles and would not be as "atomic" as iterative tweaks but seems possible.
At same time, I wonder about making loss function talk with some external renderer would make it possible to mix both approaches.
I suppose you theoretically could do it with some trial and error method or grid search or something like that, but it's going to be absolutely computationally unfeasible in the general case; the pixelwise errors only become practically useful if you have an uninterrupted differentiable/'backpropagatable' path from your parameters to the pixels.
There are other use cases, for example, rendering "what-if" scenarios for reinforcement learning - e.g. you may have a model that predicts that if an agent does action sequence ABC then it will result in a world state X, and it can render an image Y which it expects to perceive. When it actually performs these actions, it actually obtains a different image Y' ... and needs to update its prediction, so it'd need differentiation/backpropagation through that rendering (and beyond) to figure out how it could have predicted the correct world state; so this feature is needed to allow learning the predictive model.