4.1 序列模型
4.1.1 分类问题与预测问题的区别
- 图像分类:当前输入->当前输出
- 时间序列预测:当前+过去输入->当前输出
4.1.2 自回归模型
保留一些对过去观测的总结
h
t
{h_t}
ht,并且同时更新预测
x
^
t
{\hat x_t}
x^t和总结
h
t
{h_t}
ht。
这就产生了基于
x
^
t
=
P
(
x
t
∣
h
t
)
{\hat x_t} = P({x_t}|{h_t})
x^t=P(xt∣ht)
估计
x
^
t
{\hat x_t}
x^t,以及
h
t
=
g
(
h
t
−
1
,
x
t
−
1
)
{h_t} = g(h_{t-1},x_{t-1})
ht=g(ht−1,xt−1)
最终更新的模型:
4.2 数据预处理
4.2.1 特征编码
- 第1列表示年龄,是一个数值特征
- 第2列表示性别,是一个只有一位(0,1)的特征
- 第3列表示国籍,目前有197个国家
数值特征不适合表示类别,因此一般使用独热编码。国家编码从1开始,直到197。
因此,用一个199维的特征向量表达一个人的特征:
4.2.2 文本处理
- 按字母处理
给定文本片段,如:S=“…to be or not to be…”
将文本切分为字母序列:L=[…,“t”,“o”,“”,“b”,“e”,…]
- 按单词处理,文本切分(tokenization)
给定文本片段,如S=“…to be or not to be…”
将文本切分为单词序列:L=[…,to,be,or,not,to,be,…]
4.3 文本预处理
4.3.1 文本预处理
一篇文章可以被简单地看作一串单词序列,甚至是一串字符序列。我们将解析文本的常见预处理步骤。这些步骤通常包括:
- 将文本作为字符串加载到内存中。
- 将字符串切分为词元(如单词和字符)。
- 建立一个字典,将拆分的词元映射到数字索引。
- 将文本转换为数字索引序列,方便模型操作。
第一步:读取数据
第二步:词汇切分
将原始文本以文本行为为单位进行切分
第三步:构建词索引表
-
打印前几个高频词及索引
-
将每一条文本行转化成一个数字索引列表
4.3.2 文本嵌入
- 词嵌入(word embedding)
将独热向量映射为低维向量
原始向量:𝑣维;映射后:𝑑维,𝑑≪𝑣;
映射矩阵:𝑑×𝑣,根据训练数据学习得到
4.4 RNN模型
通过RNN建模序列数据如下图所示
5 深度学习展望
5.1 生成对抗网络
生成对抗网络(GANs, generative adversarial networks)是由Ian Goodfellow等人在2014年的Generative Adversarial Networks一文中提出。模型通过框架中(至少)两个模块:生成模型(Generative Model)和判别模型(Discriminative Model)的互相博弈学习产生相当好的输出。原始GAN理论中,并不要求G和D都是神经网络,只需要是能拟合相应生成和判别的函数即可。但实用中一般均使用深度神经网络作为G和D。一个优秀的GAN应用需要有良好的训练方法,否则可能由于神经网络模型的自由性而导致输出不理想。
生成对抗网络的整体结构如下所示:
- 生成模型G捕捉样本数据的分布,用服从某一分布(均匀分布,高斯分布等)的噪声z生成一个类似真实训练数据的样本,追求效果是越像真实样本越好。
- 判别模型D是一个二分类器,估计一个样本来自于训练数据(而非生成数据)的概率,如果样本来自于真实的训练数据,D输出大概率,否则,D输出小概率。
5.2 Transform模型
将Transformer模型看成是一个黑箱操作。在机器翻译中,就是输入一种语言,输出另一种语言。
- 从编码器输入的句子首先会经过一个自注意力(self-attention)层,这层帮助编码器在对每个单词编码时关注输入句子的其他单词。
- 自注意力层的输出会传递到前馈神经网络中。每个位置的单词对应的前馈神经网络都完全一样。
1.编码
编码器接收向量列表作为输入,接着将向量列表中的向量传递到自注意力层进行处理,然后传递到前馈神经网络层中,将输出结果传递到下一个编码器中。
2.注意力机制
-
第一步:从每个编码器的输入向量(每个单词的词向量)中生成三个向量。也就是说对于每个单词,我们创造一个查询向量、一个键向量和一个值向量。这三个向量是通过词嵌入与三个权重矩阵后相乘创建的。
-
第二步:计算得分。为这个例子中的第一个词“Thinking”计算自注意力向量,需要拿输入句子中的每个单词对“Thinking”打分。这些分数决定了在编码单词“Thinking”的过程中有多重视句子的其它部分。
-
第三步和第四步:将分数除以8(8是论文中使用的键向量的维数64的平方根,这会让梯度更稳定。这里也可以使用其它值,8只是默认值),然后通过softmax传递结果,使得到的分数都是正值且和为1
-
第五步:将每个值向量乘以softmax分数(为了准备之后求和)。这里的直觉是希望关注语义上相关的单词,并弱化不相关的单词(例如,让它们乘以0.001这样的小数)
-
第六步:对加权值向量求和然后即得到自注意力层在该位置的输出(在我们的例
子中是对于第一个单词)
5.3 大语言模型
大语言模型是基于海量文本数据训练的深度学习模型。它不仅能够生成自然语言文本,还能够深入理解文本含义,处理各种自然语言任务,如文本摘要、问答、翻译等。
5.3.1 大语言模型训练
-
无监督预训练
无监督预训练技术分为两个阶段,分别是语言模型预训练和掩码语言模型预训练。语言模型预训练的目标是预测下一个单词的概率,掩码语言模型预训练的目标是根据输入的部分文本预测掩码位置上的单词。 -
有监督训练微调技术
微调技术是ChatGPT实现对话生成的关键技术之一,它可以通过在有标注数据上进行有监督训练(人为问题回答),从而使模型适应特定任务和场景。微调技术通常采用基于梯度下降的优化算法,不断地调整模型的权重和偏置,以最小化损失函数,从而提高模型的表现能力。 -
奖励模型训练
一个奖励模型(RM)的目标是刻画模型的输出是否在人类看来表现不错。即,输入 [提示(prompt),模型生成的文本] ,输出一个刻画文本质量的标量数字。
-
强化学习语言模型优化
基于前面提到的预先富集的数据,从里面采样prompt输入,同时丢给初始的语言模型和我们当前训练中的语言模型(policy),得到俩模型的输出文本y1,y2。然后用奖励模型RM对y1、y2打分,判断谁更优秀。打分的差值便可以作为训练策略模型参数的信号
5.2 三维重构网络
NeRF(Neural Radiance Fields)最早在2020年ECCV会议上发表,作为Best Paper,其将隐式表达推上了一个新的高度,仅用2D的posed images作为监督,即可表示复杂的三维场景。NeRF迅速发展起来,被应用到多个技术方向上,例如新视点合成、三维重建等等,并取得非常好的效果。
5.3 大规模语言图像模型
- 考虑四个模式:图像、视频、点云和时间序列
- 探索九项特定任务,包括工业图像异常检测/定位、点云异常检测、医学图像异常检测/定位,逻辑异常检测,行人异常检测、交通异常检测和时间序列异常检测
- 评估包括15个数据集的多样性