深度学习岗位面试问题一览

本笔记主要问题来自以下两个问题,以及我自己面试过程中遇到的问题。 深度学习相关的职位面试时一般会问什么?会问一些传统的机器学习算法吗?(http://t.cn/RMrVwoU) 如果你是面试官,你怎么去判断一个面试者的深度学习水平?(http://t.cn/RIQnMZv)

以下问题来自@Naiyan Wang(http://t.cn/RjVwbgQ)

1.CNN最成功的应用是在CV,那为什么NLP和Speech的很多问题也可以用CNN解出来?为什么AlphaGo里也用了CNN?这几个不相关的问题的相似性在哪里?CNN通过什么手段抓住了这个共性?

Deep Learning -Yann LeCun, Yoshua Bengio & Geoffrey Hinton(http://t.cn/RjV2Zuc) Learn TensorFlow and deep learning, without a PhD(http://t.cn/R00mUws) The Unreasonable Effectiveness of Deep Learning -LeCun 16 NIPS Keynote(http://t.cn/RZ02yaK)

以上几个不相关问题的相关性在于,都存在局部与整体的关系,由低层次的特征经过组合,组成高层次的特征,并且得到不同特征之间的空间相关性。如下图:低层次的直线/曲线等特征,组合成为不同的形状,最后得到汽车的表示。

CNN抓住此共性的手段主要有四个:局部连接/权值共享/池化操作/多层次结构。

局部连接使网络可以提取数据的局部特征;权值共享大大降低了网络的训练难度,一个Filter只提取一个特征,在整个图片(或者语音/文本) 中进行卷积;池化操作与多层次结构一起,实现了数据的降维,将低层次的局部特征组合成为较高层次的特征,从而对整个图片进行表示。如下图:

上图中,如果每一个点的处理使用相同的Filter,则为全卷积,如果使用不同的Filter,则为Local-Conv。

2.为什么很多做人脸的Paper会最后加入一个Local Connected Conv?

DeepFace: Closing the Gap to Human-Level Performance in Face Verification(http://t.cn/RjVqsrg)

以FaceBook DeepFace 为例:

DeepFace 先进行了两次全卷积+一次池化,提取了低层次的边缘/纹理等特征。

后接了3个Local-Conv层,这里是用Local-Conv的原因是,人脸在不同的区域存在不同的特征(眼睛/鼻子/嘴的分布位置相对固定),当不存在全局的局部特征分布时,Local-Conv更适合特征的提取。

以下问题来自@抽象猴(http://t.cn/RjV5W4J)

1、什麽样的资料集不适合用深度学习?

数据集太小,数据样本不足时,深度学习相对其它机器学习算法,没有明显优势。

数据集没有局部相关特性,目前深度学习表现比较好的领域主要是图像/语音/自然语言处理等领域,这些领域的一个共性是局部相关性。图像中像素组成物体,语音信号中音位组合成单词,文本数据中单词组合成句子,这些特征元素的组合一旦被打乱,表示的含义同时也被改变。对于没有这样的局部相关性的数据集,不适于使用深度学习算法进行处理。举个例子:预测一个人的健康状况,相关的参数会有年龄、职业、收入、家庭状况等各种元素,将这些元素打乱,并不会影响相关的结果。

2.对所有优化问题来说, 有没有可能找到比現在已知算法更好的算法?

机器学习-周志华(http://t.cn/RjVfkB3)

没有免费的午餐定理:

对于训练样本(黑点),不同的算法A/B在不同的测试样本(白点)中有不同的表现,这表示:对于一个学习算法A,若它在某些问题上比学习算法 B更好,则必然存在一些问题,在那里B比A好。

也就是说:对于所有问题,无论学习算法A多聪明,学习算法 B多笨拙,它们的期望性能相同。

但是:没有免费午餐定力假设所有问题出现几率相同,实际应用中,不同的场景,会有不同的问题分布,所以,在优化算法时,针对具体问题进行分析,是算法优化的核心所在。

3.用贝叶斯机率说明Dropout的原理

Dropout as a Bayesian Approximation: Insights and Applications(http://t.cn/R28v5W6)

4.何为共线性, 跟过拟合有啥关联?

Multicollinearity-Wikipedia(http://t.cn/RjVMJBf)

共线性:多变量线性回归中,变量之间由于存在高度相关关系而使回归估计不准确。

共线性会造成冗余,导致过拟合。

解决方法:排除变量的相关性/加入权重正则。

5.广义线性模型是怎被应用在深度学习中?

A Statistical View of Deep Learning (I): Recursive GLMs(http://t.cn/R2VQ5wJ)

深度学习从统计学角度,可以看做递归的广义线性模型。

广义线性模型相对于经典的线性模型(y=wx+b),核心在于引入了连接函数g(.),形式变为:y=g−1(wx+b)。

深度学习时递归的广义线性模型,神经元的激活函数,即为广义线性模型的链接函数。逻辑回归(广义线性模型的一种)的Logistic函数即为神经元激活函数中的Sigmoid函数,很多类似的方法在统计学和神经网络中的名称不一样,容易引起初学者(这里主要指我)的困惑。下图是一个对照表:

6.什麽造成梯度消失问题? 推导一下

Yes you should understand backdrop-Andrej Karpathy(http://t.cn/RI6Qe7t) How does the ReLu solve the vanishing gradient problem?(http://t.cn/RjVxrGG)

神经网络的训练中,通过改变神经元的权重,使网络的输出值尽可能逼近标签以降低误差值,训练普遍使用BP算法,核心思想是,计算出输出与标签间的损失函数值,然后计算其相对于每个神经元的梯度,进行权值的迭代。

梯度消失会造成权值更新缓慢,模型训练难度增加。造成梯度消失的一个原因是,许多激活函数将输出值挤压在很小的区间内,在激活函数两端较大范围的定义域内梯度为0。造成学习停止

以下问题来自匿名用户

1.Weights Initialization. 不同的方式,造成的后果。为什么会造成这样的结果。

几种主要的权值初始化方法: lecun_uniform / glorot_normal / he_normal / batch_normal

lecun_uniform:Efficient BackProp(http://t.cn/RjVX2bi) glorot_normal:Understanding the difficulty of training deep feedforward neural networks (http://t.cn/RjVXVIr) he_normal:Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification(http://t.cn/RjVS5yE) batch_normal:Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift(http://t.cn/RXgFY02)

2.为什么网络够深(Neurons 足够多)的时候,总是可以避开较差Local Optima?

The Loss Surfaces of Multilayer Networks(http://t.cn/RjVCV7A)

3.Loss. 有哪些定义方式(基于什么?), 有哪些优化方式,怎么优化,各自的好处,以及解释。

Cross-Entropy / MSE / K-L散度

4.Dropout。 怎么做,有什么用处,解释。

How does the dropout method work in deep learning?(http://t.cn/RjVoBTT) Improving neural networks by preventing co-adaptation of feature detectors(http://t.cn/RjVWnC0) An empirical analysis of dropout in piecewise linear networks(http://t.cn/RjVWsxB)

5.Activation Function. 选用什么,有什么好处,为什么会有这样的好处。

几种主要的激活函数:Sigmond / ReLU /PReLU

Deep Sparse Rectifier Neural Networks(http://t.cn/RjVlVbG) Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification(http://t.cn/RjVl6Z5)

原文发布于微信公众号 - AI研习社(okweiwu)

原文发表时间:2017-11-21

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大数据文摘

史上最全!27种神经网络简明图解:模型那么多,我该怎么选?

22340
来自专栏机器学习、深度学习

统计学习导论 Chapter3--Linear Regression

Book: An Introduction to Statistical Learning with Applications in R http:...

25170
来自专栏人工智能头条

互联网广告CTR预估新算法:基于神经网络的DeepFM原理解读

CTR(Click-Through-Rate)即点击通过率,是互联网广告常用的术语,指网络广告(图片广告/文字广告/关键词广告/排名广告/视频广告等)的点击到达...

33420
来自专栏腾讯技术工程官方号的专栏

机器学习在HEVC 视频编码中的实践

背景与目标 当前视频编码中应用最广泛的是AVC(H.264),而HEVC(H.265)作为下一代的视频编码算法,在压缩性能上可以再节省40%的码率,优势很明显,...

34980
来自专栏机器学习入门

深度学习系列(1):感知机

深度学习系列(1):感知机 前言 小论文总算告一段落了,近期开始深度学习了,跟着Hinton神经网络公开课边看边总结。视频参考链接如下:https://www....

23580
来自专栏机器之心

教程 | 无监督学习中的两个非概率模型:稀疏编码与自编码器

机器之心整理 作者:Ruslan Salakhutdinov 参与:Smith 「无监督学习」(Unsupervised Learning)现在已经成为深度学习...

35970
来自专栏marsggbo

DeepLearning.ai学习笔记(四)卷积神经网络 -- week2深度卷积神经网络 实例探究

一、为什么要进行实例探究? 通过他人的实例可以更好的理解如何构建卷积神经网络,本周课程主要会介绍如下网络 LeNet-5 AlexNet VGG ResNet ...

23880
来自专栏闪电gogogo的专栏

IEEE Trans 2006 使用K-SVD构造超完备字典以进行稀疏表示(稀疏分解)

K-SVD可以看做K-means的一种泛化形式,K-means算法总每个信号量只能用一个原子来近似表示,而K-SVD中每个信号是用多个原子的线性组合来表示的。 ...

81290
来自专栏企鹅号快讯

详解各种随机算法

转自:JarvisChu 之前将的算法都是确定的,即对于相同的输入总对应着相同的输出。但实际中也常常用到不确定的算法,比如随机数生成算法,算法的结果是不确定的,...

63790
来自专栏机器学习和数学

[高大上的DL] Activation function (激活函数)的初步认识

今天简单认识一下什么激活函数以及都有那些激活函数。说到激活函数这里有几个比较容易混淆的概念,比如Pooling池化和Sampling采样,loss functi...

34180

扫码关注云+社区

领取腾讯云代金券