赞
踩
继续上一篇文章,这篇主要记录原博主的关于深度学习部分的试题
二、深度学习部分
(1)MLP的BP过程?delta的意义?每一层节点的残差?
MLP的BP过程:
分别是第j层和第k层输出,是第j层和第k层间的传递矩阵,是k层的输出真值,是第k层误差。
那么E对W的导数,即W的优化梯度方向:
显然导数并不易求,因此做一下变换:
这里又考虑到sigmoid函数的导数为:
带入可得最终结果:
得到了梯度,再将梯度应用至转换矩阵即可完成一次权重更新:
delta的意义:
在公式中并没有出现delta,大胆猜测应该指的就是这里的学习率alpha,这个因子可以调节这些变化的强度,确保不会超调。
每一层节点的残差:
假设上一层的残差为,传递矩阵为,那么该层的残差为:
(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:令为输入,则输出为:
信息熵公式:
(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:
为本次的梯度,可以看到在更新权重时,对更新量附加了一个与更新量成反比的系数,这样在梯度较平坦的地方,权重更新幅度得到加大,避免在平坦地方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)语义分割和实例分割
语义分割:操作像素,标记每个像素所属的标签,不关心具体的类,同一类目标标记为相同的像素
实例分割:输出类别同时标记像素(同时检测并分割),关心目标的类
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。