读论文前 · 地基

前置知识自习手册

配套用法:先读本手册建立框架、跟着把 ★ 推导自己默一遍,再看对应视频补直觉。

你的底子:高数 / 线代 / 概率都有,C/C++ 与数据结构熟 —— 所以数学直接用,AI 概念从零讲,并配编程类比。

范围:只打地基。对比学习、域泛化、两阶段训练留到暑假精读。

目录
  1. 从"拟合函数"到神经网络
  2. 损失函数:把"错多少"变成一个数
  3. 模型怎么学:梯度下降与反向传播
  4. 卷积神经网络 CNN
  5. 注意力与 Transformer(入门)
  6. 信号处理常识(够用就行)
  7. EEG/EMG/BCI 领域常识 + 评估指标
  8. 附录:核心公式速查表

Chapter 01从"拟合函数"到神经网络

1.1 机器学习到底在做什么

一句话:找一个函数 $f$,使得 $f(x)\approx y$。$x$ 是输入(一段 EEG 信号),$y$ 是想要的输出(类别或一个角度)。我们不手写 $f$,而是给它一堆可调参数 $\theta$,再用数据把 $\theta$"调"出来。

C 的视角:以前你手写函数逻辑;机器学习是写一个带一堆可调系数的函数模板,让数据帮你把系数填好。

两类任务(贯穿你的三篇):分类(输出离散类别 —— FBMSNet、NeuroFusion-Trans)与回归(输出连续数值 —— NeuroDyGait 预测关节角度)。记住这条分界线,第 2 章的损失就是按它分的。

1.2 训练 / 验证 / 测试,过拟合与泛化

为什么必须分开?模型可能死记硬背训练集(过拟合)——训练准、没见过的数据差。我们要的是泛化。过拟合 = 训练好测试差(模型太复杂/数据太少);欠拟合 = 训练就差(模型太弱)。

你三篇都在小样本 EEG 上挣扎,"防过拟合"是核心矛盾 —— 所以后面会反复看到正则化、数据增强、中心损失这些招。

1.3 一个神经元 = 线性 + 非线性

单个神经元两步:先线性加权 $z=w\cdot x+b$,再套非线性 $a=\sigma(z)$。一整层写成矩阵:

$$ z = Wx + b, \qquad a = \sigma(z) $$

$W$ 每一行对应一个神经元,$\sigma$ 逐元素作用。把很多层堆起来就是多层感知机 MLP

1.4 激活函数:为什么非要有"非线性"

关键事实:纯线性层一层套一层,整体还是线性的——

$$ W_2(W_1x+b_1)+b_2=(W_2W_1)x+(W_2b_1+b_2)=W'x+b' $$

堆多少层都等价于一层,表达力极弱。激活函数提供非线性,深层网络才能拟合复杂关系。

$$ \hat{y}_i=\frac{e^{z_i}}{\sum_j e^{z_j}},\qquad \hat{y}_i\in(0,1),\ \sum_i \hat{y}_i = 1 $$

所以可解释为"属于第 $i$ 类的概率"。FBMSNet 最后一层就是它。

★ 小推导 · Softmax 的导数(第 2 章要用)

设 $S=\sum_j e^{z_j}$,$\hat{y}_k=e^{z_k}/S$。

$$ \begin{aligned} k=i:&\quad \frac{\partial \hat{y}_i}{\partial z_i}=\frac{e^{z_i}S-e^{z_i}e^{z_i}}{S^2}=\hat{y}_i-\hat{y}_i^2=\hat{y}_i(1-\hat{y}_i)\\[4pt] k\neq i:&\quad \frac{\partial \hat{y}_k}{\partial z_i}=\frac{0-e^{z_k}e^{z_i}}{S^2}=-\hat{y}_k\hat{y}_i \end{aligned} $$

统一写成 $\ \dfrac{\partial \hat{y}_k}{\partial z_i}=\hat{y}_k(\delta_{ki}-\hat{y}_i)$,其中 $\delta_{ki}=1\,(k=i)$ 否则 $0$。

Chapter 02损失函数:把"错多少"变成一个数

损失 $L$ 衡量预测 $\hat{y}$ 离真值 $y$ 有多远。训练 = 调 $\theta$ 让 $L$ 最小。

2.1 回归损失:均方误差 MSE

$$ \mathrm{MSE}=\frac{1}{N}\sum_i (\hat{y}_i-y_i)^2 $$

