矩阵求导链式法则
矩阵求导计算公式
前要:变量多次出现的求导法则:若某个变量在函数表达式中多次出现,可以单独计算函数对自变量的每一次出现的导数,再把结果加起来。用计算图来描述本条法则,就是:若变量x有多条影响函数f的值的路径,则计算时需要对每条路径经求导再加和。
例:,可以先把三个x看做三个不同的变量,即
,然后分别求导得
,
,
,最后再把这三项加起来,并抹掉下标可以得到
。
变量多次出现的求导法则,在自动编码器(autoencoder)和卷积神经网络等权值共享的模型导数时很有用。
具体应用:例:Batch Normalization的求导公式:
BN的介绍:
在BN原论文中给出了反向传播的公式,这里我们可以自己进行推导:
矩阵求导链式法则:
其中,先做线性变换再求导等于先求导再做线性变换。求导结果就等于参数矩阵A的转置与函数导数
的乘积。两者的左乘右乘关系需要考虑维度相容原理来进行调整。也就是说,求导结果与自变量同型,即两者相乘矩阵维度与X的维度相同。
例: