标准LSTM
xLSTM
如果用Linear Attention的表示方法大概是:
现在有很多种归类方法会把LSTM归类为SSM,或者把SSM+LSTM这一类的模型归类为Linear Attention Models,其他的维度暂且不管,只说RNN和SSM的区别:
其实最重要的是:
1)RNN一般是非线性,SSM的状态转移一般是线性的。
2) RNN一般是数据驱动,参数一般都是data-driven通过BPTT进行求解。SSM一般会引入物理或者统计上的先验知识,虽然最后求解也是BP,不过更强调系统性的先验和知识。
几个需要注意的点:
1) 当SSM中的AB矩阵是data-independent的时候,最后将整个序列展开,可以变成一个卷积形式,也就是:
但是在实际上大部分的SSM里面A矩阵都是data-dependent的,即是由当前的输入决定的,所以这个时候需要用fast-scan而无法用卷积形式(快速傅里叶变换可以快速算出卷积)
2)实际中训练的时候的复杂度如果用并行的形式是跟标准的Attention一样的,但是在推理的时候只有 $$LD^2 $$,所以杨松琳发展了许多的chunk-wise的计算方法,就是为了降低训练时候的代价:
可以从公式看出核心是这个chunk内用矩阵形式(并行),然后block之间用串行(sequential形式)
回复列表: