专栏介绍:本栏目为 “2022春季中国科学院大学王亮老师的深度学习” 课程记录,这门课程与自然语言处理以及机器学习有部分知识点重合,重合的部分不再单独开博客记录了,有需要的读者可以移步 自然语言处理专栏和机器学习专栏。 如果感兴趣的话,就和我一起入门DL吧
2018-2019 学年第二学期期末试题
(12分)五、列举至少两种常见的正则化方法,并简单解释其概念;比较Batch Gradient Desent 与 Stochastic Gradient Descent 的差异,写出Batch Normalization的计算方法。
这一节相关的知识可以参看这篇博文:【一起入门DeepLearning】中科院深度学习第五课:正则化「Regularization」和优化「Optimization」
两种常见正则化方法:
- Dropout:在前向传播的过程中,通过让某个神经元以一定的概率P停止工作,从而减少隐藏层结点之间的依赖关系,增强模型泛化性。
- 参数惩罚(L1正则化/L2正则化):这种方法通过在目标函数中加入惩罚来限制模型的容量,所谓惩罚是指对损失函数中的某些参数做限制,常见的参数范数惩罚方法有L1正则化和L2正则化。
Batch Gradient Desent 与 Stochastic Gradient Descent 的差异:
- 批量梯度下降算法BGD:针对的是整个数据集,通过对所有样本的计算来求解梯度的方向。每迭代一步,都要用到训练集所有的数据当样本数目很多时,训练过程会比较慢,但是求解的是全局最优解。
- 随机梯度下降算法SGD:每次仅根据一个样本对模型中的参数进行调整。训练速度快,但是纠结的不是全局最优解。
Batch Normalization的计算方法:
- 批标准化和普通的数据标准化类似,是将分散的数据统一的一种做法。
- H = [ h 11 h 12 h 13 … h 1 k h 21 h 22 h 23 … h 2 k ⋮ ⋮ ⋮ ⋱ ⋮ h m 1 h m 2 h m 3 … h m k ] H=\left[\begin{array}{ccccc}h_{11} & h_{12} & h_{13} & \ldots & h_{1 k} \\ h_{21} & h_{22} & h_{23} & \ldots & h_{2 k} \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ h_{m 1} & h_{m 2} & h_{m 3} & \ldots & h_{m k}\end{array}\right] H=⎣⎢⎢⎢⎡h11h21⋮hm1h12h22⋮hm2h13h23⋮hm3……⋱…h1kh2k⋮hmk⎦⎥⎥⎥⎤
- 每个mini-batch中有m个样本,体现在矩阵H中的每一列
- Batch Normalization的过程为使用 H ′ H^{\prime} H′代替 H H H
- H ′ = H − μ σ H^{\prime}=\frac{H-\mu}{\sigma} H′=σH−μ
- μ \mu μ:每个单元的平均值
- σ \sigma σ:标准差