字节跳动算法岗武功秘籍(上)

45家大厂面经秘籍及参考答案:

已助力150+人进入国内大厂的《人工智能算法岗江湖武林秘籍》,点击查看


1 字节跳动面经汇总资料

在这里插入图片描述

1.1 面经汇总参考资料

① 参考资料:

(1)牛客网:字节跳动面经-340篇,网页链接

(2)知乎面经:点击进入查看

(3)面试圈:点击进入查看

② 面经框架&答案&目录&心得:

(1)面经框架及参考答案:点击进入查看

(2)大厂目录及整理心得:点击进入查看

1.2 面经涉及招聘岗位

(1)实习岗位类

【图像与多媒体算法实习】、【Data搜索部(数据挖掘)实习】、【三维视觉实习】、【自然语言处理实习】、【数据挖掘/搜索/推荐实习】、【效率工程算法实习】、【广告算法实习】、【AI Lab机器学习实习生】、【商业变现部门推荐算法】、【编解码算法工程师实习】

(2)全职岗位类

【AI Lab计算机视觉与深度学习岗】、【抖音互娱图形图像算法工程师】、【搜索团队算法工程师】、【研发算法工程师】、【视频基础架构组】,【搜索部门算法工程师】、【广告算法工程师】、【企业应用算法工程师】、【抖音算法工程师图像增强方向】、【飞书算法工程师】、【Data部门算法工程师】、【推荐算法工程师】、【抖音算法工程师】、【NLP算法工程师】、【自然语言处理算法工程师】、【机器学习中台算法工程师】、【多媒体视频算法工程师】、【Data推荐算法工程师】、【字节教育工程师】、【电商NLP算法工程师】、【大数据开发工程师】、【教育部门算法工程师】

1.3 面试流程时间安排

在这里插入图片描述

PS:以上流程为大白总结归纳所得,以供参考。

其他注意点:

● 在面试的流程中,需要注意的是,有的人是三轮技术面试,有的人是两轮技术面试。

1.4 字节跳动面试心得汇总

字节跳动的面经超级多,说明机会和发展都是很不错的。以下是大白整理的,几百篇面经中的面试者的心得感悟,将此提炼出来,便于大家体会:

★ 一面二面的面试官比较偏理论基础,三面的大佬比较偏业务,不过总体来说,头条的面试官总的来说都挺好的,编程题检查时也会指错并引导。

★ 阿里更注重底层基础和深度,源码级别,头条更注重算法,手撕代码。常常自我介绍完啥也不说基本都先来一道编程题,然后发问,问到最后,再以一个编程题收尾。

★ 面试时对简历上自己实习或者项目的细节要很清楚,会问的很深。(比如为什么用欧式距离算样本之间的距离)而且涉及的面也会比较广,比如做图像/视频增强的,应该对于超分,去模糊,去噪,去雾,HDR甚至图像translation等问题都应该有一个比较深的了解,希望各位还不急着找工作的同学们能坚持努力。

★ 注重原理的理解而不是方法看起来有多fancy,原理至上,所以一定要理解透彻。

★ 一定要回忆所有细节,并站着面试官的角度思考他会问什么问题。项目中你做工作时的流程一定要清楚,比如业界一般是怎样解决该问题的,你是怎样做的,你遇到了什么困难,你如何解决这些困难的。如果有的问题不会,或是只有个模糊的答案,直接说出来或这说不会就行了,没有事的。

★ 划重点!!!项目一定要挑自己熟悉的说,简历上放一些和岗位相关的项目。

★ 心态部分,战略上藐视,战术上重视。

★ 面试官似乎很看重工程能力 而我的经历都很Research 所以除了表达自己算法能力的同时,把工程上的东西说一说也是很加分的,哪怕是脏活累活。

★ 大家面试的时候放松心态,做足准备就好,谋事在人,成事在天,不必太过紧张。如果面试中遇到思路卡壳可以一点一点解释,不用着急。

★ 算法工程师的自我修养:数据建模,C/C++,思考、解决问题的方向和逻辑(建立在足够的理论基础和实践基础上)

