山东大学计算机学习人工智能实验班 2018 级深度学习与神经网络
序号为上课划重点的顺序
1.2.不重要
3. 超参:人为设定的,不需要训练的参数。通过交叉验证的方式,尝试若干可能的,找出最好的。
正则化的作用:L1 权重向量在最优化的过程中变得稀疏(即非常接近 0).L2 鼓励产生小而分散的权重,会使每个
值的数量级变小。
正则化参数 λ 越大,约束越严格,太大容易产生欠拟合。正则化参数 λ 越小,约束宽松,太小起不到约束作用,容
易产生过拟合。
Softmax:将所有输出的分类得分转为概率。和为 1.公式。
4.激活函数:sigmoid:好处:0 到 1 模拟了神经中信息传导发射率. 坏处:左下和右上导致梯度消失、不是以 0 为
中心对称的、exp 计算费时。看博客
Tanh:好处:映射到-1 到 1,以 0 为中心,因此模型收敛速度快。光滑易于求导。 坏处:同样梯度消失,exp 计算
问题。
RELU:好处:不饱和性、计算简单、比 sigmoid 和 tanh 收敛速度更快、比 sigmoid 更符合神经传导的生物特性 坏
处:不是以 0 为中心、x 小于 0 时无法计算梯度。
LeakyRELU:好处:和 relu 几乎相同、不会导致神经元“死亡“
ELU:好处:与 relu 几乎相同、输出的分布是零均值的,可以加快训练速度与 leaky 相比,x 小于 0 部分的处理增加
了噪声处理的鲁棒性 坏处:需要计算 exp
Maxout:好处:是 relu 和 leaky relu 的概括、线性、不饱和性、不会导致神经元“死亡“ 坏处:需要两倍的参数数量。
5.zero-centered:数据的输入可能全为正或者全为负,迭代更新时轮数多,速度慢。通过中心化,将数据映射为以
0 为中心,使得输入的分布有正有负。可加速收敛。各个参数 wi 更新方向的差异,完全由对应的输入值 xi 的符号决
定,因此,当希望 w0 增大 w1 减小时,x0x1 符号应相反。但如果同时为正或负,则收敛方向可能沿着“折线”进行。
补充,归一化:加快收敛速度、可能提高精度、避免过拟合
6.权重初始化:如果将权重初始化为零,那么损失函数对每个 w 的梯度都会是一样的,这样在接下来的迭代中,同
一层内所有神经元的梯度相同,梯度更新也相同,所有的权重也都会具有相同的值,这样的神经网络和一个线性模
型的效果差不多
随机初始化:0.01 是因为要把 W 随机初始化到一个相对较小的值,因为如果 X 很大的话,W 又相对较大,会导致
Z 非常大,这样如果激活函数是 sigmoid,就会导致 sigmoid 的输出值 1 或者 0,然后会导致一系列问题
7.batch normalization:对于每个隐层神经元,把逐渐向非线性函数映射后向取值区间极限饱和区靠拢的输入分布强
制拉回到均值为 0 方差为 1 的比较标准的正态分布,使得非线性变换函数的输入值落入对输入比较敏感的区域,
以此避免梯度消失问题。
但是如果数据都通过 BN 层来处理,相当于通过 BN 层把数据强制拉回到了近似线性的分布上,这样 会导致模型
的表达能力下降,因此,每个神经元增加了 γ 和 β 参数,来对变换后的激活进行反变换,使的网络的表达能力增强。
步骤为:计算均值、计算方差、利用均值和方差标准化、再进行反标准化。 看一下公式
8.参数更新:SGD:由于梯度下降每次需要所有的训练样本,因此计算速度会非常慢,而在随机梯度下降中,在更
新梯度之前 只使用一个训练样本。当训练集很大时,SGD 可以更快。但这些参数将“振荡”到最小值,而不是平稳
收敛。动量:由于小批量梯度下降只看到一个子集的样本就进行参数更新,所以更新的方向有一些偏差,所以小批
量梯 度下降所走的路径将“振荡”走向收敛。利用动量可以减少这些振荡。
9.学习率:使用大学习率开始,然后逐渐缩小。以线性衰减、cos 衰减、平方根倒数的形式衰减
10.11 早停法:将原始的训练数据集划分成训练集和验证集。只在训练集上进行训练,并每个一个周期计算模型在
验证集上的误差。当模型在验证集上的误差比上一次训练结果差的时候停止训练。使用上一次迭代结果中的参数作