神经网络中的瓶颈层是什么意思?

机器算法验证 神经网络 图像处理
2022-02-06 15:46:44

我正在阅读FaceNet论文,在介绍的第 3 段中它说:

先前基于深度网络的人脸识别方法使用在一组已知的人脸身份上训练的分类层,然后将中间瓶颈层作为用于泛化识别超出训练中使用的身份集的表示。

我想知道中间瓶颈层是什么意思?

2个回答

瓶颈层是与之前的层相比包含较少节点的层。它可用于获得降维的输入表示。这方面的一个例子是使用带有瓶颈层的自动编码器来进行非线性降维。

我对这句话的理解是,以前的方法使用深度网络对人脸进行分类。然后他们获取该网络的前几层,从输入到某个中间层(例如,kth层,包含nk节点)。该子网实现了从输入空间到nk维向量空间。kth 层是瓶颈层,因此kth 层给出了输入的低维表示。原始网络不能用于对未经训练的新身份进行分类。但是,k一般来说,第 1 层可以很好地表示人脸。因此,为了学习新的身份,可以将新的分类器层堆叠在kth层并训练。或者,可以通过子网络馈送新的训练数据以从kth 层,这些表示可以馈送到其他分类器。

补充上一个答案:瓶颈也可以理解为一种设计模式,由ResNet 论文介绍的三个卷积层组成。

更深的瓶颈架构接下来,我们描述 ImageNet 的更深层网络。由于担心我们可以承受的训练时间,我们将构建块修改为瓶颈。对于每个残差函数 F,我们使用 3 层而不是 2 层的堆栈(图 5)。这三个层是 1×1、3×3 和 1×1 卷积,其中 1×1 层负责减少然后增加(恢复)维度,使 3x3 层成为输入/输出维度较小的瓶颈。图 5 显示了一个示例,其中两种设计具有相似的时间复杂度。

在此处输入图像描述