【问题标题】:What's the relationship between Tensorflow's dataflow graph and DNN?Tensorflow的数据流图和DNN有什么关系?
【发布时间】:2018-05-04 15:15:02
【问题描述】:

众所周知,DNN 由许多层组成,这些层由许多神经元组成,它们将相同的功能应用于输入的不同部分。同时,如果我们使用 Tensorflow 执行 DNN 任务,我们会得到一个由 Tensorflow 自动生成的数据流图,我们可以使用 Tensorboard 将数据流图可视化。但是该层中没有神经元。所以我想知道 Tensorflow 数据流图和 DNN 之间的关系是什么?当 DNN 的层映射到数据流图中的一个神经元时,它是如何表示的?DNN 中的神经元和 tensorflow 中的节点是什么关系(代表一个操作)?刚开始学习DNN和Tensorflow,请帮我整理思路。谢谢:)enter image description here

【问题讨论】:

    标签: tensorflow deep-learning


    【解决方案1】:

    您必须区分 DNN 的隐喻表示和它的数学描述。经典神经元背后的数学是加权输入的总和 + 偏差(通常在此结果上调用激活函数) 所以在这种情况下,你有一个输入向量与一个权重向量(包含可训练变量)相乘,然后与一个偏置标量相加(也是可训练的)

    如果您现在考虑一层神经元而不是一个神经元,那么权重将变成一个矩阵,而偏差将变成一个向量。所以计算前馈层只不过是矩阵乘法,然后是向量之和。

    这是您可以在 tensorflow 图中看到的操作。 您实际上可以通过这种方式构建您的神经网络,而无需使用使用层抽象的所谓高级 API。 (很多人在 tensorflow 早期就这样做了)

    tensorflow 为您所做的实际“魔法”是计算并执行此前言传递的导数,以计算权重的更新。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-25
      • 1970-01-01
      • 2015-05-15
      • 1970-01-01
      • 1970-01-01
      • 2011-10-31
      • 1970-01-01
      • 2018-07-04
      相关资源
      最近更新 更多