深度学习碎碎念——碎片知识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() 方法。
相关推荐
前进的李工14 分钟前
LangChain使用之Model IO(提示词模版之ChatPromptTemplate)
java·前端·人工智能·python·langchain·大模型
AIArchivist14 分钟前
深度解析|超级AI医院:不止是概念,更是医疗未来的确定性方向
人工智能·健康医疗
华农DrLai17 分钟前
什么是角色扮演Prompt?为什么给AI设定身份能提升表现?
人工智能·深度学习·ai·prompt·bert·transformer
大傻^18 分钟前
SpringAI2.0 向量存储生态:Redis、Amazon S3 与 Bedrock Knowledge Base 集成
数据库·人工智能·向量存储·springai
咋个办呢22 分钟前
AI智能体自学打卡:一份非常全的 Markdown Prompt 模板(可做减法)
人工智能·ai·prompt·智能体
彷徨的蜗牛28 分钟前
智能AI自动化协同发文系统架构设计:从理论到实践的完整指南
人工智能·系统架构·自动化
许国栋_28 分钟前
B2B企业如何建设价值管理办公室(VMO)?实践与落地解析
人工智能·安全·云计算·产品经理
一RTOS一31 分钟前
从PLC到机器人:实时操作系统如何决定能力上限
人工智能·机器人·鸿道操作系统·鸿道实时操作系统·国产嵌入式操作系统选型·鸿道机器人操作系统
大傻^37 分钟前
Spring AI 2.0 企业级 RAG 架构:混合检索、重排序与多模态知识库
人工智能·spring·架构·多模态·rag·混合检索·重排序
yiyu071639 分钟前
3分钟搞懂深度学习AI:实操篇:Attention
人工智能·深度学习