如何使输出尺寸与 CNN 中的输入尺寸匹配?

数据挖掘 深度学习 神经网络 美国有线电视新闻网 火炬 卷积神经网络
2022-02-19 19:41:08

我有以下形状的训练样本:(1000,2)。这些是数字序列,每个长度 = 1000,维度 = 2。

我需要构建一个卷积神经网络来输出相同形状的预测/序列 (1000, 2)。据我了解,在应用卷积和池化之后,输入的高度和宽度都会减小。

然后我应该如何在我的 CNN 中设置全连接层和输出层,以使输出尺寸与输入尺寸匹配?或者一般来说,我应该如何设置我的 CNN 架构来实现这一点?

2个回答

你有(至少)两个选择。您可以:

  • 使用瓶颈架构,您使用池化层来减少数据的维度,然后使用反卷积/上采样层再次向上转换以返回到原始维度。这种方法的优点是您对最终输出使用更大的感受野,这意味着它可以查看输入序列的更大部分。您可以将其与类似结构的高速公路连接相结合。在 2d 中使用了一个非常相似的概念进行分割,这里的空间维度被保留在输出中。最好的模型之一称为 U-Net。

  • 不使用池化,只使用具有非线性的填充相同的卷积层。您可以增加深度,但您会在任何地方保留 (1000, 2) 尺寸。优点是它很容易实现,如果适用于你的问题,只使用相对本地的信息。

从您的评论中,听起来您正在尝试预测系列的下一个值X1,X2,,其中每个Xi(1000,2)维。

这个怎么样:预测Xi,你输入张量(Xik,Xi(k+1),,Xi1), 有维度(1000,2,k). 你应用卷积与步幅1并对第一和第二维度进行适当的填充:这不会改变维度。并且您仅将池化应用于第三维(例如,设置k=8并使用三个具有窗口大小的池化层2×2)。