图像处理CV/ML/DL 面试题整理 (二)

继续上一篇文章,这篇主要记录原博主的关于深度学习部分的试题

二、深度学习部分

(1)MLP的BP过程?delta的意义?每一层节点的残差?

MLP的BP过程:

{O_{j}} , {O_{k}}分别是第j层和第k层输出,{W_{jk}}是第j层和第k层间的传递矩阵,^{t_{k}}是k层的输出真值,E = {t_{k}} - {O_{k}}是第k层误差。

那么E对W的导数,即W的优化梯度方向:

\frac{\partial E}{\partial {W_{jk}}} = \frac{\partial }{\partial {W_{jk}}} \left ( {t_{k}} - {O_{k}} \right )^{2}

显然导数并不易求,因此做一下变换:

\frac{\partial E}{\partial {W_{jk}}} = \frac{\partial E}{\partial {O_{k}}} \cdot \frac{\partial {O_{k}}}{\partial {W_{jk}}} = -2\cdot ({t_{k}} - {O_{k}}) \cdot \frac{\partial {O_{k}}}{\partial {W_{jk}}} = -2\cdot ({t_{k}} - ^{O_{k}}) \cdot \frac{\partial }{\partial {W_{jk}}} sigmoid(\sum_{j}^{ } W_{jk}\cdot O_{j})

这里又考虑到sigmoid函数的导数为:

{\frac{\partial }{\partial x}} sigmoid(x) = sigmoid(x) \cdot (1 - sigmoid(x))

带入可得最终结果:

\frac{\partial E}{\partial {W_{jk}}} = -2\cdot ({t_{k}} - {O_{k}}) \cdot sigmoid(\sum_{j}^{ } W_{jk}\cdot O_{j}) \cdot (1 - sigmoid(\sum_{j}^{ } W_{jk}\cdot O_{j})) \cdot O_{j}

得到了梯度,再将梯度应用至转换矩阵即可完成一次权重更新:

W_{jk} = W_{jk} - \alpha \cdot \frac{\partial E}{\partial W_{jk}}

delta的意义:

在公式中并没有出现delta,大胆猜测应该指的就是这里的学习率alpha,这个因子可以调节这些变化的强度,确保不会超调。

每一层节点的残差:

假设上一层的残差为E_{k},传递矩阵为W_{jk},那么该层的残差E_{j}为:

{E_{j}} = W_{jk}^{T} \cdot {E_{k}}

(2)max pool层怎么做的?

整个图片被不重叠的分割成若干个同样大小的小块(pooling size)。每个小块内只取最大的数字,再舍弃其他节点后,保持原有的平面结构得出 output。

(3)反卷积过程(转置卷积)?

先对原图用0进行扩充,扩充完成后再使用某尺寸的卷积核在扩充图上进行卷积,输出卷积结果。

(4)单个神经元是否线性可分

是否线性可分是对于样本集的;线性可分是数据集合的性质,和分类器没啥关系。

可以通过线性函数分类的即为线性可分。

(5)深度学习模型的发展?深度学习的评价标准?

AlexNet-->GoogleNet,VggNet-->ResNet-->GAN-->DQN

准确率 (Accuracy),精确率(Precision),召回率(Recall),平均正确率(AP),mean Average Precision(mAP),交除并(IoU)。

(6)强化学习应用场景和方法?

应用与方法:

1、控制类:机械臂控制、视频游戏(CNN获取图像信息,提取特征信息等处理),无人驾驶等

2、文本序列预测,机器翻译等

3、推荐系统

(7)adaboost和cascade adaboost?损失函数有哪些?

adaboost:将多个弱分类器合并成为一个强分类器。

cascade adaboost:将多个adaboost分类器串联起来,第一个分类器分类为true则再用第二个分类器进行分类,为false则直接丢掉,这样就可以把错误率成指数倍降低,而且加快了运算速度,如果前一个分类器没有通过,则直接省掉了后续的分类器计算,直接pass掉了。

损失函数这里不知道是指什么,难道是弱分类器训练过程中的loss?

(8)目标检测的三种方法?

RCNN:two-stage类型,分提取目标框与模式识别两块

YOLO:one-stage类型,将回归边框与模式识别全部交由最后一层特征图利用两个不同的3x3的卷积核卷积给出

SSD:one-stage类型,在不同特征层中完成回归与识别,同时引入anchor机制

