前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >面试宝典之深度学习面试题(上)

面试宝典之深度学习面试题(上)

作者头像
小小詹同学
发布2019-05-05 15:14:24
7890
发布2019-05-05 15:14:24
举报
文章被收录于专栏:小詹同学小詹同学

本文转载自“Python全家桶

金三银四是一年找工作的最好时机,都忙着找工作。找工作就少不了面试,面试就少不做被问各面试题。为了避免大家少走弯路,乘此机会,小编就将平时手里搜集的一些面试题整理出来,分享给大家,希望可以对正在找工作的人有所帮助。

由于面试不同的Python岗位,对面试者要求的能力也不一样,当然问到的问题方向也会有很大差别,为了照顾到不同读者的需求,计划将搜集的这些问题按照不同的方向整理出来。这里准备有20道AI方向的题,今天先分享10道。

1.梯度下降算法的一般步骤

代码语言:javascript
复制
答:用随机值初始化权重和偏差--->>将输入传入网络,得到输出--->>计算预测值与真实值之间的误差--->>对每一个产生误差的神经元,调整相应的(权重)值以减小误差--->>重复迭代,直至得到网络权重的最佳值
2.CNN卷积核是单层的还是多层的?

答:一般而言,深度卷积网络是一层又一层的。层的本质是特征图, 存贮输入数据或其中间表示值。一组卷积核则是联系前后两层的网络参数表达体,

训练的目标就是每个卷积核的权重参数组。

描述网络模型中某层的厚度,通常用名词通道channel数或者特征图feature map数。不过人们更习惯把作为数据输入的前层的厚度称之为通道数

(比如RGB三色图层称为输入通道数为3),把作为卷积输出的后层的厚度称之为特征图数。

卷积核(filter)一般是3D多层的,除了面积参数, 比如3x3之外, 还有厚度参数H(2D的视为厚度1). 还有一个属性是卷积核的个数N。

卷积核的厚度H, 一般等于前层厚度M(输入通道数或featuremap数). 特殊情况M > H。

卷积核的个数N, 一般等于后层厚度(后层featuremaps数,因为相等所以也用N表示)。

卷积核通常从属于后层,为后层提供了各种查看前层特征的视角,这个视角是自动形成的。

卷积核厚度等于1时为2D卷积,对应平面点相乘然后把结果加起来,相当于点积运算;

卷积核厚度大于1时为3D卷积,每片分别平面点求卷积,然后把每片结果加起来,作为3D卷积结果;1x1卷积属于3D卷积的一个特例,有厚度无面积,

直接把每片单个点乘以权重再相加。

归纳之,卷积的意思就是把一个区域,不管是一维线段,二维方阵,还是三维长方块,全部按照卷积核的维度形状,对应逐点相乘再求和,浓缩成一

个标量值也就是降到零维度,作为下一层的一个feature map的一个点的值

2D卷积表示渔夫的网就是带一圈浮标的渔网,只打上面一层水体的鱼;

3D卷积表示渔夫的网是多层嵌套的渔网,上中下层水体的鱼儿都跑不掉;

1x1卷积可以视为每次移位stride,甩钩钓鱼代替了撒网;

下面解释一下特殊情况的 M> H:

实际上,除了输入数据的通道数比较少之外,中间层的feature map数很多,这样中间层算卷积会累死计算机(鱼塘太深,每层鱼都打,需要的

鱼网太重).所以很多深度卷积网络把全部通道/特征图划分一下,每个卷积核只看其中一部分(渔夫A的渔网只打捞深水段,渔夫B的渔网只打捞浅水段)。

这样整个深度网络架构是横向开始分道扬镳了,到最后才又融合。这样看来,很多网络模型的架构不完全是突发奇想,而是是被参数计算量逼得。特

别是现在需要在移动设备上进行AI应用计算(也叫推断), 模型参数规模必须更小, 所以出现很多减少握手规模的卷积形式, 现在主流网络架构大都如此

3.全连接层的作用:

:在CNN结构中,经多个卷积层和池化层后,连接着1个或1个以上的全连接层.与MLP类似,全连接层中的每个神经元与其前一层的所有神经元进行中全连接.全连接层可以整合卷积层或者池化层中具有类别区分性的局部信息.为了提升 CNN网络性能,全连接层每个神经元的激励函数一般采用ReLU函数。最后一层全连接层的输出值被传递给一个输出,可以采用softmax逻辑回归(softmax regression)进行 分 类,该层也可 称为 softmax层(softmax layer).

