在设计具有多个输出的前馈神经网络时,将单一网络设计为多输出,与设计多个网络每个网络单输出之间,除了计算效率之外,是否存在概念上的差异?
虽然同一网络中的输出神经元不会“实时”相互影响,但它们确实会影响训练,因为每个输出的误差会反向传播并影响隐藏层的权重,进而影响其他输出的值。
是否有些问题更适合采用其中一种方式解决?直觉上,我认为单一网络更适合那些一次只能有一个输出活跃的问题(例如光学字符识别),而多网络更适合那些可以同时有多个输出活跃的问题(例如当每个输出对应输入的某些特征,且这些特征可以同时存在)。但这只是直觉。在实践中是否成立呢?
回答:
正如你自己指出的,概念上的差异在于联合训练与单独训练。我认为在大多数情况下,如果问题是相关的(例如,如果所有输出都是关于识别字符的),联合训练会有所帮助。因此,我认为在你提到的两种问题中,无论是否可以同时有多个输出活跃,联合训练都会有所帮助。
联合训练不会有帮助并且可能会有害的情况是,当任务之间完全没有关联时,例如,如果一个输出是关于“字符a”的,另一个输出是关于“声音x”的。