::: hljs-right DATE: June 22, 2024 :::

自动混合精度(Automatic Mixed Precision, AMP)

自动混合精度(Automatic Mixed Precision, AMP)是一种在深度学习中使用的方法,通过在训练过程中混合使用 16 位和 32 位浮点数,来加速训练过程并减少显存使用,同时保持模型精度。

在 PyTorch 中,可以使用 torch.cuda.amp 模块来实现AMP

  • 使用 torch.cuda.amp.autocast() 在前向传播中启用混合精度计算
  • 使用 torch.cuda.amp.GradScaler 来缩放损失,以确保反向传播过程中的数值稳定性

差分隐私的其他噪音添加方法

  1. 指数机制(Exponential Mechanism):
    • 特点: 指数机制是一种通过引入指数分布的机制来添加噪音的方法。它允许在给定数据上进行查询,以概率分布的方式返回查询结果。
    • 应用: 适用于具有离散输出空间的查询任务,例如排名和分类。
  2. 特征量化(Quantization):
    • 特点: 在某些情况下,通过对数据进行离散化或特征量化,可以在一定程度上保护隐私。
    • 应用: 在处理某些类型的数据时,如连续数值数据,特征量化可以降低隐私泄露的风险。

不可微损失函数的处理办法

  • 近似梯度
  • 替换优化算法:使用一些不依赖梯度的优化算法,例如进化算法、模拟算法或模拟退火
  • 强化学习:策略梯度法

IS 和FID具体计算过程及步骤

  • IS

    • 预训练的卷积神经网络提取特征向量
    • 使用特征向量计算类别分布
    • 对每个类别计算KL散度
    • 对所有KL散度取平均值,然后取指数
  • FID

    • 提取真实数据和生成数据的特征向量
    • 计算二者之间的均值和协方差
    • Frechet距离计算:均值之间的欧氏距离+协方差矩阵之间的的2-范数

InfoGAN、VAE-GAN、BiGAN

stable diffusion 噪声添加

为了加快图像的生成过程,stble diffusion的论文不是在像素级别图像上进行扩散,而是在图像的压缩版本上运行,这个压缩(解压缩)通过自动编码器完成。自动编码器使用Image Encoder将图像处理成压缩信息,正向的扩散过程在隐空间上完成。噪声信息是应用于压缩的隐空间,而不是直接应用于像素图像。因此,噪声预测器被训练用来预测隐空间上的表示。

batchsize

batchsize 选取宜从小批量开始稳步增加 可以通过增加学习率或epoch数来补偿更大的batchsize

对于SGD(随机梯度下降)及其改良的一阶优化算法如Adagrad、Adam等减小batchsize,同时减小learning rate(退火算法)是没问题的,但是对于强大的二阶优化算法如共轭梯度法、L-BFGS来说,如果估计不好一阶导数,那么对二阶导数的估计会有更大的误差,这对于这些算法来说是致命的。 因此,对于二阶优化算法,减小batch换来的收敛速度提升远不如引入大量噪声导致的性能下降,因此在使用二阶优化算法时,往往要采用大batch。此时往往batch设置成几千甚至一两万才能发挥出最佳性能。https://cloud.tencent.com/developer/article/2063961