★ 多运用到工程,想一想工程方向的优化。在有算法的基础做一做开发对于自己的成长有帮助。

★ 项目中每一个创新点一定要清楚:为什么用、怎么用的、好处在哪里。

★ 一些基本的概念一定要熟悉,不能只是知道。比如ROC曲线和PR曲线,面试官的
要求不仅仅是横轴纵轴是什么,往往会有进一步的follow up:比如说样本分布不平衡的话PR和ROC会有差别类似的;不能只关注于某一个概念是什么,往往最基础的follow up是考察的重点。

★ 各种基本算法除了原理要了解他们的优缺点,这里应该是面试官考察比较核心的地方。平时不能只顾着刷题,而没有去练习怎么在人前把一个算法表述清楚。

★ 感觉算法岗真的没有那么难,没必要散播焦虑,感觉年轻人有无限可能,大家多花点时间真正去做事情了,基本结果都不会差。

★ 可以感受一下面试官问问题的思路和感兴趣的角度。前两轮面试更加注重于专业知识,技术细节,了解你做的多深。后两面更注重了解你思考问题的方式以及想做的内容和团队是否match。

★ 字节跳动是一个很注重基础的公司,他不会要求你有竞赛有paper有多么强的工业界能力,但是基础一定要好,至少对于算法工程师来说现场手撕code的时候 bug free 是必须的,因为面试官不会留太长的时间给你debug,除非能够精准定位bug并快速解决,不然凉的几率很大。

★ 字节的面试是我面的最硬核的,就是会一直问到底,看你到底掌握到什么程度,如果掌握的不深刻很容易就被问出来了 。

★ 在面试时,针对项目,面试官会假设他不懂这个项目,将项目从头讲到尾

★ 春招的笔试也很难(不要以为实习的笔试就简单了)

★ 早点准备什么时候都不会错的(毕竟机会是留给有准备的人)

★ 发现形式不对,要快刀斩乱麻;今年算法岗从春招的形式就可以看到秋招的严峻了

★ 认清自己(这一点确实有点难),但这确实是重中之重

★ 好好刷题,不要抱着内推免笔试提起批免笔试的心态,即使免笔试,coding也是你没办法跳过的。

★ 投一个公司之前多问问自己为什么要投,目标一定要明确,不要学我做个无头苍蝇到处乱撞,然后撞的头破血流。

★ 虽然字节疯狂的招人,但是也请看好招人的部门,并不是每个部分都疯狂招人的,所以还得好好甄别,多看看,别头铁第一天出来就投,浪费机会。

★ 一面考核的是思想层面, 比如考核面对大数据如何增量训练, 面对多指标如何多任务学习, 从离线实验到部署上线的流程, 线上测试需要关注的信息, 模型选择的依据等。
二面考核的主要是宽度, 几乎都是横向的问, 很少纵向的深挖, 而我恰恰缺乏宽度的积累, 所以面试过程还是有点难受。
三面面试官的考核主要是深度, 一直深挖每一个细节, 基本上问到口述代码的程度.不过所有代码都是自己写的就问题不大。

2 字节跳动面经涉及基础知识点

在这里插入图片描述

2.1 图像处理基础

2.1.1 讲解相关原理

● 是否了解图像降噪的一些方法?

● 了解常用图像增强的一些方法吗?

● 是否了解各种边缘检测算子?
介绍下Sobel算子,sobel核的参数由-1->2,改变后会发生什么?
面试官的意思:比如实现不同的功能效果,高斯模糊、腐蚀、膨胀、锐化等

● 了解Hog吗?讲解下Hog特征的原理,步骤流程是什么?

● 知道图像里面的插值算法有哪些?(三次样条和线性插值),用过什么图像的库函数?

● 解释下Raw图像和rgb图像的区别?了解其他色彩空间格式吗?或者饱和度、亮度这些吗?

2.1.2 手写算法代码

● 手写马赛克算法

● 手写高斯滤波算法

● 手写均值滤波及优化

