从mlfromscratch中选择
机器心脏编译
参与:杜威熊猫
激活函数对神经网络的重要性不用多说,机器心已经发表了一些相关的介绍文章,如《深度学习中的激活函数概述》。本文还重点讨论了激活函数。来自数据传输单元的Casper Hansen通过公式、图表和代码实验介绍了sigmoid、ReLU、eLU和更新的Leaky ReLU、SELU和GELU激活函数,并比较了它们的优缺点。
在计算每一层的激活值时,我们需要使用激活函数,然后我们就可以确定这些激活值是什么。根据每层之前的激活、权重和偏移量,我们需要为下一层的每次激活计算一个值。但是在将值发送到下一层之前,我们需要使用激活函数来缩放输出。本文将介绍不同的激活函数。
在阅读这篇文章之前,你可以阅读我之前的一篇关于神经网络中的前向传播和后向传播的文章,其中简单提到了激活函数,但是并没有介绍它实际上是做什么的。本文的内容将基于上一篇文章的知识。
上一篇文章的地址:https://mlfromscratch.com/neural-networks-explained/
卡斯帕·汉森
目录
总结
什么是sigmoid函数?
梯度问题:反向传播
梯度消失问题
梯度爆炸问题
梯度爆炸的极端情况
避免渐变爆炸:渐变裁剪/范数
整流线性单元
死亡ReLU:优点和缺点
指数线性元素
泄漏整流器线性单元
扩展指数线性元素
SELU:正常化的特例
重量初始化+脱落
高斯误差线性元素
代码:深度神经网络超参数搜索