Two main classes of models in data analysis and machine learning, namely generative and discriminative models, will be discussed, and the connection between them will be given. The role of these models will be described within the framework of two most prospective approaches to machine learning — deep learning and probabilistic programming. In particular, the talk will address the neural Bayesian approach, in which deep learning models are explicitly described as generative and discriminative, and will address also neural probabilistic programming as an integration of two paradigms on an example of Edward library.
Then, the connection between generative and discriminative models will be explained in terms of program specialization. Such deep learning models as autoencoders and generative adversarial networks will be used as examples to describe how variational Bayesian inference can be treated as a form of specialization, and how probabilistic programs can be compiled into deep neural networks. A new conception of partial specialization and its relation to meta learning will then be presented.