最近在学习神经网络的相关知识,希望通过写博客记录下学习时的感悟,督促、勉励自己。
正则化
关于神经网络优化的主要方面是避免神经网络的过拟合,提高模型的泛化能力,常用的方法有:L1、L2正则化,dropout、权重的初始化等。其中正则化在深度学习中的线性传播中用的最多,在反向求导的过程中起到惩罚权重的作用。
L2正则化原理其实很简单:
J=J+λ2m∑ww2
其中λ是一个超参数,范围[0,1],m为输入batch中数据的数量,ω则是我们训练的深井网络中每一层的权重矩阵,这里进行的运算是对每一个权重矩阵进行了矩阵的2-范数运算(即每个元素的平方然后求总和)。
我们对损失函数进行了修改之后,反向传播的求导也会发生改变,对ω求导可得:
ddw(12λmW2)=λmw
然后对对应层的ω进行更新:
w=w−dJdw(learning_rate)−λmW(lea