深度学习面试100题(第36-40题)

2018 年 7 月 17 日 七月在线实验室

36、简单说下sigmoid激活函数

解析:

常用的非线性激活函数有sigmoid、tanh、relu等等,前两者sigmoid/tanh比较常见于全连接层,后者relu常见于卷积层。这里先简要介绍下最基础的sigmoid函数(btw,在本博客中SVM那篇文章开头有提过)。

    sigmoid的函数表达式如下

    其中z是一个线性组合,比如z可以等于:b + w1*x1 + w2*x2。通过代入很大的正数或很小的负数到g(z)函数中可知,其结果趋近于0或1。


    因此,sigmoid函数g(z)的图形表示如下( 横轴表示定义域z,纵轴表示值域g(z) ):

 


    也就是说,sigmoid函数的功能是相当于把一个实数压缩至0到1之间。当z是非常大的正数时,g(z)会趋近于1,而z是非常小的负数时,则g(z)会趋近于0。


    压缩至0到1有何用处呢?用处是这样一来便可以把激活函数看作一种“分类的概率”,比如激活函数的输出为0.9的话便可以解释为90%的概率为正样本。


    举个例子,如下图(图引自Stanford机器学习公开课)

 


    z = b + w1*x1 + w2*x2,其中b为偏置项 假定取-30,w1、w2都取为20

 


如果x1 = 0,x2 = 0,则z = -30,g(z) = 1/( 1 + e^-z )趋近于0。此外,从上图sigmoid函数的图形上也可以看出,当z=-30的时候,g(z)的值趋近于0

如果x1 = 0,x2 = 1,或x1 =1,x2 = 0,则z = b + w1*x1 + w2*x2 = -30 + 20 = -10,同样,g(z)的值趋近于0

如果x1 = 1,x2 = 1,则z = b + w1*x1 + w2*x2 = -30 + 20*1 + 20*1 = 10,此时,g(z)趋近于1。


    换言之,只有x1和x2都取1的时候,g(z)→1,判定为正样本;而当只要x1或x2有一个取0的时候,g(z)→0,判定为负样本,如此达到分类的目的。


综上,sigmod函数,是逻辑斯蒂回归的压缩函数,它的性质是可以把分隔平面压缩到[0,1]区间一个数(向量),在线性分割平面值为0时候正好对应sigmod值为0.5,大于0对应sigmod值大于0.5、小于0对应sigmod值小于0.5;0.5可以作为分类的阀值;exp的形式最值求解时候比较方便,用相乘形式作为logistic损失函数,使得损失函数是凸函数;不足之处是sigmod函数在y趋于0或1时候有死区,控制不好在bp形式传递loss时候容易造成梯度弥撒。


37、rcnn、fast-rcnn和faster-rcnn三者的区别是什么

解析:

首先膜拜RBG(Ross B. Girshick)大神,不仅学术牛,工程也牛,代码健壮,文档详细,clone下来就能跑。断断续续接触detection几个月,将自己所知做个大致梳理,业余级新手,理解不对的地方还请指正。


