如何融合文本信息提高时序预训练模型?

今天小编给大家介绍两篇联合文本和时序数据进行预训练的文章。

UniTime: A Language-Empowered Unified Model for Cross-Domain Time Series Forecasting

  • 文献地址:https://arxiv.org/pdf/2310.09751.pdf

  • 代码地址:https://github.com/liuxu77/UniTime

UniTime的目标是构建一个能够对语言和时序模进行跨模态建模的统一架构,并且能够灵活适应多领域具有不同特性的数据。文章提出要有效构建一个能够处理来自多样化领域数据的统一模型,面临以下三大挑战,1)变化的数据特性,不同变量(通道)数量、不同的历史长度和未来预测长度。2)领域混淆问题,不同领域的数据在时间模式或分布上具有显著差异,模型可能会在识别和适应这些差异上遇到困难。3)领域收敛速度不平衡。不同的时间序列领域因其独特的特性而展现出多样的收敛速率,模型可能在单个数据集上出现过拟合,而在其他数据集出现欠拟合。

基于上述问题UniTime使用领域指令和语言-时序变换器来提供识别领域信息并对齐两种模态。具体架构如下:

**通道独立:**UniTime采用PatchTST相同的通道独立方式,以灵活处理具有不同通道数的跨领域数据集,同时避免使用统一的嵌入层来处理具有显著不同语义的时间序列。

时序数据tokenizer: 首先将数据分成不同的patch。同时,为了克服不同的时间序列领域表现出不同的收敛速率,具有简单且规则模式的领域易出现过拟合的倾向的问题,文章引入了mask来提高模型的泛化能力。与常规方法中仅构造mask与原数据进行相乘不同,文章设计了一种可学习的的融合机制如下:

decoder-only LLM: 在利用跨时间序列领域训练模型时,尤其是当这些领域在时间模式或分布上表现出显著差异时,模型需要区分并泛化它们,遇到很大的挑战。文章使用领域提示来提供明确的领域识别信息给模型,帮助模型辨识每个时间序列的来源并相应地调整其预测策略。领域指令本质上是描述每个领域数据的句子。它们还由人类制定,以融入对数据的人类先验知识。此外,进一步使用Language-TS来从领域指令和时间序列中学习联合表示,并通过将时间序列与语言模型的共同潜在空间对齐,实现跨领域泛化。

文章将领域信息的表征放在时序表征之前,避免模型在处理时间序列时并未获取领域指令,削弱文本信息的实用性。

Language-TS Transfomrer 使用GPT-2的参数进行初始化。

考虑到文本的存在,Language-TS Transfomrer输出表征序列的长度可能不同,无法直接用简单的线性层融合后进行预测。因此,文章设置了最大输入长度,对于未达到最大长度的序列,在末尾填补一个重复的可学习的padding token。然后将填补后的序列送入一个轻量级的transformer层。同时文章设置了最大的预测长度,以统一模型训练过程。模型训练目标函数包含重构误差和预测误差。

注意,模型训练过程中作者使用了一个小技巧来避免多领域数据不稳定的问题。具体来说,文章通过从包含所有涉及时间序列领域的所有训练数据的池中随机选择实例来构建训练batch。每个batch只包含来自单一领域的数据,因为每个领域的通道数量和序列长度不同。此外,对于那些训练样本明显少于其他领域的领域,进行过采样,以平衡各领域数据集,我们确保模型充分接触到这些代表性不足的领域,防止它们被其他领域所掩盖。

    ### 回答1: pkuseg预训练模型采用的是BERT模型,其包含了12个Transformer Encoder层。每个Encoder层由两个子层构成,即多头自注意力机制层和全连接前馈网络层。在多头自注意力机制层中,模型通过对输入序列进行自注意力计算来获取每个位置的上下文信息;在全连接前馈网络层中,模型通过对自注意力计算的结果进行前向传播来提取特征。最后,通过多个Encoder层的堆叠,模型可以捕获更多的语言特征,并生成更准确的分词和词性标注结果。 ### 回答2: pkuseg预训练模型主要包括以下几个层次: 1. 输入层:输入层接收文本输入,将待分词的文本作为输入。 2. 分词层:分词层是模型的核心层,负责将输入的文本进行切分,将连续的文本序列划分为词的序列。 3. 词性标注层:在分词层的基础上,词性标注层会进一步对分词结果进行词性标注,标注每个分词结果的词性类别。 4. 命名实体识别层:除了分词和词性标注,有些情况下还需要进行命名实体识别,即识别文本中的人名、地名、组织名等,这一层会对识别出的命名实体进行标注。 5. 依存句法分析层:依存句法分析是用来分析句子中词与词之间依存关系的技术,在这一层,模型会通过分析词与词之间的关系来构建句子的依存树。 6. 输出层:输出层是整个模型的最后一层,负责将处理过后的分词、词性标注、命名实体识别和依存句法分析结果输出。 值得注意的是,不同的预训练模型可能具有不同的层次结构,以上所述仅为一种常见的设计。 ### 回答3: pkuseg预训练模型主要包括以下几个层: 1. 输入层:该层接受待分词的文本作为输入。例如,如果要分析一段中文文本并进行分词,这段文本将作为输入传入模型。 2. 嵌入层:输入的文本会经过一个嵌入层,将文本转换成向量表示。这可以帮助模型更好地理解文本的语义和语法。 3. 卷积层:嵌入向量将通过卷积层进行处理。卷积操作有助于提取文本中的局部特征,并捕捉到不同词汇之间的关联性。 4. 池化层:卷积层的输出将通过池化层,以减少向量的维度。池化操作可以保留重要的特征,且降低计算复杂度。 5. BiLSTM层:经过卷积和池化后,输出将进入双向长短时记忆网络(BiLSTM)层。BiLSTM能够有效处理文本中的时序信息,并且具有记忆能力。 6. 输出层:BiLSTM层的输出将通过输出层进行进一步的处理,以生成最终的分词结果。输出层可能是一个全连接层,将BiLSTM层的输出映射到一个概率分布上,以得到每个位置上的分词概率。 总之,pkuseg预训练模型的层次结构通常包括输入层、嵌入层、卷积层、池化层、BiLSTM层和输出层。这些层的设计和组合可以使模型更好地理解中文文本并进行分词。
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值