关于带有多个输出的KERAS回归的问题:
您能解释一下这个网络之间的区别:
两个输入 - >两个输出
输入=输入(shape =(2,),name ='bla')
hidden =密集(隐藏,激活='tanh',name ='bla')(输入)
输出=密集(2,activation ='tanh',name ='bla')(隐藏)
和:两个单个输入 - >两个单一输出:
输入=输入(shape =(2,),name ='speed_input')
hidden =致密(hidden_dim,activation ='tanh',name ='hidden')(输入)
输出=密集(1,activation ='tanh',name ='bla')(隐藏)
input_2 = input(shape =(1,),name ='Angle_input')
hidden_2 = dense(hidden_dim,activation ='tanh',name ='hidden')(input_2)
output_2 =密集(1,activation ='tanh',name ='bla')(hidden_2)
模型=模型(inputs = [speed_input,angle_input],outputs = [speed_output,angle_output])
他们的行为非常类似。另外,当我将它们完全分开时,两只网就像他们应该的那样行事。
而且,两个单一输出网比具有两个输出的更大的单个输出网的行为更为明显,我认为差异可能不像我所经历的那样巨大。
要回答您的第一个问题,两个网仍在同一模型对象中,但是计算它们是完全分开的。
在您的第一个模型中,每个隐藏的神经元都会收到2个输入值(因为它是一个“密集”层,输入将传播到每个神经元)。在第二个模型中,您的神经元具有两倍,但是每个神经元仅接收speed_input或Angle_input,并且仅与该数据一起使用,而不是整个数据。