深度学习中矩阵乘法线性意义的疑难,有无佬友能帮忙解答下

藏原走 2026-08-29 09:37 1

在我的理解中,世界每个未知都是能用函数表示,即y=Wx,而深度学习是为计算y=wx中的W,我通过学习到的W来解决已知的显示问题。也可以通过线性变换的方式理解,X作为我们的输入我们需要经过线性变化x,将他变成模型的解y。

但在最近学习大模型的过程中,遇到了思维转变上的问题,在求解模型中Q的过程中,我本质上也是认为是个线性变化,但是官方给出的是y=XW,X为(B,T,E)@(E,E) 这个方程颠覆了我的理解,有没有懂得佬友帮忙解答下

最新回复 (15)
  • 08-29 09:41
    1

    看得乱乱的,你意思是你认为应该是y = WX,结果却是y = XW吗?

  • 夹心的小卷蛾 08-29 09:46
    2

    世界每个未知都是能用函数表示,即y=Wx



    y=Wx 不能拟合任何函数,需要加非线性的激活函数(如 ReLU, Sigmoid)

  • 藏原走 楼主 08-29 09:47
    3

    对 可能我没有表达清楚 我理解的矩阵乘法本质上是右矩阵经过线性变化的结果。

  • 藏原走 楼主 08-29 09:48
    4

    但是如果这样 套这个理解的话 我解释不清楚

  • 钯箔苯 08-29 09:48
    5

    矩阵左乘就不是对某个向量做线性变换了吗?没太懂

  • jianhenghu 08-29 09:49
    6

    其实左乘右乘就是定义习惯,维度对上就完事了,不用想太深。

  • 夹心的小卷蛾 08-29 09:55
    7

    y=Wx :数学上习惯把 x, y当列向量,所以是公式在矩阵乘法中为[n * 1] = [n * n] @ [n * 1]


    y = xW :把x, y视为行向量,就变为了 [1 * n] = [1 * n] @ [n * n]

  • 藏原走 楼主 08-29 09:57
    8

    这个回答跟ai给我的回答类似,但是我希望能在线性空间上,解释下这两者乘法的区别

  • Moakir 08-29 09:59
    9

    没毛病,接着这个话提醒楼主,我觉得楼主就是拟合、表示没分清,我也认为存在全能函数 y=Wx 能表示一切未知,但是那个 W 甚至可能还没被数学定义,而深度学习是拟合的过程,必须要激活函数这种特殊函数让y收敛,至于左右乘问题我觉得不是颠覆楼主思维的地方(好好复习下数学)

  • elvis 08-29 10:04
    10

    佬,我也比较认同@ **jianhenghu**佬说的,“对每个向量单独做一次转置后的操作”和“把所有向量堆成矩阵后一次性转置再乘”效果完全一样,所以理解上可以从支持向量机那种划分平面的思路去理解,就是用线性函数切割平面,足够多的线性函数就能刻画我们想要的解。但是在实际计算的时候,我们完全可以灵活运用转置,只要确保是等价的就可以了,就像解数学题一样。至于为什么要转置,我猜可能是不想破坏X的结构吧,或者这样算快一点,我觉得,这样做只是为了计算。

  • 08-29 10:05
    11

    其实其他佬友已经给你解释得很明白了,y = WX 和 Y = XW 都是做的线性变化,只是它们站在了不同坐标变换的视角上了,主要你得看它们(X和W)具体的各维度表示的含义

    在传统线代里可能习惯左乘,把矩阵W的每一列当成基底,而大模型领域,X通常的维度都是(B,T,E)之类的行向量,右乘W时,只是做了一次转置同构,数学几何含义是完全一样的

  • HGWXX1379 08-29 10:11
    12

    普通深度学习,假设b条样本,每个样本m个属性,n个标签。我们通过一个b乘m的x需要得到的是一个b乘n的y。难道这里是y=Wx吗?其实也是Y=XW,w形状为m,n。当x只有一个样本时,你习惯把它看做列向量,才会导出y=Wx

  • colin 08-29 10:14
    13

    这里X不是三维张量吗,这个@看着像张量乘

  • 藏原走 楼主 08-29 10:15
    14

    之前的理解有问题,现在有点明白了

  • 藏原走 楼主 08-29 10:17
    15

    就是张量乘,我理解的矩阵乘是张量乘吗,只不过pytorch是用@表示的

* 帖子来源Linux.do
返回