9 votos

¿Por qué el gradiente del producto de la matriz $AB$ por ejemplo $A$ igual $B^T$ ?

El siguiente pasaje es de la página 215 de Aprendizaje profundo por Goodfellow, Bengio y Courville.

Por ejemplo, podemos utilizar una operación de multiplicación de matrices para crear una variable $C = AB$ . Supongamos que el gradiente de un escalar $z$ con con respecto a $C$ viene dada por $G$ . La operación de multiplicación de matrices es responsable de definir dos reglas de retropropagación, una para cada uno de sus argumentos de entrada. Si llamamos al método bprop para solicitar el gradiente con respecto a $A$ dado que el gradiente en la salida es $G$ , entonces el método bprop de la operación de multiplicación de matrices debe afirmar que el gradiente con respecto a A viene dado por $GB^T$ .

Aplican la regla de la cadena para calcular el gradiente del escalar $z = f(C)$ con respecto a $A$ . No estoy familiarizado con la idea de calcular el gradiente de un producto de matrices con respecto a una matriz. ¿Qué significa esto y por qué se transpone el resultado?

5voto

hans Puntos 121

Dado el gradiente wrt $C$ $$\eqalign{\frac{\partial z}{\partial C} = G\cr\cr}$$ utilizar el Producto interior de Frobenius para escribir el diferencial $$\eqalign{ dz &= G:dC \cr &= G:dA\,B \cr &= GB^T:dA \cr\cr }$$ A partir de la cual el gradiente wrt $A$ puede identificarse como $$\eqalign{ \frac{\partial z}{\partial A} &= GB^T \cr\cr }$$ Obsérvese que los productos de Frobenius pueden reordenarse de varias maneras $$\eqalign{ A:BC &= BC:A \cr &= A^T:(BC)^T \cr &= AC^T:B \cr &= B^TA:C \cr &= {\rm tr}\big(A^TBC\big) \cr }$$ todo lo cual puede verificarse directamente, o considerando la equivalencia de la traza y la propiedad cíclica de la misma.

1voto

Diego Mijelshon Puntos 40314

No estoy de acuerdo, a menos que $A$ es un $1 \times m$ matriz. Supongamos $A$ es un $1 \times m$ matriz y $B$ es un $m \times n$ matriz. El producto es $y=AB$ es un $1 \times $ n matriz. Podemos escribir \begin{eqnarray} y_i = \sum_{k=1}^m a_k b_{ki}. \end{eqnarray}
Entonces el gradiente viene dado por las derivadas parciales \begin{eqnarray} \frac{\partial y_i}{\partial a_j} = \sum_{k=1}^m \frac{\partial a_k}{\partial a_j} b_{ki} = \sum_{k=1}^m \delta_{kj} b_{ki} = b_{ji} \end{eqnarray} que en forma de matriz es $B^T$ .

Sin embargo, si $A$ es un $p \times m$ las cosas de la matriz son diferentes. El gradiente de $y=AB$ con respecto a $A$ es un tensor de cuarto orden. Hagamos las cuentas. \begin{eqnarray} y_{ij} = \sum_{k=1}^m a_{ik} b_{kj} \end{eqnarray} y desde aquí \begin{eqnarray} \frac{\partial y_{ij}}{\partial x_{rs}} = \sum_{k=1}^m \frac{\partial a_{ik}}{\partial a_{rs}} b_{kj} = \sum_{k=1}^m \delta_{ir} \delta_{ks} b_{kj} = \delta_{ir} b_{sj} \end{eqnarray} Un tensor de cuatro rangos que es un producto tensorial de delta y la matriz B.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X