● 手写下中值滤波器

2.2 深度学习:CNN卷积神经网络方面

2.2.1 讲解相关原理

2.2.1.1 卷积方面

● depthwise 卷积

● 1*1的卷积核有什么用?

● 反卷积相比其他上采样层(pixelshuffle)的缺点,棋盘格现象怎么产生的?

● 3D卷积和2D卷积的区别,主要存在问题,如何加速运算,视频理解的sota方法,
还有什么方向可以改进?

● 卷积核大小如何选取

● 卷积层减少参数的方法?使用13,31代替3*3的原理是什么?

● 设计一个在CNN卷积核上做dropout的方式

● 反卷积/转置卷积的实现原理?

● Dropout的原理?

● 直接转置卷积和先上采样再卷积的区别?

2.2.1.2 池化方面

● maxPooling怎么传递导数?

● CNN里面池化的作用

● 反向传播的时候怎么传递pooling的导数

● 卷积神经网络在maxpooling处怎么反向传播误差

2.2.1.3 网络结构方面

● shufflenet的结构

● 深度网络Attention是怎么加?

● ResNet的结构特点以及解决的问题是什么?

● 图神经网络的理解,讲了发展史,应该从基于图谱和基于空间来讲

● unet结构,为什么要下采样,上采样?

● ResNet V1到V2的改进有了解吗?
那ResNet的下采样过程是怎么样的?
讲了res-block的跳跃连接,以及连接前后的shape保持(通过padding保持shape不变)

● fpn的结构

● roi pooling和roi align的区别

● Resnet的理解、和全连接相比有什么区别?

● 简单说一下Alexnet、Vgg、Resnet、Densenet、和GoogleNet,它们的特色是什么?

● 问了很多轻量级网络,mobileNet v1 v2,shuffleNet v2,Xception,denseNet等等

2.2.1.4 其他方面

● 有上过神经网络的课程吗,是自学的吗?了解感受野吗?怎么计算感受野?怎么增加感受野?(增加感受野和网络深度,压缩图像尺寸)

● 为什么卷积神经网络适用于图像和视频,还能用于其他领域吗?

● CNN反向传播细节,怎么过全连接层、池化层、卷积层?

● CNN里面能自然起到防止过拟合的办法

● CNN中感受野/权值共享是什么意思?

● BN层的作用,为什么有这个作用?测试和训练时有什么不同,在测试时怎么使
用?

● BN层做预测的时候,方差均值怎么算,online learning 的时候怎么算?

● BN机制,BN怎么训练;

● 发生梯度消失,梯度爆炸问题的原因?如果发生梯度爆炸、梯度消失,怎么解决?

● 若CNN网络很庞大,在手机上运行效率不高,对应模型压缩方法有了解吗?

2.2.2 数学计算

● 如何计算卷积的复杂度、卷积层的参数量

● 计算Feature Map的size

● 输入为LL,卷积核为kk,还有步长s和padding p,求输出尺寸?(L1 = (L-k+2p)/s + 1)
接上题,求操作的FLOPs?(FLOPS = k
kc1c2L1L1)

● 在同时考虑 pooling, stride, padding 的情况下,计算 depthwise conv 和 pointwise conv 过程中每一步的计算量和feature map的尺寸

● CNN中给定输入数据维度[c,w,h],卷积核[k,k],则输出维度,如何padding=p,输出维度是什么?

2.2.3 公式推导

● BP神经网络反向传播推导

● max pooling梯度求导?

2.2.4 手写算法代码

● 说一些卷积、用代码实现卷积,并再改成有通道的三维卷积

● 写一个单通道的图像卷积(带padding)

● 手写前向传播、反向传播代码

● 面试官轻描淡写地说,BP你会吧,写一下吧,正向传播、反向传播都推了一个遍,交给面试官看了一眼,说用代码实现一下吧,用 numpy 写了一个单层神经元的反向传播,给面试官看了,问他还用不用写完整的传播过程,他说不用了。

● 让写代码或者数学公式展示BN的内部实现,为什么要用GN,你知道GN,BN,LN和IN的区别吗?(这里BN内部实现回答错了,还好面试官非常nice,一直知指导,最后给我讲了BN的内部实现,豁然开朗,回来看了一下代码,有了进一步的认识)。

● 用代码展示shuffleNet v2的结构

● 实现一维数组的maxpool

2.2.5 激活函数类

● 说一下Softmax多分类器的作用?和二分类相比有什么特点?

● Softmax的计算公式写一下,并进行解释

● Softmax的Loss function、写一下损失函数

● 写一个 Softmax 实现,注意上下溢出问题

● Softmax在数值计算上可能会出现的上溢和下溢的问题

2.3 深度学习:RNN递归神经网络方面

2.3.1 讲解相关原理

● 讲一下隐马、CRF、RNN、LSTM的区别?

● RNN为什么会出现梯度消失?

● BPTT的推导?

● LSTM和GRU和传统RNN的对比?

● LSTM减弱梯度消失的原理,项目里用了LSTM,问了LSTM的结构,三个门的作用,每个门用什么激活函数?

● LSTM的输入,输出,遗忘门分别是做什么的,整个计算流程怎么样

● RNN梯度弥散和爆炸的原因,lstm为什么不会这样

● RNN/LSTM解释,你知道哪些时间序列预测,举一个例子,写出伪代码(写了HMM)。

● RNN如何防止梯度爆炸(LSTM原理)。

● LSTM和RNN的区别, 遗忘门的具体实现?

● BN和LN的区别,以及BN一般怎么用,LSTM中有没有用BN?

2.3.2 手绘网络原理

● 手画gru,并解释门的原理

● 写一下LSTM的公式?

2.4 深度学习:CNN&RNN通用知识点

2.4.1 基础知识点

● 详解梯度消失、爆炸原因及其解决方法

● 你用过dropout么?介绍一下 ,Dropout的作用 ?

● 梯度消失的表现是什么,该怎么处理

● 神经网络权重怎么初始化,说一下自己知道的方法

● dropout机制,为什么dropout能够抑制过拟合?

● 神经网络中网络权重W初始化为0有什么问题?为什么不能初始权重为0?

● 如何解决模型不收敛问题 以及如何加快模型的训练速度

● 你知道哪几种normlize的方法?请着重介绍一种(BatchNormalization).这个方法
在深度学习网络中有什么用?为什么可以加速模型收敛?

● Attention怎么做,self-attention怎么做?self-attention原理公式,为什么有效?

● Encoder-Decoder模型里,如果Decoder是基于Attention做的,该怎么做,是一个什么结构?

● attention机制是什么解释一下,啥是soft attention 和hard attention?

2.4.2 模型评价

● 有哪些评价指标?-比如ROC、AUC、F1-Score

● 解释下深度学习中的评价指标:Map、PR曲线、AUC、Recall?

● AUC怎么计算?它刻画的是什么?实现求AUC的过程?(输入就是instance的score和对应label)

● 给你M个正样本,N个负样本,以及他们的预测值P,求AUC。(写完之后接问:AUC究竟在衡量模型什么能力?如果现在所有预测值都*1.2,AUC是否会变化?)这一题印象深刻是因为平时在计算auc的时候,很多同学都知道是roc曲线的面积,但是对auc具体的含义了解不多。

● ROC曲线的含义和其他评价指标的区别?

● 分类问题的指标是什么?准确度、召回率、PR曲线

● 相关系数是怎么计算的?讲一下协方差和它的意义?

● 做视频用的是何种评价指标?

● 计算广告中CPM、CPC、ROI的含义,计算方式

2.5 传统机器学习方面

2.5.1 讲解相关原理

2.5.1.1 数据准备

● 采样一般有哪些方法?讲一下

● 解释下MCMC采样?

2.5.1.2 特征工程

① 特征降维

● 看项目中有数据降维的项目,讲一下PCA原理?PCA与SVD的联系与区别?SVD分解是怎么回事?

● PCA了解吗?怎么推导?SVD怎么求?

