深度学习面试100题(第41-45题)


41、请简述应当从哪些方向上思考和解决深度学习中出现的的over fitting问题?
解析:
如果模型的训练效果不好,可先考察以下几个方面是否有可以优化的地方。

(1)选择合适的损失函数(choosing proper loss )
神经网络的损失函数是非凸的,有多个局部最低点,目标是找到一个可用的最低点。非凸函数是凹凸不平的,但是不同的损失函数凹凸起伏的程度不同,例如下述的平方损失和交叉熵损失,后者起伏更大,且后者更容易找到一个可用的最低点,从而达到优化的目的。
- Square Error(平方损失)
- Cross Entropy(交叉熵损失)

(2)选择合适的Mini-batch size
采用合适的Mini-batch进行学习,使用Mini-batch的方法进行学习,一方面可以减少计算量,一方面有助于跳出局部最优点。因此要使用Mini-batch。更进一步,batch的选择非常重要,batch取太大会陷入局部最小值,batch取太小会抖动厉害,因此要选择一个合适的batch size。

(3)选择合适的激活函数(New activation function)
使用激活函数把卷积层输出结果做非线性映射,但是要选择合适的激活函数。
- Sigmoid函数是一个平滑函数,且具有连续性和可微性,它的最大优点就是非线性。但该函数的两端很缓,会带来猪队友的问题,易发生学不动的情况,产生梯度弥散。
- ReLU函数是如今设计神经网络时使用最广泛的激活函数,该函数为非线性映射,且简单,可缓解梯度弥散。

(4)选择合适的自适应学习率(apdative learning rate)
- 学习率过大,会抖动厉害,导致没有优化提升
- 学习率太小,下降太慢,训练会很慢

(5)使用动量(Momentum)
在梯度的基础上使用动量,有助于冲出局部最低点。

如果以上五部分都选对了,效果还不好,那就是产生过拟合了,可使如下方法来防止过拟合,分别是

  • 1.早停法(earyly stoping)。早停法将数据分成训练集和验证集,训练集用来计算梯度、更新权重和阈值,验证集用来估计误差,若训练集误差降低但验证集误差升高,则停止训练,同时返回具有最小验证集误差的连接权和阈值。

  • 2.权重衰减(Weight Decay)。到训练的后期,通过衰减因子使权重的梯度下降地越来越缓。

  • 3.Dropout。Dropout是正则化的一种处理,以一定的概率关闭神经元的通路,阻止信息的传递。由于每次关闭的神经元不同,从而得到不同的网路模型,最终对这些模型进行融合。

  • 4.调整网络结构(Network Structure)。


42、神经网络中,是否隐藏层如果具有足够数量的单位,它就可以近似任何连续函数?
解析:
通用逼近性定理指出,一个具有单个隐藏层和标准激活函数的简单前馈神经网络(即多层感知器),如果隐藏层具有足够数量的单位,它就可以近似任何连续函数。让我们在实践中看一下,看看需要多少单位来近似一些特定函数。

方法:我们将在 50 个数据点 (x,y) 上训练一个 1 层神经网络,这些数据点从域 [-1,1] 上的以下函数中绘制,所得拟合的均方误差(mean square error,MSE)。我们将尝试以下函数(你可随时通过更改以下代码来尝试自己的函数。)

1.png


假设: 随着隐藏层中单位的数量增加,所得拟合的正确率(Accuracy)将会增加(误差将会减少)。

2.png


运行实验所需的时间: 91.595 s

3.png


结论: 随着隐藏单位数量的增加,训练数据的逼近误差一般会减小。

讨论: 尽管通用逼近定理指出,具有足够参数的神经网络可以近似一个真实的分类 / 回归函数,但它并没有说明这些参数是否可以通过随机梯度下降这样的过程来习得。另外,你可能想知道我们是否可以从理论上计算出需要多少神经元才能很好地近似给定的函数。你可参阅论文《NEURAL NETWORKS FOR OPTIMAL APPROXIMATION OFSMOOTH AND ANALYTIC FUNCTIONS》对此的一些讨论。

论文地址:https://pdfs.semanticscholar.o ... a.pdf

43、为什么更深的网络更好?
解析:
在实践中,更深的多层感知器(具有超过一个隐藏层)在许多感兴趣的任务上的表现,在很大程度上都胜过浅层感知器。为什么会出现这种情况呢?有人认为,更深的神经网络仅需更少的参数就可以表达许多重要的函数类。

理论上已经表明,表达简单的径向函数和组合函数需要使用浅层网络的指数级大量参数。但深度神经网络则不然。

剧透警告:我打算用实验来验证这些论文,但我不能这样做(这并不会使论文的结果无效——仅仅因为存在一组神经网络参数,并不意味着它们可以通过随机梯度下降来轻松习得)。

我唯一能做的就是,某种程度上可靠地再现来自论文《Representation Benefits of Deep Feedforward Networks》的唯一结果,这篇论文提出了一系列困难的分类问题,这些问题对更深层的神经网络而言更容易。

