我正在使用一个模型使用多个不同的功能集合。每组特征都有一个NN,但是它们都具有相同的结构。 NN的结构如下:
results = []
sources = [input1, input2,...]
for src in sources :
result = Dense(25)(src)
results.append(result)
Model = model(input=sources, output=results)
我的模型确实可以运行,因此可以编译和训练。
我的问题是,由于每个分量都是独立的,单个密集层是否将使用其对应的y数组中的损失进行训练?还是使用合并损失对所有神经网络进行训练?
我希望尽可能将所有的NN保持在一起,因为它们将始终一起运行。
答案 0 :(得分:0)
每个不同的NN中的所有变量都将彼此独立,因此组合损失可以视为独立的。您需要注意的是,您将拥有N个输出张量,其中N是您拥有的不同神经网络的数量(即结果数组的长度)。
您将必须手动确保标签的结构与模型输出的结构相同,或者创建自定义损失函数来处理此问题。一种方法是使用tf.stack或tf.concat合并输出,然后复制标签以匹配它们。