● 简单说一下LDA的思想?并说一下公式

● T-SNE算法了解吗?

② 特征选择

● 特征选择有哪些方法?什么是特征向量与特征值?怎么理解它们代表的意义。(介绍项目时涉及到特征相关性分析,所以问了这个)

● 介绍下特征选择的Lasso回归?

● 特征选择里提到的互信息选择,互信息的计算公式是什么?

● 树模型中分叉的判断有哪些:信息增益,信息增益比,Gini系数;他们有什么区别?

● 写出信息增益的表达式

● 在做特征工程时采用了哪些方法呢? 常见的筛选特征的方法有哪些?

2.5.1.3 有监督学习-分类和回归方面

① 分类回归树(集成学习)

● 机器学习的集成方法有哪些?

● Boosting与Bagging的原理以及异同点?为什么说bagging降低方差boosting降低偏差?
谁是更关注方差 ,谁是更关注偏差?

● bagging 中随机有放回采样,假如一共有N个样本 采样了N次,得到N个采样数据,去重后有X个数据 求E(X),我只列出了暴力计算的方法。

● 决策树,熵的公式、如何分裂,如何剪枝,回归树、分类树的做法

A.基于bagging:随机森林

● 随机森林的随机性怎么体现?

● 为什么bagging能降低方差?

B.基于boosting:Adaboost、GDBT、XGBoost

● xgboost与lgbm的原理讲一下?是如何进行调参的?

● xgboost和gbdt的优势?两者的区别?并行怎么做?他们的应用场景有哪些呢?其他模型的能说一下吗?

● Xgboost 和 GBDT的区别 以及如何改进和提升Xgboost模型

● Random Forest 和GDBT、 XGBoost 、LR有什么区别?

● GBDT的原理,怎么做多分类问题?

● gbdt的gb是什么意思,如何体现。gbdt里如何知道每个特征的重要性。

● 因为实习用到了xgb,让写一下 xgb的loss func?问xgb到底是怎么预测的?

● 问GBDT原理,然后具体问了下每个叶子节点是怎么分裂的,用什么标准决定最优特征,答曰和CART一样,用Gini指数,然后写了下Gini指数的公式。老板看起来不甚满意,估计他本来想让我写的是xgboost那种带正则项的节点分裂方式吧。

● CART了解吗?怎么做回归和分类的? 哈希表了解吗?有哪些解决冲突方法? 堆空间栈空间了解吗?

● CART树的原理,和ID3以及C4.5有什么区别,回归树与分类树有什么区别。

● GBDT中G是什么?怎么拟合树的?梯度拟合了怎么和原来的树合并的

● 为什么XGBOOST在大赛上表现很好/与GBDT相比优势

● lightgbm GBDT xgb,问的超级细,可能持续了7 8分钟,XGB残差怎么用一次和二次梯度求,分裂点怎么求,思想原理是什么。XGB实际使用中重要的超参数,你们比赛中用的目标函数是什么,为什么lightgbm速度更快,其并行计算如何实现?

● xgboost的特征重要性怎么计算的?设计能适应测试集里有缺失值的训练集没有的GBDT, 要求不能从填充数据的角度来做?

● LightGBM和xgboost的区别 ,LightGBM的直方图排序后会比xgboost的效果差吗,为什么?

● xgb怎么并行运算(除了自带的并行找特征分裂点,还说了一般模型的按数据和按特征并行) ,但是面试官一直追问详细的并行方法

● xgb与LR各自的优缺点,LR为什么更容易并行?

② 线性回归

● 能否详细的讲解一下,线性回归的原理?具体讲解一下线性回归的底层原理,比如说如何训练,如何得到参数,如何调整参数等?

● 线性回归R^2公式及意义

③ K近邻(KNN)

● knn算法了解吗,和传统的LR和SVM有什么区别?

● 怎么优化knn呢?

④ 逻辑回归LR

● LR为什么要用sigmoid?(经过面试官提示,是来自于最大熵模型,建议不明白的同学去查一下,下次面试给面试官露一手)

