双线性层
$X_1$
17.1、什么是双线性层
双线性层是神经网络中一种特殊的全连接层。在传统的全连接层中,我们将输入向量与权重矩阵相乘,然后通过激活函数产生输出。而双线性层则采用两个输入向量的点积作为输出,而不是简单的乘法。具体地,给定输入张量 $X1∈RN×D1X1∈RN×D1$ 和X2∈RN×D2X2∈RN×D2,双线性层的输出Y∈RN×MY∈RN×M可以表示为: Y=X1TWX2Y=X1TWX2 其中W∈RD1×M×D2W∈RD1×M×D2是学习参数,它将输入张量的维度映射到输出张量的维度。值得注意的是,双线性层并没有引入额外的非线性变换,它仅通过点积来表征输入之间的相互关系。
17.2、双线性层的应用
双线性层在计算机视觉任务中具有广泛的应用。其中一个主要的应用是图像分类。在传统的卷积神经网络中,常用的方式是在全连接层之前添加一个双线性层,用于捕捉图像的高级语义信息,从而提升模型的性能。双线性层可以帮助网络获取图像中不同区域之间的空间关系,尤其适用于处理物体的姿态、形状以及其它复杂结构等。 另外,双线性层还可以用于目标检测任务中的区域提议网络(Region Proposal Network, RPN)。RPN用于生成候选区域,然后再进行目标分类和位置回归等操作。由于双线性层可以很好地捕捉图像中不同区域之间的相互关系,因此可以通过将RPN的候选区域与整张图像进行双线性计算,来获取更准确的区域候选框。