Transformer是否适合用于做非NLP领域的时间序列预测问题?

感觉看到的transformer模型现在大部分都是在nlp或者cv里使用,那么transformer是否适用于一些其他领域的时间序列预测,例如金融等,…
关注者
775
被浏览
412,768
登录后你可以
不限量看优质回答私信答主深度交流精彩内容一键收藏

我的回答希望从统计机器学习的提特征,特恒分类的角度来思考Transformer的用武之地。


我想先介绍一下我对自注意力的认识,可能存在偏颇,欢迎各位高手斧正。

Transformer和传统的深度神经网络不同:深度神经网络总体特征提取可以看作 y = \sigma(AX) ,之后深度神经网络加入了attention模块,产生了attention-CNN,attention-Unet,pointer-network等网络,他们的特征提取可以被看作 y = \sigma(AX+(BX)^T(CX)) 其中加号后半部分是一个注意力模块,通过不同矩阵的映射,这个模块可以表现频道间注意力或者自主意力。

这两个的形式对比对比我们可以认识到后者可以转化为 y = ((AX)^T(X^{-1}X)+(BX)^T(CX))。这种计算方法理论上更好得处理了注意力信息 。然后Transformer的提出相当于只用 y = \sigma((AX)^T(BX)) 来进行特征的提取,我认为这是从前一种网络自然进化得来的。


那么回到问题本身,transformer在什么方向上更具有用武之地呢。我认为目前大多数transformer的应用是作为RNN的绝对化替代。比如动作检测中的Timesformer代替了原本CNN+LSTM的经典构造,组合优化强化学习的Attention model 代替了 pointer network的经典构造云云。

但是我认为RNN相比于Transformer根本算不上一个东西,前者完全不具备这么强的输入间的注意力,所以,Transformer应当还可以运用于其他的,用注意力处理输入很有效的任务。大部分任务都有很强的自相关性,这些任务直观特点就是多个这种任务拼在一起(比如翻译问题句子拼起来)难度大大上升。

有的任务我觉得没那么大的自相关性比如image-to-image,目标检测,但是transformer在这些任务上表现也还不错,也有一定效果。


那么transformer是不是在所有这些问题需要注意力的问题上吊打一切呢?我觉得也不是。我觉得transformer的结构决定了他很难做升维的问题。并且大家都知道的就是transformer复杂度高,训练较麻烦。