点积(内积)

之前对点积概念比较模糊,记录下。

点积的定义

  • 点积 dot product,或者内积 inner product(更宽泛的一种运算)
  • 两个向量相乘,返回一个标量结果(一个数值)

假设我们有两个向量。这里直接简单地写成了行的形式:

v = [2, 4, 6]
w = [1, 3, 5]

v . w = (2 x 1) + (4 x 3) + (6 x 5) = 2 + 12 + 30 = 44

使用矩阵乘法并把(纵列)向量当作n×1 矩阵,点积还可以写为:
a ⋅ b = a T ∗ b \mathtt{a}\cdot\mathtt{b}=\mathtt{a}^{\mathtt{T}}*\mathtt{b} ab=aTb

以上定义方法为代数定义,表示向量a和b的点积等于a的转置矩阵矩阵b的乘积。向量是将几何问题转化为代数问题的桥梁,向量点积的计算其实也可以使用几何方式计算。

设二维空间内有两个向量a 和b ,它们的夹角为 θ(区间为[0,π]),则内积定义为以下实数:
a ⃗ ∙ b ⃗ = ∣ a ⃗ ∣ ∣ b ⃗ ∣ cos ⁡ θ \vec{a}\bullet\vec{b}=|\vec{a}||\vec{b}|\cos\theta a b =a ∣∣b cosθ

应用场景

  1. 图像识别:图像识别中,卷积层中的卷积操作和全连接层中的权重矩阵和输入矩阵的点积计算都用到了点积。
  2. 文本分类:文本分类中,通过点积计算文本的向量表示和每个类别的向量表示之间的相似度来进行分类。
  3. 信息检索:在信息检索中,计算查询向量和文档向量之间的点积,用于衡量文档的相关性
  4. 深度学习:在深度学习中,许多算法都使用到了点积运算,例如卷积神经网络、循环神经网络等。
  5. 文本摘要:在文本摘要中,可以使用点积计算句子的向量表示和文章向量表示之间的相似度,从而确定文章中最相关的句子。

参考文章

点积 dot product 在机器学习中的N多应用场景
人工智能数学基础-线性代数2:向量的点积、內积、数量积和外积

∏ t = 1 ∣ Y ∣ p ( y t ∣ y < t , X ; θ ) \prod_{t=1}^{|Y|}p(y_t|y_{<t},X;\theta)\quad t=1Yp(yty<t,X;θ)

每一条摘要 y y y 的每一个token y t y_t yt都是基于在已知之前的输出序列元素 y < t y_{<t} y<t、输入数据X和模型参数 θ \theta θ的情况下,生成当前位置t的输出 y t y_t yt的概率,将生成每个位置的输出 y t y_t yt的条件概率连乘起来,计算出整个输出序列Y的概率

L G ( θ ) = − 1 ∣ Y ∣ log ⁡ p ( Y ∣ X ; θ ) \mathcal{L}_{\mathrm{G}}(\theta)=-\frac{1}{|Y|}\operatorname{log}p(Y|X;\theta) LG(θ)=Y1logp(YX;θ)

由于计算和优化乘法操作相对复杂,通常会使用对数来简化计算。对数似然是似然函数的对数,因此在之前(1)参数估计中,最大化对数似然等价于最大化似然函数。

在优化计算中,通常会将损失函数最小化。因此,负对数似然就是对数似然取负值后的结果。最大化对数似然等价于最小化负对数似然。

通过计算生成模型生成输出序列Y的概率对数,然后取负数和 ∣ Y ∣ |Y| Y输出序列 Y Y Y的长度做平均,得到生成器的损失函数。该公式可以用于二分类和多分类问题,优化目标为最小化损失函数。

猜你喜欢

转载自blog.csdn.net/w946612410/article/details/132146600