多层感知机——MLP(动手学深度学习)

多层感知机

隐藏层

线性模型的局限性

线性模型意味着任何特征的变化都会同步影响结果进行线性变化。但实际上很多事情并不是线性的,例如:收入增长和还款概率,当收入从 0 → 5 0\rightarrow5 05 时的还款提升概率比 100 → 105 100\rightarrow 105 100105 时高的多,这时可以考虑以收入的对数作为特征,再使用线性模型。

但还存在一些例子不能经过简单处理就能使用线性模型的,当处理图像分类问题时,某一个像素点增强并不能同步增强对某一物体分类的概率,而是需要和周围像素点一起进行判断。

加入隐藏层

用一个或多个隐藏层来克服线性模型的限制, 使其能处理更普遍的函数关系类型。 要做到这一点,最简单的方法是将许多全连接层堆叠在一起。 每一层的输出都是下一层的输入,直到生成最后的输出。 我们可以把前 L − 1 L-1 L1 层看作表示,把最后一层看作线性预测器。 这种架构通常称为多层感知机(multilayer perceptron),通常缩写为MLP。 下面,我们以图的方式描述了多层感知机。
在这里插入图片描述

从线性到非线性(激活函数)

我们用 X X X 表示输入的小批量样本, H H H 表示隐藏层的输出, O O O 表示最终输出,那么上述模型可以表示为 H = X W 1 + b 1 H=XW_1+b_1 H=XW1+b1 O = H W 2 + b 2 O=HW_2+b_2 O=HW2+b2

但这两个函数本质上和之前并无不同,因为线性函数和线性函数简单叠加仍然是线性函数。这时我们就要加入激活函数( σ ( ⋅ ) \sigma(\cdot) σ)来改变其为非线性,简单来说就是将隐藏层的输出经过激活函数转换后再输入进下一层。
H = σ ( X W 1 + b 1 ) H=\sigma(XW_1+b_1) H=σ(XW1+b1) O = H W 2 + b 2 O=HW_2+b_2 O=HW2+b2
可以堆叠多层的这样的带激活函数的隐藏层产生更有表达能力的模型。

激活函数

介绍一些常用的激活函数,设 x x x 为要经过激活函数的值

ReLU 函数

丢弃所有的负值
R e L U ( x ) = max ⁡ ( 0 , x ) ReLU(x)=\max(0,x) ReLU(x)=max(0,x)

sigmoid函数

sigmoid函数将输入变换为区间 ( 0 , 1 ) (0, 1) (0,1) 上的输出。 因此,sigmoid通常称为挤压函数(squashing function)
s i g m o i d ( x ) = 1 1 + exp ⁡ ( − x ) sigmoid(x)=\frac1{1+\exp(-x)} sigmoid(x)=1+exp(x)1

tanh函数

tanh(双曲正切)函数也能将其输入压缩转换到区间(-1, 1)上。
t a n h ( x ) = 1 − exp ⁡ ( − 2 x ) 1 + exp ⁡ ( − 2 x ) tanh(x)=\frac{1-\exp(-2x)}{1+\exp(-2x)} tanh(x)=1+exp(2x)1exp(2x)

  • 11
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值