深度学习——速问速答

第一遍:直接陈述

第二遍:查看笔记

第三遍:对照答案

第四遍:总结背诵

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.深度学习如何防止过拟合?

相关推荐
巫婆理发22219 小时前
循环序列模型
深度学习·神经网络
ALINX技术博客19 小时前
【202601芯动态】全球 FPGA 异构热潮,ALINX 高性能异构新品预告
人工智能·fpga开发·gpu算力·fpga
易营宝19 小时前
多语言网站建设避坑指南:既要“数据同步”,又能“按市场个性化”,别踩这 5 个坑
大数据·人工智能
春日见19 小时前
vscode代码无法跳转
大数据·人工智能·深度学习·elasticsearch·搜索引擎
Drgfd20 小时前
真智能 vs 伪智能:天选 WE H7 Lite 用 AI 人脸识别 + 呼吸灯带,重新定义智能化充电桩
人工智能·智能充电桩·家用充电桩·充电桩推荐
萤丰信息20 小时前
AI 筑基・生态共荣:智慧园区的价值重构与未来新途
大数据·运维·人工智能·科技·智慧城市·智慧园区
盖雅工场20 小时前
排班+成本双管控,餐饮零售精细化运营破局
人工智能·零售餐饮·ai智能排班
神策数据20 小时前
打造 AI Growth Team: 以 Data + AI 重塑品牌零售增长范式
人工智能·零售
2501_9413331020 小时前
数字识别与检测_YOLOv3_C3k2改进模型解析
人工智能·yolo·目标跟踪
逐梦苍穹21 小时前
速通DeepSeek论文mHC:给大模型装上物理阀门的架构革命
人工智能·deepseek·mhc