深度学习碎碎念——碎片知识2

1、范数是什么?

范数就像是测量向量的"大小"或"长度"的一种方式。想象你有一个向量,它可以是一个箭头,指向某个方向并且有一定的长度。范数就是用来衡量这个箭头有多长或者有多大。

  • L0 范数:

    • 含义:向量中有多少个非零元素。
    • 例子 :向量 [0, 3, 0, 5] 的 L0 范数是 2,因为它有两个非零元素(3 和 5)。
  • L1 范数:

    • 含义:向量中所有元素的绝对值之和。
    • 例子 :向量 [3, -2, 4] 的 L1 范数是 ∣3∣+∣−2∣+∣4∣=3+2+4=9∣3∣+∣−2∣+∣4∣=3+2+4=9。
  • L2 范数:

    • 含义:向量中所有元素的平方和的平方根。
    • 例子 :向量 [3, -2, 4] 的 L2 范数是 3*3+(-2)*(-2)+4*4=9+4+16=29,即根号下29
  • 无穷范数(L∞ 范数):

    • 含义:向量中最大元素的绝对值。
    • 例子 :向量 [3, -2, 4] 的 L∞ 范数是 4,因为 4 是最大的绝对值。

更直观的例子

向量的起点是原点 (0, 0),终点是 (3, 4)。

  • L1 范数 相当于你沿着网格线走的总距离。在这个例子中,你先向右走了 3 步,然后向上走了 4 步,总共走了 7 步。
  • L2 范数 相当于你直接从起点走到终点的距离。你可以使用勾股定理来计算这个距离:9+16=25,开根号等于5。
  • L∞ 范数 相当于你走过的最长的单步距离。在这个例子中,你向右走了 3 步,向上走了 4 步,所以最长的一步是 4 步。

用处:

  • 正则化:通过在损失函数中加入正则化项来控制模型参数的大小,从而防止过拟合。

    • L1 正则化:鼓励模型参数变得稀疏,即很多参数变为0。
    • L2 正则化:鼓励模型参数变得较小,但不一定为0,这有助于减少过拟合。
  • 梯度裁剪:在训练深度神经网络时,有时候梯度可能会变得非常大,导致梯度爆炸问题。通过限制梯度的 L2 范数,可以避免这种情况发生。

  • 距离度量:在聚类算法或相似度度量中,范数可以用来计算两个向量之间的距离。

2、模型中的协变量偏移、标签偏移、概念偏移是什么?

在机器学习和深度学习中,协变量偏移、标签偏移和概念偏移是指训练数据和测试数据分布之间的差异。这些偏移可能会导致模型在新数据上的性能下降。

2.1、协变量偏移

协变量偏移是指训练数据和测试数据在输入特征(即协变量)的分布上的差异。

**例子:**在一家餐厅里学习如何根据客人的点餐来预测他们是否会成为回头客。如果只在午餐时间收集数据(协变量),而实际上晚餐时间的客人行为可能会有所不同。这意味着在午餐时间学到的东西可能不适用于晚餐时间。这就是协变量偏移。

2.2、标签偏移

标签偏移是指训练数据和测试数据在目标变量(即标签)的分布上的差异。

**例子:**学习如何区分苹果和橙子。如果训练模型时使用的苹果和橙子的比例是 50:50,但在实际应用中,苹果和橙子的比例变成了 80:20。这意味着模型在训练时学到的比例与实际应用中的比例不同。这就是标签偏移。

2.3、概念偏移

概念偏移是指随着时间的推移,输入特征与目标变量之间的关系发生变化。这意味着即使输入特征的分布保持不变,它们与目标变量的关系也可能发生变化。

**例子:**假设训练了一个模型来预测天气,使用过去几年的数据来训练模型,但随着时间的推移,气候变化导致某些因素(如温度、湿度等)与天气之间的关系发生了变化,这意味着即使温度和湿度的分布没有变化,它们与天气的关系可能已经改变了,这就是概念偏移。

3、自动微分

深度学习框架可以自动计算导数:我们首先将梯度附加到想要对其计算偏导数的变量上,然后记录目标值的计算,执行它的反向传播函数,并访问得到的梯度。

  • 一个标量函数y关于向量x的梯度是向量,并且与x具有相同的形状。标量是一个单一的数值,没有方向。当输出是一个标量 时,我们可以直接调用 backward() 方法来计算梯度,这是因为标量的梯度本身就定义为标量相对于各个输入变量的偏导数之和。
  • 当是向量、矩阵函数输出时,由于向量和矩阵是具有方向的数组 ,不能直接调用 backward() 方法来计算梯度,因为我们需要指定一个梯度参数 来告诉框架如何处理这个向量或矩阵的梯度,这是因为y的梯度可能是更复杂的结构,比如雅可比矩阵。假设我们有一个向量函数输出 y,如果我们直接调用 y.backward(),则需要传递一个与 y 形状相同的梯度参数。或者求和(y.sum()),以得到一个标量,然后再调用 backward() 方法。
相关推荐
A7bert7775 分钟前
【MobileSAM部署至RK3588】环境适配→转换RKNN→开发板部署
c++·人工智能·深度学习·目标检测·ubuntu
Ada's8 分钟前
【公司系列】001:墨芯科技
人工智能·科技
HANDY0920011 分钟前
从“不照人”到“剂量达标”:扇叶遮挡式UV-C空气消毒的工程边界与可验证评估框架
开发语言·人工智能·嵌入式硬件·智能家居
lucas_AI19 分钟前
想公开警告 AI 风险?先看看你的合同:DeepMind 员工抗议「终身禁言条款」
人工智能
阿文和她的Key20 分钟前
算力零售化的四层架构:从 0.01 元月卡看 AI 服务的计量、履约与复购
人工智能·架构·零售
ss27323 分钟前
不用向量库,我用 MySQL 跑通了蔬菜 RAG--基于 RuoYi-AI 的蔬菜种植知识库 + 智能咨询系统,普通开发机就能跑
数据库·人工智能·智慧农业·ruoyi·知识库·rag
l55072554125 分钟前
汽车总布置人机|SAE J826 驾驶人体二维模板绘制要点
人工智能·汽车
天远数科27 分钟前
零信任架构实战:基于天远全能家政风险报告构建自动化即时到家保洁与短工抢单安全核验网关
运维·人工智能·架构·自动化
听我哔哔34 分钟前
口播视频唇形总对不上?Seedance 2.5 在 zeekeAI 里的同步实操
人工智能·音视频