深度学习——速问速答

第一遍:直接陈述

第二遍:查看笔记

第三遍:对照答案

第四遍:总结背诵

1.机器学习的本质?

e4

机器学习本质简单说就是通过计算机寻找一个函数,在你输入特定数据的时候得到特定的输出。比如语音识别,输入语音输出文字,房价预测输入未来某个时间输出房子预测价。

寻找函数的过程叫训练,函数叫模型。

一般主要分为两大类:分类任务和回归任务。

2.机器学习是如何学习的?

e4

机器学习有几个重要部分:模型、损失函数、训练

模型方面:多元线性回归、逻辑回归等等方式进行拟合

损失函数:MSE

调优:梯度下降法调整参数

3.什么是梯度?

e4

梯度是对多元函数偏导数的向量形式,梯度方向是函数值变化最快的方向。

4.梯度下降法算法原理?

e4

梯度下降法用于解决求取模型最优解问题。简单说就是计算损失函数的梯度,通过学习率调整网络参数。不断迭代直至收敛,得到最优解。

5.如何判断速度下降是否收敛?

e4

损失不断减小并趋于稳定,且小于某个阈值,此时认为网络收敛。从梯度角度,如果梯度为0,或者小于某个阈值,此时认为网络收敛。

6.如何看待局部最优解问题localminima?

e1

陷入局部最优解有几种可能:首先是学习率可能过小,其次是特殊图像如马鞍面

e3

由于模型越来越复杂,多数的损失函数是非凸的,即有多个峰和谷。那么此时在收敛过程中就容易陷入局部最优而非我们想要的全局最优。

对于传统的局部最优,可以采取变种梯度下降、动态学习率等方法克服。其实大多数时候遇到的都是鞍点问题,即在一定方向是极大值,一定的方向是极小值。

7.局部最优和鞍点的处理办法?

  • 1.随机梯度下降SGD
    SGD每次只用一个或一小批(mini-batch)数据计算梯度。这个梯度是有噪声的。这种噪声恰恰是关键------它可以帮助算法"抖动"着跳出一些较浅的局部最优或鞍点,因为噪声可能提供一个偶然的推力,指向下降的方向。
    带动量的SGD:这是最有效的改进之一。动量不仅考虑当前的梯度,还累积之前梯度的方向。在持续下降的方向上,速度会越来越快,加快收敛。遇到局部最优或鞍点(梯度很小)时,累积的动量可以帮助它"冲过"这些平坦区域,继续寻找更好的下降路径。对于鞍点,动量可以帮助它沿着下降方向继续前进。
  • 2.自适应学习率算法
    如 Adam, AdaGrad, RMSprop 等。这些算法为每个参数自适应地调整学习率。
  • 3.初始化策略
    好的初始化(如He初始化、Xavier初始化)可以让模型从一个相对较好的区域开始训练,避开一些糟糕的局部最优。
  • 4.调整批次大小(Batch Size)
    较小的batch size能提供更多的梯度噪声,有助于泛化和逃离尖锐的极小值。但也不是越小越好,需要权衡。这是一个可以调节的超参数。
  • 5.使用更复杂的优化器和正则化
    如 SWA (Stochastic Weight Averaging) 等方法,通过平均多次迭代的权重,可以找到更平坦的极小值(通常泛化能力更好),这些极小值往往也更接近全局最优。
  • 6.模拟退火(Simulated Annealing)
    在优化过程中逐渐降低学习率(即"退火")。初期学习率大,允许大胆探索和跳出局部最优;后期学习率小,便于精细收敛。这是所有SGD变种的标准做法。

8.批量梯度下降、随机梯度下降、小批量梯度下降 辨析

批量梯度下降BGD

Batch Size = 整个训练集的大小(N),每次迭代都用所有训练数据计算梯度,然后更新一次参数。

优点:梯度方向准确,朝真正的全局梯度方向下降。

缺点:速度极慢,无法放入内存的大数据集无法使用。

随机梯度下降SGD

Batch Size = 1,每次迭代只使用一个训练样本计算梯度,并更新一次参数。

优点:速度很快,可以在线学习。

缺点:梯度噪声非常大,更新方向震荡剧烈,收敛过程不稳定。

小批量梯度下降MGD

Batch Size = k (一个远小于N,远大于1的数,如32, 64, 128等),这是目前最常用的方法。每次迭代使用一小批(k个) 数据计算梯度,然后更新参数。

优点:

相比SGD,梯度计算更稳定,收敛过程更平滑。

相比BGD,速度更快,并且可以利用GPU的并行计算能力(同时处理一批数据),效率极高。

我们通常所说的 "SGD",在实践中指的就是这种带动量(Momentum)的 Mini-batch Gradient Descent。虽然名称保留了SGD,但实现方式已经是小批量了。

9.批量梯度下降需要注意什么?

10.随机梯度下降什么情况会失效?

9.随机梯度下降的改进算法?

10.什么是Batch Normalization?

11.为什么CNN要采用Batch Normalization?

12.Batch Normalization的算法步骤?

13.为什么要对数据进行归一化?

14.Batch size的大小设置?

15.深度学习如何防止过拟合?

相关推荐
起个名字费劲死了2 分钟前
Pytorch Yolov11 OBB 旋转框检测+window部署+推理封装 留贴记录
c++·人工智能·pytorch·python·深度学习·yolo·机器人
Tadas-Gao6 分钟前
华为OmniPlacement技术深度解析:突破超大规模MoE模型推理瓶颈的创新设计
人工智能·架构·大模型·llm
天上的光11 分钟前
计算机视觉——灰度分布
人工智能·opencv·计算机视觉
X.AI66620 分钟前
【大模型LLM面试合集】有监督微调_微调
人工智能
Billy_Zuo30 分钟前
人工智能深度学习——循环神经网络(RNN)
人工智能·rnn·深度学习
洁宝趴趴1 小时前
Real-Time MDNet
人工智能·深度学习
神州问学1 小时前
A I智能革命——上下文工程新突破
人工智能
2501_915106321 小时前
iOS 混淆与机器学习模型保护 在移动端保密权重与推理逻辑的实战指南(iOS 混淆、模型加密、ipa 加固)
android·人工智能·机器学习·ios·小程序·uni-app·iphone
AiTop1001 小时前
阿里云推出全球首个全模态AI模型Qwen3-Omni,实现文本、图像、音视频端到端处理
人工智能·阿里云·ai·aigc·音视频
alex1001 小时前
AP2协议与AI Agent经济:重塑金融生态与主权国家挑战
人工智能·金融·web3·去中心化·区块链·ai agent