我有以下形状的训练样本:(1000,2)。这些是数字序列,每个长度 = 1000,维度 = 2。
我需要构建一个卷积神经网络来输出相同形状的预测/序列 (1000, 2)。据我了解,在应用卷积和池化之后,输入的高度和宽度都会减小。
然后我应该如何在我的 CNN 中设置全连接层和输出层,以使输出尺寸与输入尺寸匹配?或者一般来说,我应该如何设置我的 CNN 架构来实现这一点?
我有以下形状的训练样本:(1000,2)。这些是数字序列,每个长度 = 1000,维度 = 2。
我需要构建一个卷积神经网络来输出相同形状的预测/序列 (1000, 2)。据我了解,在应用卷积和池化之后,输入的高度和宽度都会减小。
然后我应该如何在我的 CNN 中设置全连接层和输出层,以使输出尺寸与输入尺寸匹配?或者一般来说,我应该如何设置我的 CNN 架构来实现这一点?
你有(至少)两个选择。您可以:
使用瓶颈架构,您使用池化层来减少数据的维度,然后使用反卷积/上采样层再次向上转换以返回到原始维度。这种方法的优点是您对最终输出使用更大的感受野,这意味着它可以查看输入序列的更大部分。您可以将其与类似结构的高速公路连接相结合。在 2d 中使用了一个非常相似的概念进行分割,这里的空间维度被保留在输出中。最好的模型之一称为 U-Net。
不使用池化,只使用具有非线性的填充相同的卷积层。您可以增加深度,但您会在任何地方保留 (1000, 2) 尺寸。优点是它很容易实现,如果适用于你的问题,只使用相对本地的信息。
从您的评论中,听起来您正在尝试预测系列的下一个值其中每个是维。
这个怎么样:预测,你输入张量, 有维度. 你应用卷积与步幅并对第一和第二维度进行适当的填充:这不会改变维度。并且您仅将池化应用于第三维(例如,设置并使用三个具有窗口大小的池化层)。