一.过拟合、欠拟合及其解决方案
一类是模型无法得到较低的训练误差,我们将这一现象称作欠拟合(underfitting);
另一类是模型的训练误差远小于它在测试数据集上的误差,我们称该现象为过拟合(overfitting)。
在实践中,我们要尽可能同时应对欠拟合和过拟合。虽然有很多因素可能导致这两种拟合问题,在这里我们重点讨论两个因素:模型复杂度和训练数据集大小。
方法1:L2 范数正则化
方法2:丢弃法
二.梯度消失、梯度爆炸
三.循环神经网络进阶
1.GRU
2.LSTM
长短期记忆long short-term memory :
遗忘门:控制上一时间步的记忆细胞
输入门:控制当前时间步的输入
输出门:控制从记忆细胞到隐藏状态
记忆细胞:⼀种特殊的隐藏状态的信息的流动
四.机器翻译及相关技术
数据预处理:将数据集清洗、转化为神经网络的输入minbatch
分词:字符串—单词组成的列表
建立词典:单词组成的列表—单词id组成的列表
载入数据集训练
用到的模型:Encoder-Decoder:encoder:输入到隐藏状态
decoder:隐藏状态到输出
Sequence to Sequence模型
五.注意力机制与Seq2seq模型
**注意力机制:**在“编码器—解码器(seq2seq)”⼀节⾥,解码器在各个时间步依赖相同的背景变量(context vector)来获取输⼊序列信息。当编码器为循环神经⽹络时,背景变量来⾃它最终时间步的隐藏状态。将源序列输入信息以循环单位状态编码,然后将其传递给解码器以生成目标序列。然而这种结构存在着问题,尤其是RNN机制实际中存在长程梯度消失的问题,对于较长的句子,我们很难寄希望于将输入的序列转化为定长的向量而保存所有的有效信息,所以随着所需翻译句子的长度的增加,这种结构的效果会显著下降。
与此同时,解码的目标词语可能只与原输入的部分词语有关,而并不是与所有的输入有关。例如,当把“Hello world”翻译成“Bonjour le monde”时,“Hello”映射成“Bonjour”,“world”映射成“monde”。在seq2seq模型中,解码器只能隐式地从编码器的最终状态中选择相应的信息。然而,注意力机制可以将这种选择过程显式地建模。
注意力机制框架
**注意力机制常用的有两种:**点积注意力,多层感知机注意力
六.Transformer
在之前的章节中,我们已经介绍了主流的神经网络架构如卷积神经网络(CNNs)和循环神经网络(RNNs)。让我们进行一些回顾:
CNNs 易于并行化,却不适合捕捉变长序列内的依赖关系。
RNNs 适合捕捉长距离变长序列的依赖,但是却难以实现并行化处理序列。
为了整合CNN和RNN的优势,[Vaswani et al., 2017] 创新性地使用注意力机制设计了Transformer模型。该模型利用attention机制实现了并行化捕捉序列依赖,并且同时处理序列的每个位置的tokens,上述优势使得Transformer模型在性能优异的同时大大减少了训练时间。
下图展示了Transformer模型的架构,与9.7节的seq2seq模型相似,Transformer同样基于编码器-解码器架构,其区别主要在于以下三点:
1.Transformer blocks:将seq2seq模型重的循环网络替换为了Transformer Blocks,该模块包含一个多头注意力层(Multi-head Attention Layers)以及两个position-wise feed-forward networks(FFN)。对于解码器来说,另一个多头注意力层被用于接受编码器的隐藏状态。
2.Add and norm:多头注意力层和前馈网络的输出被送到两个“add and norm”层进行处理,该层包含残差结构以及层归一化。
3.Position encoding:由于自注意力层并没有区分元素的顺序,所以一个位置编码层被用于向序列元素里添加位置信息。
七.卷积神经网络基础
填充和步幅
多输入通道和多输出通道
池化
八.leNet
LeNet分为卷积层块和全连接层块两个部分。
九.卷积神经网络进阶
AlexNet
特征:
1.8层变换,其中有5层卷积和2层全连接隐藏层,以及1个全连接输出层。
2.将sigmoid激活函数改成了更加简单的ReLU激活函数。
3.用Dropout来控制全连接层的模型复杂度。
4.引入数据增强,如翻转、裁剪和颜色变化,从而进一步扩大数据集来缓解过拟 合。
使用重复元素的网络(VGG)
⽹络中的⽹络(NiN)