Depth hands-on science learning Task03-Task05

Over-fitting, underfitting and their solutions

Overfitting and poor fitting
a model class is unable to get a lower training error, we will the phenomenon known as underfitting (underfitting);
the other is the model of the training error is much smaller than it is on the test data set error, we call this phenomenon as over-fitting (overfitting).
Here Insert Picture Description
L2 norm regularization (regularization)
L2 norm regularization L2 norm added penalty term loss function based on the original model, whereby the training function to be minimized. L2 norm refers penalty term is the product of the square of the weighting parameter of each model element with a positive and constant. Linear regression loss function Linear Regression example
Here Insert Picture Description
where w1, w2 is a weight parameter, b is the deviation parameter input sample i is x (i) 1, x ( i) 2, labeled Y (i), the number of samples It is n. The weight parameter by a vector w = [w1, w2] represents the new loss function with L2 norm is penalized
Here Insert Picture Description
wherein ultra parameter λ> 0. When the weighting parameters are zero, the minimum penalty term. When λ is large, a large penalty in terms of the proportion of the loss function, which generally makes the elements learned weight parameter is closer to 0. When λ is set to 0, the penalty term totally ineffective. Wherein the squared L2 norm | w | 2 to obtain the expanded w21 + w22. With L2 norm after penalty term, in small quantities stochastic gradient descent, we'll linear regression one in the weight w1 change and iterative manner w2 is
Here Insert Picture Description
visible, L2 norm regularization make weight w1 and w2 first squared less than 1 the number, minus gradient without penalty term. Thus, L2 norm regularization weights called attenuation. Weight limit is increased attenuation model to learn the absolute value of the larger model parameters by punishment, which may be effective over-fitting.

Discard method

Here Insert Picture Description
Summary
underfitting phenomenon: the model can not achieve a lower error
OVERFITTING: training error is low but still higher generalization error, a larger difference between the two

Gradient disappears, gradient explosion

Advanced Recurrent Neural Networks

GRU
RNN存在的问题:梯度较容易出现衰减或爆炸(BPTT)
⻔控循环神经⽹络:捕捉时间序列中时间步距离较⼤的依赖关系

Here Insert Picture Description
• 重置⻔有助于捕捉时间序列⾥短期的依赖关系;
• 更新⻔有助于捕捉时间序列⾥⻓期的依赖关系。

LSTM
长短期记忆long short-term memory :
遗忘门:控制上一时间步的记忆细胞 输入门:控制当前时间步的输入
输出门:控制从记忆细胞到隐藏状态
记忆细胞:⼀种特殊的隐藏状态的信息的流动
Here Insert Picture Description
深度循环神经网络
Here Insert Picture Description
双向循环神经网络
Here Insert Picture Description

机器翻译及相关技术

机器翻译和数据集
机器翻译(MT):将一段文本从一种语言自动翻译为另一种语言,用神经网络解决这个问题通常称为神经机器翻译(NMT)。 主要特征:输出是单词序列而不是单个单词。 输出序列的长度可能与源序列的长度不同。
Encoder-Decoder
encoder:输入到隐藏状态
decoder:隐藏状态到输出
Here Insert Picture Description
Sequence to Sequence模型
Here Insert Picture Description
Specific structure:
Beam Search
Here Insert Picture Description

注意力机制与Seq2seq模型

注意力机制
在“编码器—解码器(seq2seq)”⼀节⾥,解码器在各个时间步依赖相同的背景变量(context vector)来获取输⼊序列信息。当编码器为循环神经⽹络时,背景变量来⾃它最终时间步的隐藏状态。将源序列输入信息以循环单位状态编码,然后将其传递给解码器以生成目标序列。然而这种结构存在着问题,尤其是RNN机制实际中存在长程梯度消失的问题,对于较长的句子,我们很难寄希望于将输入的序列转化为定长的向量而保存所有的有效信息,所以随着所需翻译句子的长度的增加,这种结构的效果会显著下降。

与此同时,解码的目标词语可能只与原输入的部分词语有关,而并不是与所有的输入有关。例如,当把“Hello world”翻译成“Bonjour le monde”时,“Hello”映射成“Bonjour”,“world”映射成“monde”。在seq2seq模型中,解码器只能隐式地从编码器的最终状态中选择相应的信息。然而,注意力机制可以将这种选择过程显式地建模。

Here Insert Picture Description
注意力机制框架
Here Insert Picture Description
引入注意力机制的Seq2seq模型
本节中将注意机制添加到sequence to sequence 模型中,以显式地使用权重聚合states。下图展示encoding 和decoding的模型结构,在时间步为t的时候。此刻attention layer保存着encodering看到的所有信息——即encoding的每一步输出。在decoding阶段,解码器的 t 时刻的隐藏状态被当作query,encoder的每个时间步的hidden states作为key和value进行attention聚合. Attetion model的输出当作成上下文信息context vector,并与解码器输入 Dt 拼接起来一起送到解码器:
Here Insert Picture Description
Here Insert Picture Description

卷积神经网络基础

卷积神经网络基础
本节我们介绍卷积神经网络的基础概念,主要是卷积层和池化层,并解释填充、步幅、输入通道和输出通道的含义。

二维卷积层
本节介绍的是最常见的二维卷积层,常用于处理图像数据。

