【问题标题】:How does multiplying matrices in backpropagation work反向传播中的乘法矩阵如何工作
【发布时间】:2021-07-27 06:49:25
【问题描述】:

我是神经网络的新手,我的任务是在 python 中创建自己的神经网络。到目前为止,我已经设法创建了具有自己的权重、输出和导数的层。我目前正在研究反向传播过程,但遇到了一些麻烦。这是我的算法的当前逻辑。在图片中,假设 '*' 是像 np.multiply 一样的元素乘法。 ydtf 是每一层的每个节点的导数,权重是每个节点从它之前的层接收的权重连接。如果转置错误,我很抱歉。

事实证明,我发现了为什么我的反向传播维度是错误的:

问题是,这个逻辑正确吗?如果没有,我该怎么做才能完全自动化反向传播?这个过程是否依赖于每层有多少节点之间的比较?

【问题讨论】:

    标签: python matrix neural-network backpropagation


    【解决方案1】:

    您的问题是指反向传播,但您似乎是在描述前向传播,(如果这是一个错误,请查看我的答案底部以获取更多详细信息)。

    假设我们有一个具有 5 个输入节点、3 个神经元节点和 1 个输出节点的神经网络。所有这些节点都用权重(线)连接。

    要为神经元数组创建矩阵,我们必须遍历网络中的每个神经元。我们以 N 0 为例。

    N 0 的等式将是 N0 = (I 0 * W 0 ) + (I1 * W 1) + (I2 * W 2) + (I3 * W 3) + (I4 * W 4).

    这是我可以用方程式表示它的最简单方法。最简单的说法是 - 下一个矩阵的值等于进入该神经元的所有权重和输入的总和。

    请记住,这只是一个简单的方程,不包括任何类型的偏差或激活函数等。

    你的问题不是很清楚,所以我可能误解了你所说的。如果我的回答没有纠正您的问题,请查看我之前的一些回答,这可能会有所帮助。

    Does Back Propagation and Gradient Descent use the same logic?

    How does the Gradient function work in Backpropagation?

    我希望这些回答能回答您的问题,祝您有美好的一天!

    【讨论】:

      猜你喜欢
      • 2019-02-25
      • 2015-10-14
      • 1970-01-01
      • 2017-02-15
      • 1970-01-01
      • 1970-01-01
      • 2019-05-06
      • 2015-01-07
      相关资源
      最近更新 更多