算法工程师<深度学习基础>

<深度学习基础>html

卷积神经网络,循环神经网络,LSTM与GRU,梯度消失与梯度爆炸,激活函数,防止过拟合的方法,dropout,batch normalization,各种经典的网络结构,各种优化方法算法

一、卷积神经网络工做原理的直观解释api

https://www.zhihu.com/question/39022858网络

简单来讲,在必定意义上,训练CNN就是在训练每个卷积层的滤波器。让这些滤波器组对特定的模式有高的激活能力,以达到CNN网络的分类/检测等目的。机器学习

二、卷积神经网络的复杂度分析函数

https://zhuanlan.zhihu.com/p/31575074性能

三、CNN(卷积神经网络)、RNN(循环神经网络)、DNN(深度神经网络)的内部网络结构有什么区别?学习

https://www.zhihu.com/question/34681168大数据

四、BP算法中为何会产生梯度消失?优化

https://www.zhihu.com/question/49812013

五、梯度降低法是万能的模型训练算法吗?

https://www.zhihu.com/question/38677354

六、LSTM如何来避免梯度消失和梯度爆炸?

https://www.zhihu.com/question/34878706

七、SGD有多种改进的形式(rmsprop、adadelta等),为何大多数论文中仍然用SGD?

https://www.zhihu.com/question/42115548

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

https://www.zhihu.com/question/41631631

九、Adam那么棒,为何还对SGD念念不忘?

https://zhuanlan.zhihu.com/p/32230623

十、全链接层的做用是什么?

https://www.zhihu.com/question/41037974

十一、深度学习中 Batch Normalization为何效果好?

https://www.zhihu.com/question/38102762

十二、为何如今的CNN模型都是在GoogleNet、Vggnet或者Alexnet上调整的?

https://www.zhihu.com/question/43370067

1三、Krizhevsky等人是怎么想到在CNN里面用Dropout和ReLU的?

https://www.zhihu.com/question/28720729

1四、 什么是凸集、凸函数、凸学习问题?

凸集:若对集合C中任意两点u和v,链接他们的线段仍在集合C中,那么集合C是凸集。

公式表示为:αu+(1-α)v∈C α∈[0, 1]

凸函数:凸集上的函数是凸函数。凸函数的每个局部极小值也是全局极小值( f(x) = 0.5x^2 )。

公式表示为:f(αu + (1-α)v) ≤ αf(u)+ (1-α)f(v)
1五、L0、L一、L2正则化?

L0范数:计算向量中非0元素的个数。

L1范数:计算向量中各元素绝对值之和。

L2范数:计算向量中各元素平方和的开方。

L0范数和L1范数目的是使参数稀疏化。L1范数比L0范数容易优化求解。

L2范数是防止过拟合,提升模型的泛化性能。

1六、无监督学习方法有哪些?

强化学习、K-means 聚类、自编码、受限波尔兹曼机

1七、对空洞卷积(dilated convolution)的理解?

基于FCN的语义分割问题中,需保持输入图像与输出特征图的size相同。

若使用池化层,则下降了特征图size,需在高层阶段使用上采样,因为池化会损失信息,因此此方法会影响致使精度下降;

若使用较小的卷积核尺寸,虽能够实现输入输出特征图的size相同,但输出特征图的各个节点感觉野小;

若使用较大的卷积核尺寸,因为需增长特征图通道数,此方法会致使计算量较大;

因此,引入空洞卷积(dilatedconvolution),在卷积后的特征图上进行0填充扩大特征图size,这样既由于有卷积核增大感觉野,也由于0填充保持计算点不变。
1八、增大感觉野的方法?
空洞卷积、池化操做、较大卷积核尺寸的卷积操做

1九、卷积层中感觉野大小的计算?

卷积层的感觉野大小与其以前层的卷积核尺寸和步长有关,与padding无关。基于从深层向浅层递归计算的方式。计算公式为:Fj-1 = Kj + (Fj - 1)*Sj(最后一层特征图的感觉野大小是其计算卷积核大小)

20、梯度降低法和牛顿法的优缺点?

优势:

梯度降低法:可用于数据量较大的状况;

牛顿法:收敛速度更快;

缺点:

梯度降低法:每一步可能不是向着最优解的方向;

