《数学建模》学习笔记

9.19

插值

双线性插值

blog:【上采样问题】双线性插值的几何中心点重合与align_corners

通常可以使用pytorch中的torch.nn.functional.interpolate()实现插值和上采样。

注:使用mode='bicubic’(双三次插值)时,可能会导致overshoot问题,即它可以为图像生成负值或大于255的值。如果你想在显示图像时减少overshoot问题,可以显式地调用result.clamp(min=0,max=255)。

blog: torch.nn.functional.interpolate()函数详解

blog: PyTorch:torch.clamp()用法详解

应用

  • demosaicing 去马赛克 单通道->三通道
  • torch.nn.ConvTranspose2d() 反卷积/转置卷积 先插值(填0)再卷积 不如最近邻上采样+卷积

blog: 反卷积(Transposed Convolution)详细推导

拟合

最小二乘线性回归

最小二乘与极大似然估计的等价性

正则化

  • Lasso回归 L1范数作为正则化项
  • Ridge回归 L2正则化应用于线性回归的损失函数时。
  • Elastic Net回归,L1 和 L2 正则化同时应用于线性回归的损失函数时。

为什么L1范数偏好稀疏解?

  • 软阈值算子

blog: L1正则化——为什么具有稀疏性呢?

应用

  • 噪声水平建模
  • 白平衡矫正

paper: Deep White-Balance Editing

我们的视觉系统具有自动白平衡的能力,这种能力称为色彩恒常性(Color Constancy),它能补偿环境中的照明,从而使物体被视为相同的颜色。

9.26

相关性分析

Pearson相关系数
\(r = \frac{Cov(X,Y)}{\sigma_X \sigma_Y}\)
其实等价于数据中心化后夹角的余弦

Spearman's rank相关系数
分别对两个变量X、Y做等级变换 (rank transformation),用等级RX和RY表示;然后按Pearson相关性分析的方法计算RX和RY的相关性
有一个隐藏的优点:对离群值不敏感

Kendall rank相关系数
对于没有并列排名的情况,肯德尔 τ 系数定义为:

\(\tau = \frac{(\text{一致对数} - \text{不一致对数})}{\frac{1}{2} n(n-1)}\)

应用

  • 图像质量评价方法的比较

SSIM,可以衡量图片的失真程度,也可以衡量两张图片的相似程度。与MSE和PSNR衡量绝对误差不同,SSIM是感知模型,即更符合人眼的直观感受。
SSIM由Zhou Wang提出。
通过求解不同图像质量评价方法和MOS平均意见得分的相关系数(SROCC、KRPCC、PLCC),来确定SSIM方法的优势。

website: SSIM, Structure Similarity Index Measure
blog: SSIM (Structure Similarity Index Measure) 结构衡量指标+代码

10.10

主成分分析(Principal component analysis, PCA)

讲了无数遍。数学推导、代码编写都要掌握。

  • 如何选择降维后的维度K?

应用

  • 人脸图像降维
    维度数大于样本数,怎么办? - 用SVD解PCA

paper: Eigenfaces for Recognition
blog about paper: 基于 PCA 的人脸识别方法——特征脸法[1]

10.17

聚类分析

什么是Q类聚类分析、R类聚类分析?
Q型聚类(Qualitative Clustering),也称为硬聚类(Hard Clustering),属于一种将样本划分为簇的聚类方法。
R型聚类(Relational Clustering),也称为软聚类(Soft Clustering)或模糊聚类(Fuzzy Clustering),属于一种将样本分配到多个簇中的聚类方法。每个簇之间可能存在交集。R型聚类通常采用相似性度量标准和集合论方法。一种按指标聚类的方法。

监督学习

应用

  • 图像去噪

无监督学习:Kmeans

怎么确定超参数k?肘部法

应用

  • 图像超分辨率

paper: Anchored Neighborhood Regression for Fast Example-Based Super-Resolution(2013)

paper: A+: Adjusted anchored neighborhood regression for fast superresolution(2015)

10.31

