打字猴:1.70053835e+09
1700538350
1700538351 概率与统计,深度学习
1700538352
1700538353 问题1 神经网络训练时是否可以将全部参数初始化为0?
1700538354
1700538355 难度:难度:★☆☆☆☆
1700538356
1700538357 分析与解答
1700538358
1700538359 考虑全连接的深度神经网络,同一层中的任意神经元都是同构的,它们拥有相同的输入和输出,如果再将参数全部初始化为同样的值,那么无论前向传播还是反向传播的取值都是完全相同的。学习过程将永远无法打破这种对称性,最终同一网络层中的各个参数仍然是相同的。
1700538360
1700538361
1700538362 因此,我们需要随机地初始化神经网络参数的值,以打破这种对称性。简单来说,我们可以初始化参数为取值范围的均匀分布,其中d是一个神经元接受的输入维度。偏置可以被简单地设为0,并不会导致参数对称的问题。
1700538363
1700538364 问题2 为什么Dropout可以抑制过拟合?它的工作原理和实现?
1700538365
1700538366 难度:★★★☆☆
1700538367
1700538368 分析与解答
1700538369
1700538370 Dropout是指在深度网络的训练中,以一定的概率随机地 “临时丢弃”一部分神经元节点。具体来讲,Dropout作用于每份小批量训练数据,由于其随机丢弃部分神经元的机制,相当于每次迭代都在训练不同结构的神经网络。类比于Bagging方法,Dropout可被认为是一种实用的大规模深度神经网络的模型集成算法。这是由于传统意义上的Bagging涉及多个模型的同时训练与测试评估,当网络与参数规模庞大时,这种集成方式需要消耗大量的运算时间与空间。Dropout在小批量级别上的操作,提供了一种轻量级的Bagging集成近似,能够实现指数级数量神经网络的训练与评测。
1700538371
1700538372 Dropout的具体实现中,要求某个神经元节点激活值以一定的概率p被“丢弃”,即该神经元暂时停止工作,如图9.12所示。因此,对于包含N个神经元节点的网络,在Dropout的作用下可看作为2N个模型的集成。这2N个模型可认为是原始网络的子网络,它们共享部分权值,并且具有相同的网络层数,而模型整体的参数数目不变,这就大大简化了运算。对于任意神经元,每次训练中都与一组随机挑选的不同的神经元集合共同进行优化,这个过程会减弱全体神经元之间的联合适应性,减少过拟合的风险,增强泛化能力。
1700538373
1700538374 在神经网络中应用Dropout包括训练和预测两个阶段。在训练阶段中,每个神经元节点需要增加一个概率系数,如图9.13所示。训练阶段又分为前向传播和反向传播两个步骤。原始网络对应的前向传播公式为
1700538375
1700538376
1700538377
1700538378
1700538379 (9.30)
1700538380
1700538381
1700538382
1700538383
1700538384 (9.31)
1700538385
1700538386
1700538387
1700538388
1700538389 图9.12 Dropout模块示意图
1700538390
1700538391
1700538392
1700538393
1700538394 图9.13 标准网络和Dropout网络的对比
1700538395
1700538396 应用Dropout之后,前向传播公式变为
1700538397
1700538398
1700538399
[ 上一页 ]  [ :1.70053835e+09 ]  [ 下一页 ]