赞
踩
由于除了连续的输入之外,还会通常碰到离散的输入(如文本序列),不过,就算SSM在离散数据上训练,它仍能学习到底层蕴含的连续信息,因为在SSM眼里,sequence不过是连续信号signal的采样,或者说连续的信号模型是离散的序列模型的概括
那模型如何处理离散化数据呢?答案是可以利用零阶保持技术(Zero-order hold technique)
这些采样值就是我们的离散输出,且可以针对A、B按如下方式做零阶保持(做了零阶保持的在对应变量上面加了个横杠)
最终使我们能够从连续 SSM 转变为离散SSM,使得不再是函数到函数x(t) → y(t),而是序列到序列xₖ → yₖ,所以你看到,矩阵和现在表示模型的离散参数,且这里使用,而不是来表示离散的时间步长
注意:我们在保存时,仍然保存矩阵的连续形式(而非离散化版本),只是在训练过程中,连续表示被离散化(During training, the continuous representation is discretized)
总之,离散 SSM 允许可以用离散时间步长重新表述问题
在每个时间步,都会涉及到隐藏状态的更新(比如取决于和的共同作用结果,然后通过预测输出)
为方便大家理解其中的细节,我再展开一下
有没有眼前一亮?如此,便可以RNN的结构来处理
然后可以这样展开(其中,始终是和的共同作用之下更新的)
在经典的图像识别任务中,我们用过滤器(即卷积核kernels)来导出聚合特征,而SSM也可以表示成卷积的形式
由于我们处理的是文本而不是图像,因此我们需要一维视角
而用来表示这个“过滤器”的内核源自 SSM 公式
但怎么理解这个公式呢?一般的文章可能一带而过,但本文咱们还是通过一个例子一步一步理解
1.与卷积一样,我们可以使用 SSM 内核来检查每组token并计算输出
2.内核将移动一次以执行下一步的计算
3.最后一步,我们可以看到内核的完整效果:
至于上图中的是咋计算得到的,别忘
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。