TL;博士
我需要帮助理解结构化数据分类的特定算法的某些部分。我也愿意为此目的提出不同算法的建议。
大家好!
我目前正在研究一个涉及结构化数据分类的系统(我不想透露更多关于它的信息),为此我使用了一个简单的通过结构反向传播(BPTS)算法。我计划稍后修改代码以使用 GPU 来提高速度,但目前我正在寻找比 BPTS 更好的算法,我可以使用。
我最近偶然发现了这篇论文 -> [1],我对结果感到惊讶。我决定试一试,但我在理解算法的某些部分时遇到了一些麻烦,因为它的描述不是很清楚。我已经给一些作者发了电子邮件要求澄清,但还没有收到他们的消息,所以,我非常感谢你们提供的任何见解。
该算法的高级描述可以在第 787 页找到。在第 1 步中,作者随机化了网络权重,并且“通过数据结构将每个节点的输入属性从前沿节点向前传播到根,因此,得到根节点的输出”。我的理解是步骤 1 永远不会重复,因为它是初始化步骤。我引用的部分表明这里也发生了一次性激活。但是,训练数据集中的哪些项目用于网络的这种激活?这种激活真的应该只发生一次吗?例如,在我使用的 BPTS 算法中,对于训练数据集中的每个项目,一个新的神经网络——其拓扑取决于当前项目(数据结构)——被动态创建并激活。然后,错误反向传播,
另一件困扰我的事情是步骤 3b。在那里,作者提到他们使用方程 (17)、(30) 和 (34) 更新参数 {A, B, C, D} NT 次。我的理解是 NT 表示训练数据集中的项目数。但是等式 (17)、(30) 和 (34) 已经涉及训练数据集中的所有项目,那么,解决它们(特别是)NT 次的意义何在?
我没有得到的另一件事是他们的算法如何准确地考虑到训练数据集中每个项目的(可能)不同的结构。我知道这在 BPTS 中是如何工作的(我在上面描述过),但我不清楚它是如何与他们的算法一起工作的。
好的,这就是现在的全部。如果有人对这个算法可能发生的事情有任何想法,我会非常有兴趣听到它(或者更确切地说,阅读它)。此外,如果您知道其他有前途的算法和/或网络架构(可以在这里使用长短期记忆(LSTM)吗?)结构化数据分类,请不要犹豫发布它们。
在此先感谢您提供任何有用的输入!
[1] http://www.eie.polyu.edu.hk/~wcsiu/paper_store/Journal/2003/2003_J4-IEEETrans-ChoChiSiu&Tsoi.pdf