判断:标量对于列向量的导数是行向量。

正确。

标量对于列向量的导数是一个行向量,也称为梯度。假设标量函数 fff 依赖于一个 nnn 维列向量 x\mathbf{x}x,则 fff 对于 x\mathbf{x}x 的导数为:

∂f∂x=[∂f∂x1∂f∂x2⋯∂f∂xn]\frac{\partial f}{\partial \mathbf{x}} = \begin{bmatrix} \frac{\partial f}{\partial x_1} & \frac{\partial f}{\partial x_2} & \cdots & \frac{\partial f}{\partial x_n} \end{bmatrix}∂x∂f​=[∂x1​∂f​​∂x2​∂f​​⋯​∂xn​∂f​​]

其中每个偏导数 ∂f∂xi\frac{\partial f}{\partial x_i}∂xi​∂f​ 表示 fff 对于 x\mathbf{x}x 的第 iii 个分量的导数。因此,导数是一个行向量,其中每个元素是一个偏导数。

对于标量函数f(x)f(\mathbf{x})f(x),其中x\mathbf{x}x是列向量,它的导数是一个行向量,记作∂f(x)∂x⊤\frac{\partial f(\mathbf{x})}{\partial \mathbf{x}^\top}∂x⊤∂f(x)​。

可以使用链式法则来计算这个导数。假设x\mathbf{x}x是一个nnn维列向量,即x=[x1x2⋯xn]⊤\mathbf{x}=\begin{bmatrix}x_1 & x_2 & \cdots & x_n\end{bmatrix}^\topx=[x1​​x2​​⋯​xn​​]⊤,其中⊤^\top⊤表示向量的转置。则f(x)f(\mathbf{x})f(x)的导数可以写成一个行向量的形式:

∂f(x)∂x⊤=[∂f(x)∂x1∂f(x)∂x2⋯∂f(x)∂xn]\frac{\partial f(\mathbf{x})}{\partial \mathbf{x}^\top}=\begin{bmatrix}\frac{\partial f(\mathbf{x})}{\partial x_1} & \frac{\partial f(\mathbf{x})}{\partial x_2} & \cdots & \frac{\partial f(\mathbf{x})}{\partial x_n}\end{bmatrix}∂x⊤∂f(x)​=[∂x1​∂f(x)​​∂x2​∂f(x)​​⋯​∂xn​∂f(x)​​]

其中每个偏导数都是一个标量,因此∂f(x)∂x⊤\frac{\partial f(\mathbf{x})}{\partial \mathbf{x}^\top}∂x⊤∂f(x)​是一个行向量。

∣∣x∣∣2||\mathbf{x}||_2∣∣x∣∣2​对 x\mathbf{x}x 的导数为2x⊤2\mathbf{x}^\top2x⊤

假设x\mathbf{x}x是一个nnn维列向量,则∣∣x∣∣2||\mathbf{x}||_2∣∣x∣∣2​(L2范数)定义为:

∣∣x∣∣2=∑i=1nxi2||\mathbf{x}||_2 = \sqrt{\sum_{i=1}^{n}x_i^2}∣∣x∣∣2​=i=1∑n​xi2​​

我们可以使用链式法则来计算∣∣x∣∣2||\mathbf{x}||_2∣∣x∣∣2​对 x\mathbf{x}x 的导数。

首先,令 f(t)=tf(t) = \sqrt{t}f(t)=t​,则:

∂f(t)∂t=12t\frac{\partial f(t)}{\partial t} = \frac{1}{2\sqrt{t}}∂t∂f(t)​=2t​1​

然后,令 t=g(x)=∑i=1nxi2t=g(\mathbf{x})=\sum_{i=1}^{n}x_i^2t=g(x)=∑i=1n​xi2​,则:

∂g(x)∂xi=2xi\frac{\partial g(\mathbf{x})}{\partial x_i} = 2x_i∂xi​∂g(x)​=2xi​

因此,根据链式法则,有:

∂∣∣x∣∣2∂x=∂f(g(x))∂x=∂f(g(x))∂g(x)⋅∂g(x)∂x=12g(x)⋅2x=x∣∣x∣∣2\frac{\partial ||\mathbf{x}||_2}{\partial \mathbf{x}}=\frac{\partial f(g(\mathbf{x}))}{\partial \mathbf{x}}=\frac{\partial f(g(\mathbf{x}))}{\partial g(\mathbf{x})} \cdot \frac{\partial g(\mathbf{x})}{\partial \mathbf{x}}=\frac{1}{2\sqrt{g(\mathbf{x})}} \cdot 2\mathbf{x}=\frac{\mathbf{x}}{||\mathbf{x}||_2}∂x∂∣∣x∣∣2​​=∂x∂f(g(x))​=∂g(x)∂f(g(x))​⋅∂x∂g(x)​=2g(x)​1​⋅2x=∣∣x∣∣2​x​

