WEBVTT

00:00:00.000 --> 00:00:03.723
A smooth parabola has curvature one. But a tiny MLX example

00:00:03.723 --> 00:00:07.632
reports zero. The problem appears when differentiating through

00:00:07.632 --> 00:00:09.245
a zero incoming gradient.

00:00:09.767 --> 00:00:13.821
For one element, log cumulative sum exponential simply returns

00:00:13.821 --> 00:00:17.812
that element. Square it and divide by two. At zero, the first

00:00:17.812 --> 00:00:21.288
derivative is zero, but the second derivative is one.

00:00:21.800 --> 00:00:26.039
With two elements, the exact Hessian has nonzero entries. MLX

00:00:26.039 --> 00:00:30.210
returns all zeros. Finite differences of the actual gradient

00:00:30.210 --> 00:00:32.193
recover the expected matrix.

00:00:32.700 --> 00:00:35.720
A backward product must remain linear in its incoming

00:00:35.720 --> 00:00:39.131
gradient. Splitting that gradient into positive and negative

00:00:39.131 --> 00:00:41.759
branches loses the correct derivative at zero.

00:00:42.267 --> 00:00:46.046
A research C plus plus prototype supplies explicit reverse

00:00:46.046 --> 00:00:49.568
rules. All four hundred seventy seven checks pass. The

00:00:49.568 --> 00:00:52.771
original fails one hundred eighty nine. These are

00:00:52.771 --> 00:00:54.693
manifestations of one defect.

00:00:55.200 --> 00:00:59.632
This is a local CPU result, using a partial rebuild. GPU and

00:00:59.632 --> 00:01:04.136
large tensor performance remain untested. The report includes

00:01:04.136 --> 00:01:07.260
exact formulas, executable tests and logs.

