Monte Carlo methods let us simulate the world by averaging random samples. This course is about running that simulation backward — and about the fact that differentiating a Monte Carlo estimator is not the same thing as estimating the derivative.
Monte Carlo methods let us simulate complicated physical processes — light transport through a scene, particle transport through tissue, diffusion in a geometrically intricate domain — by averaging random samples. This course is about the inverse question: given measurements of such a process, how do we recover the parameters that produced them, and how do we compute the derivatives that make gradient-based recovery possible?
That question turns out to be considerably harder than it looks. Differentiating a Monte Carlo estimator is not the same as estimating the derivative. Naively applying automatic differentiation to a sampler produces gradients that are silently, catastrophically wrong whenever the integrand is discontinuous, or whenever the domain of integration moves with the parameters — which, in the presence of visibility or of a deforming boundary, is always.
Repairing this has occupied a decade of research and has produced a body of theory (differential path integrals, Reynolds transport, warped-area reparameterization, boundary-integral shape derivatives) and a matching body of algorithms (boundary sampling, guiding, antithetic estimators, replay-based backpropagation) that now underpin inverse rendering, computational imaging, PDE-constrained optimization, and design.
The course is roughly half lecture and half research-paper discussion, culminating in a substantial project.
Simulating particle transport, governed by the rendering equation, the radiative transfer equation, and Veach’s path integral.
Solving elliptic PDEs — Laplace and screened Poisson problems — using Monte Carlo methods.
At a high level, a random walk terminating on a domain boundary and a light path terminating on an emitter are the same object; the derivative of each decomposes into an interior term and a boundary term for the same reason; and techniques cross over in both directions.
A course built around getting derivatives exactly right owes an honest account of when that is the wrong goal. Some forward models are black boxes with no adjoint; some have discrete parameters; and some have objectives so flat that the exact derivative is correctly zero and tells you nothing. A parallel literature answers with approximation — zeroth-order and evolution-strategy estimators, deliberate smoothing of the objective, relaxed forward models, and learned local surrogates that replace the simulator with a differentiable neural stand-in. We treat these as a genuine methodological alternative rather than a footnote (L15), because knowing when the exact gradient is not worth its price is part of knowing how to compute it.
A gradient serves more than one master. We compute $\partial(\text{simulation})/\partial\theta$; that object then feeds (i) optimization, descending a loss, and (ii) sampling, since Langevin and Hamiltonian Monte Carlo use gradients to propose moves, and since $\nabla \log \pi$ is what a score-based generative prior supplies.
Students are expected to come from graphics, vision, machine learning, or scientific computing. No single background is assumed, and the course is deliberately built so that each community contributes something the others lack. Graphics students already know light transport but often not adjoint methods; scientific computing students know adjoint methods and boundary value problems but not path space; ML students know autodiff and stochastic optimization but not why their gradients are biased.
Including the divergence theorem and change of variables.
The standard graduate toolkit.
Expectation, variance, change of measure, Bayes’ rule. Prior exposure to Metropolis–Hastings helps, but Unit 4 rebuilds it.
Comfortable in Python, and willing to read and write C++ or CUDA-adjacent code.
A prior rendering course, a numerical PDE course, or practical experience with PyTorch or JAX.
Try these in week 1. If two or more are unfamiliar, use the bridging readings below — I do not expect all of you to be comfortable with all of them.
wost-simple tutorial
code.
Each 75-minute session is structured as one of three kinds:
Weeks 1–3. Instructor lecture, with worked derivations.
Most of the semester. ~30 min instructor lecture establishing the framework, then student-led discussion of one or two papers.
Project proposal lightning talks (L12); final project presentations (L27–L29).
The hybrid structure is deliberate. Papers in this area are dense and assume a formalism that is not in any textbook; a discussion that starts cold usually stalls. The lecture segment installs the vocabulary, and the discussion segment stress-tests it against a real paper.
Reconstruct the paper’s core argument, via a presentation or on the board. Not a slide walkthrough of the figures — I want the derivation or the algorithm, stated in the notation we have developed in lecture.
The loyal opposition. State the assumption the method depends on; propose a scene, geometry, or parameterization where it degrades; identify what the paper does not evaluate.
The remaining ~20 minutes are open discussion, moderated by me. You will serve as Presenter once and Respondent once over the semester. Sign-ups open in week 2. You should choose papers away from your existing expertise.
Everyone else submits a reading response by 9:00 pm the night before each hybrid session. In half a page:
Open a session to see its readings; the topics are filled in as we get to them. D required discussion paper · bg optional background. Every row carries its kind — lecture only, hybrid, or studio; see Format.
Readings marked [D] are the discussion papers for that session and are required for everyone. Readings marked (bg) are background — recommended, not required. The schedule is a plan, not a contract; I will adjust as the discussions dictate.
L01–L05 · Aug 25 – Sep 8
L06–L10 · Sep 10 – Sep 24
L11, L13–L15 · Sep 29 – Oct 13
The techniques in this unit are developed in the light transport setting because that is where they were invented, but most of them are open questions in the PDE setting. Several make excellent projects when transplanted; L23 revisits the ones that have already made the trip. The unit opens the week before the lightning talks and resumes after them, so L12 falls between its first and second sessions.
L16–L18 · Oct 15 – Oct 22
L19–L20 · Oct 27 – Oct 29
Everything so far has produced a point estimate: one parameter vector that minimizes a loss. This unit asks the other question — what does the full posterior look like, and how do we sample it? The machinery turns out to be the same machinery, pointed at a different target.
L21–L25 · Nov 3 – Nov 17
L26 · Nov 19
Thanksgiving break — no class Nov 24 or Nov 26.
L27–L29 · Dec 1 – Dec 8
There is no textbook. Primary sources are listed per session in the schedule above. Three resources recur:
This is a discussion course; attendance matters. Notify me in advance if you must miss a session. If you must miss a session in which you are Presenter or Respondent, arrange a swap with a classmate and tell me.
Discussing assignment concepts with classmates is encouraged and expected. Writing must be your own, and code must be your own except where explicitly permitted (handouts will say). Name your collaborators on every submission.
You may use AI tools for coding assistance, debugging, and copy-editing, with a short disclosure note on each submission describing what you used them for. You may not use them to generate your reading responses, your paper critique, or key implementations of your course project — those are the parts of this course that constitute the learning. Note also that these models are unreliable on this material specifically: derivations in differentiable rendering and shape calculus are exactly the kind of thing they produce fluently and incorrectly. Verify everything.
Governed by Article 1, Part 4 of the UIUC Student Code. When in doubt, ask.
If you need disability-related accommodations, contact Disability Resources and Educational Services (DRES) at 217-333-4603 or disability@illinois.edu, and let me know as early as possible.
Graduate research courses are demanding, and a hard semester is not a personal failing. Counseling Center: 217-333-3704. If something is affecting your ability to participate, reach out to me — early and imperfectly is better than late.
Required university statements (mental health, religious observances, FERPA, Title IX, emergency response) will be appended per the current campus template before this document is posted.