1 名词解释
卷积神经网络: 是一类包含卷积计算且具有深度结构的前馈神经网络,其隐藏层包含卷积核参数共享,减少网络参数量,包含输入层(标准化输入数据)、卷积层(卷积核、激活函数、池化层、全连接层)、输出层(归一化指数函数softmax输出)。
循环神经网络:运用于序列数据建模,一类以序列数据为输入,在序列演进方向进行递归且所有节点按照链式连接的递归神经网络,其核心部分是有向图,有向图展开以相连的元素称为循环单元。
奇异值分解:
交叉熵:
深度信念网络:
受限玻尔兹曼机:
2 简答题
1. 简述反向传播算法思想,并用图和公式说明其过程;
利⽤输出层的误差,来估计输出层前⼀层的误差,再利⽤这个误差来估计更前⼀层的误
差,依此逐层反传;
利⽤梯度下降法,基于逐层计算的误差估计,对权重进⾏调节;
损失函数有: 绝对值损失;0-1损失;平⽅误差;对数损失;交叉熵;指数损失;
反向传播过程:
(1)定义⽬标函数(损失函数)
(2)优化目标,最小化
(3) , 保证每次取值
(4)每步参数的调整:,
是梯度,一只调整直到梯度为0,参数初值设置影响学习效果,学习率不能过大或者过小;
参数的更新过程:
2. 什么是过拟合和欠拟合?如何解决这两种问题?
过拟合: 模型能够很好的拟合训练样本,而无法很好的拟合测试样本,从而导致模型泛华能力不足;
过拟合解决方案: 增加训练数据,降低模型复杂度,正则化;
欠拟合: 模型还没有很好地训练出数据的一般规律,模型拟合程度不高,在训练集和测试集上都没有很好的 表现;
欠拟合解决方案: 增加节点深度,增加神经元个数,换用更复杂的模型,调整参数;
3. 请简述YOLO算法的主要思想和实现过程;
在Yolo之前,目标检测算法一般通过算法生成候选区域,然后在数量众多候选区域中做目标分类和bbo位置回归,还有更早的方法通过滑动窗口的形式去挨个预测与判断;
主要思想: 端到端,基于整个图片来预测的,会一次性输出所有检测到的目标信息,包括类别和位置;
实现过程:
(1)输入图片,分割图片(s*s)个网格,如果目标中心点落在网格中,那么对应的网格负责这个目标的大小和类别; 每个网格的目标预测:检测B个bbox及置信度:
但是需要注意的是,如果一个网格它并不包含目标,那么 P r ( o b j ) Pr(obj)Pr(obj) 就等于 0,反之等于 1,所以,C 等同于预测出来的 bbox 同 groundtruth 的 IOU。
每一个 bbox 由 5 个预测量组成:x、y、w、h、confidence。
x,y 是 bbox 中心点相对于对应网格的偏移量比例,并且它们的取值是 0 ~ 1 之间,也就是它们有相对于网格的尺寸做归一化处理。
同样,w、h 都有经过归一化,因此它们的值都在 0 ~ 1 之间。
w 和 h 是 bbox 相对于整张图片尺寸的比例。
(2)YOLO的网络设计结构:
YOLO 有 24 个卷积层,然后后面跟着 2 个全连接层
YOLO 最终的预测输出就是一个 7x7x30 的 tensor
4. 请简述GRU网络的主要思想,并用图和公式表达其计算过程;
5. 请简述胶囊网络的主要思想,并用图和公式表述其计算过程;
6. 请简述生成对抗网络的主要原理,并用公式表达其目标函数;
3 计算题
1. 请使用卷积神经网络中的Full卷积,Same卷积、Valid卷积分别计算下图所示的输入矩阵和卷积核对应的特征图,卷积步长为1,激活函数采用Relu。
#vaild卷积
tensor([[[[-10, 8, -8, -12],
[ 5, -8, -4, -8],
[-17, -3, 1, -6],
[ 0, -10, -1, 2]]]])
tensor([[[[0, 8, 0, 0],
[5, 0, 0, 0],
[0, 0, 1, 0],
[0, 0, 0, 2]]]])
tensor([[[[20, -8],
[-4, 3]]]])
tensor([[[[20, 0],
[ 0, 3]]]])
****************
#same卷积
tensor([[[[ 2, 3, -12, -6, 9, -13],
[ -1, -10, 8, -8, -12, 4],
[-11, 5, -8, -4, -8, -4],
[ 1, -17, -3, 1, -6, -9],
[ -7, 0, -10, -1, 2, -3],
[ -3, -6, 4, -10, -2, -3]]]])
tensor([[[[2, 3, 0, 0, 9, 0],
[0, 0, 8, 0, 0, 4],
[0, 5, 0, 0, 0, 0],
[1, 0, 0, 1, 0, 0],
[0, 0, 0, 0, 2, 0],
[0, 0, 4, 0, 0, 0]]]])
tensor([[[[13, 9, 3, 1, 41, 9],
[-4, 12, 32, -1, 22, 11],
[ 5, 16, 20, -8, -5, 8],
[ 0, 11, -4, 3, 1, -2],
[ 2, -5, -1, 0, 9, 2],
[ 0, 4, 20, 2, 4, -2]]]])
tensor([[[[13, 9, 3, 1, 41, 9],
[ 0, 12, 32, 0, 22, 11],
[ 5, 16, 20, 0, 0, 8],
[ 0, 11, 0, 3, 1, 0],
[ 2, 0, 0, 0, 9, 2],
[ 0, 4, 20, 2, 4, 0]]]])
****************
#full卷积
tensor([[[[ 5, 1, -6, 1, 7, -6, -2, 0],
[ -3, 2, 3, -12, -6, 9, -13, -2],
[ -2, -1, -10, 8, -8, -12, 4, -5],
[ 5, -11, 5, -8, -4, -8, -4, 1],
[ 1, 1, -17, -3, 1, -6, -9, 5],
[ -1, -7, 0, -10, -1, 2, -3, -5],
[ -5, -3, -6, 4, -10, -2, -3, -1],
[ 0, -5, 3, -2, 4, -8, 1, 7]]]])
tensor([[[[5, 1, 0, 1, 7, 0, 0, 0],
[0, 2, 3, 0, 0, 9, 0, 0],
[0, 0, 0, 8, 0, 0, 4, 0],
[5, 0, 5, 0, 0, 0, 0, 1],
[1, 1, 0, 0, 1, 0, 0, 5],
[0, 0, 0, 0, 0, 2, 0, 0],
[0, 0, 0, 4, 0, 0, 0, 0],
[0, 0, 3, 0, 4, 0, 1, 7]]]])
tensor([[[[-5, -1, -5, -2, -7, -1, -7, 0, 0, 0],
[ 5, 24, 7, 0, 9, 27, 7, -9, 0, 0],
[-5, 11, 10, 7, -2, 14, 34, 9, -4, 0],
[-5, -2, -9, 12, 32, -1, 22, 10, 4, -1],
[ 4, 24, 9, 16, 20, -8, -5, 4, 1, -4],
[-4, 16, -4, 11, -4, 3, 1, 2, 27, 4],
[-1, 1, 1, -5, -1, 0, 9, -3, 10, -5],
[ 0, 0, -3, 4, 13, 2, -1, -9, -1, -7],
[ 0, 0, 3, 11, 15, 16, 5, 12, 36, 7],
[ 0, 0, -3, 6, -7, 8, -5, -5, 13, -7]]]])
tensor([[[[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[ 5, 24, 7, 0, 9, 27, 7, 0, 0, 0],
[ 0, 11, 10, 7, 0, 14, 34, 9, 0, 0],
[ 0, 0, 0, 12, 32, 0, 22, 10, 4, 0],
[ 4, 24, 9, 16, 20, 0, 0, 4, 1, 0],
[ 0, 16, 0, 11, 0, 3, 1, 2, 27, 4],
[ 0, 1, 1, 0, 0, 0, 9, 0, 10, 0],
[ 0, 0, 0, 4, 13, 2, 0, 0, 0, 0],
[ 0, 0, 3, 11, 15, 16, 5, 12, 36, 7],
[ 0, 0, 0, 6, 0, 8, 0, 0, 13, 0]]]])
****************
2. 二分类任务中,样本(5个)的期望输出(类标签)如下图左侧矩阵所示,对应的实际输出如下图右侧矩阵所示,模型采用交叉熵损失作为损失函数,计算:
(1)模型的交叉熵损失;
(2)模型的焦点损失(Focal loss),其中r = 2, a = 0.4;
提示lg2 = 0.301, lg3 = 0.477
(1)
因为为二分类任务
Loss = -(log(1-0.8) + log0.8 + log(1-0.4) + log(1-0.1) + log0.9) = 0.508
(2)FL = -0.4*(1-0.8)^2 *log(0.8) -0.4*(1-0.8)^2 *log(0.8)-0.4*(1-0.6)^2 * log(0.6) -0.4*(1-0.9)^2 * lg(0.9) - 0.4 *(1-0.9)^2 * log(0.9) = 0.020992
4 设计题
1. 请给出姿态估计模型的设计方案,要求有自己的新思路和新观点;
2. 请给出图像描述模型的设计方案,要求有自己的新思路和新观点;