-
Notifications
You must be signed in to change notification settings - Fork 80
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
请问一下,这篇文章和SimCSE的区别有哪些? #1
Comments
我们的工作和SimCSE确实比较像,都是利用对比学习的思想改善句子语义表示,模型上也都采用类似SimCLR的结构。以下是一些区别:
希望能有帮助~ |
实际场景中如何选择选择目标场景下的无监督数据的条数? |
我觉得实际场景下的无监督数据量还是越多越好的。因为实际场景能收集的无监督样本条数可能有限,数据量越多还是越能代表下游STS任务真实的数据分布。 训练后期表示均匀弥漫的问题主要是对比学习的训练目标(把来自不同样本的表示推远)导致的。我觉得大概率和数据量多少是没有什么关系,数据量少的情况下也会因为对比学习目标不断把不同样本的表示推远而产生弥漫的问题。然后为了避免这个问题,实际使用的话可能需要使用少量有标注的数据作为验证集,去选取最优的模型checkpoint(这个也是目前的一个限制)。 |
@yym6472 thank you |
@yym6472 请问根据这篇文章的实现,如果两个数据增强策略的超参都填“none”是不是就相当于实现SimCSE那篇了? |
按道理应该是的。不过我们做数据增强组合的分析实验的时候,为了避免BERT自带的dropout的影响,通过 |
@yym6472 明白了,谢谢。 |
Thank you. |
你好,能问一下。因为我刚刚看nlp相关的文章,所以有这样的疑问。simsce和本文的监督训练,本质来说算是一种弱监督训练吧?都是在nli数据集上进行监督,在sts上进行测试。真正的有监督应该在sts上训练测试把? |
是的,因为STS数据集的构建需要人工为句子对打分,还是比较耗时耗力的,数据规模也没法很大。然后之前的工作有证明NLI任务对STS任务有较强的提升,因此使用NLI训练模型,然后提取出其中的句子编码器直接做STS任务。对于你的情况,如果人工标注的STS样本数量足够的话,无监督训练后再微调(设计二分类或者回归任务)肯定是能有更明显的提升的。 |
十分感谢~
…---原始邮件---
发件人: "Yan ***@***.***>
发送时间: 2021年12月15日(周三) 下午4:26
收件人: ***@***.***>;
抄送: ***@***.******@***.***>;
主题: Re: [yym6472/ConSERT] 请问一下,这篇文章和SimCSE的区别有哪些? (#1)
你好,能问一下。因为我刚刚看nlp相关的文章,所以有这样的疑问。simsce和本文的监督训练,本质来说算是一种弱监督训练吧?都是在nli数据集上进行监督,在sts上进行测试。真正的有监督应该在sts上训练测试把? 然后如果我有大量的医学领域无监督语料和少量有监督语料。那是不是先用你们的这种方式先进行无监督训练,然后再用少量的微调会比较好? 期待您的回答~
是的,因为STS数据集的构建需要人工为句子对打分,还是比较耗时耗力的,数据规模也没法很大。然后之前的工作有证明NLI任务对STS任务有较强的提升,因此使用NLI训练模型,然后提取出其中的句子编码器直接做STS任务。对于你的情况,如果人工标注的STS样本数量足够的话,无监督训练后再微调(设计二分类或者回归任务)肯定是能有更明显的提升的。
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
|
想要问一下,注意到 ConSERT 在 paper 5.2 部分测试了使用两次 dropout 数据增强方法,并且实际效果并不十分理想,但个人感觉这和 SimCSE 采取的操作类似,只是一个发生在 word embedding 部分,一个发生在 Transformer 内部,那么为什么会有如此明显的性能差异呢? |
我的理解是word embedding上的dropout相对比较naive,模型很容易就学会区分相近样本,因此对一致性的建模比较弱;而SimCSE采用的transformer自带的dropout因为在每一层transformer layer都会持续做数据增强,所以对样本的扰动层次更深,对模型训练(学习不变性)而言,任务更难,学习的维度更全面吧。 |
No description provided.
The text was updated successfully, but these errors were encountered: