Answers:
解决此问题的方法主要有以下三种:
集成方法是最直接的选择,并且会产生不错的结果,但是,它不能像您建议的那样工作,因为集成网络仅从两个网络接收类概率作为输入,并且与您的选择相比这种方法错过了数据类型之间更复杂的关系。
从理论上讲,第二种方法与您提出的方法没有什么不同,不同之处在于它假定网络将自行确定输入由两种类型的数据组成(因为它们都在相同的矢量/张量中) )。网络要花费大量的培训时间才能知道这一点,并且您甚至可能在陷入局限之前就陷入困境。
根据我的个人经验,您建议的网络是最佳选择,因为它可能具有最短的培训时间,一旦您掌握了正确的体系结构,就可以很容易地对生产中的网络进行培训和维护(再培训),以及您将只需要重新训练一个模型即可。
正如@Tadej Magajna已经说过的那样,有不同的解决方案。我想加一个帖子,介绍如何在keras中实现第三种方法:
到目前为止,我已经使用了您提出的幼稚结构。在框架合理且数据充足的情况下,这种类型的体系结构可以很好地工作。但是,我学到了一些东西:
关键设计将是连接层,以及您要将其放置在体系结构中的何处。此外,使用嵌入层还为您提供了在其他一些任务/可视化中使用这些学习到的嵌入的其他好处。
这些类型的体系结构已在Kaggle竞赛中使用[1],并且在Jeremy Howard教授的Fast.ai课程中也有讲授[2]。