首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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笔记里面复制过来的,所以可能存在公式缺失之类的问题,欢迎指出~由于是个人笔记,可能有错误之处,欢迎指正~
点赞 37
评论 3
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
昨天 16:25
中北大学 测试开发
测试开发 - 小天才 - 二面
自我介绍在学校里面学的好的课程有哪些网络七层模型TCP/IP 四层模型为什么会有这些分层IPV4 和 IPV6 的区别数据库的各个范式,具体讲解实习经历中的工具开发部分,具体讲解这个工具的需求方是哪个部门功能测试的经历具体讲解,其中回归测试的流程如何看待大模型技术的发展大模型的原理以及可能出现信息错误的原因有哪些优点有什么缺点有什么兴趣爱好为什么对公司的这个岗位有意向薪资待遇方面有什么期望反问环节:
点赞
评论
收藏
分享
02-16 12:13
门头沟学院 算法工程师
谁懂啊家人们!我就是一个状态机,在一次又一次焦虑中流转~
我就是个被焦虑所驱使的状态机——选方向选技术,找实习找工作,上班被裁员,每一个状态都在“怀疑自己—硬着学—新的焦虑触发”中循环滚动,到现在也没停过😭初始状态:方向选择的三岔路口,卷到失眠作为双非本科,真的被 “赛道选择” 逼疯:想冲算法?我看了牛客上的面经:985 硕,加顶会论文是标配,数学思维更是一道迈不过的坎;考公考研?又怕卷不到岸,更怕读完研还是卷不过年轻人,三年的时间成本怕一赌就输了;转研发?但纠结学 Java 还是 CPP还是GO还是Python还是前端还是嵌入式,听学长说 Java 岗位多但卷,其他的要么岗位少,要么难度高,对着电脑刷了3天知乎牛客b站小红书,最后闭眼选了 Jav...
站队站对牛:
人生多次机会把握
牛友的春节生活
点赞
评论
收藏
分享
02-06 12:08
重庆大学 Java
字节二面
这个面试官真的很温柔 也不拷打 就问你一些八股问题 真的是给了我这个面试新手很好的感觉 面完真的开心了一下午 因为感觉发挥的还不错 感觉有机会能进三面 后面也确实过了一个周末就通知三面了
发面经攒人品
点赞
评论
收藏
分享
01-23 15:22
惠州学院 golang
27届学院本简历求锐评
各位大佬帮忙看看,最后一个是个人项目,要不要删
点赞
评论
收藏
分享
02-13 13:08
SHEIN_HR(准入职员工)
网易互娱内推,网易互娱内推码
网易游戏-蛋仔派对-数据分析-已复盘自我介绍,重点讲讲你为什么想来游戏行业做一名数据分析师。某天发现《蛋仔派对》的日活跃用户比前一天断崖式下跌了 20%,如果交给你来分析,你的分析思路是什么?会从哪些方面入手排查原因?我们想通过优化新手教程来提升新用户的次日留存率,你会如何设计一个 A/B 实验来验证这个想法?在设计和分析过程中,需要特别注意哪些潜在的问题?你最近玩得最久或者最喜欢的游戏?你认为它在设计上最成功的一点是什么?如果让你用数据来证明你的观点,你会关注哪些数据?我们有一张玩家登录日志表(包含 user_id, login_time),请你说说计算次日留存率的 SQL 思路是怎样的?网...
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
在一次又一次焦虑中流转~
61
2
...
经过一年的发展,agent框架现在是什么样子
40
3
...
回顾我的25年
37
4
...
看看今年运势如何
36
5
...
暑假实习求助
33
6
...
被自己蠢到了
26
7
...
影石-嵌入式软件开发-一面
22
8
...
C++ 多线程与并发面试题
18
9
...
新年好,但我的世界好像没有幸福
11
10
...
新年行大运
10
创作者周榜
更多
正在热议
更多
#
牛客新年AI问运
#
7890次浏览
113人参与
#
你喜欢工作还是上学
#
89393次浏览
883人参与
#
牛客AI体验站
#
16549次浏览
288人参与
#
被AI治愈的瞬间
#
90619次浏览
685人参与
#
你找工作的时候用AI吗?
#
173275次浏览
888人参与
#
有必要和同事成为好朋友吗?
#
1225次浏览
25人参与
#
听劝,这个公司值得去吗
#
665398次浏览
1996人参与
#
为了秋招你都做了哪些准备?
#
32604次浏览
534人参与
#
这个工作能去吗
#
115118次浏览
662人参与
#
多益网络工作体验
#
63280次浏览
306人参与
#
你觉得什么岗位会被AI替代
#
41109次浏览
275人参与
#
秋招吐槽大会
#
304629次浏览
1524人参与
#
工作中的卑微时刻
#
33510次浏览
199人参与
#
央国企投递记录
#
177009次浏览
1655人参与
#
国央企求职进展汇总
#
442565次浏览
3509人参与
#
数字马力求职进展汇总
#
331699次浏览
2381人参与
#
非技术岗薪资爆料
#
490521次浏览
3041人参与
#
我们是不是被“优绩主义”绑架了?
#
32874次浏览
487人参与
#
产品面经
#
261271次浏览
2173人参与
#
面试常问题系列
#
275451次浏览
4694人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务