How can one intuitively understand generative v/s discriminative models, specifically with respect to when each is useful?
The intution that I have about these is that generative are "from abstract to concrete" whereas discriminative models are "from concrete to abstract".

For example: Detecting if a photo has a cat or not is about going from the photo i.e concrete to the abstract concept of a cat. Whereas generating a photo of a cat given some abstract properties about the cat is going from abstract to concrete.