二维互相关运算
二维互相关(cross-correlation)运算的输入是一个二维输入数组和一个二维核(kernel)数组,输出也是一个二维数组,其中核数组通常称为卷积核或过滤器(filter)。卷积核的尺寸通常小于输入数组,卷积核在输入数组上滑动,在每个位置上,卷积核与该位置处的输入子数组按元素相乘并求和,得到输出数组中相应位置的元素。图1展示了一个互相关运算的例子,阴影部分分别是输入的第一个计算区域、核数组以及对应的输出。
Here Insert Picture Description
互相关运算与卷积运算
卷积层得名于卷积运算,但卷积层中用到的并非卷积运算而是互相关运算。我们将核数组上下翻转、左右翻转,再与输入数组做互相关运算,这一过程就是卷积运算。由于卷积层的核数组是可学习的,所以使用互相关运算与使用卷积运算并无本质区别。

特征图与感受野
二维卷积层输出的二维数组可以看作是输入在空间维度(宽和高)上某一级的表征,也叫特征图(feature map)。影响元素 x 的前向计算的所有可能输入区域(可能大于输入的实际尺寸)叫做 x 的感受野(receptive field)。

以图1为例,输入中阴影部分的四个元素是输出中阴影部分元素的感受野。我们将图中形状为 2×2 的输出记为 Y ,将 Y 与另一个形状为 2×2 的核数组做互相关运算,输出单个元素 z 。那么, z 在 Y 上的感受野包括 Y 的全部四个元素,在输入上的感受野包括其中全部9个元素。可见,我们可以通过更深的卷积神经网络使特征图中单个元素的感受野变得更加广阔,从而捕捉输入上更大尺寸的特征。

填充和步幅
我们介绍卷积层的两个超参数,即填充和步幅,它们可以对给定形状的输入和卷积核改变输出形状。

填充
填充(padding)是指在输入高和宽的两侧填充元素(通常是0元素),图2里我们在原输入高和宽的两侧分别添加了值为0的元素。
Here Insert Picture Description
图2 在输入的高和宽两侧分别填充了0元素的二维互相关计算

如果原输入的高和宽是 nh 和 nw ,卷积核的高和宽是 kh 和 kw ,在高的两侧一共填充 ph 行,在宽的两侧一共填充 pw 列,则输出形状为:

(nh+ph−kh+1)×(nw+pw−kw+1)

我们在卷积神经网络中使用奇数高宽的核,比如 3×3 , 5×5 的卷积核,对于高度(或宽度)为大小为 2k+1 的核,令步幅为1,在高(或宽)两侧选择大小为 k 的填充,便可保持输入与输出尺寸相同。
步幅
在互相关运算中,卷积核在输入数组上滑动,每次滑动的行数与列数即是步幅(stride)。此前我们使用的步幅都是1,图3展示了在高上步幅为3、在宽上步幅为2的二维互相关运算。
Here Insert Picture Description
图3 高和宽上步幅分别为3和2的二维互相关运算

一般来说,当高上步幅为 sh ,宽上步幅为 sw 时,输出形状为:

⌊(nh+ph−kh+sh)/sh⌋×⌊(nw+pw−kw+sw)/sw⌋

如果 ph=kh−1 , pw=kw−1 ,那么输出形状将简化为 ⌊(nh+sh−1)/sh⌋×⌊(nw+sw−1)/sw⌋ 。更进一步,如果输入的高和宽能分别被高和宽上的步幅整除,那么输出形状将是 (nh/sh)×(nw/sw) 。

当 ph=pw=p 时,我们称填充为 p ;当 sh=sw=s 时,我们称步幅为 s 。

卷积神经网络进阶

深度卷积神经网络(AlexNet)
LeNet: 在大的真实数据集上的表现并不尽如⼈意。
1.神经网络计算复杂。
2.还没有⼤量深⼊研究参数初始化和⾮凸优化算法等诸多领域。

机器学习的特征提取:手工定义的特征提取函数
神经网络的特征提取:通过学习得到数据的多级表征,并逐级表⽰越来越抽象的概念或模式。

神经网络发展的限制:数据、硬件

AlexNet
首次证明了学习到的特征可以超越⼿⼯设计的特征,从而⼀举打破计算机视觉研究的前状。
特征:

8层变换,其中有5层卷积和2层全连接隐藏层,以及1个全连接输出层。
将sigmoid激活函数改成了更加简单的ReLU激活函数。
用Dropout来控制全连接层的模型复杂度。
引入数据增强,如翻转、裁剪和颜色变化,从而进一步扩大数据集来缓解过拟合。
Here Insert Picture Description
使用重复元素的网络(VGG)
VGG:通过重复使⽤简单的基础块来构建深度模型。
Block:数个相同的填充为1、窗口形状为 3×3 的卷积层,接上一个步幅为2、窗口形状为 2×2 的最大池化层。
卷积层保持输入的高和宽不变,而池化层则对其减半。
Here Insert Picture Description
⽹络中的⽹络(NiN)
LeNet、AlexNet和VGG:先以由卷积层构成的模块充分抽取 空间特征,再以由全连接层构成的模块来输出分类结果。
NiN:串联多个由卷积层和“全连接”层构成的小⽹络来构建⼀个深层⽹络。
⽤了输出通道数等于标签类别数的NiN块,然后使⽤全局平均池化层对每个通道中所有元素求平均并直接⽤于分类。
Here Insert Picture Description
GoogLeNet
由Inception基础块组成。
Inception块相当于⼀个有4条线路的⼦⽹络。它通过不同窗口形状的卷积层和最⼤池化层来并⾏抽取信息,并使⽤1×1卷积层减少通道数从而降低模型复杂度。
可以⾃定义的超参数是每个层的输出通道数,我们以此来控制模型复杂度。
Here Insert Picture Description
GoogLeNet模型
完整模型结构
Here Insert Picture Description

Released two original articles · won praise 0 · Views 63

Guess you like

Origin blog.csdn.net/u011593550/article/details/104378826