深度学习 - 国科大2021年试题

1 名词解释

        卷积神经网络: 是一类包含卷积计算且具有深度结构的前馈神经网络,其隐藏层包含卷积核参数共享,减少网络参数量,包含输入层(标准化输入数据)、卷积层(卷积核、激活函数、池化层、全连接层)、输出层(归一化指数函数softmax输出)。

        循环神经网络:运用于序列数据建模,一类以序列数据为输入,在序列演进方向进行递归且所有节点按照链式连接的递归神经网络,其核心部分是有向图,有向图展开以相连的元素称为循环单元。

        奇异值分解:

        交叉熵:

        深度信念网络:

        受限玻尔兹曼机:

2 简答题

1. 简述反向传播算法思想,并用图和公式说明其过程;

  利⽤输出层的误差,来估计输出层前⼀层的误差,再利⽤这个误差来估计更前⼀层的误
差,依此逐层反传;

        利⽤梯度下降法,基于逐层计算的误差估计,对权重进⾏调节;

        损失函数有: 绝对值损失;0-1损失;平⽅误差;对数损失;交叉熵;指数损失;

        反向传播过程:

(1)定义⽬标函数(损失函数)h(x_i)

(2)优化目标,最小化h(x_i)

(3) h(x_{i+1}) = h(x_i) + h'(x_{i+1}-x_i), 保证每次取值h(x_{i+1}) < h(x_i)

(4)每步参数的调整:X_{i+1} = X_i -\eta h'(x_i), h'(x_i)是梯度,一只调整直到梯度为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. 请给出图像描述模型的设计方案,要求有自己的新思路和新观点;

  • 6
    点赞
  • 110
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值