引入
深度学习主要关注多层模型,接下来将以多层感知机 (multi-layer perceptron, MLP)为例,介绍多层神经网络的概念。
1.1 隐藏层
多层感知机在单层神经网络的基础上引入了一到多个隐藏层 (hidden layer)。隐藏层位于输入层和输出层之间,以下图为例,它含有一个隐藏层,该层包含5个隐藏单元 (hidden unit):
图片来源:李沐、Aston Zhang等老师的这本《动手学深度学习》一书。
由于输入层不涉及计算,所以上图所示的感知机的层数为2。
相关的符号如下:
符号 |
含义 |
X∈Rn×d |
小批量样本 |
n |
批量大小 |
d |
输入个数 |
h |
隐藏单元个数 (假设只有一个隐藏层) |
H∈Rn×h |
隐藏层的输出 |
Wh∈Rd×h |
隐藏层权重参数 |
bh∈R1×h |
隐藏层偏差参数 |
Wo∈Rh×q |
输出层权重参数 |
b0∈R1×q |
输出层偏差参数 |
q |
输出个数 |
首先介绍一种含单隐藏层的多层感知机的设计,其输出
O∈Rn×q的计算为:
H=XWh+bhO=XWo+bo(1)也就是将隐藏层的输出直接作为输出层的输入。联立上式:
O=XWhWo+bhWo+bo(2)从联立的式子可以看出,虽然神经网络引入了隐藏层,却依然等价于一个单层神经网络。显然,即便引入再多的隐藏层,以上设计依然只能与仅含输出层的单层神经网络等价。