1.序列模型
图像分类:由当前输入得到当前输出;
时间序列预测:由当前+过去输入得到当前输出。
自回归模型:保留一些对过去观测的总结,并且同时更新预测和总结。
这就产生了基于的估计,以及更新的模型。
2.数据预处理
特征编码:由于机器学习算法都是在矩阵上执行线性代数计算,所以参加计算的特征必须是数值型的,对于非数值型的特征需要进行编码处理。对于离散型数据的编码,我们通常会使用两种方式来实现,分别是标签编码
和独热编码。
文本分类:
(1)按字母处理:将给定文本切分为字母序列;
(2)按单词处理:将给定文本切分为单词序列。
3.文本预处理与词嵌入
文本预处理:一篇文章可以被简单地看作一串单词序列,甚至是一串字符序列。 文本的常见预处理步骤通常包括:
(1)将文本作为字符串加载到内存中;
(2)将字符串切分为词元(如单词和字符);
(3)建立一个字典,将拆分的词元映射到数字索引;
(4).将文本转换为数字索引序列,方便模型操作。
词嵌入: 是一种词的类型表示,具有相似意义的词具有相似的表示,是将词汇映射到实数向量的方法总称。词嵌入是自然语言处理的重要突破之一,是指单个词在预定义的向量空间中被表示为实数向量,每个单词都映射到一个向量,将独热向量映射为低维向量从而解决问题。
4.RNN模型
如何建模序列数据:
图像分类中使用:1对1模型;输入和输出维度:固定;
文本处理中:输入维度不定(可能一直有单词输入);输出维度不定或者是1(直接最终理解结果)
RNN问题:随着输入的增加会产生“遗忘”问题。
RNN误差反传:
每个时间步的隐状态和输出可以写为:
通过一个目标函数在所有T个时间步内评估输出 和对应的标签之间的差异:
按照链式法则:
既依赖于又依赖于,其中的计算也依赖于,因此,用链式法则产生:
使用下面的公式移除上一步的循环计算:
截断时间步:可以在𝜏步后截断上式中的求和计算
5.长短期记忆网络(LTSM)
LSTM的核心思想是通过引入“门”的概念来控制信息的流动。这些门可以学习何时让信息通过,何时阻止信息通过,从而实现对重要信息的保留和对不重要信息的遗忘。具体来说,LSTM中有三个重要的门:输入门、遗忘门和输出门。
- 遗忘门(Forget Gate):遗忘门决定了上一时刻的单元状态中有多少信息需要保留到当前时刻。它接收上一时刻的输出和当前时刻的输入,通过sigmoid函数得到一个介于0和1之间的值,这个值决定了上一时刻单元状态中的哪些信息需要保留。
- 输入门(Input Gate):输入门决定了当前时刻的输入有多少信息需要被更新到单元状态中。同样,它也接收上一时刻的输出和当前时刻的输入,通过sigmoid函数得到一个介于0和1之间的值。同时,LSTM还有一个候选单元状态(Candidate Cell State),它是对当前输入的一个非线性变换,用于更新单元状态。
- 单元状态更新:根据遗忘门和输入门的输出,LSTM更新单元状态。具体来说,它将上一时刻的单元状态与遗忘门的输出相乘,得到需要保留的信息;将候选单元状态与输入门的输出相乘,得到需要更新的信息;然后将两者相加,得到当前时刻的单元状态。
- 输出门(Output Gate):输出门决定了当前时刻的单元状态有多少信息需要输出到下一层。它接收上一时刻的输出和当前时刻的输入,通过sigmoid函数得到一个介于0和1之间的值。同时,LSTM将当前时刻的单元状态通过tanh函数进行非线性变换,然后与输出门的输出相乘,得到当前时刻的输出。
LSTM通过引入门控机制,有效解决了传统RNN在处理长序列时的梯度消失或梯度爆炸问题,使得LSTM能够捕获序列数据中的长期依赖关系。输入输出与RNN相同,参数量是RNN的4倍。
6.深度循环神经网络
深度循环神经网络是循环神经网络(RNN)的扩展,通过在RNN的基础上增加隐藏层的数量,使得模型能够捕捉更为复杂和深层次的序列数据特征。DRNN通过堆叠多个循环层来构建深度结构,每一层都接收前一层的输出作为输入,从而实现对输入序列的逐层抽象和表示。
7.生成对抗网络
生成对抗网络(GANs, generative adversarial networks)是由Ian Goodfellow等人在2014年的Generative Adversarial Networks一文中提出。
模型通过框架中(至少)两个模块:生成模型(Generative Model)和判别模型(Discriminative Model)的互相博弈学习产生相当好的输出。
原始 GAN 理论中,并不要求 G 和 D 都是神经网络,只需要是能拟合相应生成和判别的函数即可。但实用中一般均使用深度神经网络作为 G 和 D 。
生成对抗网络(GAN)的初始原理十分容易理解,即构造两个神经网络,一个生成器,一个鉴别器,二者互相竞争训练,最后达到一种平衡(纳什平衡)。
GAN 启发自博弈论中的二人零和博弈(two-player game),GAN 模型中的两位博弈方分别由生成式模型(generativemodel,G)和判别式模型( discriminative model,D)充当。
生成模型 G 捕捉样本数据的分布,用服从某一分布(均匀分布,高斯分布等)的噪声 z 生成一个类似真实训练数据的样本,追求效果是越 像真实样本越好。生成器 𝐺 输入为隐空间的随机数据,它的作用是生成类似于真实样本的数据。 𝐺的结构可以是任意的,可使用多层感知器(MLP)、卷积神经网络(CNN) 或任何其他结构,只要输入和输出的尺寸与隐空间和真实数据的维数相匹配。
判别模型 D 是一个二分类器,估计一个样本来自于训练数据(而非生成数据)的概率,如果样本来自于真实的训练数据,D 输出大概率, 否则,D 输出小概率。鉴别器𝐷接收来自训练数据集的真实样本或G提供的生成样本,其作用是估计输入属于真实数据集的概率。输入来自真实样本时输出1,来自生成样本时 输出0。鉴别器𝐷 同样可选择任意的神经网络结构。
8.NeRF
NeRF(Neural Radiance Fields)最早在2020年ECCV会议上发表,作为BestPaper,其将隐式表达推上了一个新的高度,仅用 2D 的 posed images 作为监督,即可表示复杂的三维场景。NeRF迅速发展起来,被应用到多个技 术方向上,例如新视点合成、三维重建等等,并取得非常好的效果。NeRF其输入稀疏的多角度带pose的图像训练得到一个神经辐射场模型,根据这个模型可以渲染出任意视角下的清晰的照片,也可以简要概括为用一 个MLP神经网络去隐式地学习一个三维场景。