● 逻辑回归特征之间关联程度大会有什么问题?

● 讲解一下逻辑回归的原理?再详细的讲解一下朴素贝叶斯的底层原理,比如说,如何选参数,如何训练模型,如何做分类?

● 对于LR来说,LR如果多了一维冗余特征,其权重和AUC会怎样变化(权重变为1/2, AUC不会变化)

● 逻辑斯蒂回归里面,输出的那个0-1之间的值,是概率值吗?你看它又叫对数几率回归,怎么理解几率这个概念?

● 什么是线性模型?项目为什么使用LR,介绍LR?LR为什么是线性模型? 如何提升LR的模型性能?

● FM 与 LR对比一下,FM是否也能起到自动特征选择的作用,为什么?

● LR和FM的区别?

● LR的w可不可能是负的,正负样本10:1的情况下?

● LR一个特征重复会怎么样?

⑤ SVM(支持向量机)

● 为什么svm的loss不能直接用梯度下降要用对偶?说说你知道的优化算法。

● SVM原理,与感知机的区别?还问了SVM如果不用对偶怎么做?

● SVM对于异常值的处理,敏感程度?

● Svm和LR的区别和各自优缺点?

● SVM最后的形表达形式是什么?

● KKT条件是什么?在SVM中起到什么样的作用;

● SVM中SMO具体的操作以及原理。

● 熟悉什么机器学习算法(SVM),写损失函数(hinge+正则)

● SVM原理?为什么能转化为对偶问题?能不能推导

● SVM怎么解决不容易找到超平面的问题?

● SVM有哪些核函数?

⑥ 朴素贝叶斯(Naive Bayes)

● 贝叶斯模型知道吗?问贝叶斯网络的原理,贝叶斯估计和极大似然估计原理?朴素贝叶斯公式?

● 讲一下最大似然的原理?

● 朴素贝叶斯的算法实现?

⑦ 决策树(DT)

● 了解其他机器学习模型吗,说了决策树,为什么用信息熵?

● 决策树的ID3和C4.5介绍一下?决策树模型的类别?

● 决策树分裂节点的标准与对应的算法

● 代码写一个决策树,给定数据,启发函数是信息增益,假设所有特征的值都是数值类型的:定义节点类、构建节点、选取当前节点的最优划分特征(计算所有特征的信息增益)、数据划分、构建子节点、考虑停止划分的条件。花了好长时间写了个代码框架,然后和面试官讲了思路。

● 写的决策树是几叉树?暂时考虑的是有多少种不同的取值就有多少个分支,意识到这肯定是不对的,优化的话可以将所有取值进行划分,比如二划分就可以改成二叉树。

2.5.1.4 无监督学习-聚类方面

① Kmeans均值聚类

● KMeans和 GMM 联系与区别,kmeans原理,怎么做的,你是怎么并行的?

● kmeans原理,怎么做的,你是怎么并行的?k-means是否一定收敛?

② 高斯混合模型(GMM)

● 高斯混合模型和K-means的区别和联系

2.5.1.5 模型评价

● 信息检索中为什么使用Recall和Precision?

● 机器学习中一般怎么衡量模型效果?AUC值怎么理解?

● 怎么衡量两个分布的差异?KL散度和交叉熵损失有什么不同?关系是啥?

● 一些统计学的原理比如t-test, AUC curve的意义是啥,为什么要用AUC去衡量机器学习模型的好坏。

● 为什么召回的数量级小,排序模型的效果就好

● 交叉熵 和 相对熵(kl散度)的关系

2.5.2 手推算法及代码

2.5.2.1 手推公式

● LR推导,手写LR前向传播和反向传播

● 写出LR的损失函数(交叉熵损失函数)

● FM的推导?

● 上来就让手写个LogisticRegression 你了解元学习吗?说一下你的理解。 权值初
始化方式对LR的收敛有影响吗? 你对权值初始化有什么了解?怎样才算是好的初始化?

● 问了xgboost并且手推