其中,∂g(x)∂x=[∂g(x)∂x1∂g(x)∂x2⋯∂g(x)∂xn]=[2x12x2⋯2xn]\frac{\partial g(\mathbf{x})}{\partial \mathbf{x}}=\begin{bmatrix}\frac{\partial g(\mathbf{x})}{\partial x_1} & \frac{\partial g(\mathbf{x})}{\partial x_2} & \cdots & \frac{\partial g(\mathbf{x})}{\partial x_n}\end{bmatrix}=\begin{bmatrix}2x_1 & 2x_2 & \cdots & 2x_n\end{bmatrix}∂x∂g(x)​=[∂x1​∂g(x)​​∂x2​∂g(x)​​⋯​∂xn​∂g(x)​​]=[2x1​​2x2​​⋯​2xn​​]

因此,∂∣∣x∣∣2∂x=x∣∣x∣∣2\frac{\partial ||\mathbf{x}||_2}{\partial \mathbf{x}} = \frac{\mathbf{x}}{||\mathbf{x}||_2}∂x∂∣∣x∣∣2​​=∣∣x∣∣2​x​可以写成:

∂∣∣x∣∣2∂x=[∂∣∣x∣∣2∂x1 ∂∣∣x∣∣2∂x2 ⋮ ∂∣∣x∣∣2∂xn]=[x1∣∣x∣∣2 x2∣∣x∣∣2 ⋮ xn∣∣x∣∣2]\frac{\partial ||\mathbf{x}||_2}{\partial \mathbf{x}} = \begin{bmatrix}\frac{\partial ||\mathbf{x}||_2}{\partial x_1} \ \frac{\partial ||\mathbf{x}||_2}{\partial x_2} \ \vdots \ \frac{\partial ||\mathbf{x}||_2}{\partial x_n}\end{bmatrix} = \begin{bmatrix}\frac{x_1}{||\mathbf{x}||_2} \ \frac{x_2}{||\mathbf{x}||_2} \ \vdots \ \frac{x_n}{||\mathbf{x}||_2}\end{bmatrix}∂x∂∣∣x∣∣2​​=[∂x1​∂∣∣x∣∣2​​ ∂x2​∂∣∣x∣∣2​​ ⋮ ∂xn​∂∣∣x∣∣2​​​]=[∣∣x∣∣2​x1​​ ∣∣x∣∣2​x2​​ ⋮ ∣∣x∣∣2​xn​​​]

这个结果可以进一步简化为∂∣∣x∣∣2∂x=x⊤∣∣x∣∣2\frac{\partial ||\mathbf{x}||_2}{\partial \mathbf{x}} = \frac{\mathbf{x}^\top}{||\mathbf{x}||_2}∂x∂∣∣x∣∣2​​=∣∣x∣∣2​x⊤​,因为x∣∣x∣∣2\frac{\mathbf{x}}{||\mathbf{x}||_2}∣∣x∣∣2​x​是一个列向量,其转置即为一个行向量。所以:
∂x⊤=x⊤∣∣x∣∣2{\partial \mathbf{x}^\top} = \frac{\mathbf{x}^\top}{||\mathbf{x}||_2}∂x⊤=∣∣x∣∣2​x⊤​

因此,当对∣∣x∣∣2||\mathbf{x}||_2∣∣x∣∣2​求导时,得到的结果是∂∣∣x∣∣2∂x⊤=x⊤∣∣x∣∣2\frac{\partial ||\mathbf{x}||_2}{\partial \mathbf{x}^\top} = \frac{\mathbf{x}^\top}{||\mathbf{x}||_2}∂x⊤∂∣∣x∣∣2​​=∣∣x∣∣2​x⊤​。又因为∣x∣22=∑i=1nxi2|\mathbf{x}|2^2 = \sum{i=1}^{n} x_i^2∣x∣22=∑i=1nxi2​,所以我们可以将x⊤∣∣x∣∣2\frac{\mathbf{x}^\top}{||\mathbf{x}||_2}∣∣x∣∣2​x⊤​进一步简化为:

∂∣∣x∣∣2∂x⊤=1∣∣x∣∣2[x1 x2 ⋮ xn]⊤=2x⊤2∣∣x∣∣2=2x⊤∑i=1nxi2\frac{\partial ||\mathbf{x}||_2}{\partial \mathbf{x}^\top} = \frac{1}{||\mathbf{x}||_2} \begin{bmatrix} x_1 \ x_2 \ \vdots \ x_n \end{bmatrix}^\top = \frac{2\mathbf{x}^\top}{2||\mathbf{x}||2} = \frac{2\mathbf{x}^\top}{\sqrt{\sum_{i=1}^{n} x_i^2}}∂x⊤∂∣∣x∣∣2​​=∣∣x∣∣2​1​[x1​ x2​ ⋮ xn​​]⊤=2∣∣x∣∣22x⊤​=∑i=1n​xi2​​2x⊤​

因此,∣∣x∣∣2||\mathbf{x}||_2∣∣x∣∣2​对x\mathbf{x}x的导数为2x⊤2\mathbf{x}^\top2x⊤。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