多层感知机MLP深入理解

1. 选择几个隐藏层

1.1 通用近似定理

    通用近似定理由G. Cybenko在论文Approximation by Superpositions of a Sigmoidal Function中提出。其贡献为从数学角度证明,单一隐藏层、任意宽度、使用sigmoid函数作为激励函数的前馈神经网络可以以任意精准度近似任意复杂函数,为多层感知机(MLP)提供了数学原理支撑。

1.2 隐藏层的层数

    虽然一个单隐层网络能学习任何函数,但并不意味着我们应该尝试使用单隐藏层网络来解决所有问题。
    通用近似定理只是说明了神经网络具备近似任意函数的能力,并不保证学习这些函数的过程是高效的或者可行的。
    事实上,通过使用更深(而不是更广)的网络,我们可以更容易地逼近许多函数。
    简单的说,理论上一个隐藏层具备学习任何复杂函数的能力,而从实际应用的角度,根据系统相响应(目标函数)和数据的分布,按照经验选择2层或以上的MLP,可能更容易训练出一个好的MLP模型。 

2. 为什么需要激活函数

2.1 激活函数的作用

激活函数将输入信号转换为输出的可微运算。大多数激活函数都是非线性的。激活函数是深度学习的基础,对于MLP作用于隐藏层和输出层。

  1. 引入非线性‌:激活函数使得神经网络能够处理非线性问题,使其能够逼近任何非线性函数。同时使MLP的层数有意义。
  2. 避免梯度消失‌:某些激活函数(如ReLU)可以缓解梯度消失的问题,使得网络能够更好地训练。

2.2 常见的激活函数

2.2.1 ReLU

ReLU(x)=max(x,0)
使用ReLU的原因是,它求导表现得特别好:要么让参数消失,要么让参数通过。这使得优化表现得更好,并且ReLU减轻了困扰以往神经网络的梯度消失问题(导数稳定)。
ReLU函数有许多变体,包括参数化ReLU(Parameterized ReLU,pReLU)函数。

2.2.2 Sigmoid

Sigmoid(x)=\frac{1}{1+exp(-x)}
当我们想要将输出视作二元分类问题的概率时,sigmoid仍然被广泛用作输出单元上的激活函
数(sigmoid可以视为softmax的特例)。然而,sigmoid在隐藏层中已经较少使用,它在大部分时候被更简单、更容易训练的ReLU所取代。
输入在双向远离0点时,导数越接近0,存在梯度消失的隐患。

2.2.3 Tanh

tanh=\frac{1-exp(-2x)}{1+exp(-2x)}
类似与sigmoid,取值范围(-1,1), 导数最大值1。对比sigmoid取值范围(0,1),导数最大值0.25

3. 参考

通用近似定理简述

通用近似定理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值