Généralisation de "chain rule" avec tenseurs

Edit: Attention ce fil est un mélange d'algèbre, analyse dans un souci d'application informatique.

Bonjour,
Imaginons une application $X \in R^{n\times p} \stackrel{f}{\longrightarrow}Z \in R^{q \times r}\stackrel{g}{\longrightarrow} A \in R^{s \times t} $.
J'aimerais bien écrire quelque chose du genre $J_X(g\circ f)(X)=J_Zg(f(X))J_Xf(X)$ où $J.$ désignerait un objet similaire à un jacobien.
Le problème ici c'est que l'on manipule des matrices (et non des vecteurs) et que j'aimerais éviter des opérations termes à termes faisant intervenir les notations indicielles (pour une implémentation sur Python, Numpy gère beaucoup mieux le calcul tensoriel que les boucles).
Existe-t-il une généralisation de la "chain rule" avec des "tenseurs", si oui avez-vous un exemple ?

PS: A titre d'exercice comment feriez-vous pour trouver : "la dérivée de J par rapport à la matrice W"
- dans le cadre suivant (de la régression linéaire) $J:(X,W) \in R^{N\times n} \times R^{1 \times n}\stackrel{Z}{\longrightarrow}XW^T \in R^{N \times 1}\stackrel{C}{\longrightarrow} \dfrac{1}{2N} \sum (Z_{i1}-Y_{i1})^2 \in R $ en se donnant $Y$ un vecteur colonne dont on note les lignes $Y_{i1}$ (idem pour $Z$).
- idem pour la régression logistique: $J:(X,W) \in R^{N\times n} \times R^{p \times n}\stackrel{Z}{\longrightarrow}XW^T \in R^{N \times p}\stackrel{SM}{\longrightarrow} A=Softmax(Z(X)) \in R^{N \times p} \stackrel{C}{\longrightarrow} -\dfrac{1}{N} \sum_{i=1}^N \sum_{k=1}^pY_{ik}\log(A_{ik}) \in R $
En notant, $[Softmax(Z)]_{ij}=\dfrac{e^{Z_{ij}}}{\sum_{j=1}^pe^{Z_{ij}}} $ et $Y$ est cette fois une matrice $Y \in R^{N \times p}$

Réponses

  • PS: il semble qu'une telle notion existe bien "The tensor chain rule": https://stats.stackexchange.com/questions/198061/why-the-sudden-fascination-with-tensors/198395#198395 http://cs231n.stanford.edu/handouts/derivatives.pdf

    "As someone who studies and builds neural networks and has repeatedly asked this question, I've come to the conclusion that we borrow useful aspects of tensor notation simply because they make derivation a lot easier and keep our gradients in their native shapes. The tensor chain rule is one of the most elegant derivation tools I have ever seen. Further tensor notations encourage computationally efficient simplifications that are simply nightmarish to find when using common extended versions of vector calculus. "

    Cependant le commentaire n'extrapole pas vraiment d'exemple comme je le souhaiterais pour comprendre comment procéder en pratique...
Connectez-vous ou Inscrivez-vous pour répondre.