面试问题收集——卷积神经网络
博主会经常分享自己在人工智能阶段的学习笔记,欢迎大家访问我滴个人博客!(养成系Blog!)
小牛壮士滴Blog~ - 低头赶路 敬事如仪https://kukudelin.top/
01-卷积基础知识
问:简述卷积基本操作,分析其与全连接层的区别
答:卷积操作是卷积神经网络的核心,用于提取数据的局部特征,他的两大特性是局部连接,参数共享。
卷积层通过一个卷积核在输入数据上滑动,逐步将与卷积核对应的元素相乘后求和得到一个标量值,最终生成一个输出特征图,通过局部连接和参数共享,能够高效的提取局部特征,同时减少参数量
而全连接层中的不同神经元是的参数不同,数量较多,计算量也更大。他将卷积层提取的特征进行综合处理,输出最终的预测结果,适合处理一维的特征向量。
问:卷积神经网络中,如何计算各层感受野大小
答:感受野是指网络中某个神经元能够感知到的输入数据的区域大小,感受野越大,神经元能够感知到的输入数据的范围就越广
其中R是感受野,k是卷积核大小,s是步长
问:卷积层,池化层,全连接层的作用是什么?
答:
-
卷积层:提取输入数据的局部特征,通过多层结构逐步提取更高级别的特征。(特征提取)
-
池化层:降低特征图的空间维度,保留重要信息,减少计算量,增强平移不变性。(降维)
-
全连接层:综合处理提取的特征,输出最终的分类或回归结果。(分类)
02-卷积的变种
问:简述分组卷积及其应用场景
答:分组卷积将输入通道分成多个组进行独立的卷积运算,能够显著提高计算效率盒模型的非线性能力
目前分组卷积更多被用来构建用于移动设备的小型网络结构,例如深度可分离卷积
03-卷积神经网络的整体结构
问:简述经典卷积神经网络发展和变迁
答:LeNet:简单的卷积层和池化层堆叠,参数有限,难以处理复杂的图像任务,用于识别手写数字
AlexNet:引入RELU激活函数解决了梯度消失的问题,加速了训练;使用Dropout来防止过拟合;使用GPU对模型进行加速。但是网络较深,参数量巨大
VGG:使用3×3卷积核替代大卷积核,减少了参数量的同时通过堆叠小卷积核增强了模型的非线性能力。但是参数量巨大
GoogLeNet:使用并行的卷积和池化操作的Inception模块增加网络深度和宽度,同时减小参数量;在分类的最后使用全局平均池化提高模型的泛化能力
ResNet:通过残差模块解决了深层网络训练的梯度消失问题,应用批量归一化加速了模型训练过程
04-卷积神经网络基础组件
问:批量归一化是为了解决什么问题?它的参数有什么意义?在网络中一般放在什么位置?☆
答:批量归一化主要用于解决“内部协变量偏移”的问题(训练过程中,每一层的输入分布会随着前面层的参数更新而发生变化。这种输入分布的变化会影响网络的训练速度和稳定性,导致训练过程变得复杂且难以收敛),批量归一化通过归一化每一层的输入,使均值为0,方差为1,从而稳定训练过程,加速收敛,并且一定程度上环节梯度消失和爆炸的问题
BN引入两个参数(在反向传播中更新):缩放参数γ:恢复特征尺度;偏移参数β:恢复特征的偏移
接收上一层输出作为x,经过变换的y输入下一层
位置:激活函数前后
问:用于分类任务的卷积神经网络的最后几层一般是什么层?可以用什么来替代?
答:网络末端一般是全连接层,也可以用全局平均池化来替代,能够使参数量和计算量大大降低,并且具有较好的可解释性