有没有一种方法可以在不使用连接层的情况下连接两个输入?

问题描述 投票:0回答:1

由于软件限制,我们无法使用连接层来实现神经网络。我们正在寻找替代解决方案

我们在该领域没有太多经验,但我们想尝试的解决方案如下:

我们有两个输入。第一个输入我们应用转置来分离我们想要连接的特征。然后我们应用卷积将权重在 0 到 1 之间的特征加倍。我们将对第二个输入执行相同的操作,但以对称方式执行卷积。最后将两个输出相加。 Proposed solution 你觉得可行吗?为了训练网络,我们使用 pytorch。

deep-learning pytorch concatenation conv-neural-network convolution
1个回答
0
投票

您的方法似乎旨在合并两个输入而不使用直接串联函数。在深入了解细节之前,让我们分解一下您提到的步骤:

转置输入:您提到应用转置来分离要连接的功能。转置通常用于交换尺寸,因此尚不清楚此步骤如何有助于分离特征。也许您的意思是重塑或重组输入?

卷积使特征加倍:应用卷积将引入可训练的滤波器。当您说“功能加倍”时,我认为您的意思是通道数量加倍。如果卷积权重限制在 0 和 1 之间,则此操作将类似于附近特征的加权平均值。

对称卷积:对于第二个输入,您将以“对称方式”应用卷积。我不完全确定你所说的对称是什么意思。如果这意味着使用相同的权重但顺序相反,则就像应用卷积的翻转版本。

求和:最后,您将添加两个卷积的输出。

这个想法是创新的,但有一些潜在的问题和需要澄清:

空间信息的丢失:卷积,尤其是具有较大内核尺寸的卷积,可能会导致精细空间信息的丢失。如果您的两个输入包含需要在合并后保留的不同的本地化特征,这可能并不理想。

训练复杂性:引入卷积增加了可训练参数的数量。这可能会增加模型的复杂性,并需要更多数据才能有效训练。

合并中的歧义:如果没有直接串联,模型必须学习如何有效地合并两个输入。这可能有效,但与直接串联相比,这是一种更为迂回的做事方式。

权重约束:将卷积权重限制为 [0,1] 可能会给优化带来挑战。它还可能限制模型的表达能力。

鉴于这些担忧,这里有一些建议:

逐通道乘法:考虑将两个输入逐通道相乘,而不是卷积。这更简单并且保留了空间信息。例如,如果两个输入的形状都是 [batch_size, num_channels, height, width],您可以将它们按元素相乘以产生相同形状的输出。

重塑和合并:如果两个输入具有不同的形状,请考虑将它们重塑为具有相同数量的通道,然后执行逐元素加法或乘法。

要素图调整大小:如果输入具有不同的空间维度,请考虑使用池化或上采样层在合并之前使它们达到相同的大小。

如果您决定使用卷积方法,我建议您进行一些实验来看看它在实践中是否有效。根据数据的性质和您要解决的具体问题,此方法可能会很好用。

© www.soinside.com 2019 - 2024. All rights reserved.