在深度学习中不得不掌握的数学知识

1.标量,向量,矩阵和张量

  标量其实就是一个独立存在的数。比如一个实数7就可以被看作是一个标量

  向量指一列按顺序排列的元素,我们通常习惯用括号将这一列元素括起来,其中的每个元素都由一个索引值来唯一地确定其在向量中的位置,假设这个向量中的第1个元素是x1,它的索引值就是1,第2个元素是x2,它的索引值就是2,以此类推。向量还有一个特性就是向量中的不同数字还可以用于表示不同坐标轴上的坐标值。比如,我们可以把下面这个向量看作三个不同的坐标轴上的坐标值。

  矩阵是一个二维数组结构,我们会用括号将其中的全部元素括起来。向量的索引值是一维的,而矩阵的索引值是二维的,所以在确定矩阵中的每个元素的位置时需要两个数字。比如,假设在一个矩阵的左上角存在一个元素x11,这个二维索引值代表矩阵中第一行和第一列交汇处的数字,所以前面一个数字1可以被定义为当前矩阵的行号,后面的一个数字1可以被定义为当前矩阵的列号。

  张量:若数组的维度超过了二维,我们就可以用张量来表示,所以我们可以将张量理解为高维数组。同理,张量的索引值用两个维度的数字来表示已经不够了,其中的张量的索引值会随着张量维度的改变而改变。

2.解决欠拟合的三种方法

  (1)增加特征项:在大多数情况下出现欠拟合是因为我们没有准确地把我数据的主要特征,所以我们可以尝试在模型中加入更多的和原始数据有重要相关性的特征来训练搭建的模型,这样得到的模型可能会有更好的泛化能力。

  (2)构造复杂的多项式:这种方法很容易理解,我们知道一次项函数就是一条直线,二次项函数是一条抛物线,一次项和二次项函数的特性决定了它们的泛化能力是有局限性的,如果数据不在直线或者抛物线附近,那么必然出现欠拟合的情形,所以我们可以通过增加函数中的次项来增强模型的变化能力,从而提升其泛化能力。

  (3)减少正则化参数:正则化参数出现的目的其实是防止过拟合情形的出现,但是如果我们的模型已经出现了欠拟合的情形,就可以通过减少正则化参数来消除欠拟合。

3.解决过拟合的三种方法

  (1)增大训练的数据量:在大多数情况下发生过拟合是因为我们用于模型训练的数据量太小,搭建的模型过度捕获了数据的有限特征,这时就会出现过拟合,在增加参与模型训练的数据量后,模型自然就能捕获数据的更多特征,模型就不会过于依赖数据的个别特征。

  (2)采用正则化方法:正则化一般指在目标函数之后加上范数,用来防止模型过拟合的发生,在实践中最常用到的正则化方法有L0正则,L1正则和L2正则。

  (3)Dropout方法:Dropout方法在神经网络模型中使用的频率较高,简单来说就是在神经网络模型进行前向传播的过程中,随机选取和丢弃指定层次之间的部分神经连接,因为整个过程是随机额,所以能有效防止过拟合的发生。

NIN(Network in Network)中1x1卷积层的意义和作用

卷积是用来做数据特征提取的,而且最常使用的卷积核滑动窗的高度和宽度一般是3x3或者是5x5,那么在卷积核中使用高度和宽度为1x1的滑动窗的作用是能够完成特征图通道的聚合和发散。比如假设我们现在有一个维度为50x50x100的特征图,单个参数分别代表特征图的宽度,高度和深度,接下来将这个特征图输入1x1的卷积层中,定义该卷积层使用的卷积核的滑动窗口维度为1x1x100,如果我们想要输出一个深度为90的特征图,则在通过90次卷积操作之后,刚才的维度为50x50x100的特征图就变成了了维度为50x50x90的特征图,这就是特征图通道的聚合。反过来,如果我们想要输出的特征图的深度是110,那么在通过110次卷积操作之后,刚才的维度为50x50x100的特征图就变成了维度为50x50x110的特征图,这就是特征通道的发散。通过1x1卷积层来控制特征图最后输出的深度,从而间接影响了与其相关联的层的卷积参数数量。使用1x1的卷积层使卷积参数几乎减少了一半,极大的提升了模型的性能。

猜你喜欢

转载自www.cnblogs.com/yangzepeng/p/11751224.html