QiuQiu

一般性的阅读解析内容

https://spaces.ac.cn/archives/11882 为例子

背景是?

概念(自适应梯度算法的) 什么信息 / 内容 (xx )

  1. θt+1=θt−ηtH−1tg(xt,θt)

看到公式

  1. 看作者下一步干了什么 (推导 / 证明 / 加限制? / 提出新内容)

∥θt+1−φ∥2==∥θt−ηtg(xt,θt)−φ∥2∥θt−φ∥2−2ηt(θt−φ)⋅g(xt,θt)+η2t∥g(xt,θt)∥2(2) 这个是新的恒等式出现, 作者写这个的动机是什么? 它说是证明的出发点, 我们不知道它指的是什么证明, 什么出发点, 但是既然是公式, 我们就套用 看到公式xxx那个

这里我们发现它是多个等式, 那就是出现了推导,

使用mathlib进行去歧义, 并且加类型以及明确中间可能的假设, 或者是中间使用的引理

  1. 再看下一步

然后我们设法将(θt−φ)⋅g(xt,θt)分离到一边,再通过凸性假设将它跟损失值联系起来: L(xt,θt)−L(xt,φ)≤(θt−φ)⋅g(xt,θt)(3)

下一个公式, 又套用那个模版, 而且这个是使用了假设, 要用lean / torhclean / mathlib写出中间过程, 以及形式化的过程

接下来让ai生成:

从公式精读到 Lean 形式化,再到理解检验

示例:苏剑林《让炼丹更科学一些(九):经典自适应梯度算法》

范围与状态:以用户提供的式 (1)—(3) 为正文依据。本次只能取得文章的部分检索信息,未能读取全文;下文的局部证明路线与延伸界是数学重建,不冒充作者后文原句。Lean 部分是尚未编译的证明草稿;已核对若干 mathlib 定义和引理文档,但没有可用的本地 Lean / Lake 编译器。全文不声称完成了机器验证。

1. 可直接交给 AI 的通用指令

请把给定数学文章按论证步骤精读。每次处理一个足够小的片段,使每条结论的来源、类型、假设和用途都能追溯。不要仅按公式编号分段:同一公式内可能有数个论证步骤。

文章入口

说明研究对象、要解决的问题、已有方法及其局限、作者拟获得的结论。结论必须具体,例如累计损失差的上界、期望风险界、最后一次迭代的损失界、参数收敛,不能统一写成“证明收敛”。尚未看到结论时,列出候选目标并标为待确认。

列出必需的先修概念。每个概念说明:是什么;输入和输出是什么类型;在本文承担什么作用;最小例子;常见混淆。只展开理解当前论证必需的内容。

每遇到一个公式或论证动作

依次回答:

  1. 说了什么? 用一句准确的话重述。分类为定义、算法规则、恒等式、假设、定理、近似或经验结论;一行可包含多类动作。
  2. 符号是什么? 给出类型、维度、作用域、量词、依赖关系;区分向量内积、标量乘法、矩阵乘法和标量作用;确认范数种类。
  3. 为什么出现? 说明本步骤想控制的量、承接的结果、后续要用的地方。区分作者明确说明的动机和根据证明结构重建的解释。
  4. 来自哪里? 区分数学依据、算法的历史来源和本文引用来源。恒等式可以来自代数性质,不必给每个公式硬找一篇“首创论文”。文献信息须核实;没查到就标为未核实。
  5. 用了哪些条件? 分别列出定义有意义所需的条件、当前推导所需的条件、后续定理才需要的条件,以及仅为实现方便选择的条件。不要把充分条件自动称为必要条件。
  6. 每一步怎样走? 对等号链和不等号链逐步给出理由,并记录新引入、继承和暂未使用的假设。发现特例化、换范数、换对象或近似,必须明确说出。
  7. 怎样形式化? 先写与原命题一致的 Lean 类型和命题,再补证明。数学条件用假设表达;不得把待证结论作为新增假设。优先使用 mathlib 现有定义;需要自定义时解释与原文概念的对应关系。
  8. 怎样检查理解? 针对这一步生成解释题、推导题、条件删除题、反例题和迁移题。每题必须绑定具体公式、假设或论证连接,附评分要点和错误诊断。

形式化交付标准

交互与出题

先给一个片段的精读结果,再给少量问题,默认先不展示答案。收集回答后区分概念、类型、假设、代数、证明策略和泛化方面的错误,并只补必要的解释与变式。

不要把“写出了 Lean 代码”“代码通过编译”“形式命题忠实于原文”“人理解了推导”当作同一件事。

2. 本例的背景与类型

研究对象是用损失梯度更新参数的优化算法。普通 SGD 使用一个标量步长;预条件更新进一步允许不同方向采用不同缩放。若预条件子由历史梯度等信息决定,才进一步体现自适应机制。一般矩阵更新框架本身尚未指定具体的自适应算法。

AdaGrad 的经典文献是 Duchi、Hazan、Singer(2011)的 Adaptive Subgradient Methods for Online Learning and Stochastic Optimization。它研究利用历史梯度调整优化几何的方法;这可以作为本例的算法背景,不等于断言一般预条件更新公式首创于该论文。

固定一次迭代,缩写为:

ft(θ):=L(xt,θ),gt:=ft(θt).f_t(\theta):=L(x_t,\theta),\qquad g_t:=\nabla f_t(\theta_t).
符号 数学类型 需明确的含义
(n) 自然数 参数维数
(t) 自然数 迭代索引
(X) 样本类型 暂不要求它有向量空间结构
(x_t) (X) 此轮样本或批次
(\theta_t,\varphi,g_t) (\mathbb R^n) 参数、比较点、梯度向量
(L) (X\to\mathbb R^n\to\mathbb R) 样本与参数映射到实数损失
(f_t) (\mathbb R^n\to\mathbb R) 固定样本后的函数
(\eta_t) (\mathbb R) 标量步长;需要时单独加入正性
(H_t) (\mathbb R^{n\times n}) 实对称正定矩阵
(\langle u,v\rangle) (\mathbb R) 欧氏内积
( u ^2)

在 mathlib 中可用 EuclideanSpace ℝ (Fin n) 表示欧氏空间。不能仅写 Fin n → ℝ 后就默认其现有范数是欧氏范数。下文证明采用抽象实内积空间,因而也适用于这个欧氏空间。

φ 在局部恒等式和凸性不等式中是任意比较点,不必预先假设它是最优解。若跨迭代求和,则需说明始终使用同一个比较点。

3. 式 (1):算法规则及正定性的作用

θt+1=θtηtHt1gt.\theta_{t+1}=\theta_t-\eta_tH_t^{-1}g_t.

意义:这是参数更新规则。 它描述如何生成下一次参数;没有单凭这一式给出 (\eta_{t+1}) 或 (H_{t+1}) 的更新方法。

当 (H_t=\operatorname{diag}(h_{t,1},\ldots,h_{t,n})) 时,第 (i) 个坐标的有效步长为 (\eta_t/h_{t,i})。取 (H_t=I) 就是普通 SGD。

一个数学动机的重建: 对 (\eta_t>0),考虑局部模型

Qt(Δ)=gt,Δ+12ηtΔHtΔ.Q_t(\Delta)=\langle g_t,\Delta\rangle+ \frac{1}{2\eta_t}\Delta^\top H_t\Delta.

第一项希望沿梯度下降;第二项惩罚移动,用 (H_t) 指定各方向移动的代价。对 (\Delta) 求导并令其为零,得到

gt+ηt1HtΔ=0Δ=ηtHt1gt.g_t+\eta_t^{-1}H_t\Delta=0 \quad\Longrightarrow\quad \Delta=-\eta_tH_t^{-1}g_t.

在有限维实空间中,对称正定让这个二次模型严格凸且具有唯一最小点,同时保证 (H_t) 可逆。这个解释是公式的推导方式,并非关于作者心理动机的断言。

条件 在这里的作用 不能混淆的地方
(H_t) 可逆 使用普通矩阵逆 仅为了求逆,不必要求正定
(H_t) 对称正定 二次型给出正的距离度量;局部二次模型有唯一最小点 半正定矩阵可能奇异
(\eta_t>0) 二次模型的惩罚系数为正;确保沿负预条件梯度方向移动 代数更新式本身也能代入其他实数
(g_t) 是当前函数的真实梯度 (g_t\ne0) 时,(-H_t^{-1}g_t) 是该函数的下降方向 随机估计不自动给出真实目标逐步下降

下降方向的检查为

gt,Ht1gt=gtHt1gt<0(gt0).\langle g_t,-H_t^{-1}g_t\rangle =-g_t^\top H_t^{-1}g_t<0\quad(g_t\ne0).

这说明充分小的正步长可以下降,不保证任意有限步长都使损失下降。例:(f(z)=z^2)、(z=1)、(H=1)、(\eta=2),下一点为 (-3),损失从 (1) 增至 (9)。

4. 式 (2):为什么引入距离平方

这里必须明确已经取普通 SGD,即 (H_t=I)

θt+1φ2=θtηtgtφ2代入 SGD 更新规则 =(θtφ)ηtgt2向量加减法重排 =θtφ22ηtθtφ,gt+ηt2gt2内积展开与双线性.\begin{aligned} |\theta_{t+1}-\varphi|^2 &=|\theta_t-\eta_tg_t-\varphi|^2 &&\text{代入 SGD 更新规则}\ &=|(\theta_t-\varphi)-\eta_tg_t|^2 &&\text{向量加减法重排}\ &=|\theta_t-\varphi|^2 -2\eta_t\langle\theta_t-\varphi,g_t\rangle +\eta_t^2|g_t|^2 &&\text{内积展开与双线性}. \end{aligned}

各等号都须单独标注。最后一个等号使用

ab2=ab,ab=a22a,b+b2.|a-b|^2=\langle a-b,a-b\rangle =|a|^2-2\langle a,b\rangle+|b|^2.

这一步需要的条件很少: 实内积空间、向量类型一致、(\eta_t) 为实数。展开不需要凸性,不要求 (g_t) 真的是梯度,也不要求 (\eta_t>0)。

为何这样展开? 它产生了 (\langle\theta_t-\varphi,g_t\rangle),而这个量恰好能通过凸性控制损失差。距离平方还会产生相邻迭代的差,方便后续求和。

因此,“证明的出发点”在这个局部结构中的具体意思是:为损失差建立一个可累计的上界。仅凭这两式,不能直接声称参数或最后一次迭代必然收敛。

5. 式 (3):凸性是在哪一步进入的

假设 (f_t=L(x_t,\cdot)) 在参数空间上凸,并在 (\theta_t) 可微,且 (g_t=\nabla f_t(\theta_t))。那么凸函数的一阶支撑不等式给出

ft(φ)ft(θt)+gt,φθt, ft(θt)ft(φ)gt,φθt实数不等式移项 =θtφ,gt实内积的线性与对称性.\begin{aligned} f_t(\varphi)&\ge f_t(\theta_t) +\langle g_t,\varphi-\theta_t\rangle,\ f_t(\theta_t)-f_t(\varphi) &\le-\langle g_t,\varphi-\theta_t\rangle &&\text{实数不等式移项}\ &=\langle\theta_t-\varphi,g_t\rangle &&\text{实内积的线性与对称性}. \end{aligned}

所以式 (3) 不是单凭式 (2) 移项产生的,它另外使用了凸函数的一阶性质。假设是关于固定 (x_t) 后的参数函数,不要求 (L) 对样本 (x) 也凸。

如果继续追问“一阶支撑不等式从哪来”,设 (d=\varphi-\theta_t)。由凸性,对 (0<s\le1),

ft(θt+sd)(1s)ft(θt)+sft(φ).f_t(\theta_t+s d) \le(1-s)f_t(\theta_t)+s f_t(\varphi).

减去 (f_t(\theta_t)),再除以正数 (s):

ft(θt+sd)ft(θt)sft(φ)ft(θt).\frac{f_t(\theta_t+s d)-f_t(\theta_t)}s \le f_t(\varphi)-f_t(\theta_t).

令 (s\downarrow0),可微性使左侧收敛到 (\langle g_t,d\rangle),得到所需不等式。这里每一步的新条件分别是:凸性、(s>0)、方向导数与梯度的关系。

可微性是这条梯度证明路线的条件;不可微凸函数也可改用满足支撑不等式的次梯度。

6. 把两步连接起来:到底在证明什么

现在才使用 (\eta_t>0),由式 (2) 移项、除以 (2\eta_t),再结合式 (3),得到

ft(θt)ft(φ)θtφ2θt+1φ22ηt+ηt2gt2.f_t(\theta_t)-f_t(\varphi) \le \frac{|\theta_t-\varphi|^2-|\theta_{t+1}-\varphi|^2}{2\eta_t} +\frac{\eta_t}{2}|g_t|^2.

这就是关键连接:损失差由距离平方的减少量与梯度平方项共同控制。

以下是为解释证明结构补出的固定步长例子,另行假设 (\eta_t=\eta>0)。对 (t=0,\ldots,T-1) 求和:

