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
,
1700538400
1700538401
(9.32)
1700538402
1700538403
1700538404
,
1700538405
1700538406
(9.33)
1700538407
1700538408
1700538409
,
[
上一页 ]
[ :1.70053836e+09 ]
[
下一页 ]