您的位置:首页 > 职场人生

深度学习-面试知识点总结(日更五题 早更新晚温习)

2019-04-26 09:09 162 查看
  1. 如何设置网络的初始值?
    一般总是使用服从(截断)高斯分布和均匀分布的随机值,初始值的大小会对优化结果和网络的泛化能力产生较大的影响,一些启发式初始化策略通常是根据输入和输出的单元数来决定初始权重的大小

  2. 梯度爆炸的解决办法?
    梯度截断:梯度达到某一个阈值时对其进行限制
    良好的参数初始化策略也能缓解梯度爆炸策略
    使用线性整流激活函数,如relu

  3. 稀疏表示,独立表示,低维表示?
    无监督学习任务的目的是尽可能找到数据的“最佳”表示。一般来说是指该表示在比本身表示的信息更简单的情况下,尽可能的保存关于x更多的信息
    低维表示尝试将一个x尽可能压缩在一个较小的表示中
    稀疏表示将数据集嵌入到输入项大多数为0的表示中
    独立表示试图分开数据分布中变化的来源,使得表示的维度是统一独立的

  4. 为什么交叉熵损失比均方误差损失能提高以sigmoid和softmax作为激活函数层的性能?
    使用均方误差(MSE)作为损失函数时会导致大部分情况下的梯度偏小,其结果是权重的更新很慢,且容易造成“梯度消失”现象,而交叉熵损失克服了这个缺点,当误差较大的时候权重更新快,当误差小的时候权重更新慢。

  5. 范数的应用:正则化——权重衰减/参数范数惩罚
    权重衰减的目的:限制模型的学习能力,通过限制参数θ的规模(主要是权重,偏置不参与惩罚)使模型偏好于权值较小的目标函数防止过拟合。

  6. 为什么在正则化过程中,只对权重做正则惩罚,而不对偏置做惩罚?
    神经网络中,参数包括每一层仿射变换权重偏置,我们通常只对权重做惩罚而不对偏置做正则惩罚。
    精确拟合权重所需的数据通常比拟合偏置所需的多,每个权重指定两个变量如何相互作用。通过观察这两个变量在各种条件下的变化才能良好的拟合权重。而每个偏置仅控制一个单变量。这意味着我们不对变量正则化也不会导致太大的方差。另外,正则化偏置参数可能会导致明显的欠拟合

  7. L1范数和L2范数的异同
    相同点:
    限制模型的学习能力。通过限制参数的规模,可以使模型偏好于权值较小的目标函数,防止过拟合。
    不同点:
    (1)L1正则化可以产生一个稀疏权值矩阵,即产生一个稀疏模型,可以用于特征选择;一定程度上防止过拟合。
    (2)L2正则化主要防止模型过拟合(不产生稀疏权值)
    (3)L1适用于特征之间有关联的情况;L2适用于特征之间无关联的情况
    机器学习中正则化项L1和L2的直观理解-CSDN blog

  8. 为什么L1和L2正则化可以防止过拟合?
    L1&L2正则化会使模型偏好于更小的权值。
    简单来说,更小的权值意味着更低的模型复杂度,也就是对训练数据的拟合刚刚好(奥卡姆剃刀)不会过分拟合训练数据(比如异常点,噪声)以提高模型的泛化能力。
    此外,添加正则化相当于为模型添加了某种先验(限制),规定了参数分布,降低了模型的复杂度,意味着模型对于噪声与异常点的抗干扰性能力增强,从而提高模型的泛化能力。

  9. 过拟合的解决方案***
    Parameter Norm Penalties(参数范数惩罚)
    Dataset Augmentation(数据增强)
    Early Stopping (提前终止)
    Parameter Tying and Parameter Sharing(参数绑定与参数共享)
    Bagging和其他集成方法
    Dropout
    Batch Normalization (批标准化)

  10. 参数共享和参数绑定
    参数绑定:有时候我们不知道应该使用什么参数 ,但是根据知识的先验性和相关领域的知识得知模型之间的参数存在一些相关性。(两个模型执行相同的分类任务(具有相同类别),但输入分布稍有不同。)
    比如,我们有参数为 w(A) 的模型 A 和参数为 w(B) 的模型 B。这两种模型将输入映射到两个不同但相关的输出: y(A) = f(x;w(A)) 和 y(B) = f(x;w(B)),可以认为具有相似的输入和输出分布,w(A) 和 w(B) 应彼此靠近。
    参数共享是这个思路下更流行的做法——强迫部分参数相等
    和正则化参数使其接近(范数惩罚方式)相比,参数共享的一个显著优点是能够减少内存——只有参数(唯一一个集合)的子集需要被存储在内存中,特别是CNN中

  11. 为什么考虑在模型训练时对输入(权重或隐藏单元)添加方差较小的噪声?
    对于某些模型而言,向输入添加方差较小的噪声等价于向权重施加范数惩罚。一般情况下,注入噪声比简单的收缩参数更强大。特别是噪声被添加到隐藏单元时会更加强大,Dropout方法正是这种做法的主要发展方向。
    另一种正则化模型是将噪声添加到权重,主要应用在RNN,这可以解释为关于权重的贝叶斯推断的随机实现,贝叶斯学习过程将权重视为不确定的,并且可以通过概率分布表示这种不确定性。

12.Bagging集成方法
集成方法:其主要想法是分别训练几个不同的模型,然后让所有模型表决测试样例的输出,该想法叫做模型平均,采用这种策略的技术被称为集成方法
模型平均奏效的原因是不同的模型通常不会在测试集上产生完全相同的误差。
Bagging是通过结合几个模型降低泛化误差的技术。通过构造k个不同的数据集,每个数据集从原始数据集中重复采样,构成和原始数据集具有相同数量的样例。这意味着每个数据集以高概率缺少原始数据集中的一些例子,还包含若干重复的例子。

13.Dropout的意义与强大的原因:
Dropout通过参数共享提供了一种廉价的Bagging集成近似,能够训练和评估指数级数量的神经网络。
Dropout与Bagging的不同点:
Bagging的情况下,所有模型都是独立的;而在Dropout的情况下所有模型共享参数,其中每个模型继承父神经网络参数的不同子集。
在Bagging的情况下每一个模型都会在其相应训练集上训练到收敛。而在Dropout的情况下,通常大部分模型都没有被显式的训练;取而代之的是在单个步骤中我们训练一小部分的子网络,参数共享会使得剩余的子网络也能有很好的参数设定。

  1. 批梯度下降法(Batch SGD)更新过程中,批量的大小会带来怎样的影响?
    批的大小通常由以下几个因素决定:
    (1)较大的批能得到更精确的梯度估计,但回报是小于线性的。
    (2)较小的批能带来更好的泛化误差,泛化误差通常在批大小为1时最好。但因为梯度估计的高方差,小批量训练需要较小的学习率以保持稳定性,这意味着更长的训练时间。
    (3)内存消耗与批的大小成正比,如果批量处理中的所有样本可以并行处理。

15.批标准化的意义:为了克服神经网络层数加深导致难以训练而出现的一个算法。说到底,BN还是为了解决梯度消失/梯度爆炸的问题。一般情况下也可以加入BN来加快训练速度,提高模型精度。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: