首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
期待一个好结果吧
浙江大学附属中学 算法工程师
发布于上海
关注
已关注
取消关注
mark
@SweetBean:
算法岗常见面试题(八):Transformer
Transformer常见问题与回答总结01 Transformer Encoder 有什么子层?(超参数一面)Encoder由六个相同层构成,每层都有两个子层:多头自注意力层和全连接的前馈神经网络层(Linear+relu+dropout+Linear)。使用残差连接和层归一化连接两个子层。02 写一下self-attention的公式(超参数一面)03 Transformer的优缺点优点:可并行独立于卷积和循环,完全依赖于attention处理全局依赖,解决长距离依赖问题性能强缺点:长度固定局部信息的获取不如RNN和CNN强:Transformer关注的全局关系,而RNN在计算过程中更关注局部,对距离更加敏感。04 Encoder端和Decoder端是如何进行交互的?Cross Self-attention,Decoder提供,Encoder提供。05 Transformer中为什么需要线性变换?分别是输入向量经过不同的线性变换矩阵计算得到。可以从正反两面分析线性变换的必要性:线性变换的好处:在部分,线性变换矩阵将KQ投影到了不同的空间,增加了表达能力(这一原理可以同理SVM中的核函数-将向量映射到高维空间以解决非线性问题),这样计算得到的注意力矩阵的泛化能力更高。不用线性变换的坏处:在部分,如果不做线性变换,即X=Q=K,则会导致注意力矩阵是对称的,即,这样的效果明显是差的,比如“我是一个女孩”这句话,女孩对修饰我的重要性应该要高于我修饰女孩的重要性。06 Transformer attention的注意力矩阵的计算为什么用乘法而不是加法?为了计算更快。加法形式是先加、后tanh、再和V矩阵相乘,相当于一个完整的隐层。在计算复杂度上,乘法和加法理论上的复杂度相似,但是在实践中,乘法可以利用高度优化的矩阵乘法代码(有成熟的加速实现)使得点乘速度更快,空间利用率更高。(论文P4有解释)在较小的时候,加法和乘法形式效果相近。但是随着增大,加法开始显著优于乘法。作者认为,增大导致乘法性能不佳的原因,是极大的点乘值将整个softmax推向梯度平缓区,使得收敛困难。于是选择scale,除。07 Transformer attention计算为什么要在softmax这一步之前除以(7 封私信 / 80 条消息) transformer中的attention为什么scaled? - 知乎 (zhihu.com)取决于Softmax的性质,如果softmax内计算的数过大或者过小,可能导致Softmax后的结果为0,导致梯度消失为什么是。假设Q、K中元素的值分布在[0,1],softmax的计算中,分母涉及了一次对所有位置的求和,整体的分布就会扩大到[0,]。08 Transformer attention计算注意力矩阵的时候如何对padding做mask操作的?padding位置置为-1000,再对注意力矩阵进行相加。09 Transformer的残差结构及意义同resnet,解决梯度消失,防止过拟合10 Transformer为什么使用LN而不是BN?LN是针对每个样本序列进行归一化,没有样本间依赖,对一个序列的不同特征维度进行归一化。CV使用BN是因为认为通道维度的信息对cv方面有重要意义,如果对通道维度也归一化会造成不同通道信息一定的损失。NLP认为句子长短不一,且各batch之间的信息没有什么关系,因此只考虑句子内信息的归一化。11 Decoder阶段的多头自注意力和encoder的多头自注意力有什么区别?/ 为什么decoder自注意力需要进行sequence mask?让输入序列只看到过去的信息,而看不到未来的信息。12 Transformer的并行化体现在哪里,Decoder可以做并行化嘛?Encoder的模块是串行的,但模块内的子模块多头注意力和前馈网络内部都是并行的,因为单词之间没有依赖关系。Decode引入sequence mask就是为了并行化训练,推理过程不并行13 Transformer计算量最大的部分是哪里(超参数二面、海信一面)多头注意力部分计算量最大。假设完成一次推理,(batch-size)=1, (seq-length,序列最大长度)=256, (hidden-size)=768, attention-head=12 经过一个Transformer的多头注意力block,所需要的矩阵乘法的数量:总计:12 * (256 * 64 * 256 + 256 * 256 * 64)= 1亿次乘法除了矩阵乘法的运算外,还有除和函数的运算:除:计算量为=256*256函数:计算量为两个矩阵相乘的计算量: 假设矩阵A尺寸为(m,n),矩阵B尺寸为(n,k),则矩阵M和矩阵N相乘的计算量为m*n*k。权重矩阵K,Q,V的尺寸: 不考虑多头注意力的情况下均为(s,h);多头注意力时,默认12个头,故单头的尺寸为(s,1/12h)。14 Transformer、LSTM和单纯的前馈神经网络比,有哪些提升?LSTM相比于单纯的前馈神经网络,首先具有理解文本的语序关系的能力(RNN)。除此之外,又解决了RNN在处理长序列时发生的梯度消失和梯度爆炸的问题。Transformer进一步解决了RNN、LSTM等模型的长距离依赖问题,能够理解更长的上下文语义。可以并行化,所要的训练时间更短。15 Transformer处理篇章级的长文本的变体Transformer变体层出不穷,它们都长什么样? (qq.com)16 有哪些处理超长文本的方法(超参数二面)HIERARCHICAL基于BERT的超长文本分类模型_valleria的博客-CSDN博客_长文本分类基本思想:对数据进行有重叠的分割,这样分割之后的每句句子直接仍保留了一定的关联信息。模型由两部分构成,第一部分是fine-tune后的BERT,第二部分是由LSTM+FC层组成的混合模型。即,BERT只用来提取出句子的表示,而真正在做分类的是LSTM+FC部分。具体流程:首先将长句子分割为多个小句子,如长200,重叠长度为50.将分割后的数据集传入BERT,分别取每个句子的[CLS]表示句子的embedding,将来自相同长句子的embedding拼接,作为长句子的向量表示。最后,将长句子的向量表示传入LSTM+FC部分进行分类。除此之外,第二部分还可以用Transformer。由于都是从notion笔记里面复制过来的,所以可能存在公式缺失之类的问题,欢迎指出~由于是个人笔记,可能有错误之处,欢迎指正~
点赞 35
评论 3
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
10-13 22:56
门头沟学院 C++
签浪潮还是等小米
rt,鼠鼠的浪潮网签明天过期,鼠鼠是山东人,好像自己也能接受。之前的面试大厂基本挂干净了,剩下小米二面后在泡,问了下面试官没有挂,但要泡。还有海信似乎也通过了,不过在深圳,鼠鼠也不是很想去。其它还有一些公司应该陆陆续续还有一些面试,现在有些纠结是直接签了还是再等再面呢?大佬们能不能给鼠鼠提一些意见,万分感谢!!!
牛客78696106...:
浪潮可不是开摆,当初我还是开发的时候我组长跟我说他们组有段时间天天1,2点走,早上5点就来,全组肝出来心肌炎,浪潮挣钱省立花可不是说说,当然也看部门,但是浪潮普遍就那dio样,而且你算下时薪就知道不高,没事也是9点半走,不然算你旷工
投递小米集团等公司10个岗位
点赞
评论
收藏
分享
10-15 15:50
同济大学 产品经理
讲真的,工作一年你就知道未来想要什么了
后知后觉,从去年七月毕业到现在入职快一年了。之前也听到前辈说过, “工作头一年,就能慢慢理解很多事”,以前确实也觉得这句话太虚,直到今天,在收钱吧工作的这一年,体会更加深刻。还觉得自己刚长大没几年呢,谁懂现在已经逐步过上了自己想要的生活了。记得刚毕业时还挺焦虑,担心会不会被各种毒打、被职场pua等等,直到今天,我真的挺庆幸在自己的努力下遇见了更值得的公司。刚入职的时候有专属的 mentor,从入职第一天的环境配置、权限申请,到后来的业务熟悉,再到如今独立承担很多重要项目,感觉这才是职场里比较友好的landing了。这一年其实也遇到很多困难的事情,种种下来的时候也都有过内耗,也很感谢我的前辈告诉...
点赞
评论
收藏
分享
09-01 13:54
东北大学 算法工程师
是不是可以all in国企了
力扣才写30题,八股还在背现在刚进实习,还没派活小厂应该都没希望了吧……该学行测了😭😭😭
皮格吉:
不,有的厂子面试无手撕,可以试试。都是一边学一边面。哪有真正准备好的时候,别放弃
无实习如何秋招上岸
点赞
评论
收藏
分享
10-13 12:23
同济大学 深度学习
这是为什么啊,字节一定要有实习才行吗
被子有点短:
有了实习后会发现有实习也没用
投递字节跳动等公司10个岗位
点赞
评论
收藏
分享
10-13 22:57
已编辑
门头沟学院 C++
快手客户端一面(已挂)
继上次快手CPP二面挂了之后又投了客户端,没想到还给面,依旧拷打1h拷打项目20minTCP与UPD区别TCP三次握手为什么不能是两次HTTP与HTTPS区别SSL/TLS加密过程,为什么刚开始要先进行非对称加密,为什么不能一直用非对称加密,如何验证服务器身份如何理解C++的面向对象,封装、继承、多态多态实现方式虚函数如何实现,虚表存在哪里,如果没有虚函数有虚表指针吗,虚表指针有多大,虚表指针绑定时机STL常见容器vector、stack、queue底层,vector扩容原理,哈希底层如何用两个栈模拟一个队列如何实现优先级队列手撕:找数组中第一个和为target的连续子数组(前缀和)总体还行,...
查看11道真题和解析
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
面试最后的反问环节,能问些什么?(附特供问题)
3.3W
2
...
BG一般,如何逆天改命拿下后端秋招SSP?
1.4W
3
...
从面试官的角度看待一场面试是怎么样的?
8290
4
...
害,找工作哪有不上当的!
5554
5
...
作为普通家庭出身的我,为什么非大厂不可?
5144
6
...
团、节、东孝子全部启动启动启动!(26届后端秋招总结)
4915
7
...
双非硕的十月份秋招总结
4453
8
...
感觉每个人都有自己的苦恼
4403
9
...
项目经历混乱?STAR法则手把手教你梳理(附真实案例分析过程)
3703
10
...
一眼望到头的生活VS望不到头的生活
3654
创作者周榜
更多
正在热议
更多
#
实习在多还是在精
#
24253次浏览
189人参与
#
你的房租占工资的比例是多少?
#
61366次浏览
742人参与
#
爱玛科技集团求职进展汇总
#
34658次浏览
231人参与
#
秋招踩过的“雷”,希望你别再踩
#
58046次浏览
835人参与
#
我的求职进度条
#
38486次浏览
584人参与
#
大厂VS公务员你怎么选
#
13844次浏览
216人参与
#
未岚大陆求职进展汇总
#
3225次浏览
49人参与
#
如果不考虑收入,你最想做什么工作?
#
31167次浏览
180人参与
#
柠檬微趣工作体验
#
13251次浏览
72人参与
#
机械人的保底公司是哪一家?
#
40683次浏览
133人参与
#
顺丰求职进展汇总
#
62034次浏览
306人参与
#
华为池子有多大
#
102196次浏览
732人参与
#
当下环境,你会继续卷互联网,还是看其他行业机会
#
135480次浏览
868人参与
#
如果再来一次,你还会学硬件吗
#
137895次浏览
1441人参与
#
如何用一句话描述你的职业
#
24946次浏览
172人参与
#
高学历就一定能找到好工作吗?
#
55546次浏览
607人参与
#
如何排解工作中的焦虑
#
219672次浏览
2104人参与
#
实习下班不想学习,正常吗?
#
13910次浏览
150人参与
#
反问环节如何提问
#
112518次浏览
2351人参与
#
你见过哪些工贼行为
#
11616次浏览
76人参与
#
工作中,努力重要还是选择重要?
#
204549次浏览
2074人参与
#
校招谈薪一定要知道的事
#
9701次浏览
92人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务