矩阵求导链式法则

矩阵求导计算公式

前要:变量多次出现的求导法则:若某个变量在函数表达式中多次出现,可以单独计算函数对自变量的每一次出现的导数,再把结果加起来。用计算图来描述本条法则,就是:若变量x有多条影响函数f的值的路径,则计算矩阵求导链式法则时需要对每条路径经求导再加和。

例:矩阵求导链式法则,可以先把三个x看做三个不同的变量,即矩阵求导链式法则,然后分别求导得矩阵求导链式法则,矩阵求导链式法则,矩阵求导链式法则,最后再把这三项加起来,并抹掉下标可以得到矩阵求导链式法则

变量多次出现的求导法则,在自动编码器(autoencoder)和卷积神经网络等权值共享的模型导数时很有用。

 

具体应用:例:Batch Normalization的求导公式:

BN的介绍:

矩阵求导链式法则

在BN原论文中给出了反向传播的公式,这里我们可以自己进行推导:

矩阵求导链式法则

矩阵求导链式法则

 

矩阵求导链式法则:

矩阵求导链式法则

其中,先做线性变换再求导等于先求导再做线性变换。求导结果就等于参数矩阵A的转置矩阵求导链式法则与函数导数矩阵求导链式法则的乘积。两者的左乘右乘关系需要考虑维度相容原理来进行调整。也就是说,求导结果与自变量同型,即两者相乘矩阵维度与X的维度相同。

例:

矩阵求导链式法则