首页 > 试题广场 >

在处理一个无法完全加载到内存中的海量数据集来训练深度神经网络

[单选题]
在处理一个无法完全加载到内存中的海量数据集来训练深度神经网络时,你观察到损失函数在每个 epoch 之间有剧烈波动。综合考虑效率和收敛稳定性,下列哪种优化算法是此场景下最常用且有效的选择?
  • 批量梯度下降 (Batch Gradient Descent)
  • 随机梯度下降 (Stochastic Gradient Descent)
  • Adam 优化器
  • 牛顿法 (Newton's Method)

在处理无法完全加载到内存的海量数据集且损失函数 epoch 间波动剧烈时,最常用且有效的是 B 随机梯度下降(SGD)


分析:

  • A 批量梯度下降 ❌ 需要全部数据计算梯度,内存不可行。

  • B 随机梯度下降 ✅ 每次用一个样本(或一个小批量)更新,内存友好,能处理海量数据,通过适当的学习率调度可稳定收敛,且深度学习中常用带动量的 SGD 变体。

  • C Adam 优化器 ❓ 虽然广泛使用,但在海量数据且 batch 较小时,自适应学习率方法有时对初始学习率敏感,且比朴素 SGD 多存储一阶、二阶矩估计,但通常也被采用。不过如果波动剧烈,SGD 配合学习率衰减更为经典且可控。

  • D 牛顿法 ❌ 需要计算海森矩阵及其逆,内存和计算完全不适用于海量数据和深度网络。


虽然实践中 Adam 也很常用,但题目强调 “无法完全加载到内存” 和 “epoch 间损失剧烈波动”,经典解法是使用 SGD + 动量 + 学习率衰减,以确保稳定性和内存效率,因此最佳答案是 B

答案:B

发表于 今天 15:29:38 回复(0)