深度学习笔记(三)-----------多层感知机(multilayer perceptron,MLP)

深度学习笔记(一)-------线性回归

深度学习笔记(二)------- softmax和分类模型

多层感知机:MLP

多层感知机的一个重要特点就是多层,我们将第一层称之为输入层,最后一层称之有输出层,中间的层称之为隐层。MLP并没有规定隐层的数量,因此可以根据各自的需求选择合适的隐层层数。且对于输出层神经元的个数也没有限制。 


激活函数

在多层感知机中引入激活函数的原因是,将多个无激活函数的线性层叠加起来,其表达能力与单个线性层相同。

解决问题的一个方法是引入非线性变换,这个非线性函数被称为激活函数(activation function)。

几个常用的激活函数:

ReLU函数

ReLU(rectified linear unit)函数提供了一个很简单的非线性变换。给定元素xx,该函数定义为:

\text{ReLU}(x) = \max(x, 0). 

ReLU函数只保留正数元素,并将负数元素清零。

ReLU函数的导数:

Sigmoid函数

sigmoid函数可以将元素的值变换到0和1之间:

\text{sigmoid}(x) = \frac{1}{1 + \exp(-x)}.

sigmoid函数的导数:

\text{sigmoid}'(x) = \text{sigmoid}(x)\left(1-\text{sigmoid}(x)\right).

当输入为0时,sigmoid函数的导数达到最大值0.25;当输入越偏离0时,sigmoid函数的导数越接近0。

tanh函数

tanh(双曲正切)函数可以将元素的值变换到-1和1之间:

\text{tanh}(x) = \frac{1 - \exp(-2x)}{1 + \exp(-2x)}.

tanh函数的导数:

\text{tanh}'(x) = 1 - \text{tanh}^2(x).

当输入为0时,tanh函数的导数达到最大值1;当输入越偏离0时,tanh函数的导数越接近0。

关于激活函数的选择

ReLu函数是一个通用的激活函数,目前在大多数情况下使用。但是,ReLU函数只能在隐藏层中使用。

用于分类器时,sigmoid函数及其组合通常效果更好。由于梯度消失问题,有时要避免使用sigmoid和tanh函数。

在神经网络层数较多的时候,最好使用ReLu函数,ReLu函数比较简单计算量少,而sigmoid和tanh函数计算量大很多。

在选择激活函数的时候可以先选用ReLu函数如果效果不理想可以尝试其他激活函数。

深度学习笔记(一)-------线性回归

深度学习笔记(二)------- softmax和分类模型

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值