隐藏层

输入层和输出层之间的神经元层——叫"隐藏"是因为它的值既不是原始输入也不是最终输出,从外部看不到。一个网络可以有多个隐藏层,层数越多网络越"深",这就是"深度学习"中"深度"的来源。

一句话版本

夹在输入层和输出层之间、从外部看不到输出值的神经元层,就是隐藏层。

为什么叫"隐藏"

一个神经网络有三类层:

  • 输入层:接收原始数据(如图片像素),值由外部提供
  • 输出层:给出最终结果(如分类概率),值对外部可见
  • 隐藏层:所有中间层,值既不由外部提供,也不直接对外部展示

"隐藏"不是说它神秘,而是说它的输出只在网络内部流通——你给网络一张图片,拿到一个分类结果,中间经过了什么你看不到。

具体例子

在一个 3→4→2 的网络中:

  • 输入层:3 个节点(接收 3 维输入向量)
  • 隐藏层:4 个节点(中间加工,从外部看不到)
  • 输出层:2 个节点(输出 2 维结果向量)

隐藏层的 4 个神经元各自学到不同的特征——有的可能对某种输入模式敏感,有的对另一种敏感。

"深度"的来源

一个网络可以有多个隐藏层。层数越多,网络越"深":

  • 1 个隐藏层 → 浅层网络
  • 多个隐藏层 → 深层网络 → 深度学习

每一层提取不同层次的特征:浅层可能学到简单的边缘和纹理,深层组合出更复杂的模式。

代码中的隐藏层

在 PyTorch 中,nn.Linear(3, 4) 就定义了一个从 3 维到 4 维的全连接层。如果它既不是第一层也不是最后一层,它就是一个隐藏层。

引用本术语的文章