误差平方再平均,大误差被放大(惩罚更重)。NeuroDyGait 的重建/预测损失都是它(论文式 1、2)。

为什么是平方?假设 $y=\hat{y}+\varepsilon$、$\varepsilon\sim N(0,\sigma^2)$,对它做最大似然估计、取对数后,最大化似然 $\Leftrightarrow$ 最小化 $\sum(y-\hat{y})^2$。即"高斯噪声下最大似然 = 最小化 MSE"。

2.2 分类损失:交叉熵 Cross-Entropy

真值 $y$ 是 one-hot,$\hat{y}$ 是 Softmax 输出:

$$ L_{CE}=-\sum_k y_k \log \hat{y}_k $$

因 $y$ 是 one-hot,只剩正确类那项 $L=-\log\hat{y}_{\text{correct}}$。模型给正确类的概率越高,损失越小;给得越低,损失急剧变大。来源:最小化交叉熵 $\Leftrightarrow$ 最大化正确类似然 $\Leftrightarrow$ 最小化预测分布与真实分布的 KL 散度。

★ 关键推导 · Softmax + 交叉熵 对 logits 的梯度

这是深度学习里最优雅、最该会的推导,结果干净到不可思议。

$$ \begin{aligned} \frac{\partial L}{\partial z_i} &=-\sum_k y_k\cdot\frac{1}{\hat{y}_k}\cdot\frac{\partial \hat{y}_k}{\partial z_i}\\[3pt] &=-\sum_k y_k\cdot\frac{1}{\hat{y}_k}\cdot\hat{y}_k(\delta_{ki}-\hat{y}_i)\\[3pt] &=-\sum_k y_k(\delta_{ki}-\hat{y}_i)\\[3pt] &=-y_i+\hat{y}_i\sum_k y_k\\[3pt] &=\hat{y}_i-y_i \qquad(\text{因 one-hot 时 }\textstyle\sum_k y_k=1) \end{aligned} $$

结论:$\dfrac{\partial L}{\partial z_i}=\hat{y}_i-y_i$ —— 预测减真值。这就是为什么 Softmax 和交叉熵被绑定使用:梯度最干净,训练最稳。

2.3 对上你的三篇

任务损失出现在
分类交叉熵 CEFBMSNet、NeuroFusion-Trans
回归MSENeuroDyGait(重建 / 预测)

2.4 进阶损失预告(精读时再深入,先认脸)

Center loss(FBMSNet 用,论文式 2):让同类样本的特征向各自类中心靠拢。

$$ L_C=\frac{1}{2}\sum_i \lVert f_i-c_{y_i}\rVert^2 $$

$f_i$ 是样本 $i$ 的特征,$c_{y_i}$ 是它所属类的中心。CE 负责"把不同类分开",center loss 负责"把同类聚紧",两者配合(总损失 $=L_{CE}+\lambda L_C$)特征更可分。中心 $c$ 的更新规则留到精读。

对比损失(NeuroDyGait 用):拉近语义相近、推远不相近的样本。它的 relative contrastive(式 6–8)更复杂,整块留暑假,现在不碰。

Chapter 03模型怎么学:梯度下降与反向传播

3.1 优化目标

把所有参数记作 $\theta$,要解 $\displaystyle\min_\theta L(\theta)$。没有解析解,所以用迭代一点点逼近。

3.2 梯度下降

梯度 $\nabla L$ 指向"$L$ 增长最快的方向",所以往反方向走能让 $L$ 变小:

$$ \theta \leftarrow \theta - \eta\,\nabla L(\theta) $$

$\eta$ 是学习率:太大震荡甚至发散,太小学得慢。几何上 = 沿最陡下降方向迈一小步,反复迈到谷底。

3.3 反向传播 = 在计算图上反向求导

网络是很多函数的复合,求 $\partial L/\partial(\text{每个参数})$ 要用链式法则(你高数有)。反向传播就是高效地、从输出往输入逐层复用中间结果地算这些梯度。

C / 数据结构视角:前向 = 按计算图(DAG)正向求值;反向 = 反向遍历这张图、自顶向下累积梯度,本质是在 DAG 上做"反向的动态规划",每条边的局部导数只算一次、被复用。
★ 关键推导 · 两层网络的反向传播(手把手)

列向量约定。网络:输入 → 隐藏层(ReLU) → 输出层(Softmax) → CE。

前向:

