intToFloat_qsw(v:int,tag=4)
floatToInt_qsw(v:float,tag=4)
checkSum_qsw(arg:str,byteorder='little')
hexToAsc_qsw(arg:str)
ascToHex_qsw(v:str)
为了使得梯度下降做的更好,我们改变了梯度下降的式子让l
ear
ning
rate
根据gradient的大小自动调整,接着又讲了RMS和RMSProp两种计算σ的方法,最后对optimization进行总结。
通过设置不同学习率(lr)发现,训练精度随着学习率的减小在模型训练次数较多的背景下渐趋平稳,逐渐稳定在某一个较小的区间内,但当学习率变得太小的时候,相同周期内的训练精度可能相对变得较低
当我们在训练一个网络时,如果观察到我们训练的loss如上图所示,越来越小,最后卡住不在下降了。我们会认为走到critical point了,因为critical point处loss的gradient等于0,所以loss值不会再发生变化。其实不然,如果loss的gradient再error surface中来回的震荡,也是会出现同样的情况。
如上图所示,
看到这个问题的时候,可能你会很直观的认为是等价的,其实等不等价这个应该取决于在更新参数时所选择的优化算法。
因为无论是缩放loss还是l
ear
ning
rate
最终的影响都是对更新参数时偏移量(Δ\DeltaΔ)的影响,而不同的优化算法会导致这个偏移量存在差别,下面我们来讨论一下不同优化算法之间的差别。
梯度下降优化算法,也是最
常见
的一种优化算法,公式如下:
θ=θ−η∗ΔθJ(θ)
\theta = \theta - \eta * \Delta_{\theta}J(\theta)
θ=θ−η
“微信公众号”1.
权重
衰减(weight decay)L2正则化的目的就是为了让
权重
衰减到更小的值,在一定程度上减少模型过拟合的问题,所以
权重
衰减也叫L2正则化。1.1 L2正则化与
权重
衰减系数L2正则化就是在代价
函数
后面再加上一个正则化项:其中C0代表原始的代价
函数
,后面那一项就是L2正则化项,它是这样来的:所有参数w的平方的和,除以训练集的样本大小n。λ就是正则项系数,
权
衡正则项与C0项的比...
1)ReLu的线性不饱和激活端着相对于Tanh的双饱和端(经验规则0.1),肯定要降量级。
2)b的学习率一般为w的两倍;
例如Caffe和Alex给的Model基础都是0.001(W)/0.002(b)。
至于为什么Bias的学习率是2倍,猜测是更快抑制Wx加
权
结果,加速学习。
我们也会用到损失
函数
,损失
函数
的公式如下图:
通过观察上面的式子我们发现,
激活函数
σ\sigmaσ 包含着线性
函数
Wx+b,这个时候损失
函数
就和
权
值W和偏置值b联系起来了。
接着我们队损失
函数
的W和b分别进行求导:
就像图中所说的,W和b的梯度跟
激活函数
的梯度成正比,
激活函数
的梯度越大,则w和b的大小调整得越快,训练收敛得越快。
所以...
写在前面:
神经网络为什么需要
激活函数
:
如果不使用
激活函数
的话,网络整体(conv、pool、fc)是线性
函数
,线性
函数
无论叠加多少层,都是线性的,只是斜率和截距不同,叠加网络对解决实际问题没有多大帮助;而神经网络解决的问题大部分是非线性的,引入
激活函数
,是在神经网络中引入非线性,强化网络的学习能力。所以
激活函数
的最大特点就是非线性。
梯度消失、爆炸
反向传播算法计算误差项时每一层都要乘以本层...
无论是深度学习还是机器学习,大多情况下训练中都会遇到这几个参数,今天依据我自己的理解具体的总结一下,可能会存在错误,还请指正.
l
ear
ning
_
rate
, weight_decay , momentum这三个参数的含义. 并附上demo.
我们会使用一个例子来说明一下:
比如我们有一堆数据,我们只知道这对数据是从一个黑盒中得到的,我们现在要寻找到那个具体...