本文博主将通俗地解释一下标量和向量。它们是构建张量世界乃至整个数学和物理世界最基础的“乐高积木”。
1. 标量 ——“单一的量”
一句话概括:标量就是一个只有大小,没有方向的“单个数字”。
它是什么?
- 标量是零维张量。它没有长度、宽度、高度,就是一个点,一个独立的数值。
- 这个数值可以代表任何单一属性的量。
- 例子:
- 温度:
25℃(只表示“多热”,不表示热量往哪个方向传播) - 质量:
60kg - 价格:
¥99.99 - 长度:
1.75m - 损失值:
0.314(在深度学习中,模型预测的总误差)
- 温度:
核心特性:
- 只有大小,没有方向。
- 遵循普通的算术法则(加减乘除)。
通俗比喻:
- 单一维度的信息:就像你手机电池显示的百分比
78%,它只告诉你一个事——“还剩多少电”。它是一个孤立的数值。 - 一个音符:一个单独的音符(比如中央C),它有音高这个属性,但它自己无法构成旋律。
- 一个数据点:在一项调查中,一个人的年龄
28,这个28就是一个标量。
- 单一维度的信息:就像你手机电池显示的百分比
2. 向量 ——“有序的列表”
一句话概括:向量是一组有序排列的标量,它不仅有大小,还隐含着方向或一组相互关联的特征。
它是什么?
- 向量是一维张量。你可以把它想象成一行或一列数字。
- 它表示一个多元或有方向的量。向量中的每一个位置都有特定含义。
- 数学表示:通常写作
v = [v₁, v₂, v₃, ...]或列的形式。 - 例子:
- 空间中的位移/速度(最经典的物理向量):
- 位移:
[向东5米, 向北3米]。这不仅仅是走了√(5²+3²)≈5.83米(大小),还明确指出了方向(东偏北约31度)。
- 位移:
- 一个人的特征向量(在机器学习中无处不在):
[身高1.75, 体重65, 年龄28]- 这个向量有序地描述了同一个对象的三个不同属性。位置1固定是身高,位置2固定是体重。
- 单词的嵌入向量(在NLP中):
- 单词“猫”可能被表示为
[0.2, -0.5, 0.9, ..., 0.1](一个300维的向量)。这个高维向量编码了“猫”的语义。
- 单词“猫”可能被表示为
- 神经网络的一层输出:
- 一个全连接层有128个神经元,它的输出就是一个128维的向量,每个数字代表一个神经元“激活”的程度。
- 空间中的位移/速度(最经典的物理向量):
核心特性:
- 有序性:
[身高, 体重]和[体重, 身高]是两个不同的向量。 - 有大小(模长)和方向(在物理和几何意义上)。在机器学习中,“方向”常被理解为在特征空间中的一个点或一个指向。
- 可以进行丰富的运算:加法、点积(内积,用于衡量相似性)、叉积等。
- 有序性:
通俗比喻:
- 一个完整的地址:地址
[“中国”, “北京市”, “海淀区”, “中关村大街”, “27号”]就是一个向量。它不止告诉你一个信息,而且信息的顺序至关重要。 - 一行乐谱:一小节乐谱
[C, E, G](一个和弦),它是一个音符的有序组合,形成了一个有意义的音乐单元。这比一个孤立的音符信息量大得多。 - 游戏角色的属性面板:
[力量:85, 敏捷:60, 智力:20, 生命值:300]。这组有序的数字完整地定义了这个角色此刻的状态。 - 坐标系中的一个箭头(最直观):从原点
(0,0)指向点(5,3)的箭头,就是一个向量[5,3]。它的长度是大小,箭头指向就是方向。
- 一个完整的地址:地址
标量 vs. 向量:关键区别与联系
| 特性 | 标量 | 向量 |
|---|---|---|
| 维度 | 零维(一个点) | 一维(一条线/一个列表) |
| 信息量 | 单一属性 | 多个有序属性 或一个带方向的量 |
| 数学实体 | 单个数字 | 数字的有序数组 |
| 几何意义 | 数轴上的一个点 | 空间中的一个有向箭头(或一个点) |
| 深度学习中的角色 | 损失值、学习率等单一超参数 | 一层神经元的激活值、一个样本的特征表示、权重矩阵的一行/一列 |
| 运算 | 普通算术 | 向量加法、点积、与标量的乘法等 |
它们的关系:
- 向量是由标量作为元素组成的。
- 一个1维的向量,可以看作多个标量的有序打包。
- 在深度学习中,一个样本的特征通常用向量表示,整个数据集则用矩阵或更高维张量表示。
进阶一步:升维理解
如果把标量看作一个音符,那么向量就是一小节旋律。
如果把标量看作一个像素的亮度,那么向量就可以是一行像素的亮度,或者一个像素点的RGB颜色值[R, G, B]。
理解标量和向量是理解矩阵(二维张量)和张量(N维数组)的基础。在深度学习的计算中,向量化运算(对整个向量或矩阵进行操作,而非对单个标量循环)是GPU能够实现惊人加速的关键。