对于一个具体的分类任务,选择一个合适的损失函数是十分重要的,CNN几种常用的损失函数并分析了它们各自的特点.通 常,CNN的全连接层与MLP 结构一样,CNN的训练算法也多采用BP算法。

4.卷积神经网络的卷积是什么意思?

答:对图像(不同的数据窗口数据)和滤波矩阵(一组固定的权重:因为每个神经元的多个权重固定,所以又可以看做一个恒定的滤波器filter)做内积(逐个元素相乘再求和)的操作就是所谓的『卷积』操作,也是卷积神经网络的名字来源

5.简单介绍一下tensorflow的计算流图?

答:Tensorflow是一个通过计算图的形式来表述计算的编程系统,计算图也叫数据流图,可以把计算图看做是一种有向图,Tensorflow中的每一个节点都是计算图上的一个Tensor, 也就是张量,而节点之间的边描述了计算之间的依赖关系(定义时)和数学操作(运算时)

6.你有哪些deep learning(rnn、cnn)调参的经验?

答:1.参数初始化; 2.参数预处理方式; 3.训练技巧; 4.尽量对数据进行shuffle; 5.Ensemble

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

答:以上几个不相关的问题的相关性在于,都是存在局部与整体的关系,由低层次的特征经过组合,组成高层次的特征,并且得到不同特征之间的空间相关性

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

局部连接:使网络可以提取数据的局部特征;

权值共享:大大降低了网络的训练难度,一个filter只提取一个特征,在整个图片(或者语音、文本)中进行卷积;

池化操作:与多层次结构一起,实现了数据的降维,将低层次的局部特征组合为较高层次的特征,从而对整个图片进行表示

8.LSTM结果推导,为什么比RNN好?

答:推导forget gate, input gate, cell state, hidden information等的变化;因为LSTM有进有出且当前的cellinformation是通过input gate控制之后叠加的,RNN是叠乘,因此LSTM可以防止梯度消失或者梯度爆炸

9.sigmoid、Tanh、 Relu这三个激活函数有什么缺点或者不足,有没改进的激活函数?

答:relu函数:梯度弥散没有完全解决,神经元死亡问题

解决方案:LeakyRelu 解决了神经死亡问题

Maxout:参数较多,本质上是在输出结果上又增加了一层 克服了relu的缺点,比较提倡使用

10.为什么要引入非线性激励函数?

答:1.对于神经网络来说,网络的每一层相当于f(wx+b)=f(w'x),对于线性函数,其实相当于f(x)=x,那么在线性激活函数下,每一层相当于用一个矩阵

去乘以x,那么多层就是反复的用矩阵去乘以输入。根据举证的乘法法则,多个矩阵相乘得到一个大的矩阵。所以线性激励函数下,多层网络与一层网络相当。

比如:两层的网络f(w1*f(w2x)) = W1W2x = Wx

2.非线性变换是深度学习有效的原因之一。原因在于非线性相当于对空间进行变换,变换完成之后相当于对问题空间进行简化,原来线性不可解的问题现

在变得可以解了

3.如果不用激励函数(其实相当于激励函数是f(x)=x),在这种情况下,你的每一层输出都是上层输入的线性函数,很容易验证,无论你神经网络多少层,

输出都是输入的线性组合,与没有隐藏层效果相当,这种情况就是最原始的感知机了

正因为上面的原因,我们决定引入非线性函数作为激励函数,这样深层神经网络就有意义了(不再是输入的线性组合,可以逼近任意函数)。最早的想法是

sigmoid函数或者tanh函数,输出有界,很容易充当下一层输入

今天就先介绍这10道面试题,要是感觉本文不错,欢迎大家点赞转发。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-04-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小詹学Python 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.梯度下降算法的一般步骤
  • 3.全连接层的作用:
  • 4.卷积神经网络的卷积是什么意思?
  • 5.简单介绍一下tensorflow的计算流图?
  • 6.你有哪些deep learning(rnn、cnn)调参的经验?
  • 7.CNN最成功的应用是在CV,那为什么NLP和Speech的很多问题也可以用CNN解出来?为什么AlphaGo里也用了CNN?这几个不相关的问题的相似性在哪里?CNN通过什么手段抓住了这个共性?
  • 8.LSTM结果推导,为什么比RNN好?
  • 9.sigmoid、Tanh、 Relu这三个激活函数有什么缺点或者不足,有没改进的激活函数?
  • 10.为什么要引入非线性激励函数?
相关产品与服务
图像处理
图像处理基于腾讯云深度学习等人工智能技术,提供综合性的图像优化处理服务,包括图像质量评估、图像清晰度增强、图像智能裁剪等。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档