我已经implemented一个基本的1隐藏层NN来标识来自MNIST数据集的一部分的数字(这是根据Coursera ML课程改编的)。它使用矩阵和共轭梯度(fmincg)优化来实现。
此外,我同时实现了Keras implementation和普通TF implementation。
在手动实现中,有50次迭代(或时期),但由于我使用的是整个批次,因此每个时期的大小为1)。
现在,我注意到,手动实现需要花费一些时间来计算,但是经过50次迭代后,我得到了很好的结果。
另一方面,Keras和TF花费的时间较少,但是如果我使用整个批次给我相同的结果,则需要大约500-1000次迭代。 (尽管使用50个纪元,每个处理32个大小的迷你批处理似乎也很好)
因此,我想知道手册的含义如何。融合更好?为何迭代次数相同(50),却要花更长的时间?