W_2矩阵一般是4d\times d的,那么它的rank最高为d,也就是说至少有3d行可以被其他行线性表出,假设某个inputx\in R^{1\times d}在经过W_1以及激活函数后的hidden state为h\in R^{1\times 4d}那么FFN的outputh\cdot W_2可以看作是对W_2的4d行进行一个加权求和\sum_{i=1}^{4d}{h_i}W_{2,i},其中h_i代表h的第i个分量,W_{2,i}代表W_2的第i行。由于W_2的低秩特性,我总可以在W_2找到n(n\leq d)个线性无关的行(假设就是前n行),从而对于任意1\leq i\leq 4d,W_{2,i}都可以由这n行线性表出W_{2,i}=\sum_{j=1}^{n}{c_j}W_{2,j},所以上述加权求和总可以进行改写:\sum_{i=1}^{4d}{h_i}W_{2,i}=\sum_{i=1}^{n}{k_i}W_{2,i},那么W_2矩阵只需要这n行即可,模型只需要学习到如何通过W_1和激活函数来得到“新的”h'\in R^{1\times n}=\{k_1, k_2,.........