$$ z_1=W_1x+b_1,\quad a_1=\mathrm{ReLU}(z_1),\quad z_2=W_2a_1+b_2,\quad \hat{y}=\mathrm{softmax}(z_2),\quad L=\mathrm{CE}(\hat{y},y) $$

反向($\delta$ 表示损失对某个 $z$ 的梯度):

$$ \begin{aligned} \delta_2&=\frac{\partial L}{\partial z_2}=\hat{y}-y &&(d_2,1)\\[3pt] \frac{\partial L}{\partial W_2}&=\delta_2\,a_1^{\top} &&(d_2,d_1)\\[3pt] \frac{\partial L}{\partial b_2}&=\delta_2 &&\\[3pt] \delta_1&=\big(W_2^{\top}\delta_2\big)\odot \mathrm{ReLU}'(z_1) &&(d_1,1)\\[3pt] \frac{\partial L}{\partial W_1}&=\delta_1\,x^{\top} &&(d_1,d_0)\\[3pt] \frac{\partial L}{\partial b_1}&=\delta_1 && \end{aligned} $$

其中 $\mathrm{ReLU}'(z_1)$ 是逐元素的 $0/1$ 掩码。拿到所有梯度后代入 3.2 更新。训练循环的骨架就是:前向算损失 → 反向算梯度 → 更新参数 → 重复。

3.4 一次更新多少数据:batch、epoch、优化器

3.5 正则化:防过拟合的常用招

Chapter 04卷积神经网络 CNN

4.1 为什么不用全连接处理信号

EEG 是 $(\text{通道}\times\text{时间})$ 的二维数据,时间点上千。全连接参数 = 输入维度 $\times$ 神经元数,爆炸,且没利用"局部 + 平移"结构。卷积用一个小核滑动,参数少、抓局部、平移不变。

4.2 卷积运算与输出尺寸

核在输入上滑动,每个位置做"逐元素相乘再求和"。C 视角:就是滑动窗口 + 嵌套 for 循环的点积,核的系数可学习。

一维(沿时间)输出尺寸:

$$ \text{out}=\left\lfloor \frac{in+2p-k}{s}\right\rfloor + 1 $$

$p$ 是两端补零数,$s$ 是步长。same padding + $s=1\Rightarrow \text{out}=in$(长度不变,FBMSNet 大量用)。例:$in=1000,k=15$,same,$s=1\Rightarrow1000$;若 $p=0,s=1\Rightarrow 1000-15+1=986$。二维就按高、宽各算一遍。

4.3 池化 Pooling

在小窗口取代表值降分辨率:Max pooling(取最大)、Average pooling(取平均)。注:FBMSNet 发现对 EEG 节律,算方差 / log-variance 比 max/avg 更有效,这是它的设计点。

4.4 批归一化 BatchNorm

对每批数据把某层输出标准化,再用可学习的 $\gamma,\beta$ 缩放平移:

$$ \hat{x}=\frac{x-\mu_{\text{batch}}}{\sqrt{\sigma^2_{\text{batch}}+\epsilon}},\qquad y=\gamma\hat{x}+\beta $$

稳住每层输入分布,训练更快更稳、允许更大学习率。你三篇都在卷积后接它。

4.5 ★ depthwise / separable 卷积(FBMSNet 的关键)

普通卷积:每个输出通道都"看遍"所有输入通道。

$$ \text{参数量}\approx k\cdot C_{in}\cdot C_{out} $$

depthwise 卷积:每个输入通道用自己的一个核,通道间不混(输出通道数 $=C_{in}$)。

$$ \text{参数量}\approx k\cdot C_{in} $$

separable = depthwise + pointwise(1×1):先 depthwise 抓空间,再 1×1 混通道。

$$ k\cdot C_{in}+C_{in}\cdot C_{out},\qquad \frac{\text{separable}}{\text{普通}}\approx \frac{1}{C_{out}}+\frac{1}{k}\ (\text{大幅省参}) $$

对应 FBMSNet:它的"空间卷积"用核 $(C,1)$ 的 depthwise 横跨所有 EEG 通道,等价一组空间滤波器(类似经典 BCI 的 CSP),既省参又契合 EEG 物理意义。EEGNet、FBCNet 也都靠 depthwise。

4.6 把概念贴到 FBMSNet 结构图(只走流程,不精读)