RT(φ):=t=0T1(ft(θt)ft(φ)) θ0φ2θTφ22η+η2t=0T1gt2 θ0φ22η+η2t=0T1gt2.\begin{aligned} R_T(\varphi) &:=\sum_{t=0}^{T-1}\bigl(f_t(\theta_t)-f_t(\varphi)\bigr)\ &\le\frac{|\theta_0-\varphi|^2-|\theta_T-\varphi|^2}{2\eta} +\frac\eta2\sum_{t=0}^{T-1}|g_t|^2\ &\le\frac{|\theta_0-\varphi|^2}{2\eta} +\frac\eta2\sum_{t=0}^{T-1}|g_t|^2. \end{aligned}

第二行来自望远镜求和;第三行来自范数平方非负与 (\eta>0)。若再加入 (|\theta_0-\varphi|\le D)、(|g_t|\le G),就得到 (R_T(\varphi)\le D^2/(2\eta)+\eta TG^2/2)。

若 (D,G>0)、(T\ge1),取 (\eta=D/(G\sqrt T)),可得 (R_T(\varphi)\le DG\sqrt T)。平均累计差因此有趋于零的上界;若要进一步得到期望风险界,还须交代采样与取期望的条件。

如果 (\eta_t) 随时间变化,带权距离差不能直接按固定步长的方式消掉全部中间项。如果 (H_t\ne I),每步可考虑 (|v|_{H_t}^2=v^\top H_tv);若矩阵还随时间变,跨步比较度量也需额外处理。这些都是应由精读流程主动识别的变化。

7. Lean / mathlib 证明草稿

状态:未编译;尚未锁定 Lean 与 mathlib 版本。 以下是拟运行的完整局部证明草稿,不是编译通过记录。它覆盖 SGD 距离恒等式、凸性损失差不等式以及二者的单步组合;不声称完成一般预条件算法的收敛证明。

为显式区分导数与梯度,代码使用 D : E →L[ℝ] ℝ 表示连续线性导数,并用 hgrad 声明 D v = ⟪g, v⟫_ℝ。在欧氏空间中,这正是梯度向量表示导数的关系。也可在适当的空间类型下改用 mathlib 的 HasGradientAt f g θ

import Mathlib

open scoped InnerProductSpace

namespace FormulaReading

variable {E : Type*}
variable [NormedAddCommGroup E] [InnerProductSpace ℝ E]

-- 这里只编码可逆性。正定性是另一个需显式加入的数学条件。
noncomputable def preconditionedStep
    (H : E ≃L[ℝ] E) (η : ℝ) (θ g : E) : E :=
  θ - η • H.symm g

def symmetricPositive (H : E →L[ℝ] E) : Prop :=
  (∀ u v : E, ⟪H u, v⟫_ℝ = ⟪u, H v⟫_ℝ) ∧
  (∀ v : E, v ≠ 0 → 0 < ⟪v, H v⟫_ℝ)

-- E 可以取 EuclideanSpace ℝ (Fin n)。
-- 注意:下式不假设 η > 0,也不假设 g 是梯度。
theorem sgd_distance_identity (θ φ g : E) (η : ℝ) :
    ‖θ - η • g - φ‖ ^ 2 =
      ‖θ - φ‖ ^ 2 - 2 * η * ⟪θ - φ, g⟫_ℝ
        + η ^ 2 * ‖g‖ ^ 2 := by
  have hrewrite : θ - η • g - φ = (θ - φ) - η • g := by
    abel
  rw [hrewrite, norm_sub_sq_real]
  simp only [real_inner_smul_right, norm_smul, Real.norm_eq_abs,
    mul_pow, sq_abs]
  ring

-- 凸函数沿任意仿射直线的限制仍然凸。
theorem convex_along_line
    (f : E → ℝ) (θ d : E)
    (hc : ConvexOn ℝ Set.univ f) :
    ConvexOn ℝ Set.univ (fun s : ℝ => f (θ + s • d)) := by
  refine ⟨convex_univ, ?_⟩
  intro a ha b hb u v hu hv huv
  have h := hc.2
    (show θ + a • d ∈ (Set.univ : Set E) from Set.mem_univ _)
    (show θ + b • d ∈ (Set.univ : Set E) from Set.mem_univ _)
    hu hv huv
  have hline :
      u • (θ + a • d) + v • (θ + b • d) =
        θ + (u * a + v * b) • d := by
    calc
      u • (θ + a • d) + v • (θ + b • d) =
          (u • θ + v • θ) +
            ((u * a) • d + (v * b) • d) := by
        simp only [smul_add, smul_smul]
        abel
      _ = (u + v) • θ + (u * a + v * b) • d := by
        rw [← add_smul, ← add_smul]
      _ = θ + (u * a + v * b) • d := by
        rw [huv, one_smul]
  change f (θ + (u * a + v * b) • d) ≤
    u * f (θ + a • d) + v * f (θ + b • d)
  simpa only [hline, smul_eq_mul] using h

