【发布时间】:2019-05-19 12:53:50
【问题描述】:
我有一组二维输入数组m x n,即A,B,C,我必须预测两个二维输出数组,即d,e,我确实有预期值。如果您愿意,您可以将输入/输出视为灰色图像。
由于空间信息是相关的(这些实际上是 2D 物理域),我想使用卷积神经网络来预测 d 和 e。我的设计(尚未测试)如下所示:
因为我有多个输入,我想我应该使用多个列(或分支)来为每个输入找到不同的特征(它们看起来完全不同)。这些列中的每一列都遵循分割中使用的编码-解码架构(参见 SegNet):Conv2D 块涉及卷积+批量标准化+ReLU 层。 Deconv2D涉及反卷积+批量归一化+ReLU。
然后,我可以通过连接、平均或取最大值来合并每一列的输出。为了获得我见过的每个输出的原始m x n 形状,我可以使用1 x 1 内核卷积来做到这一点。
我想预测该单层的两个输出。从网络结构的角度来看,这可以吗?最后,我的损失函数取决于与目标相比的输出本身以及我想要施加的另一个关系。
A 希望对此有一些专家意见,因为这是我第一次设计 CNN,我不确定它是否像现在这样有意义和/或是否有更好的方法(或网络架构)来这个问题。
我最初在datascience 上发布了此内容,但没有得到太多反馈。我现在在这里发布它,因为在这些主题上有一个更大的社区,而且我将非常感谢收到除了网络架构之外的实施技巧。谢谢。
【问题讨论】:
-
模型结构问题过于宽泛,具体视具体场景而定。最好问一下如何为指定的输入和输出设计自定义损失函数。
-
这实际上与在没有点卷积的情况下执行深度可分离卷积相同。
-
这有什么问题?
标签: tensorflow keras neural-network deep-learning conv-neural-network