包含Hadamard root的矩阵求导案例比较少,此案例仅供参考:
1 题目
给定 X ∈ R n \mathbf{X} \in \mathbb{R}^{n} X∈Rn, A ∈ R n × n \mathbf{A} \in \mathbb{R}^{n \times n} A∈Rn×n, f ( X ) = ∑ i = 1 n ∣ A X ∣ i 2 + δ 2 f(\mathbf{X})=\sum_{i=\mathbf{1}}^{n} \sqrt{|\mathbf{A} \mathbf{X}|_{i}^{2}+\delta^{2}} f(X)=∑i=1n∣AX∣i2+δ2。 其中 ( ⋅ ) \sqrt{(\cdot)} (⋅)表示Hadamard root (elements-wise square root),即矩阵元素逐项平方根。求 f ′ ( X ) f^{\prime}(\mathbf{X}) f′(X),即 ∂ f ∂ X \frac{\partial f}{\partial \mathbf{X}} ∂X∂f。
2 求解
2.1 先用Hadamard product解平方根
令 v = ∣ A X ∣ 2 + δ 2 1 \mathbf{v}=\sqrt{|\mathbf{A} \mathbf{X}|^{2}+\delta^{2} \mathbf{1}} v=∣AX∣2+δ21
∴ v ⊙ v = ∣ A X ∣ 2 + δ 2 1 = A X ⊙ A X + δ 2 1 \begin{aligned} \therefore \quad \mathbf{v} \odot \mathbf{v} &=|\mathbf{A} \mathbf{X}|^{2}+\delta^{2} \mathbf{1} \\ &=\mathbf{A} \mathbf{X} \odot \mathbf{A} \mathbf{X}+\delta^{2} \mathbf{1} \end{aligned} ∴v⊙v=∣AX∣2+δ21=AX⊙AX+δ21
根据微分哈达马乘积性质:
d
(
X
⊙
Y
)
=
X
⊙
d
Y
+
d
X
⊙
Y
d(\mathbf{X} \odot \mathbf{Y})=\mathbf{X} \odot d \mathbf{Y}+d \mathbf{X} \odot \mathbf{Y}
d(X⊙Y)=X⊙dY+dX⊙Y 有:
d
(
v
⊙
v
)
=
v
⊙
d
v
+
d
v
⊙
v
=
v
⊙
d
v
+
v
⊙
d
v
=
2
v
⊙
d
v
\begin{aligned} d(\mathbf{v} \odot \mathbf{v}) &=\mathbf{v} \odot d \mathbf{v}+d \mathbf{v} \odot \mathbf{v} \\ &=\mathbf{v} \odot d \mathbf{v}+\mathbf{v} \odot d \mathbf{v} \\ &= 2\mathbf{v} \odot d \mathbf{v} \end{aligned}
d(v⊙v)=v⊙dv+dv⊙v=v⊙dv+v⊙dv=2v⊙dv
即:
2
v
⊙
d
v
=
d
(
A
X
⊙
A
X
+
δ
2
1
)
=
d
(
A
X
⊙
A
X
)
+
d
(
δ
2
1
)
=
2
A
X
⊙
d
(
A
X
)
=
2
A
X
⊙
(
(
d
A
)
X
+
A
d
X
)
=
2
A
X
⊙
A
d
X
\begin{aligned} 2 \mathbf{v} \odot d \mathbf{v} &=d\left(\mathbf{A} \mathbf{X} \odot \mathbf{A} \mathbf{X}+\delta^{2} \mathbf{1}\right) \\ &=d(\mathbf{A} \mathbf{X} \odot \mathbf{A} \mathbf{X})+d(\delta^{2} \mathbf{1}) \\ &=2 \mathbf{A} \mathbf{X} \odot d(\mathbf{A} \mathbf{X}) \\ &=2 \mathbf{A} \mathbf{X} \odot((d \mathbf{A}) \mathbf{X}+\mathbf{A} d \mathbf{X}) \\ &=2 \mathbf{A} \mathbf{X} \odot \mathbf{A} d \mathbf{X} \end{aligned}
2v⊙dv=d(AX⊙AX+δ21)=d(AX⊙AX)+d(δ21)=2AX⊙d(AX)=2AX⊙((dA)X+AdX)=2AX⊙AdX
∴
d
v
=
A
X
⊙
A
d
X
⊘
v
\therefore \quad d \mathbf{v}=\mathbf{A} \mathbf{X} \odot \mathbf{A} d \mathbf{X} \oslash \mathbf{v}
∴dv=AX⊙AdX⊘v
其中
⊘
\oslash
⊘ 为 Hadamard division / elements-wise division,即矩阵逐项除法,与
⊙
\odot
⊙具有相似的性质。或令
p
⊙
v
=
1
\mathbf{p} \odot \mathbf{v} = \mathbf{1}
p⊙v=1,即
p
\mathbf{p}
p为
v
\mathbf{v}
v的Hadamard inverse / elements-wise inverse,此时
d
v
=
A
X
⊙
A
d
X
⊙
p
d \mathbf{v}=\mathbf{A} \mathbf{X} \odot \mathbf{A} d \mathbf{X} \odot \mathbf{p}
dv=AX⊙AdX⊙p.
2.2 利用Frobenius inner product(矩阵内积)和迹的性质可得解
由Frobenius inner product的定义:
A
:
B
=
tr
(
A
T
B
)
\mathbf{A}:\mathbf{B} = \operatorname{tr}(\mathbf{A}^{T}\mathbf{B})
A:B=tr(ATB),可得:
f
=
1
:
v
∴
d
f
=
d
(
1
:
v
)
=
d
1
:
v
+
1
:
d
v
(
性
质
:
∇
(
A
:
B
)
=
∇
A
:
B
+
A
:
∇
B
)
=
1
:
d
v
=
1
:
(
A
X
⊙
A
d
X
⊘
v
)
=
1
:
(
A
X
⊘
v
⊙
A
d
X
)
(
性
质
:
X
⊙
Y
=
Y
⊙
X
)
=
(
1
⊙
(
A
X
⊘
v
)
)
:
(
A
d
X
)
(
性
质
:
C
:
(
A
⊙
B
)
=
(
C
⊙
A
)
:
B
)
=
(
A
X
⊘
v
)
:
(
A
d
X
)
=
A
T
(
A
X
⊘
v
)
:
d
X
(
性
质
:
C
A
:
B
=
A
:
C
T
B
=
C
:
B
A
T
=
tr
(
(
A
T
(
A
X
⊘
v
)
)
T
d
X
)
(
矩
阵
内
积
定
义
)
即
∂
f
∂
X
=
A
T
(
A
X
⊘
v
)
(
性
质
:
d
f
=
tr
(
(
∂
f
∂
X
)
T
d
X
)
)
\begin{aligned} f &=\mathbf{1}: \mathbf{v} \\ \therefore \quad d f &= d(\mathbf{1}: \mathbf{v}) \\ &= d\mathbf{1}:\mathbf{v} + \mathbf{1}:d\mathbf{v} \quad (性质: \nabla(\mathbf{A}: \mathbf{B})=\nabla \mathbf{A}: \mathbf{B}+\mathbf{A}: \nabla \mathbf{B}) \\ &=\mathbf{1}: d \mathbf{v} \\ &=\mathbf{1}:(\mathbf{A} \mathbf{X} \odot \mathbf{A} d \mathbf{X} \oslash \mathbf{v}) \\ &=\mathbf{1}:(\mathbf{A} \mathbf{X} \oslash \mathbf{v} \odot \mathbf{A} d \mathbf{X} ) \quad (性质: \mathbf{X} \odot \mathbf{Y} = \mathbf{Y} \odot \mathbf{X}) \\ &=(\mathbf{1}\odot(\mathbf{A} \mathbf{X} \oslash \mathbf{v})) : (\mathbf{A} d \mathbf{X} ) \quad (性质: \mathbf{C}:(\mathbf{A} \odot \mathbf{B}) = (\mathbf{C} \odot \mathbf{A}):\mathbf{B})\\ &=(\mathbf{A} \mathbf{X} \oslash \mathbf{v}):(\mathbf{A} d \mathbf{X}) \\ &=\mathbf{A}^{T}(\mathbf{A} \mathbf{X} \oslash \mathbf{v}): d \mathbf{X} \quad (性质: \mathbf{C} \mathbf{A} : \mathbf{B} = \mathbf{A} : \mathbf{C}^T\mathbf{B} = \mathbf{C} : \mathbf{B} \mathbf{A}^T \\ &=\operatorname{tr}((\mathbf{A}^T (\mathbf{A} \mathbf{X} \oslash \mathbf{v} ))^T d \mathbf{X}) \quad (矩阵内积定义)\\ 即 \quad \frac{\partial f}{\partial \mathbf{X}} &=\mathbf{A}^{T}(\mathbf{A} \mathbf{X} \oslash \mathbf{v}) \quad (性质: d f=\operatorname{tr}\left(\left(\frac{\partial f}{\partial \mathbf{X}}\right)^{T} d \mathbf{X}\right)) \end{aligned}
f∴df即∂X∂f=1:v=d(1:v)=d1:v+1:dv(性质:∇(A:B)=∇A:B+A:∇B)=1:dv=1:(AX⊙AdX⊘v)=1:(AX⊘v⊙AdX)(性质:X⊙Y=Y⊙X)=(1⊙(AX⊘v)):(AdX)(性质:C:(A⊙B)=(C⊙A):B)=(AX⊘v):(AdX)=AT(AX⊘v):dX(性质:CA:B=A:CTB=C:BAT=tr((AT(AX⊘v))TdX)(矩阵内积定义)=AT(AX⊘v)(性质:df=tr((∂X∂f)TdX))
如果是使用上面定义的Hadamard inverse,那么结果也可以表示为:
∂
f
∂
X
=
A
T
(
A
X
⊙
p
)
\frac{\partial f}{\partial \mathbf{X}} =\mathbf{A}^{T}(\mathbf{A} \mathbf{X} \odot \mathbf{p})
∂X∂f=AT(AX⊙p)
总结:
先利用Hadamard product解平方根,然后利用相关性质得到
d
v
d\mathbf{v}
dv,最后利用矩阵内积和迹的性质可得解。
参考链接: