学好偏导竟能追到心仪的妹子
💘背景
我有一个朋友,他最近很苦恼,因为他最近正在追一个妹子,但是这个妹子是AI领域的大佬,多篇ICML,ICLR在手,情况不是很明朗。我问他怎么回事,他说妹子给我出了一道题:
其中
,且「求对的偏导?」
"我做不出来呀,大概知道个什么维度相等的原则,具体怎么算我不会呀!"
"你直接冲就得了!"
"万一是劝退,朋友都做不了了!"
“也是,那我替你找找资料!”
看完这篇文章你将会收获到:
正确判定妹子的心意
且听我慢慢道来。
1 向量对向量的偏导计算
中
由于每个中的元素对每个中的元素都要求偏导,因此结果肯定是个二维雅可比矩阵:
先考虑中的某一个元素对中的元素求偏导: 我们取和:
由矩阵和向量的运算我们能够得到
展开的话,就成了:
现在直接变成了一维的求导了:
(是不是感觉下标是不是有某种关联😄)
对!由上面的规律(你可以再求个对再试试),容易得到:
那么雅可比矩阵的值就可以得到:
因此:
其中
我们可以用上面同样的方法得出来:
那么对对偏导为:
最后:
2 向量对矩阵的偏导计算
中
首先要明确,一维的向量对二维的矩阵的偏导其结果必然是一个三维的矩阵 ,你想一下每一个都要对 求偏导,那么将会得到个偏导值,我们先不讨论怎么排列,只关注每个位置怎么求。
我们求,容易得到:
注意下和的下标,是不是和上面一样有规律可循?
对了!能够发现式子的等式中,的列维度和的行维度是一样的(符合矩阵的运算规律),的列维度等于3,容易推出:
为了更好地表示,我们使用表示对的三维偏导,其中:
注意到只有==时,偏导等于,其他都为0,因此:
因此,中实际的有效信息只有2维!这个可以手动验证。
3 矩阵对矩阵的偏导计算
中
现在3个元素都是矩阵,同样还是利用矩阵的计算方法,容易得到:
容易看出对来说只有a==c时,其偏导数的值不为0,即:
如果我们只考虑的第行和的第行,那么可以得到:
是不是就是公式(2)!
4 多个矩阵的偏导计算
链式法则
那对于像这样的,多个矩阵/向量如何求偏导呢? 我们可以使用链式法则, 假设 则:由链式法则能够得到:
若只考虑单个维度的话,能够得到:
有没有发现,中间的m是个向量,这不是很好求呀,我们把m拆成多个单维度的数:
由上面👆的推导公式能够得到:
因此:
还有一种方法,就是将看成一个向量,直接应用之前推导出的公式,便可得到!
「所以至此,大家告诉我,我那个朋友应该冲么?🦉」
深度学习资源下载
在NLP情报局公众号后台回复“三件套”,即可获取深度学习三件套:
《PyTorch深度学习》,《Hands-on Machine Learning》,《Python深度学习》
推 荐 阅 读
参 考 资 料
[1] Vector, Matrix, and Tensor Derivatives:
欢 迎 关 注 👇
由于微信平台算法改版,订阅号内容将不再以时间排序展示,如果大家想第一时间看到我们的推送,强烈建议星标我们帮我们点【在看】。星标具体步骤:
(1)点击页面最上方“NLP情报局”,进入主页
(2)点击右上角的小点点,在弹出页面点击“设为星标”,就可以啦
感谢支持❤️