【问题标题】:Backpropagation in bert伯特中的反向传播
【发布时间】:2021-02-03 17:15:55
【问题描述】:

我想知道人们什么时候说预训练的bert模型,是不是只训练了最终的分类神经网络

或者

transformer 内部是否有任何通过反向传播和分类神经网络进行的更新

【问题讨论】:

  • 你是说预训练还是微调?
  • 我的意思是在预训练期间
  • 你能解释一下@AshwinGeetD'Sa on 在训练期间每个bert编码器的权重是否有内部更新

标签: nlp bert-language-model transformer


【解决方案1】:

在预训练期间,如果模型有完整的训练(权重更新)。此外,BERT 是在 Masked Language Model 目标而非分类目标上进行训练的。

在预训练中,您通常训练一个包含大量通用数据的模型。因此,它必须根据特定任务的数据和特定任务的目标进行微调。

因此,如果您的任务是对数据集 X 进行分类。您可以相应地微调 BERT。现在,您将添加一个特定于任务的层(分类层,在 BERT 中,他们在[CLS] 令牌上使用了密集层)。在微调时,您会更新预训练的模型权重以及新的任务特定层。

【讨论】:

  • 我怀疑那些预训练的权重是什么。他们是指查询、键和值的权重矩阵吗?
  • 是的,它们是K,Q,V矩阵的权重,FF层的权重。
  • 感谢@AshwinGeetD'Sa,这些权重(K、Q、V 矩阵和 FF 层)何时以及如何反向传播和调整?我的假设是,首先他们初始化了一些随机权重,但我不明白这些权重何时通过反向传播更新
  • 当错误显示它的反向传播和调整时,我也假设它通过 MLM 和 NSP,但是如何通过反向传播调整前馈层权重!也无法理解 Q、K、V 矩阵权重更新时是否有任何特定步骤以及它们是如何更新的。
  • 好吧,我想说的机制仍然是反向传播算法。权重的更新取决于损失的导数。正如您所提到的,损失是基于 MLM 和 NSP 计算的。
猜你喜欢
  • 1970-01-01
  • 2018-05-05
  • 2019-03-18
  • 1970-01-01
  • 2020-11-23
  • 2018-06-16
  • 2017-05-29
  • 2011-08-25
  • 2017-05-24
相关资源
最近更新 更多