深度学习基础:多层感知机理论部分

一、概述

前面所介绍的线性回归和Softmax回归都是单层神经网络。而深度学习主要关注多层网络模型。所以以多层感知机(multilayer perceptron, 简称MLP)为例,介绍多层神经网络的概念。

二、隐藏层

多层感知机在单层神经网络的基础上引入了若干层的隐藏层(hidden layer),其位于输入和输出之间。在这里插入图片描述

多层感知机的输出 O ∈ R n × q \boldsymbol O \in R^{n×q} ORn×q为:
H = X W h + b h O = H W o + b o \boldsymbol {H=XW_h+b_h} \\ \boldsymbol {O=HW_o+b_o} H=XWh+bhO=HWo+bo

其中 n n n为批量大小, q q q为输出个数。
如果将上述两个式子联立起来,可以得到
O = ( X W h + b h ) W o + b o = X W h W o + b h W O + b o \boldsymbol {O=(XW_h+b_h)W_o+b_o=XW_hW_o+b_hW_O+b_o} O=(XWh+bh)Wo+bo=XWhWo+bhWO+bo

可以看出,虽然引入了隐藏层,但是依然等价于一个单层神经网络:输出层权重参数为 W h W o \boldsymbol {W_hW_o} WhWo,偏差参数为 b h W o + b o \boldsymbol {b_hW_o+b_o} bhWo+bo。所以即使增加再多的隐藏层,本质上还是一个单层神经网络。于是有了下面的激活函数

三、激活函数

上述问题的根源在于:全连接层只是对数据做线性变换。解决这个问题的一个方法是引入非线性变换。这个非线性函数被称为激活函数。下面介绍几种常用的激活函数:

1. ReLU函数

ReLU函数的形式非常简单。给定元素 x x x
R e L U ( x ) = m a x ( x , 0 ) ReLU(x)=max(x,0) ReLU(x)=max(x,0)

其函数图像和导数图像如下:
在这里插入图片描述

2. Sigmoid函数

Sigmoid函数可以将元素的值变换到(0, 1)之间:
s i g m o i d ( x ) = 1 1 + e ( − x ) sigmoid(x)=\frac {1}{1+e^{(-x)}} sigmoid(x)=1+e(x)1

其函数图像和导数图像如下:

在这里插入图片描述

3. Tanh函数

Tanh函数可以将元素的值变换到(-1, 1)之间:
t a n h ( x ) = 1 − e ( − 2 x ) 1 + e ( − 2 x ) tanh(x)=\frac {1-e^{(-2x)}}{1+e^{(-2x)}} tanh(x)=1+e(2x)1e(2x)

其函数图像和导数图像如下:
在这里插入图片描述

四、多层感知机

多层感知机是含有至少一个隐藏层的有全连接层组成的神经网络,且每个隐藏层的输出通过激活函数进行变换多层感知机的层数各隐藏层中隐藏单元个数都是超参数。其输出设计如下:
H = ϕ ( X W h + b h ) O = H W o + b o \boldsymbol {H=}\phi(\boldsymbol{XW_h+b_h}) \\ \boldsymbol {O=HW_o + b_o} H=ϕ(XWh+bh)O=HWo+bo

其中 ϕ \phi ϕ表示激活函数。

  • 在回归问题中,可以将输出层输出个数设为1,并将输出 O \boldsymbol O O直接提供给平方损失函数
  • 在分类问题中,可以对输出 O \boldsymbol O O做softmax运算,并使用交叉熵损失函数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值