原始 EEG (C×T)
  → 滤波器组:分成 9 个频带 (4–40Hz)        【信号处理,第 6 章】
  → 多尺度时间卷积 (MixConv,多种核大小)     【卷积,第 4 章】
  → 空间卷积 (depthwise, 核 (C,1))           【depthwise,4.5】
  → BatchNorm + Swish                        【4.4 / 1.4】
  → log-variance(按窗口算对数方差)          【4.3 备注】
  → 全连接 + Softmax → 分类                   【1.4 / 2.2】
损失 = 交叉熵 + λ·center loss                 【2.2 / 2.4】

能把这条链讲顺,就达到本章目标了。看不懂的块标记一下,留给暑假。

Chapter 05注意力与 Transformer(入门,只建直觉)

本章目标:暑假读后两篇时不发怵。会拆解公式即可,深啃留暑假。

5.1 注意力的直觉

CNN 看"局部邻域",注意力让每个位置直接看全局、并按相关性加权:与我越相关的位置权重越大。一句话——注意力 = 按相关性做加权平均

5.2 Q / K / V 三个角色

比喻:拿问题 Q 和每条资料的标签 K 比对,算出匹配度,再按匹配度把资料内容 V 加权取回。

5.3 ★ 自注意力公式拆解

$$ \mathrm{Attention}(Q,K,V)=\mathrm{softmax}\!\left(\frac{QK^{\top}}{\sqrt{d}}\right)V $$

逐步拆(设 $Q\in\mathbb{R}^{n\times d},K\in\mathbb{R}^{m\times d},V\in\mathbb{R}^{m\times d_v}$):

  1. 相似度:$S=QK^{\top}$,元素 $S_{ij}=q_i\cdot k_j$(点积越大越相关),$S\in\mathbb{R}^{n\times m}$。
  2. 缩放:除以 $\sqrt{d}$。
  3. 归一化:对 $S$ 每一行做 softmax → 注意力权重 $A$(每行和为 1)。
  4. 加权求和:输出 $=A V$,用权重把各个 value 混合。
★ 为什么除以 √d

若 $q,k$ 各维独立、均值 0 方差 1,则 $q\cdot k=\sum_{l=1}^{d} q_l k_l$ 的方差 $\approx d$、标准差 $\approx\sqrt{d}$。$d$ 越大,点积越易出现很大值,softmax 被推到饱和区(输出近 one-hot),梯度趋近 0、训练困难。除以 $\sqrt{d}$ 把方差拉回 $\sim1$,让 softmax 处在梯度健康的区间。

5.4 多头 / 位置编码 / 交叉注意力(直觉即可)

到这里,后两篇 Transformer 的"零件"你都认识了,暑假再组装。

Chapter 06信号处理常识(够用就行)

纯阅读,无需推导,累的时候看。目标:看懂论文预处理段落的术语。

6.1 采样率与奈奎斯特

采样率:每秒采多少点(EEG 250Hz、重采样到 200Hz)。奈奎斯特:要无失真还原频率 $f$,采样率至少 $2f$。脑电关心 4–40Hz,几百 Hz 足够。

6.2 滤波器

6.3 傅里叶变换(直觉)

任何信号可分解成不同频率正弦波的叠加。傅里叶变换把信号从时域换到频域,看它由哪些频率组成。FFT 是其快速算法,把复杂度从 $O(N^2)$ 降到 $O(N\log N)$ —— NeuroFusion-Trans 用它给同步提速。

6.4 互相关(衡量对齐)

衡量两个信号在不同时间偏移 $\tau$ 下有多对齐:

$$ R_{xy}(\tau)=\sum_t x(t)\,y(t+\tau),\qquad \tau^{*}=\arg\max_{\tau} R_{xy}(\tau) $$

NeuroFusion-Trans 用它找 EEG 与 EMG 的最佳对齐量 $\tau^{*}$,再平移做同步(论文式 4、5、7)。

Chapter 07EEG/EMG/BCI 领域常识 + 评估指标

7.1 基本概念

这正是 NeuroFusion-Trans 要融合两者的动机:EEG 给意图、EMG 给执行,互补。

7.2 运动想象与节律

运动想象 MI:只在脑中想象动作而不真动(FBMSNet 解码它)。SMR 感觉运动节律:运动相关脑区的振荡。ERD / ERS:想象/执行时相关频段能量下降(ERD)或上升(ERS),是 MI 可被解码的生理基础。

7.3 电极、通道、频带

7.4 常见数据集(认脸即可)