-- 不把一阶支撑不等式当作假设:从凸性和导数出发。
theorem convex_loss_gap
    (f : E → ℝ) (θ φ g : E) (D : E →L[ℝ] ℝ)
    (hc : ConvexOn ℝ Set.univ f)
    (hD : HasFDerivAt f D θ)
    (hgrad : ∀ v : E, D v = ⟪g, v⟫_ℝ) :
    f θ - f φ ≤ ⟪θ - φ, g⟫_ℝ := by
  let ψ : ℝ → ℝ := fun s => f (θ + s • (φ - θ))
  have hcψ : ConvexOn ℝ Set.univ ψ :=
    convex_along_line f θ (φ - θ) hc

  -- 链式法则:沿 φ - θ 的方向导数是 D (φ - θ)。
  have hpath :
      HasDerivAt (fun s : ℝ => θ + s • (φ - θ)) (φ - θ) 0 := by
    simpa using
      (((hasDerivAt_id (0 : ℝ)).smul_const (φ - θ)).const_add θ)
  have hD0 : HasFDerivAt f D (θ + (0 : ℝ) • (φ - θ)) := by
    simpa using hD
  have hψD : HasDerivAt ψ (D (φ - θ)) 0 := by
    simpa only [ψ, Function.comp_def] using
      (hD0.comp_hasDerivAt (0 : ℝ) hpath)
  have hψg : HasDerivAt ψ ⟪g, φ - θ⟫_ℝ 0 := by
    simpa only [hgrad] using hψD

  -- mathlib 的凸函数割线斜率引理:ψ'(0) ≤ slope ψ 0 1。
  have hs := hcψ.le_slope_of_hasDerivAt
    (show (0 : ℝ) ∈ Set.univ from Set.mem_univ _)
    (show (1 : ℝ) ∈ Set.univ from Set.mem_univ _)
    (show (0 : ℝ) < 1 by norm_num) hψg
  have hψ0 : ψ 0 = f θ := by
    simp [ψ]
  have hψ1 : ψ 1 = f φ := by
    dsimp [ψ]
    congr 1
    simp only [one_smul]
    abel
  have hsupport : ⟪g, φ - θ⟫_ℝ ≤ f φ - f θ := by
    simpa [slope, hψ0, hψ1] using hs

  have hinner : ⟪g, φ - θ⟫_ℝ = -⟪θ - φ, g⟫_ℝ := by
    rw [inner_sub_right, inner_sub_left,
      real_inner_comm g φ, real_inner_comm g θ]
    ring
  rw [hinner] at hsupport
  linarith

-- η > 0 在除以 2η 并保持不等号方向时进入。
theorem one_step_loss_bound
    (f : E → ℝ) (θ φ g : E) (D : E →L[ℝ] ℝ) (η : ℝ)
    (hc : ConvexOn ℝ Set.univ f)
    (hD : HasFDerivAt f D θ)
    (hgrad : ∀ v : E, D v = ⟪g, v⟫_ℝ)
    (hη : 0 < η) :
    f θ - f φ ≤
      (‖θ - φ‖ ^ 2 - ‖θ - η • g - φ‖ ^ 2
        + η ^ 2 * ‖g‖ ^ 2) / (2 * η) := by
  have hgap := convex_loss_gap f θ φ g D hc hD hgrad
  have hdist := sgd_distance_identity θ φ g η
  have hpos : 0 < 2 * η := by positivity
  have hscaled := mul_le_mul_of_nonneg_left hgap (le_of_lt hpos)
  apply (le_div_iff₀ hpos).2
  nlinarith [hscaled, hdist]

end FormulaReading

未来实际验收:把上方代码保存为 FormulaReading.lean,在已配置并锁定 mathlib 的项目内执行 lake env lean FormulaReading.lean,修复全部编译错误,记录真实版本与输出,并检查最终定理的假设。这里没有执行该命令,也没有声称已完成这一验收。

本例实际核对的库入口包括 内积与范数恒等式凸性定义凸函数的割线斜率引理梯度的形式定义链式法则

8. 从本例生成的开放式习题

