深度学习相关的职位面试时一般会问什么?会问一些传统的机器学习算法吗?


以下是对应深度学习最常问的问题
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只提取一个特征 。在整个图片(或者语音/文本) 中进行卷积;池化操作与多层次结构一起 。实现了数据的降维 。将低层次的局部特征组合成为较高层次的特征 。从而对整个图片进行表示 。如下图:
深度学习相关的职位面试时一般会问什么?会问一些传统的机器学习算法吗?

文章插图
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更适合特征的提取 。
3.对所有优化问题来说, 有没有可能找到比現在已知算法更好的算法?
没有免费的午餐定理:
深度学习相关的职位面试时一般会问什么?会问一些传统的机器学习算法吗?

文章插图
对于训练样本(黑点) 。不同的算法A/B在不同的测试样本(白点)中有不同的表现 。这表示:对于一个学习算法A 。若它在某些问题上比学习算法 B更好 。则必然存在一些问题 。在那里B比A好 。
也就是说:对于所有问题 。无论学习算法A多聪明 。学习算法 B多笨拙 。它们的期望性能相同 。
但是:没有免费午餐定力假设所有问题出现几率相同 。实际应用中 。不同的场景 。会有不同的问题分布 。所以 。在优化算法时 。针对具体问题进行分析 。是算法优化的核心所在 。
4.何为共线性, 跟过拟合有啥关联?
共线性:多变量线性回归中 。变量之间由于存在高度相关关系而使回归估计不准确 。
共线性会造成冗余 。导致过拟合 。
解决方法:排除变量的相关性/加入权重正则 。
5.广义线性模型是怎被应用在深度学习中?
深度学习从统计学角度 。可以看做递归的广义线性模型 。
广义线性模型相对于经典的线性模型(y=wx+b) 。核心在于引入了连接函数g(.) 。形式变为:y=g?1(wx+b) 。
深度学习时递归的广义线性模型 。神经元的激活函数 。即为广义线性模型的链接函数 。逻辑回归(广义线性模型的一种)的Logistic函数即为神经元激活函数中的Sigmoid函数 。很多类似的方法在统计学和神经网络中的名称不一样 。容易引起初学者(这里主要指我)的困惑 。下图是一个对照表:
深度学习相关的职位面试时一般会问什么?会问一些传统的机器学习算法吗?

文章插图

    推荐阅读