传统的detection主流方法是DPM(Deformable parts models), 在VOC2007上能到43%的mAP,虽然DPM和CNN看起来差别很大,但RBG大神说“Deformable Part Models are Convolutional Neural Networks”(http://arxiv.org/abs/1409.5403)。


CNN流行之后,Szegedy做过将detection问题作为回归问题的尝试(Deep Neural Networks for Object Detection),但是效果差强人意,在VOC2007上mAP只有30.5%。既然回归方法效果不好,而CNN在分类问题上效果很好,那么为什么不把detection问题转化为分类问题呢?


RBG的RCNN使用region proposal(具体用的是Selective Search  Koen van de Sande: Segmentation as Selective Search for Object Recognition)来得到有可能得到是object的若干(大概10^3量级)图像局部区域,然后把这些区域分别输入到CNN中,得到区域的feature,再在feature上加上分类器,判断feature对应的区域是属于具体某类object还是背景。当然,RBG还用了区域对应的feature做了针对boundingbox的回归,用来修正预测的boundingbox的位置。


RCNN在VOC2007上的mAP是58%左右。RCNN存在着重复计算的问题(proposal的region有几千个,多数都是互相重叠,重叠部分会被多次重复提取feature),于是RBG借鉴Kaiming He的SPP-net的思路单枪匹马搞出了Fast-RCNN,跟RCNN最大区别就是Fast-RCNN将proposal的region映射到CNN的最后一层conv layer的feature map上,这样一张图片只需要提取一次feature,大大提高了速度,也由于流程的整合以及其他原因,在VOC2007上的mAP也提高到了68%。


探索是无止境的。Fast-RCNN的速度瓶颈在Region proposal上,于是RBG和Kaiming He一帮人将Region proposal也交给CNN来做,提出了Faster-RCNN。Fater-RCNN中的region proposal netwrok实质是一个Fast-RCNN,这个Fast-RCNN输入的region proposal的是固定的(把一张图片划分成n*n个区域,每个区域给出9个不同ratio和scale的proposal),输出的是对输入的固定proposal是属于背景还是前景的判断和对齐位置的修正(regression)。Region proposal network的输出再输入第二个Fast-RCNN做更精细的分类和Boundingbox的位置修正。


Fater-RCNN速度更快了,而且用VGG net作为feature extractor时在VOC2007上mAP能到73%。个人觉得制约RCNN框架内的方法精度提升的瓶颈是将dectection问题转化成了对图片局部区域的分类问题后,不能充分利用图片局部object在整个图片中的context信息。


可能RBG也意识到了这一点,所以他最新的一篇文章YOLO(http://arxiv.org/abs/1506.02640)又回到了regression的方法下,这个方法效果很好,在VOC2007上mAP能到63.4%,而且速度非常快,能达到对视频的实时处理(油管视频:https://www.youtube.com/channel/UC7ev3hNVkx4DzZ3LO19oebg),虽然不如Fast-RCNN,但是比传统的实时方法精度提升了太多,而且我觉得还有提升空间。


38、在神经网络中,有哪些办法防止过拟合?

解析:

缓解过拟合:

① Dropout

② 加L1/L2正则化

③ BatchNormalization

④ 网络bagging


39、CNN是什么,CNN关键的层有哪些?

解析:

CNN是卷积神经网络,具体详见此文:https://blog.csdn.net/v_july_v/article/details/51812459。


其关键层有:

① 输入层,对数据去均值,做data augmentation等工作

② 卷积层,局部关联抽取feature

③ 激活层,非线性变化

④ 池化层,下采样

⑤ 全连接层,增加模型非线性

⑥ 高速通道,快速连接

⑦ BN层,缓解梯度弥散


40、GRU是什么?GRU对LSTM做了哪些改动?

解析:

GRU是Gated Recurrent Units,是循环神经网络的一种。

GRU只有两个门(update和reset),LSTM有三个门(forget,input,output),GRU直接将hidden state 传给下一个单元,而LSTM用memory cell 把hidden state 包装起来。


题目来源:

七月在线官网(https://www.julyedu.com/)——面试题库——面试大题——深度学习 第32,37-40题。

深度学习是机器学习的一个分支深度学习除了可以学习特征和任务之间的关联以外,还能自动从简单特征中提取更加复杂的特征。深度学习算法可以从数据中学习更加复杂的特征表达,使得最后一步权重学习变得更加简单且有效。


为了帮助大家系统地学习机器学习课程的相关知识,我们特意推出了机器学习集训营系列课程。迄今为止,「机器学习集训营」已经举办了四期,每一期都涌现出了不少优秀offer,特别是上一期很多同学从Java、Android、iOS等传统IT行业成功转行转型转岗AI拿到年薪三四十万,部分甚至超过四十万拿到五十万。


本第五期,在第四期的基础上,除了继续维持“入学测评、直播答疑、布置作业、阶段考试、毕业考核、一对一批改、线上线下结合、CPU&GPU双云平台、组织比赛、面试辅导、就业推荐”十一位一体的教学模式,本期特地推出机器学习工程师联合认证。且线下在北京、上海、深圳、广州、杭州、沈阳、济南、郑州、成都的基础上,新增武汉、西安两个线下点,十一城同步开营


此外,本期依然沿用前四期线上线下相结合的授课方式,加强项目实训的同时引入线下BAT专家面对面、手把手的教学方式;突出BAT级工业项目实战辅导 + 一对一面试求职辅导,并提供一年GPU云实验平台免费使用,精讲面试考点。让每一位学员不用再为遇到问题没人解答,缺乏实战经验以及简历上没有项目经验,面试屡屡遭拒而发愁。


本期限150个名额,历时3个月,10多个BAT级工业项目,保障每一位学员所学更多、效率更高、收获更大。


机器学习集训营 第五期 课程详情可点击文末阅读原文进行查看,或者加微信客服:julyedukefu_02进行咨询。

扫码加客服微信

登录查看更多
0

相关内容

最新《自动微分手册》77页pdf
专知会员服务
100+阅读 · 2020年6月6日
【MIT深度学习课程】深度序列建模,Deep Sequence Modeling
专知会员服务
77+阅读 · 2020年2月3日
【新书】深度学习搜索,Deep Learning for Search,附327页pdf
专知会员服务
206+阅读 · 2020年1月13日
BAT机器学习面试题1000题(331~335题)
七月在线实验室
12+阅读 · 2018年8月13日
深度学习面试100题(第81-85题)
七月在线实验室
16+阅读 · 2018年8月6日
深度学习面试100题(第76-80题)
七月在线实验室
6+阅读 · 2018年8月3日
深度学习面试100题(第71-75题)
七月在线实验室
5+阅读 · 2018年8月2日
深度学习面试100题(第56-60题)
七月在线实验室
9+阅读 · 2018年7月23日
深度学习面试100题(第41-45题)
七月在线实验室
15+阅读 · 2018年7月18日
深度学习面试100题(第31-35题)
七月在线实验室
8+阅读 · 2018年7月16日
深度学习面试100题(第6-10题)
七月在线实验室
7+阅读 · 2018年7月9日
BAT机器学习面试1000题系列(第51~55题)
七月在线实验室
10+阅读 · 2017年10月8日
BAT机器学习面试1000题系列(第46~50题)
七月在线实验室
7+阅读 · 2017年10月7日
Arxiv
7+阅读 · 2019年5月31日
Logically-Constrained Reinforcement Learning
Arxiv
3+阅读 · 2018年12月6日
Arxiv
23+阅读 · 2018年10月1日
Arxiv
3+阅读 · 2018年3月27日
VIP会员
相关资讯
BAT机器学习面试题1000题(331~335题)
七月在线实验室
12+阅读 · 2018年8月13日
深度学习面试100题(第81-85题)
七月在线实验室
16+阅读 · 2018年8月6日
深度学习面试100题(第76-80题)
七月在线实验室
6+阅读 · 2018年8月3日
深度学习面试100题(第71-75题)
七月在线实验室
5+阅读 · 2018年8月2日
深度学习面试100题(第56-60题)
七月在线实验室
9+阅读 · 2018年7月23日
深度学习面试100题(第41-45题)
七月在线实验室
15+阅读 · 2018年7月18日
深度学习面试100题(第31-35题)
七月在线实验室
8+阅读 · 2018年7月16日
深度学习面试100题(第6-10题)
七月在线实验室
7+阅读 · 2018年7月9日
BAT机器学习面试1000题系列(第51~55题)
七月在线实验室
10+阅读 · 2017年10月8日
BAT机器学习面试1000题系列(第46~50题)
七月在线实验室
7+阅读 · 2017年10月7日
Top
微信扫码咨询专知VIP会员