如何创建信道敏感损耗函数?

2024-04-20 07:33:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我在做一个递归自动编码器。神经网络获取两个二维图像,每个图像的形状(28,28,1)和组合,以创建(28,28,2)的输入。它们被编码成一个(28,28,1)形状,然后被解码回原始形状(28,28,2)。因此,数据的编码形式可以被馈送到自动编码器中进行递归操作。你知道吗

我们可以假设信道1是新图像,信道2是先前编码的数据。我如何创建一个损失函数来惩罚重建通道2的错误(因为这将携带先前编码的数据)?你知道吗

我在Keras工作,有一个Tensorflow后端。你知道吗

或者,有没有一种方法可以把网络训练成一棵完整的树,而不是一次只训练两个输入-两个输出块?你知道吗


Tags: 数据方法函数图像编码tensorflow错误神经网络
1条回答
网友
1楼 · 发布于 2024-04-20 07:33:48

您可以将解码后的图像(28,28,2)分离回2个图像作为输出,并使用loss_weights分配重要性权重。从documentation

model.compile(optimizer='rmsprop', loss='binary_crossentropy',
              loss_weights=[1., 0.2])

是的,Keras中的所有模型都像层,所以你可以把它们连在一起构建一棵树。然后你可以一次性训练网络,并决定是否要分享重量等。但是,训练可能会更困难。我建议使用函数API来创建这些更复杂的结构,这样您就可以拥有更多的控制权。你知道吗

相关问题 更多 >