DDPM的核心思想
本文旨在用最简短的篇幅,描述DDPM的核心思想与设计动机,仅作为日后回顾DDPM的一个记忆锚点,具体公式和代码请参考其它资料。本文尽可能省略一切数学推导,跳略的推导会标注出来。 参考:https://zhuanlan.zhihu.com/p/650394311 生成模型的目标,就是从一张随机图像(如纯噪声)开始,生成一张“真实”的图像,这里的“真实”是指生成的图像符合实际图像的概率分布(例如,一个人拥有黄色或白色皮肤的概率是比较大的,但是拥有蓝色皮肤却是几乎不可能的)。尽管现在大多数生成模型都支持根据输入的文字生成对应内容的图片,但那也只是通过在模型的每个模块加上文字的特征表示而训练得到的,对模型的整体结构影响不大,因此本文主要介绍DDPM从噪声生图的核心思想。 DDPM(以及所有生成式模型)的优化目标是让模型产生的图片分布和真实图片分布尽量相似,那么就有了以下推导过程: 为了使模型产生的图片分布和真实图片分布尽可能相似,我们要求 ${argmin}_\theta KL(P_{data}||P_{\theta})$ 通过计算拆解,优化目标等价于...
李宏毅-扩散模型-学习笔记
原视频链接:https://www.bilibili.com/video/BV14c411J7f2原论文链接:https://arxiv.org/abs/2006.11239 1. DDPM 什么是扩散模型(Diffusion...
Swin Transformer论文精读-学习笔记
原论文链接:https://arxiv.org/abs/2103.14030原视频链接:https://www.bilibili.com/video/BV13L4y1475U 前言Swin Transformer,也就是Hierarchical Shifted Window Vision Transformer,是一种基于Transformer架构的计算机视觉模型,旨在解决传统Transformer在处理高分辨率图像时计算成本过高的问题。Swin Transformer通过引入窗口注意力机制和滑动窗口策略,有效地降低了计算复杂度,同时保持了强大的特征表达能力。Swin Transformer还在ViT的基础上,引入了类似传统CNN的分块的层级式结构,从而能够提取图像在不同尺度上的特征。此外,Swin Transformer在CV的绝大多数任务上都取得了优异的表现,再次证明了Transformer在CV领域的可行性与有效性,成为近年来计算机视觉领域的重要研究方向之一。 Swin...
ViT论文精读-学习笔记
原论文链接:https://arxiv.org/abs/2010.11929原视频链接:https://www.bilibili.com/video/BV15P4y137jb CV常见任务对比 任务 目标 结果形式 是否区分个体 精细度 图像分类 识别类别 标签 (Label) 否 最低(全局) 目标检测 定位+识别 矩形框 (Box) 是 中等(区域) 语义分割 像素分类 类别掩码 (Mask) 否 高(像素) 实例分割 个体像素分类 实例掩码 (Mask) 是 最高(像素) 前言传统的计算机视觉任务通常使用卷积神经网络(CNN)来处理图像数据。然而,近年来,Transformer架构在自然语言处理(NLP)领域取得了巨大成功,引起了研究人员的兴趣,尝试将其应用于计算机视觉任务。Vision...
为什么写博客
为什么写博客?记录一下自己写博客的原因。 笔记。帮助自己日后快速回忆起学过的内容 为有同样疑问的学习者答疑解惑(虽然现在都用AI了) 费曼学习法,在写博客的同时自己也在整理思路和语言,加深理解 博客在某种意义上也算是“养成系游戏”,可以从中获得成就感满足感,激励自己坚持下去 我一直坚持一种理念:没有记录的学习等于没有学习,只有把学到的东西记录下来,才能真正算是学会了,否则遗忘的速度是非常快的。
Zero to Hero学习笔记
Neural Networks: Zero to Hero学习笔记1.Micrograd12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697class Value: def __init__(self, data, _children=(), _op='', label=''): self.data = data self.grad = 0.0 self._backward = lambda: None self._prev = set(_children) self._op = _op self.label = label def __repr__(self): return...
提示词工程(二)
DAIR.AI 提示工程指南 个人总结1.模型基本设置 Temperature:决定模型输出是稳定保守,还是随机,有创造性。对于质量保障,数据分析等确定性任务,建议将温度设置为0;对于创意写作等需要多样性的任务,可以适当提高温度。 Top_p:同样衡量模型输出的确定性。使用Top-p意味着只有词元集合(tokens)中具有top_p概率质量的才会被考虑用于响应(0.1 表示只考虑包含在最高 10% 概率质量中的 token),因此较低的top_p值会选择最有信心的响应。这意味着较高的top_p值将使模型考虑更多可能的词语,包括不太可能的词语,从而导致更多样化的输出。一般建议是改变 Temperature 和 Top P 其中一个参数就行,不用两个都调整。 Max length:限制模型输出的最大长度,防止输出过长或过短。 Stop sequence:指定一个或多个停止序列,当模型生成这些序列时,模型将停止生成更多的文本。这对于控制输出的结构和内容非常有用。 Frequency penalty:惩罚模型重复使用相同的词语或短语,通过给重复数量多的 Token...
提示词工程(一)
吴恩达“提示词工程”课程笔记0.两种大语言模型(LLM) Base LLM:基于Next Token Prediction任务进行训练,主要功能是预测文本中的下一个词,训练完成后不再更新,无法学习新知识。此外,Base LLM比起完成任务更像是续写原文,在给定一个提问后,它可能会预测出后续的一系列问句而不是回答问题。 Instruction-tuned LLM:通过给Base LLM输入“问题-答案”序列对,微调原模型,能够更好地理解和执行用户指令,回答问题,执行任务,性能更好。现代的LLM通常是Instruction-tuned...
从Next Token Prediction到智慧涌现
原文链接:https://www.zhihu.com/question/1968361285579150015/answer/1988303137023467994 大模型的本质原理不是概率统计,而是压缩+模拟,或者说,它是在某个临界点从统计跃迁到了智能压缩,而这个临界点即为所谓的“智慧涌现”,或Grokking现象。 预测不是目的,而是手段,是模型将客观世界的规律与表征压缩到自己固定大小的参数中的手段 对模型的大量预训练以及强化学习手段(RLHF等)实际上都是在进行类似于蒙特卡洛树搜索的操作,基于梯度的参数随机优化方法与庞大的参数量,从模拟的角度看,与蒙特卡洛方法“随机穷举”的思想有异曲同工之妙。 提示词工程可以看作是一种“推理时梯度下降”,精心编写的提示词实际上在输入层就在一定程度上实现了特征的解耦与提炼,使模型在一开始就达到了在粗糙的提示词下需要经过前向推理以提取特征才能达到的某种“中间状态” 模型的思考能力(CoT)与逐步的逻辑推理是追求极致优化(降低loss)的必然结果,这一结果的产生是建立在大量的数据支持的基础上的(Scaling...