这里采用解释题和推导题;正式交互时先只展示题目,答案与评分标准在用户作答后展开。

题号 题目 检验的连接
Q1 式 (1) 更新的对象是什么?仅凭这一式能否知道 (\eta_{t+1}) 和 (H_{t+1})? 参数规则与自适应机制
Q2 从式 (1) 转到式 (2),哪项设定发生了变化? 一般情况与特例
Q3 不引用最终展开式,从内积定义推导式 (2),并为每个等号写依据。 代数与内积结构
Q4 取 (\eta=-1),式 (2) 是否成立?哪些后续步骤会受影响? 假设的局部作用
Q5 凸性在式 (2) 中使用了吗?具体在哪一步首次需要? 代数与分析的边界
Q6 用凸性的定义和方向导数推导式 (3),指出除法为何不改变不等号。 支撑不等式的来源
Q7 删除凸性,给出一个光滑函数和两点,使式 (3) 失败。 反例与适用范围
Q8 若已知 (\varphi) 是全局最优点,式 (2) 才能成立吗?求和时比较点可否每步任意更换? 比较点的角色
Q9 (H) 正定能否保证任意正步长使损失下降?给出数值例子。 下降方向与有限步长
Q10 不看下一段,解释作者为何选择距离平方,以及怎样接到累计损失差。 证明策略
Q11 学习率变化时,(\sum_t(A_t-A_{t+1})/(2\eta_t)) 能否只剩首尾?写出中间项。 望远镜求和的条件
Q12 一般 (H\ne I) 时写出欧氏距离展开式,并解释为什么可能改用 (H)-加权范数。 方法迁移

答案与评分要点

每题按 0—2 分判断:0 分为结论错误或无有效依据;1 分为结论基本正确但关键条件或理由缺失;2 分为结论正确且准确说明关键连接。分数用于定位薄弱点,不当作完整理解的认证。

  1. 更新 (\theta);没有给出下一步标量步长或矩阵的生成机制。
  2. 取 (H_t=I),转为 SGD。
  3. 代入更新、重排向量、范数平方改写为自身内积、双线性展开、内积对称、标量提出。
  4. 恒等式仍成立。除以 (2\eta) 时若 (\eta<0) 不等号须反向;优化方向也改变。
  5. 式 (2) 不使用凸性;式 (3) 的一阶支撑性质使用凸性与梯度关系。
  6. 使用 (f((1-s)\theta+s\varphi)\le(1-s)f(\theta)+sf(\varphi)),对 (s>0) 移项除法,再令 (s\downarrow0)。
  7. 例 (f(z)=-z^2)、(\theta=0)、(\varphi=1),梯度 (g=0),式 (3) 会要求 (1\le0)。
  8. 局部恒等式对任意比较点成立。比较点变化时不能沿用固定比较点的望远镜求和;需计入变化。
  9. 不能。例 (f(z)=z^2)、(\theta=1)、(H=1)、(\eta=2) 得到 (\theta_+=-3),损失 (9>1)。
  10. 距离平方展开产生梯度内积;凸性将损失差界于该内积;移项求和时相邻距离差抵消。
  11. 对 (t=0,\ldots,T-1),中间项为 (\sum_{t=1}^{T-1}A_t(1/(2\eta_t)-1/(2\eta_{t-1}))),另有首项 (A_0/(2\eta_0)) 与末项 (-A_T/(2\eta_{T-1}))。
  12. 欧氏展开含 (-2\eta\langle\theta-\varphi,H^{-1}g\rangle+\eta^2|H^{-1}g|^2)。用同一步的对称正定 (H) 加权后,可得交叉项 (-2\eta\langle\theta-\varphi,g\rangle) 与末项 (\eta^2g^\top H^{-1}g),便于接上凸性不等式。

错误如何反馈到下一轮

表现 诊断 下一道最小补救题
把式 (1) 称为 (\eta) 的更新 更新对象混淆 逐个圈出等号左边及右边已有量
认为展开式需要凸性 把全局背景条件带入所有局部步骤 将 (g) 换成任意向量重新展开
写出式 (3) 却没声明梯度关系 符号含义未落实为条件 令 (f(z)=z^2)、(\theta=1)、(\varphi=0),任取错误的 (g=0) 检查
只会说“这是证明起点” 不清楚证明目标与中间量 用一句话说明每个内积和距离差分别服务哪个后续步骤
认为 Lean 编译通过即可证明原文无误 形式命题与原文对应未审查 把新增假设与原文逐项匹配,检查是否把待证结论搬进了前提