一、模型选择、过拟合和欠拟合
训练误差指模型在训练数据集上表现出的误差。泛化误差指模型在任意一个测试数据样本上表现出的误差的期望,并常常通过测试数据集上的误差来近似。
模型训练中常会出现的两类问题有:
1.欠拟合:模型无法得到较低的训练误差
2.过拟合:模型的训练误差远小于它在测试集上的误差
导致欠拟合和过拟合的因素有很多,其中两个:模型复杂度和训练数据集大小。
二、梯度消失、梯度爆炸
深度模型有关数值稳定性的典型问题是消失和爆炸。
当神经网络的层数较多时,模型的数值稳定性容易变差。
三、机器翻译
机器翻译(MT):将一段文本从一种语言自动翻译为另一种语言,用神经网络解决这个问题通常称为神经机器翻译(NMT)。 主要特征:输出是单词序列而不是单个单词。 输出序列的长度可能与源序列的长度不同。
基本的模型结构为Encoder-Decoder,具体的一种是Sequence-to-sequence,其结构如下:
四、注意力机制
在“编码器—解码器(seq2seq)”⼀节⾥,解码器在各个时间步依赖相同的背景变量(context vector)来获取输⼊序列信息。当编码器为循环神经⽹络时,背景变量来⾃它最终时间步的隐藏状态。将源序列输入信息以循环单位状态编码,然后将其传递给解码器以生成目标序列。然而这种结构存在着问题,尤其是RNN机制实际中存在长程梯度消失的问题,对于较长的句子,我们很难寄希望于将输入的序列转化为定长的向量而保存所有的有效信息,所以随着所需翻译句子的长度的增加,这种结构的效果会显著下降。
与此同时,解码的目标词语可能只与原输入的部分词语有关,而并不是与所有的输入有关。例如,当把“Hello world”翻译成“Bonjour le monde”时,“Hello”映射成“Bonjour”,“world”映射成“monde”。在seq2seq模型中,解码器只能隐式地从编码器的最终状态中选择相应的信息。然而,注意力机制可以将这种选择过程显式地建模。
五、卷积神经网络基础
本节介绍了卷积神经网络的基础概念,主要是卷积层和池化层,还有填充、步幅、输入通道和输出通道的含义。二维卷积层,常用于处理图像数据。
二维互相关(cross-correlation)运算的输入是一个二维输入数组和一个二维核(kernel)数组,输出也是一个二维数组,其中核数组通常称为卷积核或过滤器(filter)。卷积核的尺寸通常小于输入数组,卷积核在输入数组上滑动,在每个位置上,卷积核与该位置处的输入子数组按元素相乘并求和,得到输出数组中相应位置的元素。
二维卷积层将输入和卷积核做互相关运算,并加上一个标量偏置来得到输出。卷积层的模型参数包括卷积核和标量偏置。
卷积层得名于卷积运算,但卷积层中用到的并非卷积运算而是互相关运算。我们将核数组上下翻转、左右翻转,再与输入数组做互相关运算,这一过程就是卷积运算。由于卷积层的核数组是可学习的,所以使用互相关运算与使用卷积运算并无本质区别。
二维卷积层输出的二维数组可以看作是输入在空间维度(宽和高)上某一级的表征,也叫特征图(feature map)。影响元素x的前向计算的所有可能输入区域(可能大于输入的实际尺寸)叫做x的感受野(receptive field)。
我们介绍卷积层的两个超参数,即填充和步幅,它们可以对给定形状的输入和卷积核改变输出形状。
填充(padding)是指在输入高和宽的两侧填充元素(通常是0元素)
在互相关运算中,卷积核在输入数组上滑动,每次滑动的行数与列数即是步幅(stride)
网友评论