前言
看到论文中涉及到含有哈达玛积的求导,经一番查询后,得出过程,特此分享记录。
提示:以下是本篇文章正文内容,下面案例可供参考
一、涉及论文公式
论文公式截图:
二、推导过程
1. 哈达玛积性质[1]
tr ( A ⋅ ( B ∘ C ) ) = tr ( ( A ∘ B T ) ⋅ C ) \operatorname{tr}(A \cdot(B \circ C))=\operatorname{tr}\left(\left(A \circ B^{\mathrm{T}}\right) \cdot C\right) tr(A⋅(B∘C))=tr((A∘BT)⋅C)
2. 推导过程
推导:
min
U
1
2
∥
R
∘
(
Y
−
U
V
T
)
∥
F
2
⇒
∇
U
=
R
∘
(
U
V
T
−
Y
)
V
⇒
min
U
1
2
tr
(
R
T
∘
(
Y
−
U
V
T
)
T
(
R
∘
(
Y
−
U
V
T
)
)
⇒
min
U
1
2
tr
(
R
T
∘
(
Y
T
−
V
U
T
)
)
(
R
∘
(
Y
−
U
V
T
)
)
⇒
min
U
1
2
tr
(
−
2
R
T
∘
V
U
T
⋅
R
∘
Y
+
R
T
∘
V
U
T
⋅
R
∘
U
V
T
)
\begin{aligned} & \text { 推导: } \min _U \frac{1}{2}\left\|R \circ\left(Y-U V^{\mathrm{T}}\right)\right\|_F^2 \Rightarrow \nabla U=R \circ\left(U V^{\mathrm{T}}-Y\right) V \\ & \Rightarrow \min _U \frac{1}{2} \operatorname{tr}\left(R^{\mathrm{T}} \circ\left(Y-U V^{\mathrm{T}}\right)^{\mathrm{T}}\left(R \circ\left(Y-U V^{\mathrm{T}}\right)\right)\right. \\ & \Rightarrow \min _U \frac{1}{2} \operatorname{tr}\left(R^{\mathrm{T}} \circ\left(Y^{\mathrm{T}}-V U^{\mathrm{T}}\right)\right)\left(R \circ\left(Y-UV^{\mathrm{T}}\right)\right) \\ & \Rightarrow \min _U \frac{1}{2} \operatorname{tr}\left(-2 R^{\mathrm{T}} \circ V U^{\mathrm{T}} \cdot R \circ Y+R^{\mathrm{T}} \circ V U^{\mathrm{T}} \cdot R \circ U V^{\mathrm{T}}\right) \end{aligned}
推导: Umin21
R∘(Y−UVT)
F2⇒∇U=R∘(UVT−Y)V⇒Umin21tr(RT∘(Y−UVT)T(R∘(Y−UVT))⇒Umin21tr(RT∘(YT−VUT))(R∘(Y−UVT))⇒Umin21tr(−2RT∘VUT⋅R∘Y+RT∘VUT⋅R∘UVT)
接着求导:
第一行用到迹转置,值不变,(第二项有两个U,所以求导后变成两项了);
第二行利用哈达玛积性质, 有:
⇒
min
U
1
2
tr
(
−
2
(
R
∘
Y
)
⋅
(
R
T
∘
V
d
(
U
T
)
)
)
+
1
2
[
tr
(
(
R
∘
U
V
T
)
⋅
R
T
∘
V
d
(
U
T
)
+
tr
(
(
R
T
∘
V
U
T
∘
R
T
)
⋅
d
(
U
)
V
T
]
⇒
min
U
1
2
tr
(
−
2
(
(
R
∘
Y
)
∘
R
)
⋅
(
V
d
(
U
T
)
)
)
+
1
2
[
tr
(
(
(
R
∘
U
V
T
)
∘
R
)
⋅
V
d
(
U
T
)
)
+
tr
(
(
R
T
∘
V
U
T
)
⋅
d
(
U
)
V
T
)
]
⇒
1
2
tr
(
−
2
)
(
R
∘
Y
)
⋅
V
d
(
U
T
)
+
1
2
[
tr
(
(
R
∘
U
V
T
)
⋅
V
d
(
U
T
)
)
+
tr
(
V
T
(
R
T
∘
V
U
T
)
⋅
d
(
U
)
)
]
⇒
−
(
R
∘
Y
)
⋅
V
+
1
2
×
[
(
R
∘
U
V
T
)
⋅
V
+
(
R
∘
U
V
T
)
⋅
V
]
⇒
−
(
R
∘
Y
)
⋅
V
+
(
R
∘
U
V
T
)
⋅
V
⇒
R
∘
(
U
V
T
−
Y
)
V
\begin{aligned} & \Rightarrow \min _U \frac{1}{2} \operatorname{tr}\left(-2(R \circ Y) \cdot\left(R^{\mathrm{T}} \circ V d(U^{\mathrm{T}})\right)\right)+\frac{1}{2}\left[\operatorname { t r } \left(\left(R \circ U V^{\mathrm{T}}\right) \cdot R^{\mathrm{T}} \circ V d(U^{\mathrm{T}})+\operatorname{tr}\left(\left(R^{\mathrm{T}} \circ V U^{\mathrm{T}} \circ R^{\mathrm{T}}\right) \cdot d(U )V^{\mathrm{T}}\right]\right.\right. \\ & \Rightarrow \min _U \frac{1}{2} \operatorname{tr}\left(-2((R \circ Y) \circ R) \cdot\left(V d(U^{\mathrm{T}})\right)\right)+\frac{1}{2}\left[\operatorname{tr}\left(\left((R \circ U V^{\mathrm{T}}) \circ R\right) \cdot V d(U^{\mathrm{T}})\right)+\operatorname{tr}\left(\left(R^{\mathrm{T}} \circ V U^{\mathrm{T}}\right) \cdot d(U) V^{\mathrm{T}}\right)\right] \\ & \Rightarrow \frac{1}{2} \operatorname{tr}(-2)(R \circ Y) \cdot V d\left(U^{\mathrm{T}}\right)+\frac{1}{2}\left[\operatorname{tr}\left(\left(R \circ U V^{\mathrm{T}} \right) \cdot V d\left(U^{\mathrm{T}}\right))+\operatorname{tr} (V^{\mathrm{T}}\left(R^{\mathrm{T}} \circ V U^{\mathrm{T}}\right) \cdot d(U))\right]\right. \\ & \Rightarrow- \quad(R \circ Y) \cdot V+\frac{1}{2} \times\left[\left(R \circ U V^{\mathrm{T}}\right) \cdot V+\left(R \circ U V^{\mathrm{T}}\right) \cdot V\right] \\ & \Rightarrow -\quad(R \circ Y) \cdot V+\left(R \circ U V^{\mathrm{T}}\right) \cdot V\\ & \Rightarrow R \circ\left(U V^{\mathrm{T}}-Y\right) V \end{aligned}
⇒Umin21tr(−2(R∘Y)⋅(RT∘Vd(UT)))+21[tr((R∘UVT)⋅RT∘Vd(UT)+tr((RT∘VUT∘RT)⋅d(U)VT]⇒Umin21tr(−2((R∘Y)∘R)⋅(Vd(UT)))+21[tr(((R∘UVT)∘R)⋅Vd(UT))+tr((RT∘VUT)⋅d(U)VT)]⇒21tr(−2)(R∘Y)⋅Vd(UT)+21[tr((R∘UVT)⋅Vd(UT))+tr(VT(RT∘VUT)⋅d(U))]⇒−(R∘Y)⋅V+21×[(R∘UVT)⋅V+(R∘UVT)⋅V]⇒−(R∘Y)⋅V+(R∘UVT)⋅V⇒R∘(UVT−Y)V
3. 注释
这里的 ∘ \circ ∘ 指的是哈达玛乘积, ⋅ \cdot ⋅ 指的是通常的矩阵乘积。
参考文献
[1] CSDN博客: 【矩阵求导】关于点乘 (哈达玛积)的矩阵求导