矩阵求导与投影梯度相关问题

参考\url{https://www.zhihu.com/question/39523290} 猪猪专业户 77IX7-UPIUE-7PR75-UTBLT


如果题主学过泛函分析,可能会更容易理解矩阵对矩阵的求导。

定义:假设XY为赋范向量空间, F:XY是一个映射,那么Fx0X可导的意思是说存在一个有界线性算子LL(X,Y),使得对于任意的ϵ>0都存在δ>0,对于满足xX{x0},xx0<δx都有F(x)F(x0)L(xx0)xx0<ϵ.我们称LFx0点的导数.

取一些特殊情况,比如当X=Rn, Y=R的时候L就被称作梯度;当X=Rn,Y=Rm的时候L被称作雅可比,等等.从这个一般化的定义出发的好处是,我们可以更好的理解矩阵到矩阵映射的"导数",甚至是从一个函数空间到另一个函数空间的“导数".

以上定义有一个等价的表述,往往计算起来更方便:对于距离x0足够近的点x,即limxx0o(xx0)xx0=0,
F(x)=F(x0)+L(xx0)+o(xx0).
(注:此处L(xx0)应该理解为线性算子Lxx0这个点的值,而不是L乘以xx0.不过在有限维空间所有线性算子都可以用矩阵表述, Lxx0这个点的值便正好可以表述为矩阵与向量的乘积!这个notation正好巧妙的一致.)

例子:假设F(X)=XTX是一个Rm×nSn的映射,其中Snn维对称阵的空间.那么F的导数L就应该是Rm×nSn的一个有界线性算子. L究竟是什么样可以从定义出发计算:

(1)F(X+ΔX)F(X)(2)=(X+ΔX)T(X+ΔX)XTX(3)=XTΔX+ΔXTX+o(ΔX)

所以我们有L(ΔX)=XTΔX+ΔXTX,这个就是FX点的导数. L这个函数(有界线性算子)可以用张量来表述,这里就不详细说了.

例子:最小二乘问题f(x)=12Axb22, f是一个RnR的映射.

(4)f(x+Δx)f(x)(5)=12A(x+Δx)b212Axb2(6)=12Axb+AΔx212Axb2(7)=(Axb)TAΔx+o(Δx)

所以我们有L(Δx)=(Axb)TAΔx,这个就是fx点的导数.在这种情况下, L这个有界线性算子可以用梯度来表述(recall Riesz表示定理):
L(Δx)=f(x),Δx=AT(Axb),Δx=(Axb)TAΔx
所以梯度f(x)=AT(Axb).


例子:单层神经网络f(W)=12σ(Wx)y22, f是一个Rm×nR的映射,这里σ:RmRm是一个elementwise的logistic function.算起来
(8)f(W+ΔW)f(W)(9)=12σ(Wx+ΔWx)y2212σ(Wx)y22(10)=12σ(Wx)+σ(Wx)(1mσ(Wx))ΔWx+o(ΔW)y2212σ(Wx)y22(11)=(σ(Wx)y)T(σ(Wx)(1mσ(Wx))ΔWx)+o(ΔW)
其中为Hadamard乘积(elementwise乘积), 1m为长度为m的元素均为1的向量.这里我使用了一维logistic函数的导数公式.所以
L(ΔW)=(σ(Wx)y)T(σ(Wx)(1mσ(Wx))ΔWx).
注:这个例子的倒数第二步到最后一步的计算影射了微积分中的一个重要的思想——链式法则(chain rule).链式法则能够成立的本质是ao(x)+bo(x)=o(x)o(x)o(x)=o(x2).

最后,由于Rm×nRmn是同构的,所以可以通过vectorization把矩阵映射到Rmn中再进行计算.

(逆逆)对于闭凸集D, 考虑D上的凸集投影
P(x)=PD(x)=argminvD||xv||.
\begin{tcolorbox} {\bfseries 引理1:}任意$v\in D$, 均有$<x-P(x),v-P(x)>\le 0$. \end{tcolorbox}

\begin{proof} 对于$0\le t\le 1$, 我们有$(1-t)P(x)+tv\in D$, 于是 \begin{equation*} ||x-((1-t)P(x)+tv)||^2\ge ||x-P(x)||^2, \end{equation*} 等价于 \begin{equation*} 2t<x-P(x),P(x)-v>+t^2||P(x)-v||^2\ge 0, \end{equation*} 命题显然成立. \end{proof}

\begin{tcolorbox} {\bfseries 引理2:}任意$x,y$, 均有$||P(x)-P(y)||\le ||x-y||$. \end{tcolorbox}

\begin{proof} 根据不等式$<x-P(x),P(y)-P(x)>\le 0$, $<y-P(y),P(x)-P(y)>\le 0$, 可得 \begin{align*}  & <y-x-(P(y)-P(x)),P(y)-P(x)>\ge 0 \\  & \Longrightarrow ||P(y)-P(x)||^2\le <y-x,P(y)-P(x)>\le ||y-x||\cdot||P(y)-P(x)|| \\  & \Longrightarrow ||P(y)-P(x)||\le ||y-x||. \end{align*} 故所求不等式成立. \end{proof}

\begin{tcolorbox} {\bfseries 引理3:}任意$z\perp x-P(x)$, $t\in\mathbb{R}$, 均有$||x+tz-P(x+tz)||^2=||x-P(x)||^2+O(t^2)$. \end{tcolorbox}

\begin{proof} 上界估计 \begin{equation*} ||x+tz-P(x+tz)||^2\le ||x+tz-P(x)||^2=||x-P(x)||^2+t^2||z||^2. \end{equation*} 下界估计 \begin{align*} ||x+tz-P(x+tz)||^2 & =||(x-P(x))+(tz+P(x)-P(x+tz))||^2 \\  & =||x-P(x)||^2+||tz+P(x)-P(x+tz)||^2 \\  & \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ +<x-P(x),tz+P(x)-P(x+tz)> \\  & =||x-P(x)||^2+||tz+P(x)-P(x+tz)||^2 \\  & \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ +<x-P(x),P(x)-P(x+tz)> \\  & \ge ||x-P(x)||^2. \end{align*} 于是结论成立. \end{proof}

\begin{tcolorbox} {\bfseries 引理4:}任意$t\ge 0$, 均有$P(tx+(1-t)(x-P(x)))=P(x)$. \end{tcolorbox}

\begin{proof} 任意$v\in D$, 均有 \begin{align*} ||tx+(1-t)P(x)-v||^2 & =||t(x-P(x))+(P(x)-v)||^2 \\  & =||t(x-P(x))||^2+2t<x-P(x),P(x)-v>+||P(x)-v||^2 \\  & \ge ||t(x-P(x))||^2=||tx+(1-t)P(x)-P(x)||^2, \end{align*} 于是$P(tx+(1-t)(x-P(x)))=P(x)$. \end{proof}

\begin{tcolorbox} {\bfseries 定理:} 函数$\frac{1}{2}||x-P(x)||^2$的梯度为$x-P(x)$. \end{tcolorbox}

\begin{proof} 任意的$y$可分解为$y=c(x-P(x))+z$, 其中$z\perp x-P(x)$. 根据 \begin{equation*} x+tc(x-P(x))-P(x+tc(x-P(x)))=x+tc(x-P(x))-P(x)=(1+tc)(x-P(x))\perp z, \end{equation*} 可得 \begin{align*} ||x+ty-P(x+ty)||^2 & =||x+tc(x-P(x))-P(x+tc(x-P(x)))||^2+O(t^2) \\  & =||(1+tc)(x-P(x))||^2+O(t^2) \\  & =||x-P(x)||^2+2t<x-P(x),c(x-P(x))>+O(t^2) \\  & =||x-P(x)||^2+2t<x-P(x),y>+O(t^2), \end{align*} 也即 \begin{equation*} \frac{1}{2}||x+ty-P(x+ty)||^2-\frac{1}{2}||x-P(x)||^2=t<x-P(x),y>+O(t^2), \end{equation*} 因此结论成立. \end{proof}

posted on   Eufisky  阅读(534)  评论(0编辑  收藏  举报

编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示