● 问能推哪些算法的公式,只敢说LR,因为没准备SVM。然后就是推LR的梯度下降,接着让我写sigmoid函数,最后就是sigmoid求导。

● LR、SVM的公式推导

● 朴素贝叶斯写公式。

● 介绍一个熟悉的算法(LR),推导sigmoid求导过程

● 手写LR的实现过程,然后聊了聊L1以及L1的扩展

● 手推 LR 的损失函数、损失函数怎么来的、梯度如何计算,写成一个完整的类

2.5.2.2 手写代码

● 问了adaboost的原理,模型的权重以及数据的权重各自有什么意义,写出adaboost的伪代码。

● 手写kmeans聚类算法(代码)

2.6 深度学习&机器学习面经通用知识点

2.6.1 损失函数方面

● 交叉熵,相对熵

● 回归和分类的常用损失函数

● Logistic Regression损失函数,怎么来的?

● 常见损失函数有哪些

● 逻辑回归中损失函数的实际意义?

● Smooth l1 loss公式以及为什么是这样的?

● 为什么分类问题用交叉熵, 怎么来的?

2.6.2 激活函数方面

● 各种常用激活函数对比下?(sigmoid, tanh, relu, lrelu等)

● sigmoid的优缺点?

● sigmoid和relu的区别?

● 平时用什么用的多?为什么用relu多呢?

● 写逻辑回归的logloss损失函数

2.6.3 网络优化梯度下降方面

● SGD每步做什么,为什么能online learning

● l1是损失函数,有哪些优化方法,能用sgd么?为什么?

● Adam优化器的迭代公式

● 4adam用到二阶矩的原理是什么

● 几种梯度下降的方法和优缺点?

● 梯度下降系列算法有哪些,有点蒙住了,后来才想起来应该问问 momentum
adam 之类的算不算?

● 讲一下你熟悉的优化器,说一下区别或发展史

● 有哪些优化算法,Adam的默认参数有哪些?

● 介绍方向导数和梯度,方向导数和梯度的关系?为什么梯度在机器学习中的优化方法中有效?

● 神经网络权重初始化方法和优化方法

● 介绍一下你了解的优化器和各自的优缺点?

● Adam和Adagrad的区别?

2.6.4 正则化方面

● 正则化的本质?

● L1正则化和L2正则化的区别,从数学角度说

● L1有什么缺点?L2呢?平时用L1多还是用L2多?为什么正则化选L2呢?为什么不选L1?L1为什么产生稀疏解?

● L1、L2的区别, L1为什么图像是菱形

● L1范数和L2范数的区别,作用。为什么bias不正则

● 为什么要用正则化?解释了奥卡姆剃刀

● L1正则化与L2正则化的区别?解释了参数先验和拉格朗日乘子法

2.6.5 压缩&剪枝&量化&加速

● 了解模型蒸馏吗?

● 怎么做模型压缩?-使用知识蒸馏、设计小的网络,得到End-to-End模型。

● 介绍了量化(8bit,4bit,二值化)的项目?训练后量化和量化感知训练分别是怎么实现的?

2.6.6 过拟合&欠拟合方面

● 什么是过拟合,过拟合怎么解决?

● 深层网络容易过拟合还是浅层网络容易过拟合 ?

● 防止欠拟合的方法?

● 过拟合要怎么解决?(减少模型参数、早停、正则化、数据增强、GAN合成数据、dropout、few shot learning,等等等等)

● BN为什么防止过拟合呢?

2.6.7 其他方面

● 深度学习与机器学习的异同及联系?

● 数据不均衡的处理方法-过多数据欠采样,过少数据过采样,另外还有一些基于模型的方法比如SMOTE方法等。

● 样本不均衡怎么解决,我说人为对采样少的样本重复几次,然后他问这样auc会不会变并解释,我说不会变,解释的不太清楚但他好像听懂了

● 当模型的性能不好时,如何分析模型的瓶颈?

● 数据不均衡有什么解决方式,从数据,模型选择,以及损失函数选择角度?

在这里插入图片描述

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>