deep-learning - 深度学习的随机梯度
问题描述
我正在阅读有关深度学习概念随机梯度的信息。在下面的快照中,我不明白“在这个方向上迈出重要一步的一般问题是,当我们移动时,我们脚下的梯度可能会发生变化!” 我们在下图中展示了这个简单的事实。我无法解释这个数字。请解释
解决方案
我们希望减少预测值和实际值之间的误差。将实际值和预测值视为 2D 中的一个点。您应该将预测值点移动到与实际值点一样近的位置。要移动该点,您需要一个方向,而 SGD 会提供它。
看图像,C,轮廓中心是实际值,P1 是第一个预测值,SGD(蓝色箭头)显示的方向是减少 P1 和 C 之间的距离。如果从 P1 开始,然后取在第一个箭头方向上迈出重要的(大)一步,您将在远离 C 的 P2 处结束。但是,如果您采取小步骤(蓝点),并且在每一步中您基于新的 SGD 方向移动(蓝色每个点的箭头),您将到达靠近 C 的点。
大的步数会让你在实际值附近波动,太小的步数也需要很长时间才能达到实际值。大多数时候,我们在开始学习过程中使用大步骤,然后将其变得越来越小。
推荐阅读
- c# - 无法在 ASP.NET MVC 中更新数据库中的对象引用列表
- .net - 在 VB.net WinForms 应用程序中使用 net.exe 删除网络驱动器
- python - 使用 pytorch 训练神经网络时使用 numpy memmap 的有效方法
- r - 使用 R 中的 pivot_longer() 将数据同时旋转到两个不同的列?
- sql - 我可以在 Oracle SQL Loader 中按日期过滤行吗?
- kubernetes - 为什么“kubectl get”的 YAML 与 GKE 中的“kubectl apply”的 YAML 如此不同?
- r - 有没有办法创建从现有点向外辐射的栅格地图?
- java - JNPM 如何影响 Http-Requests?
- python - 为具有相同内容的不同文件创建两个具有相同哈希的 zip
- linux - 用于 NGINX 服务网格的 Grafana Loki 仪表板“未能升级旧查询数据源命名未找到”