批归一化 Batch Normalization

【论文】Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift(2015)
【博客】深度解析Batch normalization(批归一化)
Pytorch实现:

C个均值

Transformer

2017年由Vaswani等人首次提出的深度学习架构。Transformer架构引入了自注意力机制(self-attention mechanism)

NHW个均值

11.7

层归一化

11.14

ControlNet
一个控制预训练图像扩散模型(例如 Stable Diffusion)的神经网络
【论文】Adding Conditional Control to Text-to-Image Diffusion Models(2023,ICCV Best)
【项目】ControlNet

高斯混合模型 Gaussian Mixture Model

EM 算法
一种迭代算法,1977 年由 Dempster 等人总结提出,用于含有隐变量(Hidden variable)的概率模型参数的最大似然估计。

和K-Means的对比。能告诉我们属于某一个簇的概率(soft method)

E步骤 - M步骤

《PRML》上有详细介绍。

11.21

高斯混合模型

生成模型

VAE GAN FLOW DDPM

高斯模型在Diffusion中的应用

【论文】Diffusion Models: A Comprehensive Survey of Methods and Applications

11.28

DDPM(2022)
DDIM
混合专家模型(MoE)

12.5

混合专家模型(MoE)

变分自编码器(VAE)

12.12

变分推断的目标是近似潜在变量(latent variables)在观测变量(observed variables)下的条件概率。等价于最小化KL散度。需要使用到平均场理论。

VAE中,编码器网络用于近似后验分布,也就是给定观测数据下的潜在变量的分布。解码器网络则用于定义数据的生成过程,即从潜在空间映射回观测空间。在VAE中,目标函数(也称为证据下界,Evidence Lower Bound, ELBO)由重构误差(reconstruction error)和正则化项(regularization term)组成,后者实际上就是负的KL散度,用来衡量编码器所学的分布与预设的先验分布(通常是标准正态分布)之间的差异。因此,训练VAE的过程等价于执行变分推断:最小化重构误差以确保模型能够很好地重现输入数据,同时最小化KL散度以保证潜在变量的分布接近我们所期望的先验分布。

重参数化技巧

VAE-GAN

VQVAE:
编码器输出不再是离散的;先验不再是标准正态分布
重构损失+码本匹配损失

VQGAN:
GAN对抗训练
引入感知损失

VQVAE的进一步改进:

  • IBQ Index Backpropagation Quantization 解决扩展性差、代码本探索问题

12.26

选择填空判断45分 15*3
简答题 55分

15平时+25大作业+60期末

期末冲刺

代码阅读专题

x = randn(10000,1);

01 数模概论

  1. 论文结构?(5+3+2)
    标题与摘要、问题重述、问题分析、模型假设、符号说明、模型的建立和求解、模型分析与检验、模型的评价、参考文献、附录

  2. 经典椅子腿问题(3)

  3. 什么是数学建模?(5)
    面向实际问题,利用计算机技术,将数学理论应用于实际,通过建立模型、求解模型来解决实际问题的应用型课程。

