深度学习PyTorch | 总结

过拟合、欠拟合

1、在数据不够多的时候,k折交叉验证是一种常用的验证方法。

2、过拟合是指训练误差达到一个较低的水平,而泛化误差依然较大。
欠拟合是指训练误差和泛化误差都不能达到一个较低的水平。
发生欠拟合的时候在训练集上训练误差不能达到一个比较低的水平,所以过拟合和欠拟合不可能同时发生。

3、模型复杂度低容易导致欠拟合;训练数据集小容易导致过拟合;过拟合还可以使用权重衰减和丢弃法来缓解,即使在一个比较小的数据集上使用了权重衰减和丢弃法之后也能够达到一个比较好的效果。

4、L2范数正则化在损失函数的基础上添加了L2范数惩罚项;丢弃法通过随机丢弃层间元素,使模型不依赖于某一个元素来应对过拟合的

梯度消失、梯度爆炸

1、梯度消失会导致模型训练困难,对参数的优化步长过小,收效甚微,模型收敛十分缓慢;在深层网络中尽量避免选择sigmoid和tanh激活函数,原因是这两个激活函数会把元素转换到[0, 1][-1, 1]之间,会加剧梯度消失的现象。

2、梯度爆炸会导致模型训练困难,对参数的优化步长过大,难以收敛。

3、协变量偏移:设虽输入的分布可能随时间而变,但标记函数(条件分布P(y|x))不会改变。如猫和狗中,训练数据使用的是猫和狗的真实的照片,但是在测试时,我们被要求对猫和狗的卡通图片进行分类。这就是输入特征发生了变化。

4、标签偏移:标签P(y)上的边缘分布的变化,但类条件分布P(x∣y)是不变的,如训练数据集,数据很少只包含流感p(y)的样本。 而测试数据集有流感p(y)和流感q(y),其中不变的是流感症状p(x|y)。

5、概念偏移:条件分布 P(y∣x)发生了变化,如在建立一个机器翻译系统中,分布P(y∣x)可能因我们的位置的不同而发生变化。

机器翻译及相关技术

1、机器翻译(MT):将一段文本从一种语言自动翻译为另一种语言,用神经网络解决这个问题通常称为神经机器翻译(NMT)。 主要特征:输出是单词序列而不是单个单词。 输出序列的长度可能与源序列的长度不同。

2、分词:把字符形式的句子转化为单词组成的列表;建立词典:单词组成的列表---单词id组成的列表。

3、Sequence to Sequence模型:

深度学习PyTorch | 总结_第1张图片

深度学习PyTorch | 总结_第2张图片

注意力机制

深度学习PyTorch | 总结_第3张图片

深度学习PyTorch | 总结_第4张图片

不同的attetion layer的区别在于score函数的选择。

点积注意力:

多层感知机注意力:

引入注意力机制的Seq2seq模型:

下图展示encoding 和decoding的模型结构,在时间步为t的时候。此刻attention layer保存着encodering看到的所有信息——即encoding的每一步输出。在decoding阶段,解码器的tt时刻的隐藏状态被当作query,encoder的每个时间步的hidden states作为key和value进行attention聚合. Attetion model的输出当作成上下文信息context vector,并与解码器输入DtDt拼接起来一起送到解码器:

深度学习PyTorch | 总结_第5张图片

 

你可能感兴趣的:(深度学习)