在处理无法完全加载到内存的海量数据集且损失函数 epoch 间波动剧烈时,最常用且有效的是 B 随机梯度下降(SGD)。
A 批量梯度下降 ❌ 需要全部数据计算梯度,内存不可行。
B 随机梯度下降 ✅ 每次用一个样本(或一个小批量)更新,内存友好,能处理海量数据,通过适当的学习率调度可稳定收敛,且深度学习中常用带动量的 SGD 变体。
C Adam 优化器 ❓ 虽然广泛使用,但在海量数据且 batch 较小时,自适应学习率方法有时对初始学习率敏感,且比朴素 SGD 多存储一阶、二阶矩估计,但通常也被采用。不过如果波动剧烈,SGD 配合学习率衰减更为经典且可控。
D 牛顿法 ❌ 需要计算海森矩阵及其逆,内存和计算完全不适用于海量数据和深度网络。
虽然实践中 Adam 也很常用,但题目强调 “无法完全加载到内存” 和 “epoch 间损失剧烈波动”,经典解法是使用 SGD + 动量 + 学习率衰减,以确保稳定性和内存效率,因此最佳答案是 B。
答案:B