深度学习中的概念——元素积(哈达玛积)
元素积操作(哈达玛积)
🔢 基本定义
矩阵的哈达玛积
对于两个同维度的矩阵:
A = [ a i j ] , B = [ b i j ] A = [a_{ij}], \quad B = [b_{ij}] A=[aij],B=[bij]
它们的哈达玛积定义为:
C = A ∘ B 其中 c i j = a i j × b i j C = A \circ B \quad \text{其中} \quad c_{ij} = a_{ij} \times b_{ij} C=A∘B其中cij=aij×bij
向量的哈达玛积
对于两个同维度的向量:
a = [ a 1 , a 2 , … , a n ] , b = [ b 1 , b 2 , … , b n ] a = [a_1, a_2, \dots, a_n], \quad b = [b_1, b_2, \dots, b_n] a=[a1,a2,…,an],b=[b1,b2,…,bn]
它们的哈达玛积定义为:
c = a ∘ b 其中 c i = a i × b i c = a \circ b \quad \text{其中} \quad c_i = a_i \times b_i c=a∘b其中ci=ai×bi
🔍 核心性质
-
交换律
A ∘ B = B ∘ A A \circ B = B \circ A A∘B=B∘A -
结合律
( A ∘ B ) ∘ C = A ∘ ( B ∘ C ) (A \circ B) \circ C = A \circ (B \circ C) (A∘B)∘C=A∘(B∘C) -
分配律
A ∘ ( B + C ) = A ∘ B + A ∘ C A \circ (B + C) = A \circ B + A \circ C A∘(B+C)=A∘B+A∘C -
标量乘法分配律
( k A ) ∘ B = A ∘ ( k B ) = k ( A ∘ B ) (kA) \circ B = A \circ (kB) = k(A \circ B) (kA)∘B=A∘(kB)=k(A∘B) -
单位矩阵
在哈达玛积下, m × n {m \times n} m×n 矩阵的单位元是全1矩阵 J m × n J_{m \times n} Jm×n
🧠 主要应用领域
-
神经网络
▸ 特征融合
▸ 注意力机制
▸ 门控机制(如LSTM/GRU) -
图像处理
▸ 图像增强
▸ 局部对比度调整
▸ 卷积核优化 -
数据科学
▸ 加权特征交叉
▸ 协方差矩阵计算
▸ 非线性降维
🚀 深度学习优势
结构特性
- 非线性特征映射:通过逐元素乘法生成高阶特征交互
- 参数效率:相比全连接层减少90%以上参数量(示例见下文)
计算优势
指标 | 传统全连接层 | 哈达玛积层 |
---|---|---|
计算复杂度 | O ( n 2 ) O(n^2) O(n2) | O ( n ) O(n) O(n) |
内存占用 | 高 | 低 |
🧮 运算示例
矩阵运算
A = [ 2 3 1 0 8 − 2 ] , B = [ 3 1 4 7 9 5 ] A = \begin{bmatrix} 2 & 3 & 1 \\ 0 & 8 & -2 \end{bmatrix}, \quad B = \begin{bmatrix} 3 & 1 & 4 \\ 7 & 9 & 5 \end{bmatrix} A=[20381−2],B=[371945]
哈达玛积结果:
C = A ∘ B = [ 6 3 4 0 72 − 10 ] C = A \circ B = \begin{bmatrix} 6 & 3 & 4 \\ 0 & 72 & -10 \end{bmatrix} C=A∘B=[603724−10]
向量运算
a = [ 2 , − 1 , 3 ] , b = [ 4 , 0 , 2 ] a ∘ b = [ 8 , 0 , 6 ] a = [2, -1, 3], \quad b = [4, 0, 2] \\ a \circ b = [8, 0, 6] a=[2,−1,3],b=[4,0,2]a∘b=[8,0,6]