BCIC-IV-2a:9 人、22 通道、4 类 MI(左/右手、双脚、舌头)。OpenBMI:54 人、2 类 MI(左/右手)。GED / FMD:步态-EEG 数据(NeuroDyGait 用)。

7.5 ★ 评估指标(读论文必用)

分类:

$$ \text{Accuracy}=\frac{\text{预测正确数}}{\text{总数}},\qquad F_1=\frac{2\cdot\text{precision}\cdot\text{recall}}{\text{precision}+\text{recall}} $$ $$ \text{precision}=\frac{TP}{TP+FP},\qquad \text{recall}=\frac{TP}{TP+FN} $$ $$ \kappa=\frac{p_o-p_e}{1-p_e}\quad(\text{扣掉"瞎猜也能蒙对"的部分,比准确率更严}) $$ $$ \mathrm{MCC}=\frac{TP\cdot TN-FP\cdot FN}{\sqrt{(TP+FP)(TP+FN)(TN+FP)(TN+FN)}}\quad(\text{类别不平衡时更可靠,有多分类推广}) $$

$p_o$ = 实际一致率(= 准确率),$p_e$ = 随机情况下的期望一致率。

回归(NeuroDyGait 用):

$$ r=\frac{\mathrm{cov}(y,\hat{y})}{\sigma_y\,\sigma_{\hat{y}}}\ (\text{趋势一致性}),\quad R^2=1-\frac{\sum_i(y_i-\hat{y}_i)^2}{\sum_i(y_i-\bar{y})^2}\ (\text{解释方差}),\quad \mathrm{RMSE}=\sqrt{\frac{1}{n}\sum_i(y_i-\hat{y}_i)^2} $$

可视化 t-SNE:把高维特征降到 2 维画散点,看不同类别是否分得开。三篇都用它展示特征可分性。

Appendix核心公式速查表

激活

$$ \sigma(x)=\tfrac{1}{1+e^{-x}},\ \sigma'=\sigma(1-\sigma)\quad \mathrm{ReLU}=\max(0,x)\quad \mathrm{Swish}=x\sigma(x)\quad \hat{y}_i=\tfrac{e^{z_i}}{\sum_j e^{z_j}} $$

损失

$$ \mathrm{MSE}=\tfrac{1}{N}\textstyle\sum(\hat{y}-y)^2\qquad L_{CE}=-\textstyle\sum_k y_k\log\hat{y}_k\qquad \boxed{\ \tfrac{\partial L}{\partial z}=\hat{y}-y\ } $$ $$ L_C=\tfrac{1}{2}\textstyle\sum\lVert f_i-c_{y_i}\rVert^2 $$

学习

$$ \theta\leftarrow\theta-\eta\nabla L\qquad \delta_2=\hat{y}-y,\ \tfrac{\partial L}{\partial W_2}=\delta_2 a_1^{\top},\ \delta_1=(W_2^{\top}\delta_2)\odot\mathrm{ReLU}'(z_1),\ \tfrac{\partial L}{\partial W_1}=\delta_1 x^{\top} $$

卷积

$$ \text{out}=\lfloor (in+2p-k)/s\rfloor+1\quad\text{普通}=k C_{in}C_{out}\quad\text{depthwise}=k C_{in}\quad(\text{separable 省参}\approx\tfrac{1}{C_{out}}+\tfrac{1}{k}) $$

注意力 · 信号 · 评估

$$ \mathrm{softmax}\!\left(\tfrac{QK^{\top}}{\sqrt{d}}\right)V\qquad R_{xy}(\tau)=\textstyle\sum_t x(t)y(t+\tau) $$ $$ \kappa=\tfrac{p_o-p_e}{1-p_e}\quad r=\tfrac{\mathrm{cov}(y,\hat{y})}{\sigma_y\sigma_{\hat{y}}}\quad R^2=1-\tfrac{\sum(y-\hat{y})^2}{\sum(y-\bar{y})^2}\quad \mathrm{RMSE}=\sqrt{\text{mean}((y-\hat{y})^2)} $$

配视频用:每章先读本手册(把 ★ 推导自己跟写一遍),再看对应视频补直觉——第 1–3 章配 3Blue1Brown 神经网络系列 + 李宏毅机器学习前几讲;第 4 章配 d2l 卷积章节;第 5 章配李宏毅 Transformer + Illustrated Transformer;第 6–7 章当背景资料读。能默出附录里的 ★ 推导,暑假精读 FBMSNet 就完全无障碍。