【深度学习pytorch-3】阿达玛积和点积

阿达玛积 (Hadamard Product) 和 点积 (Dot Product)

在数学和线性代数中,阿达玛积点积是两种常见的向量或矩阵操作。它们有不同的定义和应用,下面我将分别介绍它们。


1. 阿达玛积 (Hadamard Product)

定义:
阿达玛积,也叫做逐元素积元素-wise积,是两个矩阵(或向量)对应元素之间的乘积。简单来说,两个矩阵的阿达玛积就是将它们的相同位置的元素相乘,得到一个新矩阵。

计算方式:
对于两个同形的矩阵 ( A ) 和 ( B )(例如大小为 ( m \times n )),它们的阿达玛积 ( A \circ B ) 是通过对应元素相乘得到的:

( A ∘ B ) i , j = A i , j × B i , j (A \circ B)_{i,j} = A_{i,j} \times B_{i,j} (AB)i,j=Ai,j×Bi,j

其中,( A_{i,j} ) 和 ( B_{i,j} ) 分别是矩阵 ( A ) 和 ( B ) 中第 ( i,j ) 个位置的元素。

示例:
假设有两个矩阵 ( A ) 和 ( B ):

A = ( 1 2 3 4 5 6 ) , B = ( 7 8 9 10 11 12 ) A = \begin{pmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ \end{pmatrix} , \quad B = \begin{pmatrix} 7 & 8 & 9 \\ 10 & 11 & 12 \\ \end{pmatrix} A=(142536),B=(710811912)

它们的阿达玛积 ( A \circ B ) 为:

A ∘ B = ( 1 × 7 2 × 8 3 × 9 4 × 10 5 × 11 6 × 12 ) = ( 7 16 27 40 55 72 ) A \circ B = \begin{pmatrix} 1 \times 7 & 2 \times 8 & 3 \times 9 \\ 4 \times 10 & 5 \times 11 & 6 \times 12 \\ \end{pmatrix} = \begin{pmatrix} 7 & 16 & 27 \\ 40 & 55 & 72 \\ \end{pmatrix} AB=(1×74×102×85×113×96×12)=(74016552772)

注意:

  • 阿达玛积要求参与运算的矩阵必须具有相同的形状。
  • 它与矩阵乘法(矩阵的标准乘法)是不同的。矩阵乘法是基于行与列的乘积,结果是一个新的矩阵,而阿达玛积只是逐元素相乘。

2. 点积 (Dot Product)

定义:
点积,也叫做内积,是两个向量之间的一种运算,它通过将两个向量相应位置的元素相乘并求和得到一个标量。点积可以衡量两个向量的相似性,并且在许多数学和物理应用中非常重要。

计算方式:
对于两个向量 ( \mathbf{a} ) 和 ( \mathbf{b} ),它们的点积定义为:

a ⋅ b = a 1 ⋅ b 1 + a 2 ⋅ b 2 + ⋯ + a n ⋅ b n \mathbf{a} \cdot \mathbf{b} = a_1 \cdot b_1 + a_2 \cdot b_2 + \cdots + a_n \cdot b_n ab=a1b1+a2b2++anbn

其中 ( \mathbf{a} = (a_1, a_2, \dots, a_n) ) 和 ( \mathbf{b} = (b_1, b_2, \dots, b_n) ) 是两个 ( n )-维向量。

示例:
假设有两个向量:

a = ( 1 , 2 , 3 ) , b = ( 4 , 5 , 6 ) \mathbf{a} = (1, 2, 3), \quad \mathbf{b} = (4, 5, 6) a=(1,2,3),b=(4,5,6)

它们的点积为:

a ⋅ b = 1 × 4 + 2 × 5 + 3 × 6 = 4 + 10 + 18 = 32 \mathbf{a} \cdot \mathbf{b} = 1 \times 4 + 2 \times 5 + 3 \times 6 = 4 + 10 + 18 = 32 ab=1×4+2×5+3×6=4+10+18=32

几何意义:

  • 点积可以表示两个向量的夹角。实际上,点积的计算公式也可以表示为:

a ⋅ b = ∥ a ∥ ∥ b ∥ cos ⁡ ( θ ) \mathbf{a} \cdot \mathbf{b} = \|\mathbf{a}\| \|\mathbf{b}\| \cos(\theta) ab=a∥∥bcos(θ)

其中,( |\mathbf{a}| ) 和 ( |\mathbf{b}| ) 分别是向量 ( \mathbf{a} ) 和 ( \mathbf{b} ) 的模,( \theta ) 是它们之间的夹角。如果点积为零,则表示两个向量是正交的(即它们之间的夹角为90度)。


3. 区别

特征阿达玛积点积
定义逐元素相乘得到的新矩阵。向量的内积,结果是一个标量。
操作对象矩阵或向量。只有向量。
结果得到一个与输入矩阵形状相同的矩阵。得到一个标量(单个数值)。
形状要求输入矩阵或向量必须相同形状。两个向量必须有相同的维度。
计算方式每个对应位置的元素相乘。向量元素逐个相乘并求和。
几何意义没有直接的几何意义。点积的结果可以用来计算向量的夹角。

4. 应用场景

  • 阿达玛积

    • 在神经网络中,用于逐元素地操作张量,比如在反向传播中,计算误差时对权重进行更新。
    • 在某些领域,阿达玛积用于像素级的图像处理或图像融合。
  • 点积

    • 在机器学习中,点积常用于计算向量之间的相似度(如在信息检索中计算查询与文档的相似度)。
    • 在物理学中,点积用于计算力和位移之间的功。
    • 在几何学中,点积常用于计算向量之间的夹角。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值