b-f*_*-fg 5 neural-network deep-learning conv-neural-network keras tensorflow
我有一组2D输入阵列m x n即A,B,C,我必须预测两个2D输出数组即d,e针对我有预期值.如果您愿意,可以将输入/输出视为灰色图像.
由于空间信息是相关的(这些实际上是2D物理域),我想使用卷积神经网络来预测d和e.我的设计(尚未测试)如下:
因为我有多个输入,我想我应该使用多个列(或分支)来为每个输入找到不同的功能(它们看起来相当不同).这些列中的每一列都遵循分段中使用的编码 - 解码架构(参见SegNet):Conv2D块涉及卷积+批量归一化+ ReLU层.Deconv2D涉及解卷积+批量标准化+ ReLU.
然后,我可以通过连接,平均或取最大值来合并每列的输出.为了获得m x n我看到的每个输出的原始形状,我可以使用1 x 1内核卷积来完成此操作.
我想预测单层的两个输出.从网络结构的角度来看还可以吗?最后,我的损失函数取决于输出本身与目标相比加上我想要强加的另一种关系.
我希望对此有一些专家意见,因为这是我的第一次CNN设计,我不确定它是否有意义,因为它现在和/或是否有更好的方法(或网络架构)来解决这个问题.
我最初在数据科学中发布了这个,但我没有得到太多反馈.我现在在这里发布它,因为这些主题有一个更大的社区,我将非常感谢接收网络架构之外的实施技巧.谢谢.
我认为你的设计总体上是有意义的:
由于 A、B 和 C 相当不同,因此您将每个输入设为一个变换子网络,然后将它们融合在一起,这就是您的中间表示。
根据中间表示,您可以应用额外的 CNN 分别解码 D 和 E。
几件事:
A、B 和 C 看起来不同并不一定意味着您不能将它们堆叠在一起作为 3 通道输入。应根据 A、B、C 中的值是否具有不同含义来做出决定。例如,如果A是灰度图像,B是深度图,C也是由不同相机拍摄的灰度图像。然后按照您建议的方式更好地处理 A 和 B,但是 A 和 C 可以在将其馈送到您的网络之前作为一个输入连接起来。
D和E是网络的两个输出,将以多任务方式进行训练。当然,它们应该共享一些潜在特征,并且应该在此特征上进行拆分,以便为每个输出应用下游非共享权重分支。然而,在哪里分割通常很棘手。
| 归档时间: |
|
| 查看次数: |
803 次 |
| 最近记录: |