Build the idea, one step at a time一步步建立理解
Need a math refresher?需要补一点数学基础?
Open only the tool you need; return here to use it in the next step.按需打开一个小工具,再回到本课把它用起来。
Derivatives as local rates导数:局部变化率The chain rule链式法则STEP步骤 1 / 5
Freeze the question before fitting the answer先固定题目,再拟合答案
The teacher creates 12 × 10 target pixels at each of three times: 360 RGB samples. The student starts from a different record. Only Gaussian A’s initial x, linear x-motion and opacity logit change. Gaussian B, camera, shape, other motion terms and target images remain fixed. This bounded task makes the cause of each improvement inspectable.教师在三个时间各生成 12 × 10 个目标像素,总共 360 个 RGB 样本。学生从不同记录开始。只改变 A 点初始 x、x 方向线性运动和 opacity logit;B 点、相机、形状、其他运动项和目标图保持固定。这样才能看清每次改善的原因。
STEP步骤 2 / 5
Forward, loss, backward, update前向、损失、反向、更新
Evaluate all samples using the current records. Average their MSE. Sum the analytic parameter gradients with the same averaging. Compute all new values from the same old records, then commit them together. Changing the first parameter before calculating the second gradient would be a different algorithm.用当前记录求所有样本,平均得到 MSE,用相同平均方式汇总解析梯度。所有新参数都根据同一份旧记录计算,再一起提交。如果改完第一个参数才算第二个梯度,就成了另一种算法。
STEP步骤 3 / 5
One iteration is not one explanatory click一次迭代不是一次讲解点击
The eight-stage experiment separates reading a sample, evaluating time, projection, rendering, loss, gradient, candidate update and updated render. A parameter update is committed only at the last stage. Going backward restores the exact old record. The simpler controls on this course page commit one whole iteration at a time.八阶段实验把读取样本、时间求值、投影、渲染、损失、梯度、候选更新、更新后渲染分开。只有最后一步提交参数,回退会恢复旧记录。本课程页的简化按钮每次提交一整轮迭代。
STEP步骤 4 / 5
SGD and Adam use the same gradients differentlySGD 与 Adam 怎样使用同一批梯度
The browser lab uses full-batch SGD. The Python toy trainer uses Adam, which keeps moving averages of gradients and their squares, corrects their initial bias and rescales updates. Here k is the update number, g is the gradient, b₁ and b₂ are averaging decay rates, and ε prevents division by zero. A checkpoint for resuming Adam needs those states and the step counter, not just exported Gaussian attributes. Learning rates often differ by parameter group.浏览器实验使用全批量 SGD。Python 合成训练器使用 Adam,维护梯度及梯度平方的移动平均,修正初始偏差,再对更新幅度重新缩放。这里 k 是更新步数,g 是梯度,b₁、b₂ 是平均的衰减率,ε 防止除零。恢复 Adam 训练的检查点需要这些状态和步数,而不只是导出的 Gaussian 属性。不同参数组也常使用不同学习率。
STEP步骤 5 / 5
Read loss alongside the image and the contract把损失、图像和任务边界一起看
Lower MSE should correspond to changes you can see in the error image. Real pipelines may combine L1, SSIM-based and regularization terms; that is not the same objective as this MSE lab. Our fixed two-Gaussian task has no density control, SH training or real-scene reconstruction. Convergence here demonstrates the loop, not production reconstruction quality.MSE 下降应能在误差图中找到对应变化。真实流程可能组合 L1、基于 SSIM 的损失及正则项,与本实验 MSE 不是同一个目标。双 Gaussian 固定任务不包含密度控制、SH 训练或真实重建。这里收敛证明训练闭环成立,不代表生产重建质量。
PUT NUMBERS IN代入数字
At learning rate 5, the deterministic initial MSE is about 0.004031. After 50 full-batch updates it is about 0.001795. These are recomputed from the renderer; the curve is not a prerecorded animation. Different rates can behave differently.学习率 5 时,确定性初始 MSE 约为 0.004031;50 次全批量更新后约为 0.001795。这些数值由渲染器重新计算,曲线不是预先录好的动画。其他学习率可能有不同表现。