我是ML / DL的新手,并且一直在尝试通过制作一个无需TF或keras即可学习MNIST数据集的模型来提高自己的技能。我有784个输入节点,2个隐藏的层(每个层包含16个神经元)和10个输出节点,对应于模型认为给定图片的编号。 Sigmoid是我使用的唯一激活函数(我知道这不是最理想的)。我训练了200k个纯SGD的时期(批处理大小为1张图像),并每10个时期绘制了成本。我的问题是:随着时间的推移,this成本怪异行为的解释是什么?
答案 0 :(得分:1)
没有人能确切确定正在发生的事情(特别是因为您没有提供任何代码),但是以200k的时间段(批处理大小为1)运行会立即成为我的一个危险信号。如果确实使用的批次大小为1,则梯度下降将非常嘈杂且差异很大。 200k遍历所有训练数据也似乎是您在强迫模型过度拟合(对于大多数结果,通常几百个epoch或更少的时间就足够了)