02 插值

  1. 拉格朗日插值公式、评价(4+4,缺点很重要)
  • 简单易用

  • 不需要解线性方程组

  • 灵活性

  • 全局插值

  • 计算复杂度高

  • 不稳定性(Runge's phenomenon)

  • 不适合高维

  • 不具备局部控制性

  1. 分段线性插值公式、评价(4+4)

  2. 三次样条插值
    n+1个点,n段三次函数
    二阶导数连续->2n-2个条件
    还需要2个边界条件:m边界条件 / M边界条件 / 周期性边界条件

  3. 以上插值的应用?

  • 神经网络激活函数(MTLU)
  • 色调映射(Tone Mapping),将HDR(High Dynamic Range)图像映射为LDR(Low Dynamic Range)图像
  • 色彩增强
  1. 二维插值 & 图像插值
    网格均匀节点 or 散乱不均匀节点的matlab代码
均匀:interp2(x0,y0,z0,x,y,'method')
不均匀:griddata(x0,y0,z0,x,y,'method')
Method可选nearest/linear/cubic/spline。

双线性插值
重点区分align_corners=False / True

y = torch.nn.functional.interpolate(x[None,None,...], scale_factor=2, mode='bilinear', align_corners=False)
3x3->6x6
mode还可以取bicubic

注:使用mode='bicubic’(双三次插值)时,可能会导致overshoot问题,即它可以为图像生成负值或大于255的值。如果你想在显示图像时减少overshoot问题,可以显式地调用result.clamp(min=0,max=255)

  1. 以上插值的应用?
  • demosaicing 去马赛克 单通道->三通道
  • torch.nn.ConvTranspose2d() 反卷积/转置卷积 先插值(填0)再卷积
    但不如最近邻上采样+卷积

03 拟合

  1. 最小二乘
p=polyfit(X,Y,n)

公式也要会

  1. 最小二乘与极大似然估计的等价性

  2. 稳定性?正则化

  • Lasso回归 L1范数作为正则化项
  • Ridge回归 L2正则化应用于线性回归的损失函数时。
  • Elastic Net回归,L1 和 L2 正则化同时应用于线性回归的损失函数时。
  1. 应用?
  • 噪声水平建模
  • 白平衡矫正
  1. 插值和拟合的应用场景区别?(3+3)

插值法(Interpolation):

  • 数据精确可靠,无明显误差或噪声。
  • 需要在已知数据点之间进行精确计算。
  • 应用于计算机图形学、精密工程等领域。

拟合法(Approximation/Fitting):

  • 数据存在误差或噪声,需要考虑统计误差。
  • 需要分析数据的总体趋势或规律。
  • 应用于实验数据分析、机器学习等领域。

04 相关性分析

  1. 相关关系的四种分类

  2. 三种相关系数(可能出填空)

三个的公式都要会

  • Pearson相关系数
    其实等价于数据中心化后夹角的余弦
R = corr(y, x, 'Type', 'Pearson');
  • Spearman's rank相关系数
    分别对两个变量X、Y做等级变换 (rank transformation),用等级RX和RY表示;然后按Pearson相关性分析的方法计算RX和RY的相关性
    有一个隐藏的优点:对离群值不敏感

  • Kendall rank相关系数
    对于没有并列排名的情况,肯德尔 τ 系数定义为:

\(\tau = \frac{(\text{一致对数} - \text{不一致对数})}{\frac{1}{2} n(n-1)}\)

  1. 应用?
  • 图像质量评价方法的比较

通过求解不同图像质量评价方法和MOS平均意见得分的相关系数,来确定SSIM方法的优势。

05 主成分分析

  1. PCA流程(会考)
    (1)对原始数据矩阵进行标准化处理
    (2)求协方差矩阵Z
    (3)特征分解
    (4)确定主成分个数
    根据累积贡献率 or 根据其它准则
    (5)求主成分得分-新的变量值

  2. 如何选择降维后的维度K?

  3. 应用?

  • 人脸图像降维

维度数大于样本数,怎么办——用SVD解PCA

06 聚类分析

  1. 基本步骤
    (1)预处理,数据清洗,特征选择或特征抽取;
    (2)定义相似度或相异度;
    (3)选定聚类算法,确定聚类数量,根据相似度,对数据进行划分,即聚类;
    (4)评估结果。

  2. 距离与范数
    pytorch实现

lp_distance = torch.dist(vector1, vector2, p=p)
chebyshev_distance = (vector1 - vector2).abs().max()
lp_distance = torch.linalg.vector_norm(vector1-vector2, ord=p)
  1. 矩阵范数
  • 范数条件(3+1)
  • 谱(L2)范数
  • 矩阵条件数cond_number = np.linalg.cond(A)
  • Frobenius(弗罗贝尼乌斯)范数
  • L1范数
  • L∞范数
  • 核范数
  1. 矩阵范数应用
  • 矩阵分解
  • 推荐系统
  • 图像去噪
  1. 聚类分析
    方差加权距离:即数据标准化后求欧氏距离
    马氏距离
    变量聚类通常称为R型聚类。在R型聚类中,相似矩阵可以是夹角余弦矩阵,也可以是皮尔逊相关矩阵。
    Pearson相关性系数转化为Pearson距离(d=1-r)

  2. 无监督学习:Kmeans
    核心目标?
    优缺点(3+4)

  3. 怎么确定超参数k?肘部法

  4. 应用

  • 图像超分辨率

第一步:字典学习法求得低/高分辨率字典对。
第二步:每个字典元素求一个最小二乘回归函数。
第三步:测试低分辨率图像块与低分辨率字典求夹角余弦,选定对应的回归函数映射到高分辨图像块。

07 逻辑回归

  1. 各种激活函数
    silu(x)
    swish(x)
    Hardswish(x)
    Gelu(x)

  2. 逻辑回归假设输出 y服从伯努利分布。极大似然,得到交叉熵损失。

  3. 能够简要介绍 归一化BN LN 应用场景 作用 参数初始化 实现公式与技巧

整体来看归一化的作用(3+3):
内部协变量偏移
加快收敛
泛化
降低对权值初始化敏感性
允许更高学习率
改善深层网络

BN算法流程

m=nn.BatchNorm2D(100) # 100是NCHW的C
m=nn.BatchNorm2D(100, affine=False) # 无可学习参数
model.train() # Dropout 与 BatchNorm 等会生效
model.eval()

BN优点(+1条)

LN:在训练和测试阶段执行的计算完全相同。通过在每个时间步分别计算归一化统计量,层归一化可直接应用于循环神经网络。层归一化在稳定循环网络的隐藏状态动态方面非常有效。
均值计算:X.mean(-1)
NHW个均值

Gamma和beta的作用是什么?保持模型的表达能力、避免归一化带来的信息丢失

BN和LN对比
维度、批次大小依赖、应用场景、效果

08 高斯混合模型

  1. 应用场景?
  • 聚类分析
  • 密度估计
  • 图像处理(区分不同区域或对象)
  • 模式识别
  1. 和kmeans对比
  • GMM 允许每个数据点属于多个簇,并给出相应的概率,属于软聚类。
  • GMM 更灵活,可以捕捉不同形状和大小的簇
  1. 公式?

  2. Box-Muller变换
    高斯分布的采样。

  3. EM不考

  4. 生成模型和判别模型的区别

  • 生成模型:尝试理解数据的分布或生成新数据样本。它试图通过学习输入数据的概率分布来模拟数据的产生过程。生成模型可以用于估计联合概率分布P(X, Y),其中X是特征变量,Y是类别标签。
  • 判别模型:专注于决策边界,即直接从数据中学习如何将输入映射到输出。它通常用来估计条件概率分布P(Y|X),即给定一个输入X时输出Y的概率。
  1. 生成模型有哪些
  • 生成对抗网络(GANs)
  • 变分自编码器(VAEs)
  • 扩散模型(Diffusion Models)
  • RNN和LSTM(可以是判别,可以是生成)
  1. 扩散模型不考

09 混合专家模型

  1. 定义(5点)
    混合专家模型(Mixture of Experts,MoE)
  • 多个“专家”子模型
  • 处理不同类型的输入/任务
  • 输入数据通过一个“门控网络”(gating network)来选择和分配给最适合的专家模型
  • 最终的预测结果由这些专家的输出加权合并而成
  • 尤其适用于复杂任务或大规模数据,因为不同的专家可以专注于数据的特定特征或任务的某个方面,从而提升整体模型的效率和性能。
  1. 优势(4+1)
  • 计算效率
  • 模型性能
  • 扩展性
  • 多任务学习
  • (稀疏激活特性,更快响应)
  1. 缺点
  • 需要把所有专家模型都加载在内存中,显存压力巨大
  • 训练不稳定过拟合泛化性差
  1. 结构图(专家网络、门控网络、加权输出)

  2. MoE + transformer
    把transformer的FFN换成MoE即可

10 变分自编码

  1. 变种不考

  2. 什么是变分自编码器?
    将潜在表示建模为概率分布,能够生成多样化的数据(生成模型)。通过引入随机性来解决传统自编码器中隐空间可能存在的不连续性和稀疏性问题。

  3. 各部分输入输出

  • 编码器(Encoder):是一个神经网络,接受输入数据并输出隐变量分布的参数。这一步骤是将高维输入数据压缩成一个低维的隐空间表示的过程。
  • 解码器(Decoder):这是另一个神经网络,它以隐变量z为输入,输出p(x|z),尝试重构出原始输入数据。解码器的作用是从隐空间映射回原始数据空间。
  1. 网络结构图

  2. 损失函数

  • 重构损失(Reconstruction Loss):衡量解码器输出与原始输入之间的差异。常用均方误差(MSE)。鼓励解码器生成与输入尽可能相似的重建。
  • 正则化项(Regularization Term):也称为KL散度损失,确保隐变量的分布接近于预设的先验分布(通常是标准正态分布)。鼓励编码器输出的后验接近先验分布,从而避免潜在表示空间过度分散并促进良好的潜在结构学习。
  • 公式略。
  1. 步骤总结(5步)
  • 编码器:
    输入数据 x,输出潜在分布 q(z∣x)=N(z; μ(x), σ2(x)) ,用正态分布建模。
    参数化表示:通过神经网络输出均值 μ(x)和标准差 σ(x)。
  • 潜在空间采样:
    采样潜在变量 z∼q(z∣x)=N(μ(x), σ2(x)) 。
    使用重参数化技巧: z=μ(x) + σ(x)⋅ϵ, ϵ∼N(0,1). 使采样过程可导,从而支持反向传播。
  • 解码器:
    输入潜在变量 z,输出 p(x∣z) ,即重建数据的分布。
  • 计算损失函数:
    重构损失+KL散度损失- 反向传播和参数更新
  1. 评价(3+2)
  • 有生成能力
  • 潜在空间连续
  • 数学解释性
  • 生成质量有限,模糊,不如GAN
  • KL权重问题,导致生成分布和数据分布不匹配

11 Self-Attention与半二次分裂算法

Self-Attention

  1. 维度计算
  2. 如果不除以根号下维度,Softmax输出大多接近0,一个权重接近1,容易导致梯度消失问题。
  3. 假设输出特征维度都是d,那么单头和多头注意力参数量相同,但多头注意力将 Query、Key、Value 的计算分配到多个注意力头上,每个头关注不同的特征子空间,因此可以学习不同特征维度的关系,有更好的表达能力。
  4. Mask 的作用:如果某些位置被屏蔽(mask),这些位置的注意力得分会被设置为极小值(如 −∞)。经过 Softmax 后,其对应的权重接近 0。例子:Look-Ahead Mask 是一个下三角矩阵,屏蔽掉所有未来的 token。对于序列长度为 4,Look-Ahead Mask 的矩阵形式要记住。模型在生成当前 token 时仅关注当前及之前的 token
  5. Positional Encoding,让Transfomer感知输入序列的顺序。

半二次分裂算法(Half-Quadratic Splitting, HQS)

用于求解具有复杂正则化项或非凸项的优化问题。

它的核心思想是通过引入辅助变量,将复杂的目标函数分裂为两个简单的子问题,其中一个涉及二次项,从而降低直接优化的难度。

  1. 应用?
  • 图像处理:图像去噪、去模糊、超分辨率。
  • 稀疏信号恢复:压缩感知、稀疏编码。
  • 医学成像:CT/MRI 重建。
  • 机器学习:Lasso 回归、稀疏神经网络
  1. 算法步骤

  2. 具体应用

  • Plug-and-play图像复原

  • Unfolding图像复原

押题

KL散度的公式?应用?
Box-Muller变换?
Transformer结构?

posted @ 2024-09-26 15:51  藤君  阅读(170)  评论(0)    收藏  举报