《前后端面试题
》专栏集合了前后端各个知识模块的面试题,包括html,javascript,css,vue,react,java,Openlayers,leaflet,cesium,mapboxGL,threejs,nodejs,mangoDB,SQL,Linux… 。
文章目录
- 一、本文面试题目录
-
-
- 31. 位置编码的计算公式是什么?它是如何体现序列中token的相对位置和绝对位置的?
- 32. 除了正弦余弦位置编码,还有哪些常见的位置编码方式?各有什么优缺点?
- 33. 可学习的位置编码(Learned Positional Embedding)与固定位置编码相比,有何不同?
- 34. Transformer的输入嵌入(Input Embedding)与位置编码是如何结合的?
- 35. 输入嵌入的维度与模型的隐藏层维度有什么关系?
- 36. 当序列长度超过训练时的最大长度时,位置编码如何处理?
- 37. 为什么输入嵌入需要进行缩放(如乘以嵌入维度的平方根)?
- 38. 对于多语言任务,Transformer的输入嵌入如何设计才能共享语言知识?
- 39. 如何处理Transformer中的“未知token”(UNK)?
- 40. 输入序列的长度对Transformer的性能和计算效率有什么影响?
-
- 二、120道Transformer面试题目录列表
一、本文面试题目录
31. 位置编码的计算公式是什么?它是如何体现序列中token的相对位置和绝对位置的?
原理说明
Transformer中最经典的位置编码是正弦余弦位置编码,计算公式如下:
-
对于位置为(pos)、维度为(i)的位置编码(PE(pos, i)):
- 当(i)为偶数时,(PE(pos, i) = \sin\left(pos / 10000^{i/d_{\text{model}}}\right))