(9)目标检测常用的网络,RCNN, SPP, Fast RCNN, Faster RCNN的区别?

RCNN:先选取很多的候选框,再对每个候选框送入卷积网络得到特征图进行识别,将属于同一类别的候选框进行回归合并。

fast RCNN:也是提取很多的候选框,不过之后对整个图送入卷积网络提取得到特征图,然后再将候选框投影在特征图上得到候选框选中部分的特征图,之后进行识别回归,这样就只需要对一副整图使用卷积网络提取一次特征,速度快了许多。

SPP:与fast RCNN的区别就是支持不同尺寸的图片输入,通过池化来自适应图片尺寸。

faster RCNN:在fast RCNN基础上,将提取候选框的任务交给了RPN神经网络,不再应用图像像素分割的方式。

(10)softmax公式?信息熵公式?

softmax:令{Z_{i}}为输入,则输出为:\frac{e^{Z_{i}}}{\sum_{j}^{ } e^{Z_{j}}}

信息熵公式:- \sum_{i = 1}^{ n } p(x_{i}) \cdot log_{2}(p(x_{i}))

(11)训练时,mini-batch与GPU的内存匹配

训练网络时的mini batch是由GPU的内存决定的。

(12)batch normalization

gamma和beta初始化为1和0,然后在训练中优化他们

BN可以减少dropout

(13)当训练到最后,loss值很大,但精度在上升

说明loss变化很小,需要增大学习率

(14)梯度爆炸(loss发散,出现nan)

解决方法,减小学习率或者增大batch,当然也需要注意loss定义中的log函数要有避免出现log0的措施、

(15)如果loss开始一直不变,但是从某点开始下降的原因

因为初始值选定的不好,错误的初始值会让梯度一开始接近0。

(16)优化策略比较

SGD:随机选择一定的样本进行权重更新,运算速度快

Momentum updata:

保持一定的动量,即本次的权重更新值也与上一次的更新值有关,也就是保持上一次更新的惯性,利于打破局部最优

AdaGrad:

g_{t}为本次的梯度,可以看到在更新权重时,对更新量附加了一个与更新量成反比的系数,这样在梯度较平坦的地方,权重更新幅度得到加大,避免在平坦地方loss徘徊不前,但是在梯度较大的地方则相应减缓。

AdaDelta:

从上面的公式可以看出,这个优化方法的学习率不需要人为的设定,是通过计算delta来自己获得的,也就是学习率正比于梯度,同时又引用了AdaGrad的方法,在更新量前加了反比于梯度的系数。

RMSProp:

这就是人为确定学习率的AdaDelta,在非凸效果下更好。

Adam:

可以看到,Adam就是将momentum和RMSProp结合起来的一个优化方法。

(17)Cross entropy loss 和sigmod Cross entropy loss的区别

后者在计算交叉熵之前将预测值先过了一下sigmoid函数

(18)没有隐藏层的神经网络是线性的,只能处理线性可分的问题(线性可分问题从二维角度看,即分界线是一条直线,多维就是存在线性超平面将其分类)

考虑到没有隐藏层的神经网络就相当于一个回归模型,回归模型只能处理线性可分的问题。

(19)卷积神经网络中,在没有zero-padding的情况下,当输入为7*7,filter为3*3,stride为3时,会怎么样?

应该是变成2*2的输出

(20)定位和检测的区别

区别在于要找的目标的数量;

对于定位,图像中只有一个或一种对象,用框标出对象的位置

对于检测,图像中有多个目标或多种对象。

(21)数据不足时怎么办

通过翻转、旋转、添加高斯噪声等方式进行样本扩充,或者可以用对抗神经网络生成样本?

(22)goolenet和resnet中用到的结构

GooleNet:

采用1X1的卷积层来跨通道组织信息,提高表达能力,同时完成通道的升降维。

采用1X3卷积和3X1卷积核来代替3X3卷积核,减少参数量

ResNet:

通过一些旁路的支线直接将输入传到后面的层,使得后面的层可以直接学习残差,保护信息的完整性。

(23)CNN中 卷积的实现

傅里叶变换可以用于大卷积核的卷积运算,将卷积化为乘法。

(24)语义分割和实例分割

语义分割:操作像素,标记每个像素所属的标签,不关心具体的类,同一类目标标记为相同的像素

实例分割:输出类别同时标记像素(同时检测并分割),关心目标的类

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值