牛顿法:每次迭代的时间长;须要计算一阶和二阶导数;

2一、解决训练样本类别不平衡问题?

现象:训练样本中,正负样本数量的比例较大。

1. 过采样。增长正例样本数量,使得正负样本数量接近,而后再进行学习。

2. 欠采样。去除反例样本数量,使得正负样本数量接近,而后再进行学习。

3. 设置阈值。基于原始数据集学习,当使用已训练好的分类器进行预测时,将正负样本数量的比例做为阈值嵌入到决策过程当中。
2二、各个激活函数的优缺点?

Sigmoid激活函数 缺点:

1. 不是关于原点对称;

2. 须要计算exp

Tanh 激活函数 优势:

1. 关于原点对称

2. 比sigmoid梯度更新更快

ReLU激活函数 优势:

1. 神经元输出为正时,没有饱和区

2. 计算复杂度低,效率高

3. 在实际应用中,比sigmoid、tanh更新更快

4. 相比于sigmoid更加符合生物特性

Leaky ReLU激活函数 优势:

1. 解决了ReLU激活函数Dead ReLU问题;

Maxout激活函数max(w1*x+b1,w2*x+b2)  缺点:

2. 参数较多;

2三、神经网络的正则化方法?/过拟合的解决方法?

数据加强(镜像对称、随机裁剪、旋转图像、剪切图像、局部弯曲图像、色彩转换)

early stopping(比较训练损失和验证损失曲线,验证损失最小即为最优迭代次数)

L2正则化(权重参数的平方和)

L1正则化(权重参数的绝对值之和)

dropout 正则化(设置keep_pro参数随机让当前层神经元失活)
2四、目标检测领域的常见算法?

两阶段检测器:R-CNN、Fast R-CNN、Faster R-CNN

单阶段检测器:YOLO、YOLO9000、SSD、DSSD、RetinaNet

2五、Batch Normalization如何实现?做用?

实现过程

计算训练阶段mini_batch数量激活函数前结果的均值和方差,而后对其进行归一化,最后对其进行缩放和平移。

做用

1. 限制参数对隐层数据分布的影响,使其始终保持均值为0,方差为1的分布;

2. 削弱了前层参数和后层参数之间的联系,使得当前层稍稍独立于其余层,加快收敛速度;

3. 有轻微的正则化效果。
2六、Momentum优化算法原理?做用?

原理:在梯度降低算法中引入指数加权平均数,在更新梯度方向的过程当中,在必定程度上保留了以前梯度更新的方向,同时利用当前mini_batch的梯度方向微调最终的更新方向。

做用:在必定程度上增长梯度更新方向的稳定性,从而使得收敛速度更快。

2七、群卷积?

假设上一层的特征图通道数为N,群卷积数目为M,则每一个群卷积层上的特征图通道数为N/M,而后将其分配在不一样的GPU上,待卷积完成后将输出叠加在一块儿。

2八、反卷积?

卷积的逆过程,GANs基于反卷积操做生成图片。

2九、梯度消失和梯度爆炸?

缘由:激活函数的选择。

梯度消失:令bias=0,则神经网络的输出结果等于各层权重参数的积再与输入数据集相乘,若参数值较小时,则权重参数呈指数级减少。

梯度爆炸:令bias=0,则神经网络的输出结果等于各层权重参数的积再与输入数据集相乘,若参数值较大时,则权重参数呈指数级增加。
30、质数与互质数

质数是能被1和其自己整除的数;好比2,3,5,7是质数;

互质数是两个数的公因数只有一个1的数;好比8和九、27和32是互质数;

3一、生成模型和判别模型

生成方法是首先基于数据学习联合几率分布P(X,Y),而后得到条件几率分布P(Y|X)做为预测模型。

 

经常使用模型:隐马尔可夫模型(HMM)、朴素贝叶斯

判别方法是直接基于数据学习到决策函数F或条件几率分布P(Y|X)做为预测模型。

经常使用模型:支持向量机、K近邻算法、决策树、逻辑回归、感知机、最大熵等
3二、从贝叶斯的角度来看,正则化等价于对模型参数引入先验分布,谈谈你对正则化的理解,而且阐述引入L2和L1分别对应什么分布。

正则化的理解:正则化是在损失函数中加入对模型参数的惩罚项,以平衡因子lamda控制惩罚力度,其经过在训练过程当中下降参数的数量级,从而下降模型的过拟合现象。

