写点什么

gpushare.com_ 基于去噪 Transformer 的无监督句子编码【EMNLP 2021】

作者:恒源云
  • 2022 年 1 月 19 日
  • 本文字数:1270 字

    阅读完需:约 4 分钟

gpushare.com_基于去噪Transformer的无监督句子编码【EMNLP 2021】

文章来源 | 恒源云社区


原文地址 | 论文小记


原文作者 | Mathor



这几天忙里偷闲去社区看了看各位版主一开始发的文章。重点找了我最喜欢的版主 Mathor 的文章,仔细一查,竟然已经发了 90 多篇,不愧是社区大佬本佬了!


想着看都看了,那就顺手搬运一下大佬的文章吧!


接下来跟着小编的脚步👣,一起看下去吧~

正文开始

EMNLP2021 Findings 上有一篇名为TSDAE: Using Transformer-based Sequential Denoising Auto-Encoder for Unsupervised Sentence Embedding Learning的论文,利用 Transformer 结构无监督训练句子编码,网络架构如下所示:


具体来说,输入的文本添加了一些确定的噪声,例如删除、交换、添加、Mask 一些词等方法。Encoder 需要将含有噪声的句子编码为一个固定大小的向量,然后利用 Decoder 将原本的不带噪声的句子还原。说是这么说,但是其中有非常多细节,首先是训练目标


其中,是训练集;是长度为 lll 的输入句子;添加噪声之后的句子;是词的 word embedding;为 Vocabulary size;是 Decoder 第步输出的 hidden state


不同于原始的 Transformer,作者提出的方法,Decoder 只利用 Encoder 输出的固定大小的向量进行解码,具体来说,Encoder-Decoder 之间的 cross-attention 形式化地表示如下:


其中,是 Decoder 第个解码步骤内的 hidden state;是句向量的维度(Encoder 输出向量的维度);是 Encoder 输出的句子(行)向量。从上面的公式我们可以看出,不论哪一层的 cross-attention,永远都是,作者这样设计的目的是为了人为给模型添加一个瓶颈,如果 Encoder 编码的句向量不够准确,Decoder 就很难解码成功,换句话说,这样设计是为了使得 Encoder 编码的更加准确。训练结束后如果需要提取句向量只需要用 Encoder 即可


作者通过在 STS 数据集上调参,发现最好的组合方法如下:


  1. 采用删除单词这种添加噪声的方法,并且比例设置为 60%

  2. 使用[CLS]位置的输出作为句向量

RESULTS

从 TSDAE 的结果来看,基本上是拳打 SimCSE,脚踢 BERT-flow


个人总结

如果我是 reviewer,我特别想问的一个问题是:“你们这种方法,与 BART 有什么区别?”


论文源码在UKPLab/sentence-transformers/,其实 sentence-transformers 已经把 TSDAE 封装成 pip 包,完整的训练流程可以参考Sentence-Transformer的使用及fine-tune教程,在此基础上只需要修改 dataset 和 loss 就可以轻松的训练 TSDAE


# 创建可即时添加噪声的特殊去噪数据集train_dataset = datasets.DenoisingAutoEncoderDataset(train_sentences)
# DataLoader 批量处理数据train_dataloader = DataLoader(train_dataset, batch_size=8, shuffle=True)
# 使用去噪自动编码器损失train_loss = losses.DenoisingAutoEncoderLoss(model, decoder_name_or_path=model_name, tie_encoder_decoder=True)
# 模型训练model.fit( train_objectives=[(train_dataloader, train_loss)], epochs=1, weight_decay=0, scheduler='constantlr', optimizer_params={'lr': 3e-5}, show_progress_bar=True)
复制代码


用户头像

恒源云

关注

专注人工智能云GPU服务器训练平台 2020.12.25 加入

还未添加个人简介

评论

发布
暂无评论
gpushare.com_基于去噪Transformer的无监督句子编码【EMNLP 2021】