GPT介绍和DL常见网络
参考资料
关于 GPT
应用场景示例
-
金融科技
- 智能投顾系统:提供实时市场分析、个性化投资组合建议
- 风险控制:动态监测异常交易行为,生成风险评估报告
-
医疗健康
- 临床辅助诊断:分析患者病史和检查结果,提供鉴别诊断参考
- 药物研发:加速分子结构分析、文献数据挖掘和临床试验设计
-
零售电商
- 智能导购:基于用户画像的个性化商品推荐系统
- 客服自动化:7×24 小时多语言客户支持解决方案
-
内容创作领域
- 影视游戏:剧本生成、角色设定、关卡设计全流程辅助
- 广告营销:自动生成广告文案、社交媒体内容及传播策略
模型基础
-
LM
Language Model,语言模型,这是 ChatGPT 的基石的基石
通过已经有的词预测接下来的词
Greedy Search(贪心搜索),Beam Search(集束搜索)
简单模型就是把一句话切成一个个词,然后统计概率,这类模型叫做 N-gram 语言模型,是最简单的语言模型,这里的 N 表示每次用到的上下文长度
实际中我们往往不叫一个词为「词」,而是「Token」,你可以将其理解为一小块,可以是一个字,也可以是两个字的词,或三个字的词,取决于你怎么 Token 化 -
Transformer
包含 Encode、Decode、Multi-Head 多头自注意力机制
关注 Encoder 中 Token 的信息的机制就是 Attention(注意力机制)
Encode 是知道数据的,所以建模时可以同时利用当前的 历史 Token 和未来(前面的)Token;但 Decode 时,因为是一个 Token 一个 Token 输出来的,所以只能根据历史 Token 以及 Encoder 的 Token 表示进行建模,而 不能利用未来的 Token
Multi-Head 简单来说,就是把上面这种自注意机制重复 Multi 次(Multi 个 Head),每个注意到的信息不一样,这样就可以捕获到更多信息 -
GPT
生成式预训练 Transformer
从 GPT-1、GPT-2、GPT-3、GPT-3.5(ChatGPT)一直到现在的 GPT-4
模型参数不断扩大
预训练就是在大量语料上进行预先的训练
展望
如今各大公司纷纷推出自己动辄便数千亿级参数量的模型,所用数据更是无法统计
尽管语言模型并非监督训练,但 数据过滤,人工反馈 等阶段还是需要高昂的人力成本
这样超大模型加海量数据的组合,每次训练都需要耗费 数百万美元,用 数千台 GPU 来完成
即使后续更新时并不需要从头训练,但花费依旧不菲
当前对话模型更多关注在开放域场景,合理的回复往往不唯一,这意味着在训练阶段很难制作标签,同时在推理时模型也比较容易“放飞自我”,生成千奇百怪的回复结果,其中难免调用一些错误的知识
针对这种“一对多”的场景,很多研究致力于探索对话模型的 可控生成,通过添加一些控制因素,使生成文本满足一定的约束
**提示学习(Prompt Learning)**本身就是一种 在输入上加入可控因素 从而引导正确的生成,这已经成了最新流行的范式
另外在解码阶段,也可以适当调整策略 对生成的多条候选回复结果重新排序,尽可能选择出 包含目标词汇 的回复结果,控制生成内容
吴恩达和 openai 的 prompt 课程
模板
|
|
指南
-
RLHF
Reinforcement Learning from Human Feedback
从人类反馈中学习 -
提示词书写规范
用一些特定符号隔开,让模型知道需要处理的文本是哪部分,例如:1 2 3 4""" 文本 """ --- 文本 --- < 文本 > <tag> 文本 </tag> -
指定输出格式
让 ChatGPT 用 JSON 或者 HTML 等格式输出
也可以自定义输出格式例如 1) 2) 3)from IPython.display import display, HTML
可以在 jupyter notebook 中展示 HTML -
给定少量的训练提示
在 prompt 中给定一个或多个 示例及回答,让 ChatGPT 模仿 -
多任务情况
分点列出 step,指定每一步要完成的内容 -
评判对错
在让 ChatGPT 判断某个事物对错之前,先让它自己进行 逻辑推断 得到结论 -
对于生成虚假的内容
为了减少 Hallucinations 幻觉,先让 ChatGPT 找到比较可靠的相关信息
再 引用 进行回答
迭代
不断改进提示词
想法 → 实现 → 获得实验结果 → 误差分析 → 新的想法 → 实现 →…
- 优化 prompt 的步骤
清晰明确地写出 prompt
分析为什么没能得到想要的输出
改进想法和 prompt
重复上述过程
应用
-
摘要
将 ChatGPT 用于长评论的 总结
可以控制 ChatGPT 回复的句子长度:通过 限制句子个数、字数 等等
修改 prompt 使其适用于 特定的业务、情景 -
推理
ChatGPT 可用于 评论情感分析、商品评价、对新闻报刊的主题提取- 零样本学习
没有提供带标签的训练样本- Zero-Shot:直接将任务输入给模型,让它输出任务结果
- Few-Shot:给模型提供一些示例,然后再给出任务,让它给出输出结果
- 零样本学习
-
转换
ChatGPT 用于 文本翻译-
文本格式 转换
正式或者非正式场合
字典转 JSON 或者 HTML 等等 -
语气 转换
例如给同事或者教授写邮件时,需要注意书写的语气 -
拼写、语法检查
from redlines import Redlines
该库可以用于检查文本之间的差异 -
-
扩展
ChatGPT 用于 文本扩写,例如可以生成个性化电子邮件
参数temperature控制回答的 随机性、多样性,值越大则越多样
聊天机器人
|
|
system 作为高层指令,起到引导作用,设置 assistant 的行为
要使得模型提取或者记住信息,需要用到上下文 context
可以在 message 中提供或者类似上述方法存储在 message 列表中
import panel as pn
可以生成 GUI 界面
常见网络概览
深度学习是机器学习的一个分支
受到人类大脑结构启发,以深层人工神经网络(Artificial Neural Networks,ANNs)为基础
用于处理各种任务,包括 分类、回归、图像处理、自然语言处理、语音识别和强化学习 等
核心特点:自动特征提取、端到端学习、依赖大量数据和计算资源
前馈神经网络
Feedforward Neural Networks,FNNs
- 最简单的神经网络结构,信息单向流动(输入层 → 隐藏层 → 输出层)
- 典型应用:MNIST 手写数字分类、房价预测
- 局限性:无法处理序列数据或空间结构数据
卷积神经网络
Convolutional Neural Networks,CNNs
- 核心组件:
- 卷积层(局部感受野,权重共享)
- 池化层(降采样,如 Max Pooling)
- 全连接层
- 专长领域:图像分类(ResNet)、目标检测(YOLO)、语义分割(U-Net)
- 经典模型:LeNet-5、AlexNet、VGG、ResNet
循环神经网络
Recurrent Neural Networks,RNNs
- 特点:时间维度上的循环连接,可处理变长序列
- 应用场景:时间序列预测、简单文本生成
- 缺陷:梯度消失/爆炸问题显著
长短时记忆网络
Long Short-Term Memory,LSTM
- RNN 的改进变体,通过三门机制(输入门/遗忘门/输出门)控制信息流
- 新增细胞状态(Cell State)实现长期记忆
- 典型应用:机器翻译(早期 Seq2Seq)、股价预测
门控循环单元
Gated Recurrent Unit,GRU
- LSTM 的简化版:合并细胞状态和隐藏状态,只有更新门和重置门
- 优势:参数更少,训练更快
- 应用:语音识别、中等长度文本生成
自注意力模型
Transformer
- 革命性架构(2017 年提出):
- 多头注意力机制(Multi-Head Attention)
- 位置编码替代循环结构
- 并行化处理能力极强
- 衍生模型:
- BERT(双向 Transformer)
- GPT(自回归 Transformer)
- ViT(视觉 Transformer)
生成对抗网络
Generative Adversarial Networks,GANs
- 双网络博弈框架:
- 生成器(Generator):伪造数据
- 判别器(Discriminator):鉴别真伪
- 著名变体:
- DCGAN(深度卷积 GAN)
- CycleGAN(图像风格转换)
- StyleGAN(高分辨率人脸生成)
图神经网络
Graph Neural Networks,GNNs
- 处理非欧几里得数据:社交网络、分子结构
强化学习网络
- Deep Q-Network(DQN):结合 Q-Learning 与 CNN
- Policy Gradient:直接学习策略函数