transformer的面试问题
时间: 2023-09-11 11:10:43 浏览: 329
Transformer是一种广泛应用于自然语言处理任务的模型,下面是关于Transformer的一些面试问题的回答:
1. 为什么BERT的mask不学习Transformer在attention处进行屏蔽score的技巧?
BERT的mask不学习Transformer在attention处进行屏蔽score的技巧是因为在BERT模型中,输入的句子中已经通过mask处理过,使得句子中的一部分单词被遮盖,从而模型可以通过context来预测这些被遮盖单词的信息。这种处理可以提高模型对上下文的理解能力。
2. Transformer计算attention的时候为何选择点乘而不是加法?两者计算复杂度和效果上有什么区别?
Transformer选择点乘而不是加法的原因是点乘的计算复杂度更低。点乘的计算复杂度为O(d),其中d为向量的维度。而加法的计算复杂度为O(d^2)。此外,点乘的效果在实践中被观察到通常比加法更好,因为加法可能会导致attention分数过于平均分配,而点乘可以更好地突出相关的信息。
3. Transformer训练的时候学习率是如何设定的?Dropout是如何设定的,位置在哪里?Dropout在测试的时候有什么需要注意的吗?
Transformer训练时学习率的设定通常使用一种称为"学习率衰减"的策略,即在训练的过程中逐渐减小学习率,以便模型在训练后期更加稳定。
Dropout是一种正则化技术,旨在减少模型的过拟合。在Transformer中,Dropout通常被应用在模型的每个层之后,位置是在self-attention和feed-forward层之间。Dropout的值通常设置为0.1或0.2,以避免过度舍弃信息。
在测试时,需要注意将Dropout关闭或者缩小一定比例,以确保模型的输出结果的稳定性。这是因为在训练过程中,Dropout通过随机舍弃一些神经元的输出来减少过拟合,但在测试时我们希望获得一致的结果,因此需要对Dropout进行相应的调整或关闭。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [21个Transformer面试题的简单回答](https://blog.csdn.net/qq_27590277/article/details/115683537)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文