首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >伯特和罗伯塔之间有什么区别?

伯特和罗伯塔之间有什么区别?
EN

Data Science用户
提问于 2021-07-01 11:02:12
回答 2查看 12.8K关注 0票数 8

我想了解伯特和罗伯塔之间的区别。我看了下面的文章。

https://towardsdatascience.com/bert-roberta-distilbert-xlnet-which-one-to-use-3d5ab82ba5f8

它提到罗伯塔接受了10倍以上的数据训练,但我不理解动态掩蔽部分。它说蒙面记号在不同时代之间会发生变化。这难道不应该使学习曲线变平吗?

EN

回答 2

Data Science用户

回答已采纳

发布于 2021-07-01 23:10:57

蒙面语言模型任务是实现BERT和RoBERTa的关键。然而,他们在如何准备这样的掩蔽上有分歧。原版RoBERTa文章在4.1节中解释了这一点:

伯特依靠随机掩蔽和预测令牌。原始的BERT实现在数据预处理期间执行一次掩蔽,导致一个静态掩码。为了避免在每个训练阶段对每个训练实例使用相同的掩码,训练数据被重复10次,使每个训练序列在40次训练过程中以10种不同的方式被掩盖。因此,在训练过程中,每个训练序列都用相同的面具看了四次。我们将此策略与动态掩蔽策略进行比较,每次向模型提供序列时,都会生成掩蔽模式。在为更多的步骤或使用更大的数据集进行预培训时,这一点变得至关重要。

这样,在BERT中,掩蔽只能在数据准备时执行一次,并且他们基本上用10种不同的方式来屏蔽每个句子。因此,在训练的时候,模型只会看到每句话的10个变体。

另一方面,在RoBERTa中,掩蔽是在训练期间完成的。因此,每次将一个句子合并到一个小批处理中时,它就会完成它的掩蔽操作,因此每个句子的潜在不同蒙版的数量并不像在BERT中那样有限。

票数 8
EN

Data Science用户

发布于 2021-07-01 15:52:00

动态掩蔽类似于使用不同的图像增强,因此您可以重复使用相同的图像进行训练,但是网络实际上看到了不同的例子。

具体地说,想象一下我们在训练一个网络来进行绘画表演。对于训练,我们有一个完整的图像,然后选择一些区域来封堵,并要求网络来预测被遮挡的部分应该是什么样子。

现在想象一下,每一个时代,我们重用这张图像,但改变了遮挡的位置。这里有一些数据泄漏的风险(我们要求网络来预测它之前实际看到的区域),但是对于一个适当大的数据集来说,这应该不是问题:如果网络学习到了一般有用的特性,那么它在数据集的其余部分上的性能就会比记忆一幅图像更好。如果网络学会了如何以聪明的方式混合和匹配它记忆的内容,那么记忆甚至不一定是一件坏事(例如,将图像视为一袋本地特征)。

罗伯塔的动态掩蔽只是它的文本版本。而不是图像,我们有一大块文本。我们不是封闭一个像素区域,而是包含一个文本区域。这是一种数据增强,功能上增加了数据的可变性,鼓励网络学习更健壮的特性。

票数 4
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/97310

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档