0

对于我的项目,我使用 tensorflow 编写了一个未完全连接的 feedforword 网络。

由于不完全连通性,我只使用标量变量来生成权重,而不是矩阵变量。

出于这个原因,我可以灵活地分别从两个相邻层连接神经元。

不幸的是,这个网络的训练占用了太多的存储空间。 在此处输入图像描述 也训练失败,如果网络有更多层(我有一个迭代来定义层数)

我已经在 github 上发布了我的代码:https ://github.com/hezhouyuanren/BP-like-Decoder.git 。我正在寻求你的帮助

4

1 回答 1

0

您可以创建常规的全连接层,然后删除不需要的连接,而不是为每个权重使用单个标量值,这可能会导致巨大的图形结构。例如,对于具有N个特征和一个大小为M的层的输入X ,您将有一个大小为N x M的典型权重矩阵W。然后,如果输入特征i和层神经元j之间存在连接,则可以有另一个矩阵CN x M使得 C ij为 1如果没有,则为 0。层的输出(激活之前)将是X * ( W · C ),其中 * 是通常的矩阵乘积, · 是元素乘积。这也应该与训练配合得很好(假设C不可训练),因为C为 0 的值不会影响参数更新。唯一的问题是您使用的矩阵比您需要的更大,但除非您有大量非常大的层,否则问题应该不大(肯定比拥有数千个标量图节点的问题要少)。

于 2017-08-22T09:40:22.267 回答