Jakub M. Tomczak


Jakub M. Tomczak

A Group Leader & Principal Scientist/Research Manager with 15+ years of experience in machine learning, deep learning, and Generative AI. Proven track of leading research projects (academic: 49 AI MSc&PhD, industrial: 7 Computer Vision, 5 LLMs, 2 Foundation Models), carrying out cutting-edge research (2 patents & 1 application, 20+ conference papers: NeurIPS, ICML, ICLR, AISTATS, UAI, CVPR, ICCV, 25+ journal papers), and securing funds (2,150,000 EUR). Experienced in and enjoying managing people (3y in the industry, 8y in academia). Effective team leader encouraging initiative & independence, and facilitating cross-functional collaboration. Well-recognized in the AI community (a PC of NeurIPS 2024, the author of a book on GenAI). The Founder and Director 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

Group Leader & Associate Professor, Generative AI

Feb 2023 - Present

Eindhoven University of Technology, Eindhoven, the Netherlands

Founder & Director, Generative AI

Oct 2022 - Present

Amsterdam AI Solutions, Amsterdam, the Netherlands

Principal Scientist, Generative AI for Drug Discovery

Mar 2022 - Present

NatInLab, Amsterdam, the Netherlands

Assistant Professor, Generative AI

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), Generative AI

Oct 2016 - Sept 2018

Universiteit van Amsterdam, the Netherlands

Senior Scientist, AI for Drug Discovery

Feb 2016 - Jun 2016

INDATA SA, Wroclaw. Poland

Assistant Professor, Machine Learning

Oct 2014 - Sept 2016

Wroclaw University of Technology. Poland

Postdoc, Machine Learning

Oct 2012 - Sept 2014

Wroclaw University of Technology. Poland

Ph.D. student / Research assistant, Machine Learning

Jun 2009 - Sept 2012

Wroclaw University of Technology. Poland



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

Full list of papers

Please check my scholar Google Scholar


  • All
  • Intro
  • ARMs
  • Flows
  • VAEs
  • DBGMs
  • SBGMs
  • GANs
  • Joint
  • Applications


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

Probabilistic modeling: MoGs & PCs

- What is probabilistic modeling?
- What are mixture models?
- What are Probabilistic Circuits?

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!

ARMs parameterized by Transformers

- What is self-attention?
- What is a transformer-based architecture?

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!

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!

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!

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!

Hierarchical VAEs

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

Trouble in Paradise

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

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.

Are we dil(ff)usional?!

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

Score Matching

- What is score function?
- What is score matching?
- How to use a score model for data generation?

Score-based Generative Models

- How to formulate generative models with Stochastic/Ordinary Differential Equations?
- How to learn this kind of models using score matching?
- What is the connection between Score-based generative models and diffusion-based models?

Flow Matching

- What are continuous normalizing flows?
- What is flow matching?
- How to use a vector field model for data generation?


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

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!

Energy-based Models

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

Neural Compression

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

Large Language Models

- What are LLMs?
- How to parameterize LLMs?
- How to train LLMs?

Generative AI Systems (GenAISys)

- What are GenAISys?
- What role do LLMs play in GenAISys?
- What are examples of GenAISys?



Amsterdam, the Netherlands