payphone_lx-阿里妈妈-算法工程师/机器学习-面经——解答

从今天起,豆芽有空也尽己所能,帮助一下大家。

面经来源:https://www.nowcoder.com/discuss/702074?source_id=discuss_experience_nctrack&channel=-1


1. 牛顿法和拟牛顿法介绍一下

牛顿法可由二阶泰勒展开求导可近似得到牛顿法迭代公式

但是在实际应用过程中,我们会发现海塞矩阵的逆矩阵往往计算比较复杂,于是又有了拟牛顿法来简化这一过程。

在拟牛顿法中,考虑优化出一个n阶矩阵D来代替海塞矩阵的逆矩阵。可以发现海塞矩阵逆矩阵的近似矩阵D(x)的选择条件比较灵活,可以有多种具体的实现方法。比较常用的算法是DFP算法替代海塞矩阵逆矩阵的迭代公式


2. 有哪些优化方法使用了二阶动量?

Adagrad法、Adadelta法、RMSProp法、Adam法


3. 描述一下过拟合现象

过拟合:训练集效果很好,测试集效果较差

欠拟合:训练集效果差,测试集效果也差。


4. 抑制过拟合的方法有哪些?

扩充数据集、l1、l2,dropout、BN、验证集、模型集成


5. 介绍一下BatchNorm。

BN(Batch Normolization)是Google提出的用于解决深度网络梯度消失梯度爆炸的问题,可以起到一定的正则化作用。我们来说一下它的原理:

批规范化,即在模型每次随机梯度下降训练时,通过mini-batch来对每一层卷积的输出做规范化操作,使得结果(各个维度)的均值为0方差为1

BN操作共分为四步。输入为,第一步计算均值:

第二步计算数据方差:

第三步进行规范化:

第四步尺度变换和偏移:

表示mini-batch中的数据个数,可以看出,BN实际就是对网络的每一层都进行白化操作白化操作是线性的,最后的“尺度变换和偏移”操作是为了让BN能够在线性和非线性之间做一个权衡,而这个偏移的参数 是神经网络在训练时学出来的

经过BN操作,网络每一层的输出小值被“拉大”,大值被“缩小”,所以就有效避免了梯度消失和梯度爆炸。总而言之,BN是一个可学习、有参数(γ、β)的网络层


6. BN在测试阶段使用的mean、var是如何获得的?

训练时,均值和方差针对一个Batch

测试时,均值和方差针对整个数据集而言。因此,在训练过程中除了正常的前向传播和反向求导之外,我们还要记录每一个Batch的均值和方差,以便训练完成之后按照下式计算整体的均值和方差

img

上面简单理解就是:测试模型中,对于均值来说直接计算所有batch 值的平均值;然后对于标准偏差采用每个batch 无偏估计(无偏估计是用样本统计量来估计总体参数时的一种无偏推断)

最后测试阶段,BN的使用公式就是:

img



以上所有题的答案其实都来源于我的博客面经,欢迎大家围观:https://blog.nowcoder.net/jiangwenbo



牛友面经解答 文章被收录于专栏

这个专栏专门用于为牛友解答面经,希望能帮助到大家。

全部评论

相关推荐

05-21 18:17
西北大学 Java
moon_91:哈哈哈哈哈哈哈哈就让他不绕弯子的回复你
点赞 评论 收藏
分享
原来已经一年了,因为没有加任何实验室没有学长学姐带,再一次偶然的机会下刷到我们学校的牛肉哥,和他聊天之后发现他也没加实验室能进大厂,我就燃起了希望,去年大概 4 月份找好路线 零基础 开始学 5 月背八股和开始刷算法很难受 7-8 月焦虑躯体化害怕找不到实习 9 月找到一家像样的小厂去实习了 4 个月大三上期末考试结束之后 1 月份回来边实习边准备工作压力很大 当时只有字节、百度、商汤的面试,字节三面挂了,百度 oc,商汤 二面挂(差评 无效面试),之后来深圳百度实习之后还是觉得不甘心一直没把算法和八股扔下一直在准备,百度实习的时候 mt 交给我一个特别重要的工作数据库迁移(特别感谢 mt ,这个需求学到了很多东西处理了一堆线上问题),本来看着暑期他们面试都很困难,然后听说百度要涨实习薪资(然而 5 月并没有涨),就想着留在百度吧也懒得面试了,4 月 20 多的时候字节 hr 打电话约面问我要不要尝试一下询问了 1 月份三面为啥会挂有没有学习 ai 知识(因为字节这边后端岗位偏 ai),我来到百度之后全面拥抱 AI 也认识了我的好兄弟 X 哥,他在百度 XX 部门 Agent 实习,他属于是我 Agent 的启蒙老师,来百度之后一直在了解 AI 这一块,我就接受了字节的面试,一面的时候 20 分钟实习拷打然后突然说 30 分钟代码考核我心就凉了以为是 kpi,算法题是手撕高并发安全下的令牌桶限流器,我写了整整 80 多行代码最后也写出来了,但是从来没看到过出这种题能 oc 的我也就不管了,后边面试也是很顺利但是流程有点长可能一直在横向吧总结结果是好的!!!感谢这一年努力的自己和遇到的各位互联网大佬分享的知识!!!ps 图二纯感慨 (觉得🍬请不要喷我)欢迎大家一起交流学习呀!!!!
点赞 评论 收藏
分享
评论
1
7
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务