从贝叶斯的角度来看,正则化等价于对模型参数引入先验分布:对参数引入高斯先验分布等价于L2正则化,对参数引入拉普拉斯分布等价于L1正则化。
3三、从变换矩阵和变换效果等方面阐述类似变换、仿射变换、投影变换的区别。

等距变换:图像旋转+平移

类似变换:图像旋转+平移+缩放(放大或缩小原图)

仿射变换:图像旋转+平移+缩放+切变(虽改变图像的形状,但未改变图像中的平行线)

投影变换:图像旋转+平移+缩放+切变+射影(不只改变了图像的形状,并且改变了图像中的平行线)

3四、 HOG特征的计算流程

直方图:横轴:间隔,纵轴为各间隔统计值的个数。特色1:显示此数据的的分布状况;特色2:显示各组统计数据的差别;

HOG(histogram of oriented gradient)经过得到局部区域像素的梯度直方图来构成特征。

1. 转化为灰度图;

2. 图像的归一化;

3. 计算各个像素的梯度;

4. 将图像划分为cell(6*6个像素是一个cell)

5. 计算cell区域的梯度直方图(统计各个梯度的数量),构成cell的discripter

6. 将cell划分为block(3*3个cell是一个block),串联block内的cell discripter便可获得此区域的HOG特征discripter

7. 将一幅图像中的Hog discripter串联就是用于分类的特征向量;
3五、简述回归,分类,聚类方法的区别和联系并分别举出一个例子,简要介绍算法思路

回归:对连续随机变量建模预测的监督学习算法;经典案例:房价预测;算法举例:线性回归,创建数据的拟合曲线做为预测模型(y = wx + b);

分类:对离散随机变量建模预测的监督学习算法;经典案例:垃圾邮件分类;算法举例:支持向量机,寻找二类支持向量的最大切分超平面;

聚类:基于数据的内部规律,寻找其属于不一样族群的无监督学习算法;算法举例:k-means;
3六、列举至少三种损失函数,写出数学表达式并简述各自优势

https://blog.csdn.net/heyongluoyao8/article/details/52462400 

0-1损失 感知机损失 绝对值损失

平方偏差损失(线性回归)

对数损失(逻辑回归)

指数损失(Adaboost)

铰链损失(SVM)

3七、分类问题的评价标准

准确率 = (TP+TN)/总样本数

精确率 = TP/(TP+FP) = 全部预测为正类样本中正类的几率

召回率 = TP/(TP+FN) = 全部真正类样本中正类的几率

2/调和平均值 = 1/精确率+1/召回率

P-R曲线:纵轴为精确率,横轴为召回率,基于平衡点(P=R)度量各个基分类器的优劣;

ROC曲线:纵轴为TPR,横轴为FPR

TPR = TP/(TP+FN)  FPR = FP/(FP+TN)

AUC:ROC曲线下的面积

mAP = 全部类别的AP之和/类别数量

P = (一张图片类别C识别正确数量)/(一张图片类别C的总数量)

AP = 每张图片的P之和/图片数量
3八、回归问题的评价指标

平均绝对值偏差(MAE)

均方差(MSE)

3九、逻辑回归和SVM的区别和联系

1.损失函数不一样,LR损失函数是对数损失;SVM损失函数是hinge损失;参考https://www.cnblogs.com/daguankele/p/6652597.html

2.LR考虑了全部点的损失,但经过非线性操做大大减少离超平面较远点的权重;SVM仅考虑支持向量的损失

3.LR受类别平衡的影响;SVM则不受类别平衡的影响;

4.LR适合较大数据集;SVM适合较小数据集

40、深度学习为何在计算机视觉领域这么好

以目标检测为例,传统的计算机视觉方法需首先基于经验手动设计特征,而后使用分类器分类,这两个过程都是分开的。而深度学习里的卷积网络可实现对局部区域信息的提取,得到更高级的特征,当神经网络层数越多时,提取的特征会更抽象,将更有助于分类,同时神经网路将提取特征和分类融合在一个结构中。

4一、 Bagging和Boosting之间的区别?

1.从样本选择角度:

Bagging采用随机有放回的采样方式(Boostraping);Boosting使用全部样本,但每一个样本的权重不一样;

