我尝试使用完全连接的层和softmax层进行时尚MNIST分类,但事实证明,在第一个时期之后,损耗将变为常数:
Epoch:0负:2.3611641932884853
Epoch:1次损失:2.3611501693725585
Epoch:2次失败:2.3611501693725585
Epoch:3次失败:2.3611501693725585
Epoch:4次失败:2.3611501693725585
这是代码:
dfl.fitdist <- lapply(dfl, function(x) fitdist(x, "gamma"))
> dfl
$`1.1.1`
Fitting of the distribution ' gamma ' by maximum likelihood
Parameters:
estimate Std. Error
shape 3.38170 2.2831073
rate 1.04056 0.7573495
.
.
.
$`2.2.2`
Fitting of the distribution ' gamma ' by maximum likelihood
Parameters:
estimate Std. Error
shape 4.868843 2.5184018
rate 1.549188 0.8441106
答案 0 :(得分:2)
您正在将权重变量初始化为零,因此优化器无法计算梯度。另外,0.5
对于梯度下降的学习率非常高。
尝试随机初始化权重变量:
W = tf.get_variable("W", shape=[784, 10], initializer=tf.random_uniform_initializer())
b = tf.get_variable("b", shape=[10], initializer=tf.zeros_initializer())
然后将您的学习率设置为0.0005
左右。
您可能更喜欢使用other initializers。
tutorial video for Tensorboard实际上涵盖了零权重初始化的确切情况。您已经在代码中编写了摘要,最好查看该视频以了解如何使用它来帮助调试。