做一家影视网站赚钱吗,佛山电子商务网站设计,他达拉非功效与作用主要会有哪些,广东个人 网站备案训练神经网络的几个重要组成部分 一 1#xff0c;激活函数#xff08;activation functions#xff09;
激活函数是神经网络之于线性分类器的最大进步#xff0c;最大贡献#xff0c;即#xff0c;引入了非线性。这些非线性函数可以被分成两大类#xff0c;饱和非线性函…训练神经网络的几个重要组成部分 一 1激活函数activation functions
激活函数是神经网络之于线性分类器的最大进步最大贡献即引入了非线性。这些非线性函数可以被分成两大类饱和非线性函数和不饱和非线性函数。 11 饱和非线性函数
111 Sigmoid
原函数 函数的导数 sigmoid函数的性质 结合指数函数的图像可知当x0时-x0指数函数随着x的减小而增大当x-10时几乎exp(-(-10)exp(10)约等于2W2如果x再继续小下去sigmoid的分母就变成无穷大了此时sigmoid趋近于0。即当x0时随着x越来越小sigmoid函数越来越趋近于0。 反之当x0时-x0指数函数随着x的增大而减小当x10时几乎exp(-(10)exp(-10)约等于0如果x再增加下去sigmoid的分母就变成1了此时sigmoid趋近于1/11。即当x0时随着x越来越大sigmoid函数越来越趋近于1。 函数值始终为正且不关于0对称。 sigmoid函数的缺点梯度消失 在计算损失函数L关于x的梯度时不论上游梯度传过来的是什么sigmoid函数的本地梯度为 因此当x过大时sigmoid的值为11-sigmoid为0则本地梯度为0。当x过小时sigmoid的值为0同样会导致本地梯度为0。如此一来损失函数L就无法通过梯度下降法去更新W。 当然sigmoid函数还有其他问题例如均值不为0和输出总是正数这会导致梯度下降时的zig-zag问题也就是梯度下降速度慢的问题。但相对于梯度消失这个最为严重的问题可忽略不计。 112 Tanh(x)双曲正切函数 双曲正切函数有点像是sigmoid函数经过整体向下平移后得到的函数。 原函数 函数的导数 函数的特点 函数的值域为-1~1输出有正有负均值为0即函数值关于0对称。从一定程度上弥补了sigmoid函数的不足。 函数的缺点梯度消失
已知双曲正切的函数为 他所对应的导数为 该导数作为本地梯度当x较大时tanh(x)1平方后仍然为1上面的导数为1-10。
当x较小时tanh(x)-1平方后为1导数为0。 这也就是说双曲正切函数仍然会有梯度消失的问题也就是梯度为0的问题。 饱和非线性函数的小结 饱和非线性函数在神经网络中指的是那些在输入值非常大或非常小时其输出值趋于某个常数值的激活函数也就是说他不能很好的保持x的原貌。常见函数有sigmoid和tanh。 12 不饱和非线性函数
121 ReLU激活函数Rectified Linear Unit
原函数 函数的导数 ReLU函数的特性 1不同于sigmoid和tanh对于大于0的输入在前向传播的过程中ReLU会使得输出等于输入而不是把任何输入都限制在一个比较狭窄的值域内。 2计算速度非常快只需对输入x做一个判断。 3学习效率高迭代速度快。 函数的问题 结合该函数的梯度来看当x0时会出现本地梯度为0。如此一来无论上游梯度传过来的是什么最终结果都是0使得梯度无法更新。也就说ReLU函数依然存在梯度消失的问题。 值得一提的是ReLU函数在著名的AlexNet中被首次提出这也可以说是这篇paper最重要的贡献之一。ReLU的出现使得训练时的迭代速度比tanh快了接近6倍。 122 Leaky ReLU 为了克服ReLU函数中当x为负值时梯度直接为0的情况leaky ReLU使得x为负数时依然会保留一个较小的梯度这个值很小但不为0。
原函数 函数的导数 函数的特性 1. x 0时Leaky ReLU的输出等于输入导数为1。 2. x 0时输出是输入乘以一个小于一的系数导数为该系数。使得x为负时避免了梯度为0的情况依然可以跟新W。 函数存在的问题 虽然有非零梯度但负值区间的梯度较小导致该区间的权重更新速度较慢。 123 ELU ELU函数是ReLU函数更进一步的改进版。
原函数 函数的导数 函数的特性 1. x 0时与Leaky ReLU相同。 2. x 0时导数恒为正同样避免了梯度为0的情况可以跟新W。 124 SELU 125 GELU 13 summary of activation functions 在上面关于不饱和激活函数的介绍我到后面就懒得写了主要原有是因为下面这个PPt中的结论。这个作者在三个著名的网络中分别使用了不同的不饱和激活函数并比较了准确率。可见ReLU函数在这三组实验中的表现并不俗和表现最好的其他激活函数比也就相差了不到1%的准确率。但ReLU函数的计算确是最简单了计算速度最快的。做到这里还得是人家AlexNet的作者Alex牛ReLU函数就在在这篇文章中被首次提及并成功运用的。他的出现几乎彻底取代了原有的sigmoid函数和tanh函数。 结合上面所说的cs231n给出了如下建议
1在选择activation function时不要太过纠结直接无脑的使用ReLU就好只是要明白为什么。
2如果你想追求更好效果即更高准确率可是试试其他激活函数。但不要用sigmoid和tanh。
3在一些非常非常新的模型中可能会用到GeLU。 全文完
--- 作者松下J27 参考文献(鸣谢)
1Stanford University CS231n: Deep Learning for Computer Vision
2训练神经网络(第一部分)_哔哩哔哩_bilibili
310 Training Neural Networks I_哔哩哔哩_bilibili
4Schedule | EECS 498-007 / 598-005: Deep Learning for Computer Vision 版权声明所有的笔记可能来自很多不同的网站和说明在此没法一一列出如有侵权请告知立即删除。欢迎大家转载但是如果有人引用或者COPY我的文章必须在你的文章中注明你所使用的图片或者文字来自于我的文章否则侵权必究。 ----松下J27