深度学习-多层感知机

多层感知机

概念:多层感知机就是含有至少一个隐藏层的由全连接层组成的神经网络,且每个隐藏层的输出通过激活函数进行变换。多层感知机的层数和各隐藏层中隐藏单元个数都是超参数。以单隐藏层为例并沿用本节之前定义的符号,多层感知机按以下方式计算输出:

激活函数

激活函数 公式 导数公式 优点 缺点
ReLU max(x, 0) \text{Relu} '(x) = \begin {cases}1, x>0 \\0, x\leq 0 \end {cases} 不会同时激活所有神经元,使得计算高效 x<0,梯度是0,导致神经元死亡,权重无法更新
Sigmod \frac {1}{1+e^ {-x} } {sigmoid} (x) \left(1-\text{sigmoid}(x)\right) 非线性,适合输出层 两边太平滑导致学习率低;输出不是以0为中心
Tanh \frac {e^x-e^{-x}}{e^x+e^{-x}} tanh'(x)= 1-tanh(x)^2 弥补了sigmod很多缺陷 两边太平滑会导致学习率低
激活函数 原公式图像 导数公式图像
ReLU
relu.png
relu_grad.png
Sigmod
sigmod.png
sigmod_grad.png
Tanh
tanh.png
tanh_grad.png

激活函数的选择

1.通用情况下选择ReLu函数。注意:ReLu函数只能在隐藏层使用。如果出现死神经元,选择PReLu函数。
2.分类问题中,Sigmod函数及其组合通常效果更好,但应避免梯度消失问题。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容