Câu hỏi về đạo hàm vectơ-matirix trong truyền ngược

Aug 16 2020

Giả sử tôi có một ma trận như sau:

$$ W = \begin{bmatrix} w_{1,1} & w_{1,2} \\ w_{2,1} & w_{2,2} \end{bmatrix} $$ $$ \vec{x} = \begin{bmatrix} x_1 \\ x_2 \end{bmatrix} $$ $$ \vec{y} = W\vec{x} = \begin{bmatrix} w_{1,1}x_1 + w_{1,2}x_2 \\ w_{2,1}x_1 + w_{2,2}x_2 \end{bmatrix} $$

Trong lan truyền ngược, cần phải tính toán $\partial {\vec{y}} \over \partial {W}$ cập nhật $W$.

Tuy nhiên, theo Wiki , không có sự nhất trí nào về định nghĩa đạo hàm của véc tơ theo ma trận.

Sau đó, làm thế nào tôi có thể nhận được giá trị của $\partial {\vec{y}} \over \partial {W}$?

Trả lời

3 BenGrossmann Aug 16 2020 at 16:35

Dù bạn có quan niệm gì về $\frac{\partial y}{\partial W}$, một phần dữ liệu được mang bởi đối tượng này là tập hợp của tất cả các đạo hàm riêng $\frac{\partial y}{\partial W_{ij}}$và các dẫn xuất này phải tạo thành tất cả các "mục nhập" của $\frac{\partial y}{\partial W}$. Trong trang wiki này , (các) tác giả chỉ sử dụng các đạo hàm riêng này và không tham chiếu đến đạo hàm "tổng"$\frac{\partial y}{\partial W}$.

Để cho $e_1,e_2$ biểu thị cơ sở kinh điển của $\Bbb R^2$, tức là các cột của $2 \times 2$ma trận đơn vị. Chúng ta có thể thấy rằng các đạo hàm riêng này được đưa ra bởi $$ \frac{\partial y}{\partial W_{ij}} = x_j e_i. $$ Để đặt mọi thứ về các mục nhập vô hướng, chúng tôi sẽ nói rằng $ \frac{\partial y_k}{\partial W_{ij}} = \delta_{ik} x_j, $ Ở đâu $y_k$ biểu thị $k$mục nhập thứ của $y$$\delta_{ik}$ biểu thị "vùng đồng bằng Kronecker".

Bây giờ, về mặt đạo hàm tổng / Frechet , chúng ta có thể nói như sau.$y(W)$ xác định một chức năng từ $\Bbb R^{2 \times 2}$ đến $\Bbb R^2$, vì vậy đối với bất kỳ $W \in \Bbb R^{2 \times 2}$, $D_Wy(X) = Dy(X)$ xác định một bản đồ tuyến tính từ $\Bbb R^{2 \times 2}$ đến $\Bbb R^2$; cụ thể, cho bất kỳ$H \in \Bbb R^{2 \times 2}$, chúng ta có $$ Dy(X)(H) = y(H) = Hx. $$ Mặc dù nó không phải là một mảng các mục nhập, nhưng hàm này $Dy$ là toán tử mà mảng / tensor $\frac{\partial y}{\partial W}$sẽ đại diện. Chúng ta có thể khôi phục các đạo hàm riêng bằng cách đánh giá "các đạo hàm định hướng"$d_Wy(X)(E_{ij})$, Ở đâu $E_{ij} = e_ie_j^T$ là ma trận với $1$ bên trong $i,j$mục nhập và số không ở nơi khác. Thật vậy, chúng tôi có $$ Dy(X)(E_{ij}) = E_{ij} x = e_i (e_j^Tx) = x_j e_i. $$ Quy tắc chuỗi cho chúng ta biết những điều sau: đối với bất kỳ chức năng nào $g:\mathcal Z \to \Bbb R^{2 \times 2}$, chúng tôi có thể tính tổng đạo hàm của $y \circ g$như sau. Bất cứ gì$z \in \mathcal Z$, đạo hàm (một ánh xạ tuyến tính từ $\mathcal Z$ đến $\Bbb R^{2}$) được đưa ra bởi $$ D(y \circ g)(z) = Dy(g(z)) \circ Dg(z), $$ Ở đâu $Dy(g(z))$ là một bản đồ tuyến tính từ $\Bbb R^{2 \times 2} \to \Bbb R^2$$Dg(z)$ là một bản đồ tuyến tính từ $\mathcal Z$ đến $\Bbb R^{2 \times 2}$. Cụ thể hơn, nếu$h \in \mathcal Z$, sau đó là đạo hàm có hướng "cùng" $h$ nên được cung cấp bởi $$ D(y \circ g)(z)(h) = [Dy(g(z)) \circ Dg(z)](h) = [Dg(z)(h)] x. $$ Tương tự, đối với bất kỳ chức năng nào $p: \Bbb R^2 \to \mathcal Z$, chúng tôi có thể tính tổng đạo hàm của $p \circ y$ như sau. Bất cứ gì$X \in \Bbb R^{2 \times 2}$, đạo hàm (một ánh xạ tuyến tính từ $\Bbb R^{2 \times 2}$ đến $\mathcal Z$) được đưa ra bởi $$ D(p \circ y)(X) = Dh(y(X)) \circ Dy(X), $$ Ở đâu $Dh(y(X))$ là một bản đồ tuyến tính từ $\Bbb R^2$ đến $\mathcal Z$$Dy(X)$ là một bản đồ tuyến tính từ $\Bbb R^{2 \times 2}$ đến $\Bbb R^2$. Cụ thể hơn, nếu$H \in \Bbb R^{2 \times 2}$, sau đó là đạo hàm có hướng "cùng" $H$ nên được cung cấp bởi $$ D(p \circ y)(X)(H) = [Dp(y(X)) \circ Dy(X)](H) = Dp(y(X))(Hx). $$