Skip to content

机器学习核心基石深度教程

从统计推断、优化器动力学到化学空间的泛化防线与连续表征

面向对象:刚入学、方向是「人工智能 × 化学/材料」交叉学科的研究生与科研人员
需要的预备知识:一元与多元微积分(偏导数、链式法则)、向量点积与矩阵乘法、一点点基础概率(期望、方差)、一点点 Python 阅读经验
不需要:任何机器学习理论基础、任何深度学习黑盒库的使用经验
配套代码code/ 目录(纯 Python / 零黑盒依赖,显式循环展开,所有公式直接映射,可直接在本地终端运行验证)
配套插图figures/ 目录(全部由 code/ 中的真实数值模拟代码计算生成)
手绘概念图images/ 目录(全套 20 幅 handraw-style #097 风格深度概念蓝图,提示词见 images/prompts/
交互拓扑图:正文穿插 10 个标准 Mermaid 架构与决策流程图


封面:在深蓝图纸上推演机器学习大厦的微观研究者

0. 写在前面

漫步于当下的计算化学与智能材料前沿,充斥在顶刊文献中的技术词汇往往令人眼花缭乱:参数量过亿的三维等变神经网络(Equivariant NN)、能够从头预测蛋白质与晶格三维折叠的生成扩散模型(Diffusion Models)、以及动辄横扫数十个微观性质的多模态大模型。初入这一领域的化学、化工或材料背景研究生,常常会产生一种强烈的紧迫感,急切地想要直接调用最先进的预训练模型库,把自己的实验数据直接“喂”进去。

然而,在真实课题的攻关中,几乎所有新手都会迅速撞上几堵极其相似、令人沮丧的“高墙”:

  • 你在超算集群上连续跑了两个月 DFT,辛辛苦苦攒出了 150 个分子的结合能数据。送进最先进的图神经网络后,训练损失刷出了惊人的 R2=0.99R^2 = 0.99;但当你把课题组手套箱里刚合成出的 5 个新化合物送去预测时,模型给出的数据却荒谬绝伦,甚至连化学键的基本稳定性都判断错误;
  • 别人论文里宣称只需迭代 50 轮即可平滑收敛的网络,移植到你自己的催化剂配位数据集上后,训练损失要么如脱缰野马般剧烈震荡发散,要么所有参数的梯度在第一轮迭代后瞬间下溢归零,整夜计算只得到一串冰冷的 NaN
  • 你发现文献中有些模型用随机混洗(Random Split)测出的准确率高居 95% 以上,但只要换用化学上更合理的骨架划分(Scaffold Split),性能立即遭遇毁灭性的断崖跌落。

这些困惑的根源不在于你掌握的高级架构不够多,而在于一个常常被算法工程师忽略、却对实验科研具有生死攸关意义的事实:脱离了数理统计与物理化学共振的深度模型,本质上只是一台没有物理灵魂的“高维数据记忆机”。

作为微观物质世界的探索者,我们在深入本书后续层叠繁复的神经网络大厦之前,必须停下脚步,系统性地把机器学习的底层基石彻底看透。花时间学透这些基础,对化学与材料方向的研究生而言有四个极其切实的理由:

第一,它是你每天都在用的物理化学直觉,只是在计算机里换了一套符号。
物理有机化学中的 Hammett 方程、反应动力学中的 Arrhenius 方程、热力学中的 Clausius-Clapeyron 关系、吸附化学中的 Langmuir 等温线——这些你在物化课本上早已烂熟于心的规律,其本质无非是用一组具备清晰物理意义的系数去建立自变量与目标因变量的映射。统计学习中的经验风险最小化(ERM)与极大似然估计(MLE),所做的正是把化学家“在坐标纸上手工拉一条拟合线”的古老智慧,拓展为在高维连续参数空间中由算法自主寻找最平滑能量面的自动化科学。

第二,它是你科研起步时最可靠、成本最低的基准线(Baseline)。
无论未来的文献涌现出多么复杂的 Transformer 或多体势函数架构,面对一份刚测定的材料数据集,第一步永远不应当是盲目上马超深层网络,而是先跑一个严格正规化的基线模型。若一个经典的正则化线性单元就已经能解释体系 85% 的数据方差,便有力证明了该性质主要由某种支配性的本征物理量所驱动,强行堆砌深度网络的边际效益极低;反之,若基线在此折戟沉沙、准确率低迷,你手上反而握住了一个极其硬核的实证论据:该化学体系中确实存在强烈的非局部电子关联、配位位阻突变或复杂的溶剂化构象重组。

第三,它是理解数十亿参数模型为何能收敛的唯一起点。
现代大模型动辄拥有上百层深度与数百亿参数,但底层反向传播的数学内核数十年来从未改变。在几十亿参数的复杂黑箱中猜测它为什么发散,远不如在一个只有几行代码的经典模型上亲眼观察一次病态曲面各向异性条件数对梯度下降的折磨、亲手推导一遍动量法如何像阻尼重球一样抹平振荡。把这一套微积分脉动看透了,整个深度学习世界的动力学全景对你而言便再无玄学可言。

第四,它是你在文献审稿与开题调研中识别“假大空结论”的最强火眼金睛。
化学分子具有高维离散的拓扑特征。若采用计算机视觉中传统的随机混洗切分数据集,大量母核相同、仅有细微侧链修饰的同系物会同时混杂在训练集和测试集中,导致模型靠“开卷抄答案”刷出 R2=0.95R^2 = 0.95 的虚假繁荣。一旦切换为严谨的分子骨架外推划分(Scaffold Split),模型准确率可能立即暴跌为负数。深刻理解偏差-方差分解、数据分布失配(Data Mismatch)与严苛度量指标,能让你在阅读任何顶刊时一眼看穿其泛化成色,防范学术幻象。

为了让这套理论在材料化学同行的电脑上真正生动透彻地跑起来,本教程坚守着五条严谨的写作纪律

  1. 每一个数学公式,紧接着必配一幅直观的几何概念图、一段物理化学直觉对照、以及一段纯原生的代码映射。 数学符号绝不是用来唬人的装饰品,我们要让你确切看清代码里每一次参数减法究竟对应着相空间中的哪一步位移。
  2. 底层算法实现彻底拒绝 NumPy 等高层黑盒库的封装。 我们使用原生 Python 的显式双重循环去展开向量内积与矩阵乘法。尽管这种写法在工业级运算中没有底层 C 语言的并行优化,但它能让你在代码中亲眼见证每一个浮点数相乘累加的微观过程。只要你彻底搞懂了底层的演算逻辑,日后切换到现代化张量库不过是举手之劳。
  3. 文中所呈现的所有化学案例数据、收敛轨迹与误差数值,全部来自 code/ 中的可运行脚本。 你在自己的电脑上运行这些配套程序,得到的每一个有效数字与曲线拐点都将与正文完全吻合。
  4. 配备严格的单元测试与数值梯度校验。 我们编写了基于中心有限差分法的导数测试,将解析推导与数值极限在 10910^{-9} 的浮点精度下相互印证,构筑最稳固的数理自检防线。
  5. 毫不掩饰地直面负面结论与失效边界。 我们会留出相当充分的篇幅,深入剖析线性模型的局限性、过拟合在化学空间中的真实灾难、以及模型在什么时候会给出荒谬的预测,因为在实验科学中,认清模型的失效边界,远比吹嘘它的成功重要得多

1. 机器学习的问题本质与化学建模哲学

1.1 从物理定律到经验风险最小化(ERM)

让我们从物理化学中最亲切的一条经典公式开始:描述化学反应速率常数 kk 随热力学温度 TT 变化的 Arrhenius 方程

k=Aexp(EaRT)k = A \exp\left(-\frac{E_a}{R T}\right)

在物化实验课上,我们两边取自然对数:

lnk=lnAEaR1T\ln k = \ln A - \frac{E_a}{R} \cdot \frac{1}{T}

令因变量 y=lnky = \ln k,自变量 x=1/Tx = 1/T,截距 b=lnAb = \ln A,斜率 w=Ea/Rw = -E_a/R。你在毫米坐标纸上点出几个温度点,拿一把透明直尺比划出一条穿过这些点的直线。直线的截距告诉你指前因子 AA(分子碰撞频率与取向因子的宏观体现),斜率告诉你活化能垒 EaE_a

机器学习全景蓝图:从微观物理唯象到统计学习的大厦

看清楚这个动作:你其实在不知不觉中完成了一次最原始的机器学习建模!

  • 你预先选定了一个假设函数族:H={f(x)=wx+b}\mathcal{H} = \{f(x) = w x + b\}
  • 你手工挑选了一个特征表达:将原始物理量 TT 转化为具有倒数关系的 x=1/Tx = 1/T
  • 你根据直尺在散点间的视觉居中程度,在脑海里最小化了散点到直线的垂向距离平方和;
  • 最重要的是,你从拟合出来的参数中读出了深刻的物理内涵(活化能)。

然而,当物质科学的探索前沿从简单的双原子基元反应迈向包含 300 个原子的手性不对称催化体系、或者包含 5 种金属元素的复杂固溶体高熵合金电池电极时,真实的物理机制不再由单个标量势垒所主宰。庞大的空间立体位阻、微观瞬态溶剂化壳层重组、以及强关联 dd 轨道电子态密度交织在一起,没有任何一位天才化学家能够在黑板上预先写出一个精准的闭合解析方程式。

面对这种“机理过于宏大、解析形式未知”的高维复杂体系,机器学习提出了第二种认知范式:

既然客观物理规律的解析形式无法人工猜透,我们不妨构建一个具有超大参数容量的高维函数族 H={fθθΘ}\mathcal{H} = \{f_\theta \mid \theta \in \Theta\},由算法根据真实观测数据自动寻找拟合误差最低的最优参数 θ\theta^*

形式化地,设自然界中所有合法的分子或晶格输入构成输入空间 X\mathcal{X}(如分子的拓扑特征、原子的空间坐标、配位数),目标物理性质构成输出空间 Y\mathcal{Y}(如带隙数值、生成自由能、是否有毒)。输入与输出之间受自然界客观存在但人类未知的联合概率分布 D(x,y)\mathcal{D}(x, y) 所支配。

若定义一个度量预测值 y^=fθ(x)\hat{y} = f_\theta(x) 与基准真值 yy 之间差异的标量损失函数(Loss Function) L(y^,y)\mathcal{L}(\hat{y}, y),自然界客观规律在整个分布上的终极评判标准被称为期望风险(Expected Risk)

Rtrue(θ)=E(x,y)D[L(fθ(x),y)]=X×YL(fθ(x),y)p(x,y)dxdyR_{\text{true}}(\theta) = \mathbb{E}_{(x, y) \sim \mathcal{D}}\big[\mathcal{L}(f_\theta(x), y)\big] = \int_{\mathcal{X} \times \mathcal{Y}} \mathcal{L}(f_\theta(x), y) \, p(x, y) \, \mathrm{d}x\mathrm{d}y

但这个积分是无法直接计算的,因为我们无法在无限的宇宙空间中穷尽所有的分子。我们手头所拥有的,仅仅是科研团队耗时数年合成出的 NN 个真实样本组成的离散集合 S={(x1,y1),(x2,y2),,(xN,yN)}\mathcal{S} = \{(x_1, y_1), (x_2, y_2), \dots, (x_N, y_N)\}

因此,现代统计学习理论用**经验风险(Empirical Risk)**来作为真实期望风险的蒙特卡洛近似采样:

Remp(θ)=1Ni=1NL(fθ(xi),yi)R_{\text{emp}}(\theta) = \frac{1}{N} \sum_{i=1}^N \mathcal{L}(f_\theta(x_i), y_i)

通过迭代算法寻找在现有数据集上平均误差最小的参数组合,这就是统领全书一切算法的总纲——经验风险最小化(Empirical Risk Minimization, ERM)

θERM=argminθΘRemp(θ)\theta^*_{\text{ERM}} = \arg\min_{\theta \in \Theta} R_{\text{emp}}(\theta)

**化学研究中的经验风险陷阱**

必须时刻警惕:经验风险极小化并不自动保证泛化能力! 如果你的神经网络有 1000 万个参数,而手上只有超算跑出来的 200 个分子,模型完全可以在每一个数据点处生硬地“弯曲”自己的函数曲面,强行将这 200 个点的误差压制为绝对的 0。此时经验风险 Remp=0R_{\text{emp}} = 0,但一旦让它预测第 201 个分子,预测值可能直接漂移到物理上不可思议的负数。认清这一物理间隙,正是后文所有正则化与数据集划分防线的出发点。


1.2 机器学习任务的四大化学范式

进入微观世界的机器学习,并不是千篇一律地去“预测属性”,而是根据研究目的与数据形式分化为四种层次分明的范式:

  1. 监督学习(Supervised Learning):每个分子 xx 都有经过严谨实验测定或高精度 DFT 计算对齐的物理标签 yy。这是计算材料学中最传统的阵地,用来快速替代昂贵的量子化学软件;
  2. 无监督学习(Unsupervised Learning):只有分子的原子排布与坐标 xx,没有人工标签。例如在毫秒级的全原子分子动力学(MD)轨迹中,利用主成分分析(PCA)或自动编码器(Autoencoder),从 3N3N 维复杂的原子热运动中自主提炼出统摄构象转变的低维集体反应坐标;
  3. 自监督预训练(Self-Supervised Learning):化学界常常面临“无标分子结构多(如 PubChem 中有上亿个化合物)、但高精度的物性标签极其昂贵稀缺”的痛点。自监督学习模仿化学直觉,故意抹除分子图中的部分官能团或在空间中扰动原子坐标,训练网络去复原微观几何,从而在大规模预训练中自主“顿悟”电子价键规则;
  4. 生成式建模(Generative Modeling):全书后半部分的巅峰主题。从传统的“合成出来测性质”(正向筛选),转变为“指定理想物性,由模型逆向吐出前所未见的全新分子”(逆向设计)。

1.3 损失函数的物理概率起源:从似然到热力学熵

在模型训练中,我们几乎不可避免地要写下这一句代码:loss = ((y - y_hat)**2).mean()(均方误差 MSE)或者 loss = cross_entropy(y, y_hat)(交叉熵)。

对于化学家而言,最值得追问的本质问题是:这些损失函数究竟凭什么长成这个样子?是谁规定了回归必须算平方差、分类必须算对数乘积?

在数理统计中,没有任何一个损失函数是拍脑袋凭空编造的,它们全都源自于微观物理世界噪声服从的概率分布! 其推导工具就是极大似然估计(Maximum Likelihood Estimation, MLE)

似然曲面、信息熵与统计热力学微观状态天平

1. 均方误差(MSE)的高斯热噪声起源

假设你用仪器测定分子的热容或用量子化学软件计算晶体能量,真实观测值 yiy_i 与模型给出的确定性真值 fθ(xi)f_\theta(x_i) 之间必然存在微小的误差扰动 ϵi\epsilon_i

yi=fθ(xi)+ϵiy_i = f_\theta(x_i) + \epsilon_i

在物理世界中,若这个误差是由仪器热噪声、微观温度波动、量子蒙特卡洛随机采样等无数个微小、独立、对称的无偏物理扰动累加而成,根据中心极限定理(Central Limit Theorem),误差项 ϵi\epsilon_i 必然渐近服从均值为 0、方差为 σ2\sigma^2 的标准正态分布(高斯分布):

ϵiN(0,σ2)    p(yixi;θ)=12πσ2exp((yifθ(xi))22σ2)\epsilon_i \sim \mathcal{N}(0, \sigma^2) \implies p(y_i \mid x_i; \theta) = \frac{1}{\sqrt{2\pi\sigma^2}} \exp\left(-\frac{(y_i - f_\theta(x_i))^2}{2\sigma^2}\right)

假设每一次实验测量彼此独立,则整个数据集同时观测到这一批实验结果的联合概率(即似然函数 Llike(θ)\mathcal{L}_{\text{like}}(\theta))为各个样本概率的连乘积:

Llike(θ)=i=1Np(yixi;θ)=i=1N12πσ2exp((yifθ(xi))22σ2)\mathcal{L}_{\text{like}}(\theta) = \prod_{i=1}^N p(y_i \mid x_i; \theta) = \prod_{i=1}^N \frac{1}{\sqrt{2\pi\sigma^2}} \exp\left(-\frac{(y_i - f_\theta(x_i))^2}{2\sigma^2}\right)

极大似然法则指出:最优的参数应该让现实世界中已经确凿发生的数据出现的联合概率达到最大。
为了将连乘转化为求和并消除下溢风险,取自然对数并加负号,得到负对数似然(Negative Log-Likelihood, NLL):

lnLlike(θ)=i=1N[12ln(2πσ2)+12σ2(yifθ(xi))2]-\ln \mathcal{L}_{\text{like}}(\theta) = \sum_{i=1}^N \left[ \frac{1}{2}\ln(2\pi\sigma^2) + \frac{1}{2\sigma^2}(y_i - f_\theta(x_i))^2 \right]

在优化过程中,常数项 12ln(2πσ2)\frac{1}{2}\ln(2\pi\sigma^2) 对参数求导为 0,常数倍数 12σ2\frac{1}{2\sigma^2} 不影响极小值点的位置。忽略常数并除以样本量 NN,赫然浮现的正是我们在代码里天天调用的:

LMSE(θ)=1Ni=1N(yifθ(xi))2\mathcal{L}_{\text{MSE}}(\theta) = \frac{1}{N} \sum_{i=1}^N \big(y_i - f_\theta(x_i)\big)^2

**化学洞见:如果噪声不是高斯的怎么办?**

这段数学推导给化学研究者敲响了至关重要的警钟:使用均方误差(MSE)的前提,是你默认了体系的噪声是对称的高斯分布!
如果你的数据集里混入了个别因为 DFT 自洽场(SCF)发散导致的离谱极端异常值(重尾噪声),高斯假设的二次方惩罚 (yy^)2(y - \hat{y})^2 会极度放大这些异常点的梯度,将整个拟合曲面强行拉偏。此时,若改用双指数拉普拉斯分布假设 p(ϵ)exp(ϵ/b)p(\epsilon) \propto \exp(-|\epsilon|/b),推导出来的正是平均绝对误差(MAE / L1 Loss)!在存在实验离群点的催化产率数据集中,使用 MAE 往往比 MSE 稳健得多。

2. 二元交叉熵与热力学微观状态的统一

在判断材料物相(如半导体 vs 绝缘体)的二分类任务中,标签 yi{0,1}y_i \in \{0, 1\}。模型的输出 y^i[0,1]\hat{y}_i \in [0, 1] 代表体系属于正类的后验概率。这是一个典型的两点分布(伯努利分布):

p(yixi;θ)=y^iyi(1y^i)1yip(y_i \mid x_i; \theta) = \hat{y}_i^{y_i} \, (1 - \hat{y}_i)^{1 - y_i}

取负对数似然:

LBCE(θ)=1Ni=1N[yilny^i+(1yi)ln(1y^i)]\mathcal{L}_{\text{BCE}}(\theta) = -\frac{1}{N} \sum_{i=1}^N \Big[ y_i \ln \hat{y}_i + (1 - y_i) \ln(1 - \hat{y}_i) \Big]

更深一步看,在统计热力学中,玻尔兹曼与吉布斯定义了系综的宏观微观态统计熵:S=kBipilnpiS = -k_B \sum_i p_i \ln p_i。在信息论中,香农将其无量纲化为信息熵 H(P)=xP(x)lnP(x)H(P) = -\sum_x P(x) \ln P(x)。衡量神经网络预测分布 QQ 与客观世界真实物理分布 PP 之间差异的 KL 散度(相对熵)可严格展开为:

DKL(PQ)=xP(x)lnP(x)Q(x)=xP(x)lnQ(x)交叉熵 H(P,Q)(xP(x)lnP(x))自然界固有热力学熵 H(P)D_{\text{KL}}(P \parallel Q) = \sum_x P(x) \ln \frac{P(x)}{Q(x)} = \underbrace{-\sum_x P(x) \ln Q(x)}_{\text{交叉熵 } H(P, Q)} - \underbrace{\Big(-\sum_x P(x) \ln P(x)\Big)}_{\text{自然界固有热力学熵 } H(P)}

在深度学习中最小化交叉熵损失,数学实质上就是让神经网络预测的概率流形,以最小的信息耗散去逼近客观真实物理微观态的概率流形!


2. 经典基石判别模型:分类与回归

2.1 逻辑回归(Logistic Regression):平滑决策界与全局凸性

尽管带有“回归”二字,但在实际科研中,逻辑回归是所有分类模型最纯粹的基石。

逻辑回归与对数几率:从连续空间到离散判别面的平滑映射

1. 为什么不能用普通线性回归做物相判别?

假设我们想根据分子的带隙计算其是否能在室温下导电(y=1y=1 为超导体/良导体,y=0y=0 为绝缘体)。若直接用直线方程 y^=wTx+b\hat{y} = \mathbf{w}^T \mathbf{x} + b 去拟合标签 0 和 1:

  • 线性方程的值域在 (,+)(-\infty, +\infty),它会给出“该材料为导体的概率是 2.8”或者“-0.6”这种违背物理守恒的荒谬数字;
  • 如果数据集中突然出现一个带隙极大(例如 10 eV)的超宽禁带绝缘体,最小二乘直线为了迁就这个极端点,会被迫像跷跷板一样整体剧烈旋转,连带将原本划分正确的半导体临界点全部推错!

2. 从对数几率(Log-odds)到 Sigmoid

化学家最在乎的是几率(Odds)——反应向正方向进行的概率 pp 与逆向概率 1p1-p 之比:Odds=p1p\text{Odds} = \frac{p}{1-p}
我们对几率取对数,得到对数几率(Logit)

ln(p1p)=wTx+b\ln\left(\frac{p}{1-p}\right) = \mathbf{w}^T \mathbf{x} + b

两边取指数,简单移项解出概率 pp

p=11+e(wTx+b)=σ(wTx+b)p = \frac{1}{1 + e^{-(\mathbf{w}^T \mathbf{x} + b)}} = \sigma(\mathbf{w}^T \mathbf{x} + b)

这就是将实数轴平滑挤压到 [0,1][0, 1] 物理概率区间内的 Sigmoid 函数 σ(z)=11+ez\sigma(z) = \frac{1}{1+e^{-z}}

3. 严格凸性证明:永远不用担心“陷入局部死区”

对于初学者而言,逻辑回归最令人安心的数学品质在于:它的损失函数是一个严格的凸碗(Convex Bowl),在理论上绝对保证能够收敛到全局唯一最优点!

让我们动手对交叉熵损失求二阶导数(Hessian 矩阵 H\mathbf{H}): 已知一阶导数(梯度向量)为:

wL=1Ni=1N(σ(wTxi+b)yi)xi\nabla_{\mathbf{w}} \mathcal{L} = \frac{1}{N} \sum_{i=1}^N \big(\sigma(\mathbf{w}^T \mathbf{x}_i + b) - y_i\big) \mathbf{x}_i

再次对权重求偏导:

H=2LwwT=1Ni=1Nσ(zi)(1σ(zi))xixiT\mathbf{H} = \frac{\partial^2 \mathcal{L}}{\partial \mathbf{w} \partial \mathbf{w}^T} = \frac{1}{N} \sum_{i=1}^N \sigma(z_i)\big(1 - \sigma(z_i)\big) \, \mathbf{x}_i \mathbf{x}_i^T

注意到对于任何输入,ziz_i 无论多大,σ(zi)(0,1)\sigma(z_i) \in (0, 1),因此标量因子 αi=σ(zi)(1σ(zi))>0\alpha_i = \sigma(z_i)(1 - \sigma(z_i)) > 0 恒成立。对于任意非零向量 u\mathbf{u}

uTHu=1Ni=1NαiuT(xixiT)u=1Ni=1Nαi(xiTu)20\mathbf{u}^T \mathbf{H} \mathbf{u} = \frac{1}{N} \sum_{i=1}^N \alpha_i \, \mathbf{u}^T (\mathbf{x}_i \mathbf{x}_i^T) \mathbf{u} = \frac{1}{N} \sum_{i=1}^N \alpha_i \, (\mathbf{x}_i^T \mathbf{u})^2 \ge 0

二阶 Hessian 矩阵处处半正定!这意味着能量面没有凹坑、没有马鞍面,只有唯一的全局谷底。无论你从哪个随机初始点出发,只要步子不要迈得太大,梯度下降保证将你安全带到最优参数处。


2.2 Softmax 多分类回归与玻尔兹曼配分函数

当分类类别扩展到 KK 种互斥的物相时(例如根据电子能带结构将晶体细分为金属、半金属、直接带隙半导体、间接带隙半导体、拓扑绝缘体),逻辑回归便自然泛化为 Softmax 回归

Softmax 多分类回归与玻尔兹曼配分函数的同构能量态

网络对各个类别输出未归一化的连续能量分值 z1,z2,,zKz_1, z_2, \dots, z_K。Softmax 算子通过指数幂映射将其转化为标准概率:

pk=ezkj=1Kezj,k=1,2,,Kp_k = \frac{e^{z_k}}{\sum_{j=1}^K e^{z_j}}, \qquad k = 1, 2, \dots, K

在统计力学中,考察一个处于热力学温度 TT 下的微观多能级体系,粒子占据能级 EkE_k 的微观概率严格服从玻尔兹曼分布

P(State k)=eEk/(kBT)j=1KeEj/(kBT)=eEk/(kBT)ZP(\text{State } k) = \frac{e^{-E_k / (k_B T)}}{\sum_{j=1}^K e^{-E_j / (k_B T)}} = \frac{e^{-E_k / (k_B T)}}{\mathcal{Z}}

两相对照,数学形式达到 100% 的严格同构!

  • 神经网络中的 Logit 输出 zkz_k,就是负无量纲能量状态:zkEk/(kBT)z_k \sim -E_k / (k_B T)
  • 归一化分母,就是统计力学微观状态的配分函数(Partition Function Z\mathcal{Z}
  • 若我们在 Softmax 中引入温度因子 τ\taupk=ezk/τjezj/τp_k = \frac{e^{z_k / \tau}}{\sum_j e^{z_j / \tau}},当 τ\tau \to \infty 时,对应极高温下强烈的热运动让所有物相出现的概率均等化(1/K1/K 彻底无序);当 τ0+\tau \to 0^+ 时,系统冻结为绝对零度的基态相(概率塌缩为唯一的最大值,即硬性判定)。

3. 现代梯度优化器家族:从一阶迭代到动量自适应

3.1 梯度下降的几何困境:病态狭谷与各向异性

梯度的数学定义是函数增长最快的方向,因此负梯度 L(w)-\nabla \mathcal{L}(\mathbf{w}) 是函数下降最快的方向。最基础的梯度下降规则只有极其洗练的一行:

wt+1=wtαL(wt)\mathbf{w}_{t+1} = \mathbf{w}_t - \alpha \, \nabla \mathcal{L}(\mathbf{w}_t)

其中 α\alpha 是学习率(步长)。

凸损失碗、病态山谷与鞍点 3D 曲面

图 1 三类典型损失曲面几何形态。(a) 各向同性良态抛物碗;(b) 高条件数病态狭谷(横向峭壁、纵向平缓);(c) 不定 Hessian 鞍点。

然而,真实微观系统的损失曲面几乎从来都不是良态的正圆碗。考察二次展开下的 Hessian 矩阵特征值之比——条件数 κ=λmax/λmin\kappa = \lambda_{\max} / \lambda_{\min}。在化学势能面或高维描述符空间中,某些特征极其敏感(如原子间核排斥力随距离的 12 次方剧烈变化),而某些特征极其平缓(如长程范德华力)。这导致损失曲面呈现为如同上图 1(b) 所示的极端狭长各向异性的病态狭谷

  • 沿着垂直于谷底的横向峭壁,曲率极大,梯度数值巨大;
  • 沿着顺着谷底缓步向前的纵向目标方向,曲率极小,梯度弱如游丝。

标准梯度下降在面对这种地形时会陷入致命的死循环:调大学习率,参数在两侧绝壁之间来回剧烈震荡甚至发散飞出;调小学习率,横向振荡虽平息,但沿着纵向谷底推进几万步也无法挪动一小步。


3.2 动量法(Momentum):力学阻尼重球如何抹平振荡

为了拯救深陷峡谷的优化过程,Polyak 借鉴经典力学引入了阻尼重球模型(Heavy-Ball Method)

动量优化器:阻尼重球与横向震荡抑制

动量法不再让参数随瞬时梯度走走停停,而是赋予参数点以“物理质量与速度惯性”:

vt=βvt1+(1β)L(wt)\mathbf{v}_t = \beta \, \mathbf{v}_{t-1} + (1 - \beta) \, \nabla \mathcal{L}(\mathbf{w}_t)

wt+1=wtαvt\mathbf{w}_{t+1} = \mathbf{w}_t - \alpha \, \mathbf{v}_t

其中 β[0,1)\beta \in [0, 1) 是摩擦阻尼因子(通常取 0.9)。将此递归公式沿历史步数展开,速度就是梯度的指数加权移动平均(EMA)

vt=(1β)k=0t1βkL(wtk)\mathbf{v}_t = (1 - \beta) \sum_{k=0}^{t-1} \beta^k \nabla \mathcal{L}(\mathbf{w}_{t-k})

历史梯度的记忆权重按几何级数衰减,其有效时间记忆窗口大小恰好为:

有效历史窗口11β=110.9=10 步\text{有效历史窗口} \approx \frac{1}{1 - \beta} = \frac{1}{1 - 0.9} = 10 \text{ 步}

物理直觉立竿见影
在病态峡谷中,参数在横向绝壁来回撞击,连续 10 步的横向梯度符号不断交替(+g,g,+g,g+g_{\perp}, -g_{\perp}, +g_{\perp}, -g_{\perp}),在滑动平均中正负抵消为零;而沿谷底向前推进的分量方向始终一致,在 10 步累加下被持续放大!重球借着惯性,顺畅、高速地顺着峡谷奔流而下。


3.3 RMSprop、Adam 与 AdamW:自适应巡航的现代王者

动量法虽然借助惯性平息了振荡,但所有参数维度依然被迫共享同一个全局学习率 α\alpha

RMSprop 与 Adam:坐标自适应缩放与一阶二阶动量协同

  1. RMSprop:Hinton 提出维护历史梯度平方的二阶矩 st=β2st1+(1β2)gt2\mathbf{s}_t = \beta_2 \mathbf{s}_{t-1} + (1-\beta_2)\mathbf{g}_t^2。在更新参数时除以 st+ϵ\sqrt{\mathbf{s}_t} + \epsilon。梯度剧烈的陡峭维度,分母自动变大从而压低步长;梯度平缓的幽暗维度,分母变小从而强力放大步长。
  2. Adam:将动量的一阶方向追踪(vt\mathbf{v}_t)与 RMSprop 的二阶坐标缩放(st\mathbf{s}_t)融为一体,并引入严密的初始无偏偏差校正(Bias Correction)

    v^t=vt1β1t,s^t=st1β2t\hat{\mathbf{v}}_t = \frac{\mathbf{v}_t}{1 - \beta_1^t}, \qquad \hat{\mathbf{s}}_t = \frac{\mathbf{s}_t}{1 - \beta_2^t}

    彻底消除了训练初期一阶和二阶矩向零点收缩的冷启动偏差。
  3. AdamW(解耦权重衰减):在传统实现中,L2 正则化项 λw\lambda \mathbf{w} 被直接混入梯度送进二阶矩 st\mathbf{s}_t,导致在分母除法中,参数较大的维度 L2 惩罚反而被不合理地削弱。AdamW 将权重衰减剥离出来独立更新(wwαλw\mathbf{w} \leftarrow \mathbf{w} - \alpha \lambda \mathbf{w}),现已成为前沿晶体与分子大模型训练的绝对首选。

5 种优化器在病态 Rosenbrock 势能面上的收敛轨迹比较

图 2 真实的 Rosenbrock 香蕉函数收敛轨迹对比。SGD 在狭窄谷壁之间剧烈折返碰撞;Momentum 有效抑制了高频横向振荡;Adam 与 AdamW 则展现出最稳健直接的巡航轨迹。


3.4 学习率调度策略:预热与余弦退火

学习率调度:预热、余弦退火与平稳收敛之舟

4 种学习率调度曲线全景对比

图 3 常见学习率调度轨迹对比。现代深度学习标准范式普遍采用带有初始线性预热(Warmup)的余弦退火策略。

如果学习率在全过程保持不变,在训练后期,模型在深层极小值盆地底面会因为步长过大而反复“踢跳”,永远无法精准落定。现代主流范式采用线性预热(Warmup)+ 余弦退火(Cosine Annealing)

  • 前 5% 轮次(Warmup):将学习率从 0 缓慢爬升到峰值。其物理依据在于:网络初始参数为随机分布,初始梯度方差极大且方向粗糙;若此时直接使用极大学习率,网络内部脆弱的微观表征会被瞬间冲垮;
  • 后续轮次(Cosine):按照余弦半周期曲线平缓降落至接近于 0,确保模型在训练尾期以极其细腻的微调步长探索能量最低的平坦盆地。

4. 深层网络训练稳定性与参数工程

4.1 梯度长河的干涸与泛滥:链式法则的奇异值谱

设想一个包含 50 层隐藏层的深度图网络。每一层完成一次仿射变换与非线性挤压。根据微积分的多变量复合函数链式法则,输出误差传回第一层参数的梯度表达式为:

La[1]=Lz[L]W[L]diag(φ)W[L1]diag(φ)W[2]diag(φ)\frac{\partial \mathcal{L}}{\partial \mathbf{a}^{[1]}} = \frac{\partial \mathcal{L}}{\partial \mathbf{z}^{[L]}} \cdot \mathbf{W}^{[L]} \operatorname{diag}(\varphi') \mathbf{W}^{[L-1]} \operatorname{diag}(\varphi') \dots \mathbf{W}^{[2]} \operatorname{diag}(\varphi')

梯度长河水管:深层连乘的枯竭与泛滥

这是一个包含了 49 个矩阵与对角雅可比连续相乘的张量长链:

  • 若权重矩阵的最大奇异值谱半径稍微大于 1(例如 1.151.15),经过 50 次连乘放大,1.155010831.15^{50} \approx 1083;若是 1.5506.37×1081.5^{50} \approx 6.37 \times 10^8,梯度像海啸般瞬间冲垮计算机的浮点上限(梯度爆炸);
  • 若奇异值谱半径小于 1,或者激活函数导数 φ(z)<1\varphi'(z) < 1(如 Sigmoid 的最大导数仅为 0.250.25),连乘 50 次的衰减比率为 0.25507.88×10310.25^{50} \approx 7.88 \times 10^{-31}!传至底层时,浮点数已由于下溢被系统强制置为精确的 0.0(梯度消失)。底层的分子特征提取层彻底陷入无法被训练的深度瘫痪。

4.2 激活函数谱系与选型指南

激活函数谱系:从饱和挤压到量子涨落

8 种激活函数及其一阶导数曲线全景对比

图 4 常用激活函数形态(左)与其一阶导数谱系(右)。ReLU 彻底打破了正半轴饱和限制,而现代 GELU 则在原点处兼具平滑曲率与非单调自适应特性。

  • Sigmoid 与 Tanh:在自变量绝对值偏大时迅速陷入平坦的“死区”(饱和区),导数极速逼近于 0,在 5 层以上的深层网络中严禁作为隐藏层主力;
  • ReLU(max(0,z)\max(0, z):在正半区导数恒为 1.0!彻底消除了正半轴的梯度衰减水阀,是深度学习能够迈向深度的首要功臣;
  • Dying ReLU 缺陷与 LeakyReLU:若某个神经元输入不幸被大梯度踢入负半区,导数恒为 0,该节点永久失去更新能力(坏死)。LeakyReLU 通过在负半区保留 0.010.01 的微小斜率,给神经元留出了一线生机;
  • GELU(高斯误差线性单元)zΦ(z)z \cdot \Phi(z)。受微观粒子量子涨落启发,根据自变量在正态分布中的累积几率自适应决定放行比例。它在原点周围拥有连续平滑的导数曲率,是当代大分子 Transformer 与化学大模型的最优标配。

4.3 权重初始化的方差守恒定理

为什么不能把参数全部设为 0?因为同一层所有节点将计算出完全相同的数字,对称性永远无法打破;那为什么随机初始化一个小高斯分布(如 σ=0.01\sigma = 0.01)依然会死?

Xavier 与 He 初始化:方差守恒的天平

1. Xavier / Glorot 初始化推导(Tanh 激活)

设单神经元输出 z=j=1ninwjxjz = \sum_{j=1}^{n_{\text{in}}} w_j x_j。假设输入与权重相互独立、均值为 0。根据独立随机变量方差相乘公式:

Var(z)=ninVar(w)Var(x)\operatorname{Var}(z) = n_{\text{in}} \operatorname{Var}(w) \operatorname{Var}(x)

为了确保前向传播的特征信号既不衰减归零、也不爆炸溢出,我们必须强制要求:输出的方差等于输入的方差!

Var(z)=Var(x)    ninVar(w)=1    Var(w)=1nin\operatorname{Var}(z) = \operatorname{Var}(x) \implies n_{\text{in}} \operatorname{Var}(w) = 1 \implies \operatorname{Var}(w) = \frac{1}{n_{\text{in}}}

同理,为了使反向传播回传的梯度方差保持守恒,推导出 Var(w)=1nout\operatorname{Var}(w) = \frac{1}{n_{\text{out}}}。取调和平均,即得经典的 Xavier 方差

Var(w)=2nin+nout\operatorname{Var}(w) = \frac{2}{n_{\text{in}} + n_{\text{out}}}

2. He / Kaiming 初始化推导(ReLU 激活)

当网络采用 ReLU 激活时,由于负半区被完全截断置零,信号通过该层后方差天然损失了一半Var(a)=12Var(z)\operatorname{Var}(a) = \frac{1}{2} \operatorname{Var}(z)
为了在方差天平上补偿这一半的能量损失,权重方差必须翻倍补偿

12ninVar(w)=1    Var(w)=2nin\frac{1}{2} n_{\text{in}} \operatorname{Var}(w) = 1 \implies \operatorname{Var}(w) = \frac{2}{n_{\text{in}}}

这就是名震深度学习界的 He (Kaiming) 初始化

50 层深度网络在前向传播中不同初始化策略下的方差演化曲线

图 5 代码仿真 50 层深度网络方差演变。未受保护的小高斯在第 25 层激活值方差即暴跌至 103310^{-33}(彻底熄火);大高斯在第 12 层迅速溢出 NaN;而 Xavier 与 He 初始化能够支撑信号在跨越 50 层后依然维持稳定的方差量纲。


4.4 归一化架构:BatchNorm 与 LayerNorm

即便完成了最优的初始化,随着训练步数的推进,前面层参数的微小扰动会导致后面层输入的数值分布发生持续剧烈漂移。

批量归一化与层归一化:抹平崎岖能量面与分子变长表示

有无 BatchNorm 损失曲面截面平滑度与梯度预测性对比

图 6 真实代码模拟有无 BatchNorm 的能量曲面。(a) 截面平滑度;(b) 梯度跳跃变化率。BatchNorm 彻底抚平了曲面的微观毛刺,使模型能够承受数十倍大的学习率。

  • 批量归一化(Batch Normalization):在 mini-batch 内部沿样本轴做零均值和单位方差白化。NeurIPS 顶会论文严格证实:BatchNorm 的真正神力,在于它大幅压缩了能量曲面的 Lipschitz 变化率,将原本布满微观倒刺的尖锐曲面重构为一个光滑平展的缓坡!
  • 层归一化(Layer Normalization)的统治地位:在处理分子图(每个分子的原子数各异)与变长序列时,由于每个批次中样本的拓扑与尺寸不可比,跨样本的均值失去了物理统一性。LayerNorm 对单个分子内部的所有隐藏特征通道独立计算均值与方差,完全不依赖批次大小,现已成为图网络与 Transformer 的中流砥柱。

5. 泛化控制、正则化与防过拟合策略

5.1 偏差-方差权衡与模型容量相变

泛化之盾:偏差-方差权衡与模型容量相变

偏差-方差分解曲线与最佳模型容量甜点区

图 7 偏差-方差权衡经典相图。模型容量过小导致高偏差欠拟合;容量过大导致高方差过拟合;泛化设计的核心正是定位期望误差最低的甜点区(Sweet Spot)。

对于一个未见测试样本,模型的期望预测泛化误差可以被严格展开为三项代数和:

期望泛化误差=Bias(f^)2+Var(f^)+σnoise2\text{期望泛化误差} = \operatorname{Bias}(\hat{f})^2 + \operatorname{Var}(\hat{f}) + \sigma^2_{\text{noise}}

  • 偏差平方(Bias2\text{Bias}^2:模型在本质上缺乏足够的物理表达力(如用单层刚性平面去强行拟合强电子关联的带隙),造成欠拟合
  • 方差(Variance\text{Variance}:模型参数容量过大,将具体数据集里的实验操作手抖误差或超算舍入误差全盘硬背下来,造成过拟合
  • 不可消除本底噪声(σnoise2\sigma^2_{\text{noise}}:仪器的本征系统分辨率与环境本底热噪声,任何算法都无法将其消除。

科研优化的艺术,就是通过正规化手段抑制方差,寻找两者的最佳甜点区。


5.2 L1 与 L2 正则化的几何对偶性

为了惩罚过大的参数,我们在损失函数后引入罚项:minwL(w)+λΩ(w)\min_{\mathbf{w}} \mathcal{L}(\mathbf{w}) + \lambda \Omega(\mathbf{w})

L1 菱形角点稀疏 vs L2 圆形收缩的几何约束

根据拉格朗日乘子法,这完全等价于带范数约束的极值问题:minL(w) s.t. wpC\min \mathcal{L}(\mathbf{w}) \text{ s.t. } \|\mathbf{w}\|_p \le C

  • L2 正则化(Ridge 岭回归 / 权重衰减):约束域 w22C\|\mathbf{w}\|_2^2 \le C 是一个光滑的正圆球。等高线椭圆相切于圆弧连续处,所有参数被协同压小,但几乎从不归零;
  • L1 正则化(Lasso):约束域 w1C\|\mathbf{w}\|_1 \le C 是一个带有尖锐角点的正菱形。损失等高线在向外扩散碰撞时,极大概率首先撞上坐标轴上的尖峰角点!在角点处,大量的参数分量被强制精确截断为 0:wj=0w_j = 0

L1 Lasso 稀疏筛选路径与 L2 Ridge 平滑收缩路径对比

图 8 高维化学描述符上的正则化收缩路径。随着 λ\lambda 增大,L1 Lasso 逐步将 45 个冗余噪声特征的权重精准削减为 0,仅保留 5 个支配性物理特征;而 L2 Ridge 则保留所有特征平滑收敛。

**化学家手边的特征选择利器**

当你利用材料数据库提取了 50 个高维特征(电负性差、晶胞体积、配位数、原胞原子序数和……),其中大量特征彼此严重共线。跑一次 L1 Lasso 坐标下降法,算法会自动把 40 个无关特征的系数斩断置零,只留下真正主导吸附能的那 10 个核心物理量! 这是算法在为你做纯粹的物理因果初筛。


5.3 Dropout 机制:指数级子网络的隐式集成

Dropout 随机失活:成千上万隐式子网络的集成合鸣

在训练前向传播时,每个神经元以概率 p=0.5p = 0.5 随机断开失活:

  1. 彻底打破神经元之间的“不良共谋”:没有哪个神经元可以偷懒依赖邻居来补救错误,迫使每个隐藏节点都必须从分子拓扑中学会提取独立自洽的物理表征;
  2. 2M2^M 个稀疏网络的几何平均:每一次小批次都在训练一个微型子网络,测试时全网络启动,等效于对数百万个子网络进行了一次高精度的隐式几何模型集成;
  3. 倒置 Dropout(Inverted Dropout):训练时将激活值除以 ppa = (mask * a) / p),测试时无需对权重做任何缩放,直接关停 Dropout 层即可全速推理。

6. AI for Science 实用工程诊断与科研评估闭环

6.1 数据集划分的科学防线:骨架划分(Scaffold Split)

分子骨架外推防漏:警惕同母核数据虚假繁荣

如果在化学分子数据集上直接做无脑的 80/20 随机混洗(Random Split),同一核心母核、仅在侧链修饰一个氯原子的同系物会同时散落在训练集和测试集中。这造成了极其恶劣的同母核数据泄漏(Data Leakage)。模型只需要在测试集上“开卷抄同系物答案”,就能刷出看似惊艳的 R2=0.95R^2 = 0.95

严谨的学术评测必须采用 Bemis-Murcko 骨架划分(Scaffold Split)

  1. 剥离所有脂肪族取代侧链,仅保留核心芳香环、脂肪环与骨架连接键;
  2. 按照核心骨架家族进行严格归类;
  3. 将常见的大骨架放入训练集,而将数个母核结构截然不同、分子拓扑全新的家族严格封存在测试集中!

随机划分与骨架划分在化学测试集上的泛化断崖

图 9 真实化学回归任务评测对比。随机划分展示出高达 0.93 的虚假相关性;而在骨架外推评测中,各模型性能均遭遇近 30% 的断崖式下跌,真实反映了算法的物理泛化天花板。


6.2 训练-验证分布不匹配(Data Mismatch)的四重诊断漏斗

数据分布失配的四重诊断漏斗

当你的手头仅有 100 个极其珍贵的手套箱实验样品,而外部有 10 万个算力廉价但存在系统误差的理想晶胞 DFT 数据时,必须构建由 Train(10万计算+部分实验)、Train-Dev(从计算数据中留出盲测集)、Dev(实验调参集)、Test(实验盲测集) 组成的四重检验漏斗:


6.3 评估指标的物理与统计度量:化学精度与 PR-AUC

  • 化学精度(Chemical Accuracy):在热力学性质回归中,1 kcal/mol0.043 eV4.184 kJ/mol1 \text{ kcal/mol} \approx 0.043 \text{ eV} \approx 4.184 \text{ kJ/mol} 是判断模型是否具备指导湿实验价值的唯一分水岭。MAE 若高于此线,任何理论预测在宏观相变吉布斯自由能指数放大面前都将完全失效;
  • 极端不平衡分类下的 PR-AUC 鉴别力:在稀有高活性催化剂筛选中,活性分子百不存一(1:50 的极度类不平衡)。

极不平衡催化数据下欺骗性的 ROC 曲线与真实的 PR 曲线对比

图 10 极端不平衡化学数据下的评测对比。(a) ROC 曲线由于分母包含海量真负样本,AUC 高达 0.942,掩盖了严重的误报;(b) PR 曲线直接聚焦于真正的活性检出率与查准率,AUC 跌落至 0.421,揭示了真实挑战。

ROC 曲线的假正率由于分母包含海量真负样本而被极度稀释,虚伪地维持在 0.94 以上;而 PR 曲线(Precision-Recall) 直接审视每次预测出的催化剂到底有多少是真实活性的,其曲线急剧衰减至 0.42,逼迫研究者直面虚警率的真实挑战。


6.4 以数据为中心的人工误差分析

在真实的科学研究中,许多初学者发现模型指标提升遭遇瓶颈时,本能的反应是去 GitHub 上寻找更新、更深、更复杂的神经网络架构。

然而,工业级 AI for Science 团队的一致共识是:花三天时间盲目更换五种复杂网络,往往远不如花半天时间人工抽样解剖 100 个最大残差分子!


7. 从离散符号到连续表征:向量嵌入与度量学习

7.1 独热编码的几何孤岛与连续嵌入矩阵

在独热编码(One-Hot)中,任意两个元素的基向量完全正交:xCTxSi=0,xCxSi2=2\mathbf{x}_{\text{C}}^T \mathbf{x}_{\text{Si}} = 0, \|\mathbf{x}_{\text{C}} - \mathbf{x}_{\text{Si}}\|^2 = 2。在几何上,同属第IVA族的碳与硅之间的距离,竟然与碳和电负性极强的氟完全相同!

从离散原子独热孤岛到连续隐流形嵌入

嵌入矩阵(Embedding Matrix) ERd×V\mathbf{E} \in \mathbb{R}^{d \times V} 打破了这一隔绝。一个离散符号乘以独热向量,等价于以 O(1)O(1) 时间直接从矩阵中调取稠密的连续向量:

eatom=Exone-hot=E[:,idx]\mathbf{e}_{\text{atom}} = \mathbf{E} \cdot \mathbf{x}_{\text{one-hot}} = \mathbf{E}_{[:, \, \text{idx}]}

通过反向传播的端到端学习,矩阵每一列的浮点数自发组织,将元素周期表与官能团平滑安置在连续低维的隐流形之上。


7.2 Skip-Gram 与负采样二分类对数似然

通过大规模无标分子序列预训练化学词向量(Word2Vec / Mol2Vec)时,原始 Softmax 遍历整个化学子结构词典的开销高达 O(V)\mathcal{O}(|\mathcal{V}|)

负采样技术(Negative Sampling) 巧妙地将巨大的多分类 Softmax 解构为若干个并行的二分类逻辑回归:

  • 对于真实在分子结构中相邻共现的中心基团与上下文基团 (wc,wo)(w_c, w_o),最大化其二分类正概率:lnσ(uoTvc)\ln \sigma(\mathbf{u}_o^T \mathbf{v}_c)
  • 随机从词典中抽取 KK 个未共现的“冒牌”基团,最大化其负样本概率:k=1Klnσ(unkTvc)\sum_{k=1}^K \ln \sigma(-\mathbf{u}_{n_k}^T \mathbf{v}_c)

单步计算复杂度暴跌为常数 K+1K+1 次点积运算!

Skip-Gram 学习到的分子官能团二维潜在空间聚类

图 11 真实代码复现 Skip-Gram 分子子结构表征。卤素家族(-F, -Cl, -Br, -I)、烷基链、极性氢键供体与芳香环在二维隐空间中自发形成紧凑、物理边界分明的聚类集团。


7.3 度量学习与三元组损失(Triplet Loss)

在虚拟药物筛选与催化剂骨架跃迁中,我们追求的是在表征空间中施加几何引力与斥力:让机制相近的分子聚拢,把无活性或假阳性分子推远。

孪生网络与三元组度量学习:引力-斥力与裕度边界

给定由基准锚点(Anchor, A)活性正样本(Positive, P)假阳性负样本(Negative, N) 构成的三元组,强制施加间隔裕度 α>0\alpha > 0(Margin):

d(A,P)+αd(A,N)d(A, P) + \alpha \le d(A, N)

铰链损失函数定义为:

LTriplet=max(0,f(A)f(P)22f(A)f(N)22+α)\mathcal{L}_{\text{Triplet}} = \max\Big(0, \, \|f(A) - f(P)\|_2^2 - \|f(A) - f(N)\|_2^2 + \alpha\Big)

结合难负样本挖掘(Hard Negative Mining),算力被极致聚焦在最具欺骗性的“假阳性同分异构体”上,迫使网络淬炼出分辨微观配位细微突变的敏锐鉴别力。

三元组训练前后分子嵌入对欧氏距离分布直方图对比

图 12 三元组度量学习前后分子对距离演变。(a) 训练前正负样本对距离高度重叠混淆;(b) 引入难负样本训练后,正样本高度聚拢,负样本被坚决驱逐出裕度边界之外。


8. 真实代码实战与自检

在本章配套的 code/ 目录中,我们为你准备了 6 个纯原生 Python 验证模块:

  1. code/01_optimizers_family.py:手写统一实现 SGD、动量法、RMSprop、Adam 与 AdamW,并在病态 Rosenbrock 势能面上实时复现收敛轨迹;
  2. code/02_initialization_dynamics.py:模拟 50 层深度网络,验证小高斯在第 25 层下溢归零(103310^{-33})、大高斯溢出 NaN、以及 He 初始化平稳维持方差的过程;
  3. code/03_batch_norm_toy.py:纯原生展开 BatchNorm 前向标准化、反向导数传递与全局移动平均跟踪;
  4. code/04_regularization_l1_l2.py:在 50 维高度共线的化学描述符上,真实运行 L1 Lasso 坐标下降法,观察 40 个噪声参数如何被干净利落地斩断置零;
  5. code/05_bias_variance_scaffold.py:模拟分子骨架聚类,复现随机划分与骨架划分之间近 30% 的泛化断崖;
  6. code/06_skipgram_triplet_loss.py:单步运行 Skip-Gram 负采样与三元组难负样本排斥机制。

在终端中只需一键即可全部验证:

bash
python 机器学习基础教程/code/01_optimizers_family.py
python 机器学习基础教程/code/02_initialization_dynamics.py
python 机器学习基础教程/code/03_batch_norm_toy.py
python 机器学习基础教程/code/04_regularization_l1_l2.py
python 机器学习基础教程/code/05_bias_variance_scaffold.py
python 机器学习基础教程/code/06_skipgram_triplet_loss.py

9. 总结与全书后续章节学习导引

合上这篇基石教程,我们已经在微观物质世界与现代人工智能之间铺设了一座坚不可摧的桥梁:

  • 损失函数不再是无源之水,而是微观物理高斯/伯努利热噪声的极大似然对数投影
  • 优化器不再是玄学调参,而是经典力学阻尼振子与二阶曲率坐标自适应的动力学巡航
  • 深层网络不再是深不可测的黑盒,而是在方差守恒定理与曲面平滑约束下驯服的连续可微张量水管
  • 骨架外推防线与负采样度量学习,则赋予了我们在广袤高维化学空间中理性评估模型外推极限与表征化学实体的数理准绳

掌握了这一套通用的微积分与统计规律,整本《原子智能》后续全部高级篇章的宏伟蓝图便在你面前豁然开朗:

  • 第01-03章(感知器、线性单元与反向传播) 中,你将亲眼目睹这一套微积分机制如何在单个离散神经元和多层计算图上生动运转;
  • 第04-07章(CNN、RNN、LSTM) 中,空间平移不变性与时间因果反向传播(BPTT)将赋予网络时空物理感知;
  • 第08-10章(GNN、等变网络、Transformer) 中,图论消息传递、三维欧几里得群旋转平移对称性(E(3)/SE(3)E(3) / SE(3))以及全局自注意力机制将进一步将物理归纳偏置推向极致;
  • 最终在 第11-17章(生成式大厦与前沿逆向设计) 中,连续潜在流形、能量曲面马尔可夫链与随机微分方程扩散过程,将引导你真正掌握亲手在计算机中定向创造全新微观物质的终极能力。

带着这份扎实的物理化学机器学习基石,让我们正式推开微观世界智能革命的宏伟殿堂之门!

《原子智能》· 纸质出版预备版 · PolyAI Team 著