破解transformer八股,快问快答

DayNightStudy

共 1514字,需浏览 4分钟

 ·

2022-01-16 11:13

包大人今天班车日更第31天从思路上给你关于transformer八股文,点不一样的启发。



其实有关深度学习的八股文问题,在面试中特别好答,有几个关键点,让数据分布变好,让模型好训练,增加表达能力等。



这些玄学结论都是一些实验导向的结论,很难从理论上完备推导的。你把这些基本点,在面试时候基本能说个八九不离十,如果能结合细节随便谈谈,基本上就稳了。实际上,整个深度学习的发展大概也是这么些路子。


好了,那么我们以transformer为例,搞个八股文快问快答。其中前六个也是我面试必问的题目..


1.写出selfattention的公式表达。

Sofmax(QK/sqrt(dk))V


2.为什么上面那个公式要对QK进行scaled

八股,让softmax输入的数据分布变好,数值进入梯度敏感区间,能防止梯度消失,让模型好训练。


3.self-attention一定要这样表达吗?

不需要,能刻画相关性,相似性等建模方式都可以。最好速度快,模型好学,表达能力够。


4.有其他方法不用除根号dk吗?

有,同上,只要能做到每层参数的梯度保持在训练敏感的范围内,不要太大,不要太小。那么这个网络就比较好训练。方式有,比较好的初始化方法,类似于google的T5模型,就在初始化把这个事情干了。


5.为什么transformer用Layer Norm有什么用?

八股,让神经网络各层参数输入的数据分布变好,数值进入梯度敏感区间,能防止梯度消失,让模型好训练。


6.为什么不用BN?

两个,NLP不定长,好多位置填0,影响其他样本非0参数的计算。

Transformer的模型比较大,BS拉不大,容易变得不稳定


7.Bert为什么要搞一个position embedding?

八股,增强表达能力(位置上的)。因为transformer对位置不敏感,需要显示标示


8.Bert为什么三个embedding可以相加?

【深度玄学】为何Bert三个Embedding可以相加


9.transformer为什么要用三个不一样的QKV?

八股,增强网络的容量和表达能力。


10.为什么要多头?

八股,增强网络的容量和表达能力。


11.为什么Bert中要用BPE这样的subword Token

能很好的解决单词上的OOV,在语义粒度是比较合适的表达。


班车时间有限,先写这么多,如果你在面试中碰到,或者觉得有比较好的八股问题,写在评论区吧,下期一起回答了~



历史精彩文章:

【段子】让算法工程师崩溃的瞬间

【段子】如何激怒一位算法工程师

【段子】让算法工程师破防的瞬间



【技术】一文讲解各种机器学习算法选型思路

【技术】扎实入门机器学习的路子

【技术】可能是全网写特征工程最通透的...

【技术】一文串起从NLP到CV 预训练技术和范式演进

【技术】工业界文本分类避坑指南

【技术】Kaggle进阶:显著提分trick之指标优化

【技术】从一道数学题面试题到GBDT原理的推导

【技术】所有数据集上给神经网络刷分的通用方法



【闲谈】算法工程师也有35岁危机吗

【闲谈】工作后顶会重要吗?投入精力,结果...

【闲谈】回看互联网十年校招薪资变化,我发现...

【经验】面试官带你破解算法岗诸神黄昏,神挡杀神!

【经验】在读和转行进大厂做算法工程师的捷径

【闲谈】从Zillow用AI指导买房投资血亏说起

【闲谈】如何看顶会论文上关于泄露的乌龙

【经验】算法工程师的术与道:从特征工程谈数据敏感性




浏览 121
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报