2017-08-29 103 views
2

我想使用神经网络来学习输入向量和输出向量的映射。该问题的物理特性具有约束条件,即某些输入节点只对某些输出节点有影响。我想在训练中使用这个约束。神经网络:约束某些输入节点对某些输出节点的贡献

如果我配制NN作为一个有向图,我想从特定输入节点被“封端”输出节点的路径,并且该错误消息不应该通过这些路径回传播。例如,在下图中,我展示了一个具有2个输入和2个输出节点的NN。输入节点1不应该对输出4有任何影响,因此从节点1到4的任何路径(如虚线所示)都不应具有反向支持。

我不能简单一些边缘/重量设置为零,以满足约束条件,因为约束是上的路径,而不是在单个边缘/重量。

我很欣赏的人分享想法和经验,在这个问题上。也许这是一个深思熟虑的问题,但经过艰苦的搜索后我没有找到任何东西。

A simple neural network with 2 inputs and 2 outputs

+0

我和你一样,重量是多少?只是说。 – gsamaras

回答

1

有趣的案例。恐怕神经网络不能像这样工作。图层被认为是独立的:前向和后向通道流过所有可用的连接,并且每个层不知道当前张量如何累积。

你选择在建筑方面是阻止单个连接,像DropConnect,但没有随机性,如果可能的话。

您也可以考虑每个输出的单独网络,例如,一个网络,其中(1, 2)预测3,和另一网络,其中2预测4。这样,你强制你的约束,但失去了不同网络之间的分享权重,这是不理想的。

另一种选择:我可以想象,你可以增加数据集,以便网络实际上得知某些输入不影响某些输出。根据您的实际问题,这可能是耗时的,但至少在理论上它可能工作:对于给定的输入/输出对(1, 2) -> (3, 4)您可以添加一些额外的对(1*, 2) -> (3*, 4)表明,改变1影响第一输出3*,而不是第二个4