隐藏层
输入层和输出层之间的神经元层——叫"隐藏"是因为它的值既不是原始输入也不是最终输出,从外部看不到。一个网络可以有多个隐藏层,层数越多网络越"深",这就是"深度学习"中"深度"的来源。
一句话版本
夹在输入层和输出层之间、从外部看不到输出值的神经元层,就是隐藏层。
为什么叫"隐藏"
一个神经网络有三类层:
- 输入层:接收原始数据(如图片像素),值由外部提供
- 输出层:给出最终结果(如分类概率),值对外部可见
- 隐藏层:所有中间层,值既不由外部提供,也不直接对外部展示
"隐藏"不是说它神秘,而是说它的输出只在网络内部流通——你给网络一张图片,拿到一个分类结果,中间经过了什么你看不到。
具体例子
在一个 3→4→2 的网络中:
- 输入层:3 个节点(接收 3 维输入向量)
- 隐藏层:4 个节点(中间加工,从外部看不到)
- 输出层:2 个节点(输出 2 维结果向量)
隐藏层的 4 个神经元各自学到不同的特征——有的可能对某种输入模式敏感,有的对另一种敏感。
"深度"的来源
一个网络可以有多个隐藏层。层数越多,网络越"深":
- 1 个隐藏层 → 浅层网络
- 多个隐藏层 → 深层网络 → 深度学习
每一层提取不同层次的特征:浅层可能学到简单的边缘和纹理,深层组合出更复杂的模式。
代码中的隐藏层
在 PyTorch 中,nn.Linear(3, 4) 就定义了一个从 3 维到 4 维的全连接层。如果它既不是第一层也不是最后一层,它就是一个隐藏层。
引用本术语的文章