7 votos

¿Importa el orden para la regla de la cadena?

Dado $$\frac{\partial J}{\partial z_2}=\delta_1$$ $$z_2 = hW_2+b_2$$ Derivar los gradientes de $J$ con respecto a $h$ y $W_2$ , donde $J \in \mathbb{R}$ , $z_2 \in \mathbb{R}^{D_x \times D_y}$ , $\delta_1 \in \mathbb{R}^{D_x \times D_y}$ , $W_2 \in \mathbb{R}^{H \times D_y}$ , $h \in \mathbb{R}^{D_x \times H}$ .

Aquí está la solución correcta: \begin {align*} & \frac { \partial J}{ \partial h}= \frac { \partial J}{ \partial z_2} \frac { \partial z_2}{ \partial h}= \delta_1 W_2^T \\ & \frac { \partial J}{ \partial W_2}= \frac { \partial z_2}{ \partial W_2} \frac { \partial J}{ \partial z_2}=h^T \delta_1 \end {align*}

Los resultados se obtienen aplicando la regla de la cadena, aunque encadenando en diferentes órdenes. El cambio de órdenes refleja un compromiso para cumplir los requisitos de dimensión de $\frac{\partial J}{\partial W_2}$ . Es muy molesto tener que examinar la dimensión cada vez. ¿Existe alguna regla general que se pueda seguir para saber qué orden hay que aplicar en términos de regla de la cadena sin examinar la dimensión?

5voto

greg Puntos 156

El uso de diferenciales es menos propenso a errores (para mí) que la regla de la cadena porque (algebraicamente) los diferenciales actúan como vectores y matrices normales.

Aplicando la técnica diferencial a su pregunta $$\eqalign{ z_2 &= hW_2 + b_2 \cr dz_2 &= dh\,W_2 + h\,dW_2 \cr\cr dJ &= \delta_1:dz_2 \cr &= \delta_1:(dh\,W_2 + h\,dW_2) \cr &= \delta_1:dh\,W_2 + \delta_1:h\,dW_2 \cr &= \delta_1\,W_2^T:dh + h^T\delta_1:dW_2 \cr \cr }$$ Configuración $dW_2=0$ da como resultado el gradiente wrt $h$ $$\eqalign{ \frac{\partial J}{\partial h} &= \delta_1\,W_2^T \cr\cr }$$ Y el ajuste $dh=0$ da como resultado el gradiente wrt $W_2$

$$\eqalign{ \frac{\partial J}{\partial W_2} &= h^T\delta_1 \cr\cr }$$ En lo anterior, los dos puntos denotan el producto de doble punto (también conocido como Frobenius), que puede definirse en términos de la traza como $$A:B=\operatorname{tr}(A^TB)$$ Las propiedades de la traza dan lugar a algunas reglas útiles para reordenar los argumentos $$\eqalign{ A:BC &= BC:A \cr &= A^T:(BC)^T \cr &= B^TA:C \cr &= AC^T:B \cr &= etc \cr }$$ Algo que te ayudará a detectar errores utilizando esta técnica es que ambos argumentos de un producto de Frobenius deben tener la misma forma. En este sentido, es similar al producto elemental (también conocido como Hadamard). De hecho, el producto de Frobenius es la suma de todos los elementos del producto de Hadamard.

Otra regla útil es la del diferencial de un producto $$d(A\star B) = dA\star B + A\star dB$$ donde $\star$ puede ser el producto de Frobenius, Hadamard, Kronecker, Tensor (también conocido como diádico) o el producto matricial estándar. Además, los productos de Frobenius y Hadamard también son conmutativos, lo que permite reordenar y juntar términos, de forma similar a como se trabaja con cantidades escalares.

Por último, decir que $G$ es el gradiente de $f(X)$ significa que el diferencial es $$df=G:dX$$ y viceversa.

2voto

Peter Hession Puntos 186

Por supuesto, el orden importa por encima de la dimensión $1$ . La derivada en este caso es un operador lineal y la regla de la cadena consiste en componer operadores lineales y la composición no es conmutativa en general. Si se compone de la manera correcta las dimensiones están bien.

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