Representation Benefits of Deep Feedforward Networks 论文地址:https://arxiv.org/pdf/1509.08101.pdf

简单径向函数论文:https://arxiv.org/pdf/1512.03965.pdf

组合函数论文:https://arxiv.org/pdf/1603.00988.pdf

方法: 该数据集由沿着 x 轴的 16 个等距点组成,每对相邻点都属于相反的类。一种特殊类型的深度神经网络(一种跨层共享权重的神经网络)具有固定数量(152)的参数,但测试了层的不同数量。

假设: 随着具有固定数量参数的神经网络中层数的增加,困难的分类问题的正确率将得到提高。

4.png


运行实验所需的时间: 28.688 s

5.png


此处,红点和蓝点代表属于不同类别的点。黑色的虚线表示最接近神经网络学习的训练数据近似值(若神经网络分配的分数大于零,则被预测为红点;否则,被预测为蓝点)。零线显示为黑色。

结论: 在大多实验中,正确率随深度的增加而增加。

讨论: 似乎更深的层允许从输入到输出的学习到的函数出现更多“急弯”。这似乎跟神经网络的轨迹长度有关(即衡量输入沿着固定长度的一维路径变化时,神经网络的输出量是多少)。

轨迹长度论文:https://arxiv.org/pdf/1606.05336.pdf

44、更多的数据是否有利于更深的神经网络?
解析:
深度学习和大数据密切相关;通常认为,当数据集的规模大到足够克服过拟合时,深度学习只会比其他技术(如浅层神经网络和随机森林)更有效,并更有利于增强深层网络的表达性。我们在一个非常简单的数据集上进行研究,这个数据集由高斯样本混合而成。

方法: 数据集由两个 12 维的高斯混合而成,每个高斯生成属于一个类的数据。两个高斯具有相同的协方差矩阵,但也意味着在第 i 个维度上有 1/i1/i 单位。这个想法是基于:有一些维度,允许模型很容易区分不同的类,而其他维度则更为困难,但对区别能力还是有用的。

假设: 随着数据集大小的增加,所有技术方法的测试正确率都会提高,但深度模型的正确率会比非深度模型的正确率要高。我们进一步预计非深度学习技术的正确率将更快地饱和。

6.png


运行实验所需的时间: 138.239 s

7.png


结论: 神经网络在数据集大小方面上表现始终优于 SVM 和随机森林。随着数据集大小的增加,性能上的差距也随之增加,至少在神经网络的正确率开始饱和之前,这表明神经网络更有效地利用了不断增加的数据集。然而,如果有足够的数据,即使是 SVM 也会有可观的正确率。深度网络比浅层网络的表现更好。

讨论: 虽然增加的数据集大小确实会像我们预计的那样有利于神经网络。但有趣的是,在相对较小的数据集上,神经网络已经比其他技术表现得更好。似乎 2 层网络并没有显著的过拟合,即使我们预计某些特征(如 6-12 特征,信号水平低)导致网络过拟合。同样有趣的是,SVM 看上去似乎有足够的数据来接近于 1.0。

45、不平衡数据是否会摧毁神经网络?
解析:
当数据集不平衡时(如一个类的样本比另一个类还多),那么神经网络可能就无法学会如何区分这些类。在这个实验中,我们探讨这一情况是否存在。同时我们还探讨了过采样是否可以减轻问题带来的影响,这是一种流行的补救措施,该措施使用少数类中抽样替换的样本。

方法:我们生成两个二维的结果(结果未在这里显示,表明相同的结果适用于更高维)高斯,每个产生属于一个类别的数据。两个高斯具有相同的协方差矩阵,但它们的意思是在第 i 个维度上相距 1/i1/i 单位。每个训练数据集由 1,200 个数据点组成,但我们将类别不平衡从 1:1 变为 1:99。测试数据集以 1:1 的比例保持固定,以便于性能比较,并由 300 个点组成。我们还会在每种情况下显示决策边界。

假设:我们预计测试正确率会随着类别不平衡的增加而降低,但我们预计过采样可以缓解这个问题。

8.png


运行实验所需的时间: 392.157 s

9.png


10.png


最下面的四张图显示了连同训练点(左)或测试点(右)绘制的决策边界的数量。第一行显示没有重采样法的结果,底部显示了使用重采样法的结果。

结论: 研究结果表明,类的不平衡无疑地降低了分类的正确率。重采样法可以显著提高性能。

讨论: 重采样法对提高分类正确率有显著的影响,这可能有点让人惊讶了,因为它并没有将分类器展示少数类中的新训练的样本。但该图显示,重采样法足以“助推(nudge)”或将决策边界推向正确的方向。在重采样法不是有效的情况下,那么可能需要复合方式来合成新的训练样本,以提高正确率。

相关论文地址:http://www.jair.org/media/953/ ... r.pdf

机器学习集训营第五期
已邀请:

要回复问题请先登录注册

返回顶部