2.从决策方式角度:

Bagging分类预测采用大多数投票选举法,回归预测采用各基分类器预测结果的平均值;Boosting采用各基分类器在不一样权重做用下预测结果的累加和;

3.从方差、误差角度:

Bagging以减少方差为目的;Boosting以减小误差为目的;

模型过拟合,则方差大,Bagging以随机采样样本的方式减小异常样本的选择比例,从而能够下降过拟合,随之也就减少了方差;

Boosting的损失函数就是以减小误差为目的来训练下一个基分类器;

4.从权重角度:

Bagging各个样本的权重相同,各个基分类器权重相同;Boosting各个样本的权重不一样,正确预测的样本权重减少,错误预测的样本权重增大;各个基分类器的权重不一样,预测准确率高的权重大,预测准确率低的权重小;
4二、经常使用的池化操做有哪些?

1.Max pooling:选取滑动窗口的最大值

2.Average pooling:平均滑动串口的全部值

3.Global average pooling:平均每页特征图的全部值

优势:

1.解决全链接层所形成的过拟合问题

CNN网络须要将特征图reshape成全链接层,而后再链接输出层,而global average pooling不须要此操做,直接将特征图pooling成输出层

2.没有权重参数
4三、朴素贝叶斯的朴素是什么意思?

朴素指的是各个特征之间相互独立。

4四、1*1卷积核的做用?

1.跨通道信息的融合;

2.经过对通道数的降维和升维,减小计算量;

4五、 随机森林的随机性指的是?

1.决策树训练样本是有放回随机采样的;

2.决策树节点分裂特征集是有放回随机采样的;

4六、 随机森林和GBDT算法的区别?

1.并行和串行

随机森林是并行算法,GBDT算法是串行算法

2.决策方式

随机森林分类问题采用大多数投票选举法,回归问题采用各基分类器结果的平均值;GBDT算法采用各基分类器预测结果的累加和;

3.样本选择

随机森林各基分类器采用有放回随机采样的方式;GBDT则使用全部的样本;

4.误差、方差

随机森林经过下降方差提升性能;GBDT经过下降误差提升性能;

5.异常值

随机森林对异常值不敏感;GBDT对异常值敏感;
4七、为何ReLU经常使用于神经网络的激活函数?

1.在前向传播和反向传播过程当中,ReLU相比于Sigmoid等激活函数计算量小;

2.在反向传播过程当中,Sigmoid函数存在饱和区,若激活值进入饱和区,则其梯度更新值很是小,致使出现梯度消失的现象。而ReLU没有饱和区,可避免此问题;

3.ReLU可令部分神经元输出为0,形成网络的稀疏性,减小先后层参数对当前层参数的影响,提高了模型的泛化性能;
4八、卷积层和全链接层的区别?

1.卷积层是局部链接,因此提取的是局部信息;全链接层是全局链接,因此提取的是全局信息;

2.当卷积层的局部链接是全局链接时,全链接层是卷积层的特例;

4九、误差和方差的区别?

误差是真实值和预测值之间的偏离程度;方差是预测值得分散程度,即越分散,方差越大;

50、机器学习和深度学习的区别?

机器学习在训练模型以前,须要手动设置特征,即须要作特征工程;深度学习可自动提取特征;因此深度学习自动提取的特征比机器学习手动设置的特征鲁棒性更好;

5一、神经网络的优缺点?

优势:

1.拟合复杂的函数

随着神经网络层数的加深,网络的非线性程度愈来愈高,从而可拟合更加复杂的函数;

2.结构灵活

神经网络的结构可根据具体的任务进行相应的调整,选择适合的网络结构;

3.神经网络可自动提取特征,比人工设置的特征鲁棒性更好;

缺点:

1.因为神经网络强大的假设空间,使得神经网络极易陷入局部最优,使得模型的泛化能力较差;

2.当网络层数深时,神经网络在训练过程当中容易产生梯度消失和梯度降低的问题;

3.随着网络层数的加深,神经网络收敛速度愈来愈慢;

4.神经网络训练参数多,占用内存大;
5二、 解决过拟合的方法

1.数据加强

2.Ealy stopping

3.Dropout

4.交叉验证

5.L一、L2正则化

相关文章
相关标签/搜索