扩散模型是如何实现 AI 绘画的
输入一句话就能生成一张图,背后主流的技术是扩散模型(Diffusion Model)。它的思想出乎意料地直观:先学会把图片一步步破坏成噪声,再学会把噪声一步步还原成图片。生成时从纯噪声出发逆向还原,就”画”出了一张新图。 前向扩散:加噪训练的第一半是破坏过程: 拿一张真实图片,按固定计划逐步加入高斯噪声 经过足够多步后,图片变成纯噪声,信息完全丢失 这个过程是预定义的、不需要学习的,它的作用是为模型制造”从噪声到图片”的各种中间状态样本。 反向去噪:生成训练的第二半是学习还原: 训练一个神经网络(通常是 U-Net),输入”带噪图片 + 当前步数”,预测本轮加入的噪声 把预测的噪声减掉,就得到更干净一点的图 损失函数衡量预测噪声与真实噪声的差距 生成时从随机纯噪声开始,重复”预测噪声→减去→更清晰”几十步,最终得到一张训练集中从未存在过的新图。模型学的不是复制图片,而是自然图像的分布规律。 文本如何控制画面纯扩散模型只能随机生成,让”文字指挥画画”靠的是条件注入: 用文本编码器(如 CLIP)把提示词转成语义向量 通过交叉注意力机制,在每一步去噪时让图像特征”关注”文本...
常用的提示词技巧有哪些
同一个模型,不同提示词的输出质量可以天差地别。原因在前面聊大模型训练时说过:模型本质是”条件续写”,提示词就是它续写的全部前提。提示工程(Prompt Engineering)要做的,就是把意图、上下文和约束表达成模型最容易正确续写的形式。 基础技巧 角色设定:开头声明”你是一位资深 Java 架构师”,让模型进入对应知识分布与语气 明确任务:动词开头说清要做什么,”总结””对比””改写”比含糊的”看看”好得多 给出上下文:背景资料、目标读者、输入数据直接贴进提示词,别假设模型知道 约束输出:指定格式(Markdown 表格 / JSON)、长度、语言,减少返工 少样本示例(Few-shot)与其描述规则,不如给例子: 零样本:直接问,靠模型通用能力 少样本:给 2-3 个”输入→期望输出”的示例,模型会模仿示例的格式与判断标准 对格式敏感或带主观判断的任务(情感分类、文案风格),few-shot 往往比长篇规则描述更有效。 思维链(Chain of Thought)对推理类问题,让模型”先想再答”: 加一句”请逐步推理后再给出结论”,准确率显著提升 原理:中间...
AI Agent 是如何规划和使用工具的
普通的大模型调用是”一问一答”:给提示词,返回文本。而 AI Agent(智能体)让模型从”会说”变成”会做”:围绕一个目标自主地规划步骤、调用工具、观察结果、修正行动,直到任务完成。 什么是 Agent一个 Agent 通常由四部分组成: 大模型:负责理解、推理与决策的”大脑” 规划:把大目标拆解为可执行的步骤 记忆:短期记忆(当前对话上下文)与长期记忆(向量库持久化) 工具:搜索、代码执行、数据库查询、API 调用等外部能力 模型本身只会生成文本,工具让它的双手伸向真实世界。 核心循环:思考-行动-观察Agent 的运行是一个循环(ReAct 范式): 思考(Reason):分析当前状态,决定下一步做什么 行动(Act):调用某个工具,带上参数 观察(Observe):读取工具返回结果,作为新的上下文 循环以上步骤,直到认为目标达成,输出最终答案 例如”帮我查北京明天天气并写进日报”:Agent 先调天气 API,观察结果,再调文档工具写入,最后汇总回复。每一步的决策都由模型根据累积上下文做出。 工具调用:Function Calling工程上,工具以”函数签名”(名...
检索增强生成解决了什么问题
大模型再强也有三个绕不开的短板:知识停留在训练截止日期、对私有数据一无所知、容易一本正经地幻觉。检索增强生成(RAG, Retrieval-Augmented Generation)的思路是:不让模型背答案,而是先帮它查资料,再让它基于资料作答。 为什么需要 RAG 知识过时:模型不知道训练截止之后发生的事 私有知识:公司内部文档、个人笔记从未进入训练语料 幻觉:模型凭参数”印象”作答时,可能编造不存在的事实 可追溯:业务上要求答案能给出出处,纯生成做不到 RAG 把”记忆”外置到可更新的知识库,模型只负责理解与表达,事实由检索到的文档兜底。 RAG 的基本流程离线建库: 文档切分:按段落或固定长度把长文档切成 chunk(保留适当重叠) 向量化:用 Embedding 模型把每个 chunk 转成语义向量 入库:向量存入向量数据库(Milvus、pgvector、Elasticsearch 等) 在线问答: 把用户问题同样向量化 在向量库中检索最相似的 top-k 个 chunk 把问题与检索到的 chunk 拼进提示词,交给大模型生成答案 模型回答时”手里有资料”,...
智能体是如何从奖励中学会决策的
强化学习和监督学习最大的不同在于:没有人事先告诉智能体”正确答案”,它只能靠自己在环境里试错,根据奖励信号慢慢摸索出最优策略。这套”从奖励中学会决策”的机制,是游戏 AI、机器人控制乃至大模型对齐(RLHF)的共同底座。 决策框架:马尔可夫决策过程强化学习的问题通常被建模为马尔可夫决策过程(MDP): 状态 S:环境当前的局面,如棋盘布局、机器人关节角度 动作 A:智能体在当前状态下能做的选择 奖励 R:执行动作后环境给出的即时反馈 策略 π:从状态到动作的映射,也就是智能体最终要学的东西 “马尔可夫”假设下一步只与当前状态有关,与历史无关。目标不是眼前奖励最大,而是长期累计奖励最大——这就带来了取舍:有时要牺牲短期利益(弃子抢攻)。 价值函数与 Q-learning怎么衡量”长期利益”?引入价值函数: 状态价值 V(s):从状态 s 出发,按当前策略走到底能拿多少累计奖励 动作价值 Q(s, a):在状态 s 执行动作 a 之后再按策略走的累计奖励 Q-learning 的思想很朴素:维护一张 Q 表(或用一个网络近似 Q 函数),每次交互后用”实际拿到的奖励 + 对未...
计算机视觉是如何从 CNN 走到 ViT 的
计算机视觉要解决的核心问题是:如何从像素矩阵中理解内容。这条技术路线经历了从手工特征到卷积神经网络(CNN),再到把 Transformer 引入视觉(ViT)的三次跃迁,每一次都是”表示方式”的升级。 卷积与池化:CNN 的两大法宝图像有两个特性:局部相关(像素和邻域关系最密切)、平移不变(猫在左上角还是右下角都是猫)。CNN 用两种操作对应这两个特性: 卷积:小卷积核在图上滑动提取局部特征,参数共享大幅减少参数量 池化:下采样降分辨率,保留主要特征并获得一定的平移鲁棒性 多层卷积堆叠后,网络从边缘纹理逐层抽象到部件和物体,与深度学习的层次化表示一脉相承。 从 AlexNet 到 ResNet:网络越深越好吗2012 年 AlexNet 在 ImageNet 上大幅领先传统方法,宣告深度学习统治视觉的开始。之后网络越堆越深,但深到一定程度出现退化:训练误差反而上升。ResNet 用残差连接(让层学习输入与输出的差值)解决了深层网络的梯度问题,把网络推到上百层,成为后续无数模型的骨干。 ViT:把图像交给 TransformerTransformer 在 NLP 成功后,Vi...
从词向量到 Transformer 经历了什么
计算机只认识数字,要让机器处理语言,第一步是把文字变成向量。自然语言处理这几年的爆发,本质上是一条表示能力不断升级的路线:从静态词向量,到序列模型,再到注意力机制和 Transformer。 词向量:让词可计算早期用 one-hot 表示词,向量维度等于词表大小且彼此正交,”猫”和”狗”毫无相似可言。word2vec 改变了这一点: 通过”用上下文预测词”或”用词预测上下文”训练出低维稠密向量 语义相近的词向量距离也近,甚至能做 king - man + woman ≈ queen 这样的类比运算 但词向量是静态的:”苹果”在”吃苹果”和”苹果发布新机”里是同一个向量,无法区分多义。 RNN 与 LSTM:处理序列语言是序列,RNN 让网络按时间步逐词读入并维护一个隐藏状态,理论上能建模上下文。问题是梯度在长链上相乘,长距离依赖学不动(梯度消失)。LSTM 用门控机制缓解了这一问题,成为多年主流,但它必须串行计算,训练慢,且超长文本的记忆依然有限。 注意力机制:抓重点翻译”我喜欢你”时,生成”you”应该重点看”你”而不是”我”。注意力机制允许模型在生成每个输出时,动态地对输...
ChatGPT 这类大语言模型是怎么训练出来的
很多人以为 ChatGPT 是把问答库背下来了,其实它的训练目标和想象中最朴素的那种一致:预测下一个词。给定前文,让模型输出概率分布上最合理的下一个 token。整个训练分为三个阶段,可以概括为”先博览群书,再学听话,最后对齐人类偏好”。 预训练:博览群书用海量文本(网页、书籍、代码)做自监督学习,不断玩”填空接龙”: 输入一段文字,遮住或截断后半部分,让模型预测 模型在 Transformer 架构上堆到数十上百层、数千亿参数 这个阶段消耗绝大部分算力,目的是把语言知识、世界知识、推理模式压进参数里 预训练结束得到的是”基座模型”(Base Model),它只会续写文本,还不会好好回答问题——你问它”什么是缓存”,它可能续写出十种不同风格的解释开头。 指令微调:学会听话用人工构造的”指令-回答”对(Instruction Tuning / SFT)继续训练: 数据形如:问”把这句话翻译成英文”,答”…” 让模型学会识别意图、按格式作答、遵循约束 这一步之后模型才变成”助手”形态,即 SFT 模型。但此时它仍可能输出有害内容或一本正经地胡说。 RLHF:对齐人类...
深度学习到底在学什么
“深度学习”里的”深度”指的是神经网络的层数。传统机器学习需要人工设计特征(比如识别猫要先手工定义耳朵形状、胡须长度),而深度学习把”特征提取”这件事也交给了模型:用多层网络逐层自动学习从原始数据到抽象概念的表示。这就是它到底在学的东西——表示(representation)。 从神经元到神经网络一个神经元做的事情很简单:把输入加权求和,加上偏置,再过一个非线性激活函数: y = f(w1*x1 + w2*x2 + ... + b) 单个神经元只能表达线性边界加一次非线性,能力有限。但把神经元按层堆叠、层层连接,网络就获得了拟合复杂函数的能力。所谓”训练”,就是通过数据不断调整这些权重 w 和偏置 b。 为什么要”深”层数的意义在于特征的层次化: 浅层学到边缘、纹理等低级特征 中层组合成部件,如眼睛、车轮 深层形成语义概念,如”猫脸””一辆车” 每一层都在把上一层的输出变换成更抽象、更利于判别的表示。理论上单层宽网络也能拟合任意函数,但实践中深层结构的参数效率高得多,泛化也更好——这和写代码时分层抽象是同一个道理。 怎么学:反向传播网络学参数靠的是反向传播(Backprop...
监督学习、无监督学习与强化学习有什么区别
机器学习最核心的问题是:机器如何从数据中学到规律?按照数据形态和反馈信号的不同,学习范式主要分为监督学习、无监督学习和强化学习三种。它们的本质区别在于有没有标签、以及反馈以什么形式给出。 监督学习监督学习像一个带着标准答案刷题的学生:每条训练数据都带有”正确答案”(标签),模型不断比较自己的预测与标签之间的差距,纠正偏差,最终学会从输入到输出的映射。 分类:预测离散值,如垃圾邮件识别、图像分类、疾病诊断 回归:预测连续值,如房价预测、销量预估、气温预报 常见算法有线性回归、逻辑回归、决策树、支持向量机、神经网络等。监督学习的前提是有标注数据,而标注成本往往是项目里最大的一笔开销,这也是为什么很多场景退而求其次选择半监督或弱监督方案。 无监督学习无监督学习像没有答案的自学:数据只有输入没有标签,模型需要自己发现数据中的结构和模式。 聚类:把相似的样本归到一起,如用户分群、文档主题划分(K-Means、DBSCAN) 降维:把高维数据压缩到低维且尽量保留信息,如 PCA,常用于可视化和特征压缩 异常检测:找出不符合多数模式的样本,如刷卡欺诈、设备故障预警 无监督学习不依赖标注...










