如何在这种结构中构建神经网络?不同的节点连接到下一层不同数量的节点



我只知道如何在 PyTorch 中使用像 LSTM 的 RNN 这样的内置网络。但是它们倾向于处理前一层中的每个节点,这些节点将向下一层中的所有节点提供信息。

我想做一些不同的事情,但不知道如何自己编码。如下图所示:节点a映射到第 2 层中的所有 [d, e, f] 三个节点,而节点b映射到 [e,f],节点c仅映射到 [f]。因此,节点d将仅包含来自 a 的信息,而e将包含来自 [ab] 的信息。f将包含来自前一层中所有节点的信息。 有谁知道如何编写此结构?请给我一些见解,我将不胜感激:D

结构

当您的图层看起来像"完全连接"图层但具有自定义连通性时,请使用具有正确结构的蒙版

假设x = [a, b, c]是 3 暗输入,W表示连接矩阵。

>> x
tensor([[0.1825],
[0.9598],
[0.2871]])
>> W
tensor([[0.7459, 0.4669, 0.9687],
[0.9016, 0.4690, 0.0471],
[0.5926, 0.9700, 0.5222]])

然后W[i][j]指向第j个输入和第i个输出神经元之间的连接权重。为了构建类似于您的玩具示例的结构,我们将制作这样的面具

>> mask
tensor([[1., 0., 0.],
[1., 1., 0.],
[1., 1., 1.]])

然后,您可以简单地掩盖W

>> (mask * W) @ x
tensor([[0.1361],
[0.6147],
[1.1892]])

注意:@是矩阵乘法,*是逐点乘法。

相关内容

  • 没有找到相关文章

最新更新