1. 什么情况下神经网络模型被称为深度学习模型
已知: - 大脑是有很多个叫做神经元的东西构成,神经网络是对大脑的简单的数学表达。 - 每一个神经元都有输入、处理函数和输出。 - 神经元组合起来形成了网络,可以拟合任何函数。 - 为了得到最佳的神经网络,我们用梯度下降方法不断更新模型 给定上述关于神经网络的描述,什么情况下神经网络模型被称为深度学习模型?
A. 加入更多层,使神经网络的深度增加
B. 有维度更高的数据
C. 当这是一个图形识别的问题时
D. 以上都不正确
正确答案是:A
解析:
更多层意味着网络更深。没有严格的定义多少层的模型才叫深度模型,目前如果有超过2层的隐层,那么也可以及叫做深度模型。
2. 数据增强提升模型泛化能力?
训练CNN时,可以对输入进行旋转、平移、缩放等预处理提高模型泛化能力。这么说是对,还是不对?
训练CNN时,可以进行这些操作。当然也不一定是必须的,只是data augmentation扩充数据后,模型有更多数据训练,泛化能力可能会变强。
3. 与Dropout类似的操作
下面哪项操作能实现跟神经网络中Dropout的类似效果?
A. Boosting
B. Bagging
C. Stacking
D. Mapping
Dropout可以认为是一种极端的Bagging,每一个模型都在单独的数据上训练,同时,通过和其他模型对应参数的共享,从而实现模型参数的高度正则化。
3.1 Boosting
提升方法(Boosting),是一种可以用来减小监督式学习中偏差的机器学习算法。面对的问题是迈可·肯斯(Michael Kearns)提出的:一组“弱学习者”的集合能否生成一个“强学习者”?弱学习者一般是指一个分类器,它的结果只比随机分类好一点点;强学习者指分类器的结果非常接近真值。
Valiant和 Kearns提出了弱学习和强学习的概念:
- 识别错误率小于1/2,也即准确率仅比随机猜测略高的学习算法称为弱学习算法
- 识别准确率很高并能在多项式时间内完成的学习算法称为强学习算法。
同时,Valiant和 Kearns首次提出了 PAC学习模型中弱学习算法和强学习算法的等价性问题,即任意给定仅比随机猜测略好的弱学习算法,是否可以将其提升为强学习算法?如果二者等价,那么只需找到一个比随机猜测略好的弱学习算法就可以将其提升为强学习算法?而不必寻找很难获得的强学习算法。
1990年, Schapire最先构造出一种多项式级的算法,对该问题做了肯定的证明,这就是最初的 Boosting算法。一年后,Freund提出了一种效率更高的Boosting算法。但是这两种算法存在共同的实践上的缺陷,那就是都要求事先知道弱学习算法学习正确的下限。1995年,Freund和 schap ire改进了Boosting算法,提出了 AdaBoost (Adaptive Boosting)算法,该算法效率和 Freund于 1991年提出的 Boosting算法几乎相同,但不需要任何关于弱学习器的先验知识,因而更容易应用到实际问题当中。之后 , Freund和 schapire进一步提出了改变 Boosting投票权重的 AdaBoost. M1,AdaBoost. M2等算法 ,在机器学习领域受到了极大的关注。
大多数提升算法包括由迭代获得的弱学习分类器组成,并将其结果组合成一个最终的强学习分类器。加入的过程中,通常根据它们的分类准确率给予不同的权重。加了弱学习者之后,数据通常会被重新加权,来强化对之前分类错误数据点的分类。
一个经典的提升算法例子是AdaBoost。一些最近的例子包括LPBoost、TotalBoost、BrownBoost、MadaBoost及LogitBoost。许多提升方法可以在AnyBoost框架下解释为何在函数空间利用一个凸的误差函数作梯度下降。
3.2 Bagging
Bagging算法(英语:Bootstrapaggregating,引导聚集算法),又称装袋算法,是机器学习领域的一种团体学习算法。最初由Leo Breiman于1996年提出。Bagging算法可与其他分类、回归算法结合,提高其准确率、稳定性的同时,通过降低结果的方差,避免过拟合的发生。
与分类、回归算法结合后可以:
- 提高准确率
- 提高稳定性
- 降低结果的方差 -> 避免过拟合
Bagging是通过结合几个模型降低泛化误差的技术。主要想法是分别训练几个不同的模型,然后让所有模型表决测试样例的输出。 这是机器学习中常规策略的一个例子,被称为模型平均(model averaging)。采用这种策略的技术被称为集成方法。
前几年神经网络中经常使用的方法,几个模型一起评判最后的分类得分
模型平均(model averaging)奏效的原因是不同的模型通常不会在测试集上产生完全相同的误差。模型平均是一个减少泛化误差的非常强大可靠的方法。
Note: 在作为科学论文算法的基准时,它通常是不鼓励使用的,因为任何机器学习算法都可以从模型平均中大幅获益(以增加计算和存储为代价)。
4. 在训练神经网络时,损失函数(loss)在最初的几个epochs时没有下降,可能的原因是?
A. 学习率(learning rate)太低
B. 正则参数太高
C. 陷入局部最小值
D. 以上都有可能
正确答案:D
- 学习率过低,模型参数迭代更新缓慢,loss有可能不下降。
- 正则化太高,模型复杂度过低,模型变得简单,loss很大的时候就已经收敛了。
- 陷入局部最小值,模型已经收敛,loss不会下降了。
5. 下列哪项关于模型能力(model capacity)的描述是正确的?(指神经网络模型能拟合复杂函数的能力)
A. 隐藏层层数增加,模型能力增加
B. Dropout的比例增加,模型能力增加
C. 学习率增加,模型能力增加
D. 都不正确
A是对的,其它选项不确定
6. 如果增加多层感知机(Multilayer Perceptron)的隐藏层层数,分类误差便会减小。这种陈述正确还是错误?
并不总是正确。层数增加可能导致过拟合,从而可能引起错误增加。
7. 构建一个神经网络,将前一层的输出和它自身作为输入。下列哪一种架构有反馈连接?
A. 循环神经网络
B. 卷积神经网络
C. 限制玻尔兹曼机
D. 都不是
正确答案是:A
解析:循环神经网络为了记住序列前面的信息,会将前一层的输出和它自身作为输入。
7.1 受限玻尔兹曼机(restricted Boltzmann machine, RBM)
**受限玻尔兹曼机(英语:restricted Boltzmann machine, RBM)**是一种可通过输入数据集学习概率分布的随机生成神经网络。RBM最初由发明者保罗·斯模棱斯基于1986年命名为簧风琴(Harmonium),但直到杰弗里·辛顿及其合作者在2000年代中叶发明快速学习算法后,受限玻尔兹曼机才变得知名。受限玻兹曼机在降维、分类、协同过滤、特征学习和主题建模中得到了应用。根据任务的不同,受限玻兹曼机可以使用监督学习或无监督学习的方法进行训练。
受限玻尔兹曼机是玻尔兹曼机(Boltzman machine,BM)的一种特殊拓扑结构。BM的原理起源于统计物理学,是一种基于能量函数的建模方法,能够描述变量之间的高阶相互作用,BM的学习算法较复杂,但所建模型和学习算法有比较完备的物理解释和严格的数理统计理论作基础。BM是一种对称耦合的随机反馈型二值单元神经网络,由可见层和多个隐层组成,网络节点分为可见单元(visible unit)和隐单元(hidden unit),用可见单元和隐单元来表达随机网络与随机环境的学习模型,通过权值表达单元之间的相关性。
正如名字所提示的那样,受限玻兹曼机是一种玻兹曼机的变体,但限定模型必须为二分图。模型中包含对应输入参数的输入(可见)单元和对应训练结果的隐单元,每条边必须连接一个可见单元和一个隐单元。(与此相对,“无限制”玻兹曼机包含隐单元间的边,使之成为递归神经网络。)这一限定使得相比一般玻兹曼机更高效的训练算法成为可能,特别是基于梯度的对比分歧(contrastive divergence)算法。
受限玻兹曼机也可被用于深度学习网络。具体地,深度信念网络可使用多个RBM堆叠而成,并可使用梯度下降法和反向传播算法进行调优。
以Hinton和Ackley两位学者为代表的研究人员从不同领域以不同动机同时提出BM学习机。
Smolensky提出的RBM由一个可见神经元层和一个隐神经元层组成,由于隐层神经元之间没有相互连接并且隐层神经元独立于给定的训练样本,这使直接计算依赖数据的期望值变得容易,可见层神经元之间也没有相互连接,通过从训练样本得到的隐层神经元状态上执行马尔可夫链抽样过程,来估计独立于数据的期望值,并行交替更新所有可见层神经元和隐层神经元的值。
BM是由Hinton和Sejnowski提出的一种随机递归神经网络,可以看做是一种随机生成的Hopfield网络,是能够通过学习数据的固有内在表示解决困难学习问题的最早的人工神经网络之一,因样本分布遵循玻尔兹曼分布而命名为BM。BM由二值神经元构成,每个神经元只取1或0这两种状态,状态1代表该神经元处于接通状态,状态0代表该神经元处于断开状态。
8. 在感知机中(Perceptron)的任务顺序是什么? 1 随机初始化感知机的权重 2 去到数据集的下一批(batch) 3 如果预测值和输出不一致,则调整权重 4 对一个输入样本,计算输出值
A. 1, 2, 3, 4
B. 4, 3, 2, 1
C. 3, 1, 2, 4
D. 1, 4, 3, 2
正确答案是:D
随机初始化感知机的权重 -> 对一个输入样本,计算输出值 -> 如果预测值和输出不一致,则调整权重 -> 去到数据集的下一批(batch)