首页 > 其他分享 >矩阵乘法求导

矩阵乘法求导

时间:2023-06-14 20:46:17浏览次数:29  
标签:845 745 sum 945 矩阵 645 545 求导 乘法

矩阵乘法求导

pyotrch中只能是标量对矩阵求导,所以矩阵乘法结束后加个sum

\[L = sum(\bm{WX}) \]

其中,\(\bm{W}\)和\(\bm{X}\)都是矩阵,那么

\[\frac{\partial L}{\partial\bm{W}}_{\cdot i}=\sum\bm{X}_{i\cdot} \]

梯度和W的形状相同,梯度中每列都是相同的,只要是第i列,梯度值就是\(\bm{X}\)的第i行的和。
用公式不太好表示,我们用pytorch代码来描述一下:

>>> w = torch.arange(0,50,dtype=torch.float32, requires_grad=True)
>>> nw  = w.view(10, 5)
>>> x = torch.arange(50,100, dtype=torch.float32, requires_grad=True)
>>> nx = x.view(5,10)
>>> loss = torch.matmul(nw, nx)
>>> sum_loss = loss.sum()
>>> sum_loss.backward()
>>> print(w.grad.view_as(nw),'\n', nx.detach().sum(dim=1))
tensor([[545., 645., 745., 845., 945.],
        [545., 645., 745., 845., 945.],
        [545., 645., 745., 845., 945.],
        [545., 645., 745., 845., 945.],
        [545., 645., 745., 845., 945.],
        [545., 645., 745., 845., 945.],
        [545., 645., 745., 845., 945.],
        [545., 645., 745., 845., 945.],
        [545., 645., 745., 845., 945.],
        [545., 645., 745., 845., 945.]]) 
 tensor([545., 645., 745., 845., 945.])

这个推导过程也不是很复杂,可以自己举个例子试试。

标签:845,745,sum,945,矩阵,645,545,求导,乘法
From: https://www.cnblogs.com/wangbingbing/p/17481291.html

相关文章

  • 推荐算法——非负矩阵分解(NMF)
    1.矩阵分解回顾在博文推荐算法——基于矩阵分解的推荐算法中,提到了将用户-商品矩阵进行分解,从而实现对未打分项进行打分。矩阵分解是指将一个矩阵分解成两个或者多个矩阵的乘积。对于上述的用户-商品矩阵(评分矩阵),记为,可以将其分解成两个或者多个矩阵的乘积,假设分解成两个矩阵和,......
  • 机器学习中的常见问题——K-Means算法与矩阵分解的等价
    一、K-Means算法的基本原理K-Means算法是较为经典的聚类算法,假设训练数据集XX为:{x1,x2,⋯,xn}{x1,x2,⋯,xn},其中,每一个样本xjxj为m......
  • 推荐算法——基于矩阵分解的推荐算法
    一、推荐算法概述对于推荐系统(RecommendSystem,RS),从广义上的理解为:为用户(User)推荐相关的商品(Items)。常用的推荐算法主要有:基于内容的推荐(Content-BasedRecommendation)协同过滤的推荐(CollaborativeFilteringRecommendation)基于关联规则的推荐(AssociationRule-Based......
  • VUE+WebPack游戏设计:'乘法防线'游戏设计
    从本节开始,我们进入新的游戏设计阶段。本次游戏设计,我们需要使用html5专有的canvas,也就是画布对象。同时为了便于在canvas上绘制图案,我们引入一个第三方库叫做CreateJS,它能帮我们管理在canvas上绘制的各种图形。乘法防线的游戏目的是为了帮助小学生学习乘法运算法则。游戏的主要内......
  • 2373.矩阵中的局部最大值
    问题描述2373.矩阵中的局部最大值(Easy)给你一个大小为nxn的整数矩阵grid。生成一个大小为(n-2)x(n-2)的整数矩阵maxLocal,并满足:maxLocal[i][j]等于grid中以i+1行和j+1列为中心的3x3矩阵中的最大值。换句话说,我们希望找出grid中每个......
  • 任意模数多项式乘法(MTT)学习笔记
    三模数NTT常数大、速度慢、精度高是它的特点。在考虑三模数NTT之前先考虑一下中国剩余定理吧。已知\[\begin{cases}x\equivx_1(\bmodm_1)\\x\equivx_2(\bmodm_2)\\x\equivx_3(\bmodm_3)\\\end{cases}\]求\(x\bmodm_1m_2m_3\)。有\[\begin{aligned}&k_1m_1+......
  • Java使用for嵌套循环打印九九乘法表
    第一步:构思观看九九乘法表,并使用计算机思维发现其规律。(1)首先,我们需要知道Java的输出可以控制里面的结果在不在一行,所以我们需要观察行与行之间的规律。我们可以把乘法看成b×a=c(2)然后,我们看第二行可以发现“a=2”而且“a=2”在第二行没有变,而“b”在发生变化。并且看第......
  • 什么是全渠道营销?4个软件组建全渠道营销获客矩阵
    2023年可谓是B2B企业营销获客最为严峻的一年。越来越多的营销人纷纷找到我,询问市场部如何开源获客,如何挖掘高ROI的获客渠道等问题。这种焦虑情绪大部分源自CEO和业务部门对应商机需求的巨大压力,因为所有的B2B市场部都在向获客型市场部转型,通过可量化的方式来评估市场对经营的价值......
  • 2319.判断矩阵是否是一个X矩阵
    问题描述2319.判断矩阵是否是一个X矩阵解题思路模拟代码classSolution{public:boolcheckXMatrix(vector<vector<int>>&grid){boolres=true;for(inti=0;i<grid.size();i++){for(intj=0;j<grid[0].size();......
  • 2718. 查询后矩阵的和 (Medium)
    问题描述2718.查询后矩阵的和(Medium)给你一个整数n和一个下标从0开始的二维数组queries,其中queries[i]=[typeᵢ,indexᵢ,valᵢ]。一开始,给你一个下标从0开始的nxn矩阵,所有元素均为0。每一个查询,你需要执行以下操作之一:如果typeᵢ==0,将第index......