我们在很多书中看到了错误表面的漂亮图片,其中包含全局最小值和神经网络的收敛性。如何在keras中可视化类似的内容,即包含错误表面以及我的模型如何收敛以实现全局最小错误?以下是此类插图的示例图像。 this链接包含不同优化器的动画插图。我为此目的探索了tensorboard日志回调,但找不到任何这样的东西。我们将不胜感激。
答案 0 :(得分:2)
图片和动画是为了目的而制作的,但是错误表面是完全未知的(或者难以理解或可视化)。这是使用梯度下降背后的整个想法。
通过获取当前渐变,我们只知道一个点,即功能增加的方向。
您可以尝试通过获取每次迭代时的权重值和错误来绘制您所遵循的方式(线),但之后您将面临另一个问题:它是一个大规模的多维函数。它实际上不是表面。变量的数量是模型中的权重数(通常为数千甚至数百万)。这绝对不可能被视觉化甚至构思为视觉事物。
要绘制这样的曲面,您必须手动更改所有数千个权重以获得每个排列的错误。除了“不可视化”问题外,这将耗费大量时间。