TensorFlow 2.0成本偏偏验证的偏导数

时间:2019-11-23 21:35:16

标签: python tensorflow neural-network

我有一个用于MNIST分类的神经网络,我正在使用TensorFlow 2.0对其进行硬编码。该神经网络的输入层由784个神经元(28 * 28)组成,一个隐藏层具有“ hidden_​​neurons”个数量的神经元,而输出层则具有10个神经元。

我要检查的部分代码如下:

    # Partial derivative of cost function wrt b2-
    dJ_db2 = (1 / m) * tf.reshape(tf.math.reduce_sum((A2 - Y), axis = 0), shape = (1, 10))

    # Partial derivative of cost function wrt b1-
    dJ_db1 = (1 / m) * tf.reshape(tf.math.reduce_sum(tf.transpose(tf.math.multiply(tf.matmul(W2, tf.transpose((A2 - Y))), relu_derivative(A1))), axis = 0), shape = (1, hidden_neurons))

符号如下。

  • “ b1”-隐藏层的偏差,形状为(1,hidden_​​neurons“)
  • “ b2”-形状为(1,10)的输出层的偏置。
  • “ A2”-是输出层的输出,形状为(m,c)
  • “ Y”-是一键编码的目标,形状为(m,c)
  • 'm'-培训示例的数量
  • 'c'-是班级数量
  • “ A1”-是隐藏层的输出,其形状为(hidden_​​neurons,m)

我使用了多类交叉熵代价函数。隐藏层使用ReLU激活功能,而输出层具有softmax激活功能。

我的成本函数wrt的两行代码对“ b1”和“ b2”正确吗?

谢谢!

0 个答案:

没有答案