【深度生成模型】Diffusion model-公式推导

(前提:数学原理很多)

第一件事,前向过程:不断往输入数据中加噪声,变成纯噪声

在这里插入图片描述

每一步加入的噪声是不一样的,希望加噪的过程不断越来越多,理解为噪声的权重越来越大。
任意时刻的xt的分布计算,肯定和xt-1时刻关系最密集,在xt-1时刻加上噪声得到xt,随着时刻的增加,噪声的影响逐步增大,:
在这里插入图片描述

但在实际计算中,逐步递归太麻烦,考虑由x0直接推导得到xt:

在这里插入图片描述

红色的式子就是前向的扩散过程。

第二件事,逆向过程:逐步去噪

考虑由xt开始逆向去噪,由前向过程可知,目前已知的是xt,直接求x0太难,先求xt-1。
由于前向过程中可以由xt-1求得xt的分布,根据贝叶斯公式,可推得由xt求xt-1:
在这里插入图片描述

但是式子中xt-1的分布不知道,得有前向过程中的x0推导,因此在式子中都加上x0,对公式里的各项进行展开:
在这里插入图片描述

知道了右边各项的分布以后,可以求得左边的分布,这里注意,标准正态分布可以等价于指数分布:

在这里插入图片描述

把标准正态分布展开后,乘法相当于相加,除法相当于相减:
在这里插入图片描述继续对这个分布进行化简:

在这里插入图片描述

我们得到了均值和方差,这样通过xt求xt-1的分布也是已知的了,其中还存在一个问题,均值中的zt是什么?

zt就是要估计的每个时刻的噪声

zt直接求解求不出来,训练一个神经网络模型去预测在XT时刻下的噪声zt是什么,该怎么训练模型呢?
模型的损失怎么训练呢?损失是真实值与预测值的差,模型训练得到的预测值,真实值怎么得到呢?
很简单,在前向过程中,我们进行了加噪,加的噪声肯定是已知的,这个就相当于是真实值,然后预测值由模型预测得到。

<think>好的,我需要帮助用户寻找深度学习的练习题、资源和教程。首先,用户提供的引用中提到了几本书和教程,比如《python深度学习》[^1]、PyTorch教程[^2]、LeeDL Tutorial[^3],还有GitHub上的开源项目。这些是很好的资源,应该优先推荐。 接下来,用户可能需要不同类型的资源,包括理论书籍、实践教程、练习题集和社区资源。练习题方面,Kaggle竞赛和LeetCode算法题是不错的选择,可以锻炼实际应用能力。另外,书籍中的代码实践部分也可以作为练习,比如《深度学习入门》中的实现。 GitHub上的开源项目,比如LeeDL Tutorial和fast.ai课程,提供了大量实战项目和练习题,用户可以通过参与这些项目来提升技能。在线平台如Coursera和Udacity的课程通常包含作业和项目,这也是很好的练习资源。 还要考虑用户可能处于不同学习阶段,比如入门、进阶或实战,因此需要分层次推荐资源。例如,入门者可以从《python深度学习》开始,而进阶学习者可以参与Kaggle竞赛或阅读论文复现代码。 最后,确保所有推荐的资源都有引用来源,并且格式正确。检查是否有遗漏的重要资源,比如官方文档或知名社区,这些也是不可或缺的学习工具。整理好这些内容后,分点列出,结构清晰,便于用户查看。</think>以下是深度学习相关的练习题、资源和教程推荐,结合了理论和实践内容: ### 一、精选教程资源 1. **《Python深度学习》**(François Chollet著) - 特点:Keras框架入门,包含从神经网络基础到计算机视觉的完整案例 - 配套资源:书中所有代码示例均可通过GitHub获取 - 练习题建议:可尝试复现代码并修改网络结构观察效果变化 2. **PyTorch官方教程** - 包含60分钟快速入门教程和图像分类、文本生成等实战项目 - 推荐练习:完成官方Tutorial中的「CIFAR10图像分类」任务 3. **《LeeDL Tutorial 深度学习详解》** - GitHub星标超1万的开源教程,包含数学推导和代码实现 - 特色:每章配套习题含参考答案,例如: ```python # 习题示例:实现交叉熵损失函数 def cross_entropy(y_pred, y_true): return -np.sum(y_true * np.log(y_pred)) ``` - 建议:按照GitHub项目中的学习路线完成练习 ### 二、专项练习题资源 1. **Kaggle学习路径** - 微型课程:包含深度学习入门(含PyTorch/Keras双版本) - 配套练习:如「Digit Recognizer」手写数字识别竞赛 2. **《深度学习入门》(鱼书)习题** - 特色:从零实现神经网络,包含: $$ \text{ReLU}(x) = \max(0, x) $$ - 推荐练习:手动推导反向传播公式 3. **Stanford CS230课程作业** - 包含医疗图像分类、机器翻译等真实场景项目 - 需掌握的公式示例: $$ \text{Softmax}(z_i) = \frac{e^{z_i}}{\sum_{j=1}^K e^{z_j}} $$ ### 三、实战提升资源 1. **Papers With Code** - 结合论文复现最新模型,如Transformer、Diffusion Model - 练习建议:选择经典论文(如ResNet)复现核心模块 2. **fast.ai实战课程** - 特色:Top-down学习法,第一课即可实现图像分类器 - 代码示例: ```python from fastai.vision.all import * path = untar_data(URLs.PETS)/'images' dls = ImageDataLoaders.from_name_func(path, get_image_files(path), valid_pct=0.2, seed=42) learn = vision_learner(dls, resnet34, metrics=error_rate) ``` 3. **OpenMMLab实战营** - 涵盖目标检测、图像分割等进阶主题 - 提供完整实验环境和baseline代码 ### 四、学习建议 1. 入门阶段:先完成「MNIST手写识别」等基础项目 2. 提升阶段:通过Kaggle比赛理解模型调优技巧 3. 进阶阶段:参与GitHub开源项目或学术竞赛(如AI Challenger)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小镇躺不平家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值