【问题标题】:How to create own layers in tensorflow.js如何在 tensorflow.js 中创建自己的层
【发布时间】:2019-01-13 14:51:54
【问题描述】:

我是 tensorflow.js 的新手,我想知道您是否能够创建如下所示的神经网络:

到目前为止,我只看到了密集层(tf.layers.dense),但我不知道是否有可能/如何创建这个输入层。

【问题讨论】:

  • 你想通过创建这样的架构来达到什么目的?
  • 我不希望它混淆属于其他 2 个输入的 2 个输入。这有意义吗?或者在那里也可以使用密集层?
  • 我确实认为你可以通过密集层实现你想要的。但是,您能否展示您所拥有的输入类型以及您正在等待的响应类型?
  • 输入应该是足球比赛的结果,输出应该是下一场足球比赛的结果。它正在预测足球结果
  • 即使在第一层不使用全连接,也会继续混合数据。从中获得预测确实是您感兴趣的。您可以在第一层完美地使用 fc,您唯一要做的就是在“之前”混合数据。

标签: neural-network tensorflow.js


【解决方案1】:

完全连接的神经网络也称为密集层,可用于表示上述架构。实际上在全连接的情况下,输入和输出之间的关系是线性关系WX+b,这意味着如果对于 W 的某些值,权重为 0,则输入的某些值与某个节点之间将没有连接隐藏层。

这样定义网络架构时可以初始化神经网络的权重:

const model = tf.sequential()

const kernel = tf.eye(3).expandDims(-1).minimum(tf.ones([3, 2])).transpose([0,2,1]).reshape([6, 3])
kernel.print()
model.add(tf.layers.dense({inputShape: [6], units: 3, weights:[kernel], useBias: false}))
model.add(tf.layers.dense({units: 8}))
model.add(tf.layers.dense({units: 2}))
<html>
  <head>
    <!-- Load TensorFlow.js -->
    <script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@0.14.1/dist/tf.min.js"> </script>
  </head>

  <body>
  </body>
</html>

【讨论】:

    【解决方案2】:

    如果您想使用变量匹配条目进行预测,您可以使用 LSTM。

    因为几乎所有输入都是相同的“性质”,所以我个人会让模型之间的权重共享。

    const model = tf.sequential()
    model.add(tf.layers.timeDistributed({
       layer: tf.layers.dense({units: 4}),
       inputShape: [3, 2],
    }));
    model.add(tf.layers.flatten())
    model.add(tf.layers.dense({units: 8}))
    model.add(tf.layers.dense({units: 2}))
    

    但得出了与我的评论类似的结论。您将在更深的层中融合匹配,但它们将继续合并。我认为没有必要使用传统网络(经典 MLP)以外的网络。当您需要简化问题或限制问题(例如视频中帧的重要性。首先使用密集时间分布提取特征,然后使用密集融合特征)时,这种限制很有趣。

    这些解决方案的问题在于匹配的顺序确实很重要,为了避免这个问题,您可以使用这种架构(使用 sum 进行熔断):

    const model = tf.sequential()
    model.add(tf.layers.timeDistributed({
       layer: tf.layers.dense({units: 4}),
       inputShape: [3, 2],
    }));
    
    model.add(tf.layers.sum(0))
    model.add(tf.layers.dense({units: 8}))
    model.add(tf.layers.dense({units: 2}))
    

    【讨论】:

      猜你喜欢
      • 2020-03-26
      • 2017-08-03
      • 1970-01-01
      • 2011-08-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-12
      • 2019-01-13
      相关资源
      最近更新 更多