Jakub M. Tomczak


Scientist & AI Specialist

Jakub M. Tomczak is an associate professor (a PI of the Generative AI group) at the Eindhoven University of Technology. Before, he was an assistant professor of Artificial Intelligence at the Vrije Universiteit Amsterdam, a deep learning researcher (Engineer, Staff) in Qualcomm AI Research in Amsterdam, a Marie Sklodowska-Curie individual fellow in Prof. Max Welling's group at the University of Amsterdam, and an assistant professor and postdoc at the Wroclaw University of Technology. His main research interests include deep generative modeling, deep learning, and Bayesian inference, with applications to image processing, robotics, and life sciences. He is the author of the book entitled "Deep Generative Modeling". He is also the founder of Amsterdam AI Solutions.


Years of Experience

Supervised projects

Top publications

Funding gathered (EUR)

Additional Information


Collaborators, PhD students, MSc students, and former students


My presentations at conferences, workshops, for academic and industrial research groups, summer schools


Courses, teaching activities, supervision, and my teaching qualifications


My project that was carried out from 2016/10/1 to 2018/09/30 within the Marie Skłodowska-Curie Action (Individual Fellowship), financed by the European Comission.

My Book

My book on Generative Artificial Intelligence. This is the first comprehensive book on deep generative modeling explaining theory behind Diffusion-based models, Variational Auto-Encoders, GANs, autoregressive models, flow-based models, and energy-based models. Moreover, each chapter is associated with code snippets presenting how the beforementioned models could be implemented in PyTorch.



Ph.D. in Computer Science/Machine Learning (with honors)

Mar 2013

Wroclaw University of Technology, Poland

Title: Incremental Knowledge Extraction from Data for Non-Stationary Objects

Supervisor: Prof. Jerzy Swiatek

M.Sc. in Computer Science

Dec 2009

Blekinge Institute of Technology, Sweden

M.Sc. in Computer Science (the best thesis in Poland)

Jul 2009

Wroclaw University of Technology, Poland

Work Experience

Associate Professor

Feb 2023 - Present

Eindhoven University of Technology, Eindhoven, the Netherlands


Oct 2022 - Present

Amsterdam AI Solutions, Amsterdam, the Netherlands


Mar 2022 - Present

NatInLab, Amsterdam, the Netherlands

Assistant Professor of Artificial Intelligence

Nov 2019 - Feb 2023

Vrije Unviersiteit Amsterdam, the Netherlands

Deep Learning Researcher (Staff Engineer)

Oct 2018 - Dec 2019

Qualcomm AI Research, Amsterdam, the Netherlands

Postdoc/Marie Sklodowska-Curie Individual Fellow

Oct 2016 - Sept 2018

Universiteit van Amsterdam, the Netherlands

Researcher (part-time)

Feb 2016 - Jun 2016

INDATA SA, Wroclaw. Poland

Assistant Professor

Oct 2014 - Sept 2016

Wroclaw University of Technology. Poland


Oct 2012 - Sept 2014

Wroclaw University of Technology. Poland

Ph.D. student / Research assistant

Jun 2009 - Sept 2012

Wroclaw University of Technology. Poland



J.M. Tomczak, ''Deep Generative Modeling'', Springer, Cham, 2022.

Full list of papers

Please check my scholar Google Scholar


  • All
  • VAEs
  • GANs
  • Flows
  • ARMs
  • Joint
  • Theory
  • Applications


- Why do we need deep generative modeling?
- Where do we use deep generative modeling?
- How do we formulate deep generative models?

Autoregressive Models

- What is an autoregressive model.
- How we can parameterize an autoregressive model using various neural networks.
- How to implement your own autoregressive model using causal convolutions!

Flow-based Models

- What is a flow-based model.
- How we can parameterize a flow-based model using invertible neural networks.
- How to implement your own flow-based model using coupling layers!

Variational Auto-Encoders

- What is a latent variable model.
- How we can learn non-linear latent variable models with variational inference.
- How to implement your own Variational Auto-Encoder!

Integer Discrete Flows

- What is a potential problem with continous variables.
- How we can learn a distribution over integer-valued variables.
- How to implement your own Integer Discrete Flows!

Hybrid modeling

- How to train the joint distribution p(x,y).
- How we can make it work.
- How to implement your own hybrid model with IDFs!

Priors in VAEs

- How to re-write the ELBO in VAEs.
- Why priors are so important.
- How to model priors using Mixture of Gaussians, VampPriors, GTMs and flows!

Neural Compression

- What is image compression.
- What is neural compression.
- How to use deep generetive modeling for neural compression

Hierarchical VAEs

- Why we use hierarchical latent variable models.
- How to construct hierarchical VAEs.
- How to implement top-down VAEs.

Diffusion-based Models

- How to construct hierarchical VAEs with duffiusion-based encoders.
- How to implement diffusion-based DGMS.
- What are recent developments in diffusion-based DGMs.

Energy-based Models

- How to construct an energy-based model.
- How to implement the Langevin dynamics.
- What are the potential problems with these models.


- What are density networks.
- How to formulate the adversarial optimization problem.
- How to implement GANs.

Trouble in Paradise

- What is the problem with variational inference.
- Are Latent Variable Models good for representation learning?

Are we dil(ff)usional?!

- What is the ELBO for diffusion-based models.
- What are the consequences of applying diffusion to the ELBO?



MetaForum, 5612 AZ Eindhoven, the Netherlands