Karinoya 学习室

资格考试 · Cloud / AI / Python 合格实验室

深度学习的方法与应用

可以用简体中文阅读题目和解说。讲义(解说文章)仅有日文版。

查看日文版(含讲义) →

第1题 | 单层感知机

关于单层感知机,正确的描述是哪一项?

  1. 仅由输入层和输出层构成,只能解决线性可分的问题
  2. 让滤波器在图像上滑动,擅长提取局部特征
  3. 拥有把状态沿时间方向送回的连接,能按顺序处理序列数据
  4. 拥有多个隐藏层,能进行非线性分离,因此也能表示异或运算
正确答案A. 仅由输入层和输出层构成,只能解决线性可分的问题

单层感知机是仅由输入层和输出层构成的最简单的神经网络,只能解决可以用一条直线分开的线性可分问题。异或(XOR)运算中输出为1的点和为0的点在对角线上交替排列,无论怎样画直线都无法分开,因此单层感知机无法表示异或。加入隐藏层、使边界可以弯曲的多层感知机则能表示异或,第一个选项正是对这种多层感知机的说明。把前一时刻的状态送回来处理序列的是循环神经网络,让滤波器滑动以提取局部特征的是卷积层的说明。

第2题 | GPU的适用性

关于GPU被认为适合深度学习训练的原因,最恰当的是哪一项?

  1. 用于保存训练数据的存储容量,远大于CPU
  2. 把误差反向传播法所用的链式法则从一开始就内置为专用电路
  3. 能用少数强力核心,依次高速处理分支繁多的复杂处理
  4. 拥有大量小型运算核心,能同时并行处理相同的计算
正确答案D. 拥有大量小型运算核心,能同时并行处理相同的计算

深度学习的训练是把矩阵与向量的乘法和加法运算重复大量次数的计算。GPU拥有大量执行简单运算的小型核心,擅长把相同的计算一起并行运行,因此与这种形式的计算相性很好。用少数强力核心依次高速处理分支繁多的处理是CPU的擅长领域,其核心数量并不多。GPU的优势不在于存储容量大小,而在于并行度。并没有把链式法则内置为专用电路这回事,专门针对深度学习张量运算而设计的是TPU。

第3题 | 梯度消失的原因

在隐藏层使用Sigmoid函数容易招致梯度消失问题,是为什么?

  1. 因为输出被限制在0到1的范围内,层数一多输出本身就会趋近于0
  2. 因为输出的总和被归一化为1,值会随层数增加而逐层变小
  3. 因为其导数的最大值只有0.25,每回溯一层就会被相乘一次
  4. 因为对负输入其输出总是为0,导致该单元不再学习
正确答案C. 因为其导数的最大值只有0.25,每回溯一层就会被相乘一次

梯度消失问题是指,在反向传播过程中梯度逐渐趋近于0,导致靠近输入一侧的层无法得到学习的现象。Sigmoid函数的导数最大值只有0.25,每回溯一层就要乘上一个不超过0.25的数,在很深的网络中梯度几乎所剩无几。造成问题的不是输出值本身,而是其导数的大小。对负输入梯度变为0、导致学习停止的是ReLU函数的弱点,Leaky ReLU函数正是为应对这一点而设计的。把输出总和归一化为1的是Softmax函数。

第4题 | ReLU函数

关于ReLU函数的说明,恰当的是哪一项?

  1. 把输入压缩到0到1之间、呈S形曲线的函数
  2. 把所有输出汇总归一化、使输出总和为1的函数
  3. 把输入限制在-1到1之间、关于原点对称的函数
  4. 输入为正时原样返回该值、为负时返回0的函数
正确答案D. 输入为正时原样返回该值、为负时返回0的函数

ReLU函数是这样一个简单的函数:输入为正时原样返回该值,为负时返回0。在正区间导数恒为1,因此即使回溯多层梯度也不会变小,能大幅缓解梯度消失问题。但在负区间导数为0,一旦某单元进入负值一侧就可能不再学习,因此人们准备了在负侧带有微小斜率的Leaky ReLU函数。把输入压缩到0到1之间的S形函数是Sigmoid函数,限制在-1到1之间且关于原点对称的是tanh函数,把输出总和归一化为1的是Softmax函数的说明。

第5题 | Leaky ReLU

准备Leaky ReLU函数,是为了应对ReLU函数的哪一点?

  1. 输出总和不为1,因此无法解释为概率
  2. 对负输入梯度变为0,导致该单元不再学习
  3. 计算中包含指数函数,导致单次处理变重
  4. 对正输入梯度始终为1,导致更新量过大
正确答案B. 对负输入梯度变为0,导致该单元不再学习

ReLU函数在负区间输出和导数都为0,因此如果某个单元的输入一直保持为负,梯度就不会流过,该单元将不再学习。Leaky ReLU函数通过在负侧也保留一点微小的斜率,来避免这种走入死路的情况。正区间梯度为1是ReLU函数的优点而非缺点,正是这一性质防止了梯度消失。输出总和不为1对激活函数来说本是理所当然的,想让输出解释为概率时应在输出层使用Softmax函数。计算中包含指数函数的是Sigmoid函数和tanh函数,ReLU函数的计算反而更轻量。

第6题 | Softmax

Softmax函数的代表性使用场合是哪一项?

  1. 放在回归问题的输出层,直接输出连续值
  2. 作为隐藏层的激活函数使用,为该层赋予非线性
  3. 放在二元分类的输出层,输出其中一个类别的概率
  4. 放在多类别分类的输出层,输出各个类别的概率
正确答案D. 放在多类别分类的输出层,输出各个类别的概率

Softmax函数会把输出的总和恰好归一化为1,因此放在类别数在3个以上的多类别分类的输出层,把结果解释为属于各类别的概率。通常与交叉熵作为误差函数配合使用。放在二元分类的输出层来输出概率的是Sigmoid函数,广泛用作隐藏层激活函数的是ReLU函数和tanh函数。回归问题则在输出层直接输出数值,误差函数使用均方误差函数。

第7题 | 回归的误差函数

在预测住宅价格这类连续值的回归问题中,通常选用的误差函数是哪一项?

  1. 衡量预测概率分布与正确分布之间偏差的交叉熵
  2. 让模型学习三元组之间距离关系的Triplet Loss
  3. 让模型根据距离学习是否为同一样本的Contrastive Loss
  4. 把预测值与正确值之差平方后取平均的均方误差函数
正确答案D. 把预测值与正确值之差平方后取平均的均方误差函数

回归是预测连续值的问题,因此把预测值与正确值之差直接平方后取平均的均方误差函数是顺理成章的选择。交叉熵是衡量概率分布之间偏差的函数,用于分类问题,在多类别分类中通常与输出层的Softmax函数配合使用。Triplet Loss通过基准、正例、负例这三元组来学习距离关系,Contrastive Loss通过距离学习两个数据是否为同一样本,两者都是为获得能衡量相似程度的表示而设计的误差函数。应根据任务来选择误差函数,这正是这一中项目的目标所在。

第8题 | 三元组误差

关于误差函数Triplet Loss的说明,恰当的是哪一项?

  1. 把预测值与正确值之差平方后取平均,直接衡量数值大小的偏差
  2. 衡量预测概率分布与正确分布之间的偏差,广泛用于分类学习
  3. 使用基准、正例、负例的三元组,使正例比负例更靠近基准
  4. 衡量两个概率分布之间的差距,使分布相互靠近
正确答案C. 使用基准、正例、负例的三元组,使正例比负例更靠近基准

Triplet Loss使用基准数据、与其同类的数据(正例)、与其不同类的数据(负例)这三元组,训练模型使基准与正例之间的距离小于基准与负例之间的距离,是一种误差函数。它用于构建能以距离表示相似程度的空间。衡量两个概率分布之间差距的是KL散度(Kullback-Leibler divergence),把预测值与正确值之差平方后取平均的是均方误差函数,衡量概率分布偏差并广泛用于分类的是交叉熵。此外,通过一对数据来学习二者是否相同的Contrastive Loss也收录在同一中项目中。

第9题 | 误差反向传播法

关于误差反向传播法的说明,最恰当的是哪一项?

  1. 从输出层开始依次直接改写权重的、更新本身的步骤
  2. 用随机数把权重一点点移动,采用误差减小方向的步骤
  3. 从输入侧向输出侧依次推进计算,求出输出值的步骤
  4. 利用链式法则,从输出侧向输入侧回溯求出梯度的步骤
正确答案D. 利用链式法则,从输出侧向输入侧回溯求出梯度的步骤

误差反向传播法利用链式法则——把复合函数的导数分解为各部分导数的乘积——从输出侧向输入侧回溯,从而高效地求出各个权重的梯度。这里求出的终归是梯度,实际用这个梯度去移动权重则是梯度下降法的职责。如果断言误差反向传播法本身更新权重,就不够准确,需要注意。用随机数移动、采用较好方向的做法是不使用梯度的搜索思路,从输入侧向输出侧推进计算是前向传播,也就是推理的步骤。

第10题 | 信用分配问题

关于最终误差应由哪一层的哪个单元承担多少责任这一分配问题,被称为什么?

  1. 信用分配问题
  2. 梯度爆炸问题
  3. 梯度消失问题
  4. 维度诅咒
正确答案A. 信用分配问题

信用分配问题是指,应把输出中出现的误差归咎于中途哪一层的哪个单元、归咎多少这一问题。误差反向传播法凭借链式法则,使这种分配变得可计算,这正是它的定位所在。梯度消失问题是指在回溯过程中梯度趋近于0、导致靠近输入一侧的层无法学习的现象,梯度爆炸问题则相反,是梯度变得过大而发散的现象,两者都是应用误差反向传播法时可能出现的问题。维度诅咒是特征量维度越多所需数据便急剧增加的现象,教学大纲把它列在机器学习的中项目中。

第11题 | L1正则化

关于L1正则化的特点,恰当的是哪一项?

  1. 以权重的平方和为惩罚项,使数值统一变小,但不容易变为0
  2. 以权重绝对值之和为惩罚项,数值容易恰好变为0
  3. 每次训练随机让部分单元失效,防止过度依赖特定单元
  4. 在验证数据的误差开始恶化的时刻,直接终止训练本身
正确答案B. 以权重绝对值之和为惩罚项,数值容易恰好变为0

L1正则化把权重绝对值之和作为惩罚项加入误差函数,容易把权重压到恰好为0的位置。结果是未被用到的特征其系数变为0而自动被剔除,产生特征选择的效果,这种状态被称为稀疏。以权重平方和为惩罚项的是L2正则化,它会让数值统一变小,但不容易变为0。训练时随机让单元失效的是Dropout,根据验证误差恶化来终止训练的是提前终止(Early Stopping),两者都是应对过拟合的手段,但机制不同。

第12题 | 岭回归

岭回归所使用的正则化是哪一项?

  1. 以非零权重个数为惩罚项的L0正则化
  2. 把权重平方和加入惩罚项的L2正则化
  3. 以权重绝对值之和为惩罚项的L1正则化
  4. 训练时随机让单元失效的Dropout
正确答案B. 把权重平方和加入惩罚项的L2正则化

岭回归是把L2正则化与线性回归结合的方法。由于把权重平方和作为惩罚项加入,系数整体被抑制得较小,从而防止过拟合。把L1正则化与线性回归结合的是Lasso回归,其系数容易恰好变为0,从而得到稀疏解。L1与Lasso、L2与岭回归的对应关系容易混淆,务必成对记忆。L0正则化是把非零权重的个数本身作为惩罚项的思路,由于个数无法求导,难以纳入基于梯度的学习中。Dropout则是面向神经网络的正则化方法。

第13题 | Dropout

关于Dropout的说明,恰当的是哪一项?

  1. 把图像左右翻转或裁剪,对训练数据本身进行扩增
  2. 训练时按一定比例随机让单元失效,以抑制过拟合
  3. 在验证数据的误差开始上升的时刻,终止训练以防止过拟合
  4. 在小批量内把中间层的输出调整为均值0、方差1,使训练更稳定
正确答案B. 训练时按一定比例随机让单元失效,以抑制过拟合

Dropout是每次训练时按一定比例随机让隐藏层的单元失效的方法。由于每次都在略有不同形态的网络上进行训练,就无法只依赖特定单元组合的记忆方式,从而获得类似对多个模型取平均的效果。失效只发生在训练时,推理时会使用全部单元。虽然名称相似,但教学大纲把Dropout归入第14项的正则化,而不是第19项的归一化层。在小批量内调整分布的是批量归一化,对数据进行扩增的是数据增强,根据误差恶化而终止训练的是提前终止。

第14题 | 小批量学习

关于小批量学习的说明,恰当的是哪一项?

  1. 不更新权重,一直沿用事先设定好的数值的做法
  2. 用全部训练数据求出梯度、只更新一次权重的做法
  3. 以数十到数百条为一批,逐批更新权重的做法
  4. 每使用1条训练数据就更新一次权重的做法
正确答案C. 以数十到数百条为一批,逐批更新权重的做法

小批量学习是把训练数据分成数十到数百条一批,按批求出梯度并更新权重的做法。它比逐条更新的在线学习梯度更不容易波动,又不像用全部数据只更新一次的批量学习那样计算沉重,具有介于两者之间的性质,因此在实务中占绝大多数。随机梯度下降法(SGD)只用一部分数据求梯度,正因为这种波动,才更容易摆脱鞍点或较浅的局部最优解。不更新权重并非训练,而只是单纯的推理。

第15题 | 训练轮次(Epoch)

关于训练轮次(Epoch)与迭代(Iteration)的关系,恰当的是哪一项?

  1. Epoch指小批量的大小,Iteration指学习率的大小
  2. Epoch指把数据遍历一遍,Iteration指更新一次权重
  3. Epoch指更新一次权重,Iteration指把数据遍历一遍
  4. Epoch与Iteration都是指把数据遍历一遍
正确答案B. Epoch指把数据遍历一遍,Iteration指更新一次权重

Epoch指把全部训练数据遍历一遍,Iteration指更新一次权重。两者通过小批量的大小相互关联,每个Epoch的迭代次数等于数据件数除以小批量大小所得的值。例如用大小为50的批次跑3000条数据,1个Epoch就是60次迭代。把小批量大小调大,每次梯度更稳定,但每个Epoch的更新次数会减少;调小则更新次数增多,但波动变大。小批量大小和学习率都是由人事先决定的超参数,与Epoch和Iteration是不同的概念。

第16题 | 鞍点

关于鞍点的说明,恰当的是哪一项?

  1. 从某个方向看是极小值,从另一个方向看是极大值的点
  2. 在其附近范围内误差最小,但在整体上还有更好的点
  3. 误差值在整个范围内保持恒定、在任何方向上都没有坡度的区域
  4. 在整个取值范围中,误差最小的点
正确答案A. 从某个方向看是极小值,从另一个方向看是极大值的点

鞍点是从某个方向看是谷底、但从另一个方向看却是山顶的点,因形似马鞍而得名。在参数数量极多的深度学习中,相比在所有方向上同时是谷底的局部最优解,更容易发生的被认为是陷入鞍点而动弹不得。在整个范围内误差最小的点是全局最优解,只在附近范围内最小的点是局部最优解。随机梯度下降法(SGD)由于梯度带有波动,更容易从这种停滞中脱身。

第17题 | Adam

Adam是把哪些思路组合起来的优化方法?

  1. 把权重绝对值之和与平方和这两种惩罚项组合起来
  2. 把利用惯性的技巧与自适应调整学习率的技巧组合起来
  3. 把批量学习和在线学习这两种做法交替切换
  4. 把网格搜索和随机搜索这两种搜索方式组合起来
正确答案B. 把利用惯性的技巧与自适应调整学习率的技巧组合起来

Adam是把将上一次更新量作为惯性加入的Momentum思路,与按参数自动调整学习率的RMSprop思路组合起来的优化方法,在实务中常被用作默认选择。自适应调整学习率这一系列方法始于AdaGrad,AdaGrad会让更新幅度较大的参数降低学习率,但会持续下降下去,于是RMSprop用指数移动平均来缓和这一点。同一系列中还有AdaDelta、AdaBound、AMSBound。对权重加惩罚项属于正则化的话题,网格搜索与随机搜索属于超参数搜索的话题,都不是更新规则本身。

第18题 | 没有免费午餐

没有免费午餐定理所陈述的内容是哪一项?

  1. 不存在在所有问题上都优于其他算法的万能算法
  2. 特征量的维度越多,所需的训练数据便急剧增加
  3. 只要不断降低学习率,就一定能到达全局最优解
  4. 模型变大后误差会先一度恶化、随后再次下降
正确答案A. 不存在在所有问题上都优于其他算法的万能算法

没有免费午餐定理主张:如果对所有可能设想的问题取平均,就不存在在其他一切问题上都更优的万能算法。因此方法的选择只能针对具体问题来考虑,不存在『任何时候用这个就好』的答案。模型变大后误差先一度恶化、随后再次下降的是双重下降现象,它同样收录在同一中项目中。特征量维度越多所需数据便急剧增加的是维度诅咒。不断降低学习率并不保证一定能到达全局最优解,仍可能停在局部最优解或鞍点上。

第19题 | 随机搜索

关于超参数搜索方法之一的随机搜索,恰当的说明是哪一项?

  1. 把候选值排成网格状,依次尝试所有组合
  2. 每次训练都随机让单元失效,得到平均化的行为
  3. 在验证数据的误差开始恶化的时刻,终止训练本身
  4. 从搜索范围内随机选取点,尝试其组合
正确答案D. 从搜索范围内随机选取点,尝试其组合

随机搜索是从超参数的搜索范围内随机选取点并加以尝试的方法。与把候选排成网格状逐一穷举的网格搜索不同,它不容易把尝试浪费在不起作用的超参数上,即使尝试次数相同也能更细致地探索起作用的那些维度。学习率、小批量大小、层数这类由人事先决定的数值就是超参数。根据验证误差恶化来终止训练的是提前终止,训练时随机让单元失效的是Dropout,二者都不是搜索方法。

第20题 | 双重下降现象

随着模型规模或训练量的增加,验证误差先一度恶化、之后再次下降的现象被称为什么?

  1. 梯度爆炸问题
  2. 不变性的获得
  3. 双重下降现象
  4. 信用分配问题
正确答案C. 双重下降现象

双重下降现象是指,随着模型规模或训练量的增加,验证误差先一度恶化,之后进一步增加时又重新开始下降的现象。因误差曲线出现两次下降而得名。这与『模型越大越容易过拟合、效果越差』的朴素直觉相反,作为解释『模型越大有时效果反而越好』这一近年经验的框架之一,被收录在教学大纲的最优化方法中。信用分配问题是应把误差责任归于哪个单元的问题,梯度爆炸问题是反向传播中梯度发散的问题,不变性的获得则是池化层的作用。

第21题 | 卷积层

与全连接层相比,卷积层的特点,恰当的是哪一项?

  1. 与前一层的所有单元相连,输入越大权重就越多
  2. 把同一滤波器改变位置反复使用,因此能用较少的权重提取特征
  3. 把前一时刻的状态送回输入,用来处理有先后顺序的序列数据
  4. 完全不持有需要训练的权重,取区域代表值以缩小输出
正确答案B. 把同一滤波器改变位置反复使用,因此能用较少的权重提取特征

卷积层是让小型滤波器在输入上滑动、反复使用相同权重来提取局部特征的层。由于只与附近的元素相连,且改变位置也使用相同权重,这两点使它能用比全连接层少得多的参数来处理图像。作为反复使用权重的副产物,无论被摄物体出现在图像的什么位置,都能被当作相同特征提取出来。与前一层所有单元相连的是全连接层,不持有需要训练的权重、只取代表值的是池化层,把前一时刻的状态送回来的是循环连接层的说明。经一个滤波器处理后的结果是特征图,滑动的步幅是步长(Stride),在周围填充的是填充(Padding)。

第22题 | 批量归一化

关于批量归一化的说明,恰当的是哪一项?

  1. 把权重平方和作为惩罚项加入误差函数,使权重统一变小
  2. 每次训练按一定比例让单元失效,消除对特定单元的依赖偏向
  3. 在单个样本内把整层的数值统一调整,不受小批量大小的影响
  4. 在小批量内把同一通道的数值汇总,调整为均值0、方差1
正确答案D. 在小批量内把同一通道的数值汇总,调整为均值0、方差1

批量归一化是在小批量内把同一通道的数值汇总、调整为均值0、方差1的归一化层,能使训练更稳定、更快。其弱点是小批量大小过小时统计量会变得不可靠。在单个样本内调整整层数值的是层归一化,因不受小批量大小影响,常用于处理序列的模型。此外还有实例归一化和分组归一化,这4种并列于教学大纲的归一化层中。此外,这个中项目从第1.1版起,名称已由正则化层改为归一化层。把权重平方和作为惩罚项的L2正则化,以及让单元失效的Dropout,被归类为正则化而非归一化层。

第23题 | 池化层

池化层所起的作用,最恰当的是哪一项?

  1. 跨越若干层把输入加到后面的层上,构建梯度能够抵达的路径
  2. 把中间层输出的分布统一,使训练更稳定、更快
  3. 把区域缩约为代表值,使模型对位置的细微偏移更稳健
  4. 先把输入压缩到低维,再使其能够复原为原始输入
正确答案C. 把区域缩约为代表值,使模型对位置的细微偏移更稳健

池化层是把固定大小的区域缩约为一个代表值的层,有取区域最大值的最大池化和取平均值的平均池化。这样做不仅能降低分辨率、减轻计算量,即使被摄物体偏移几个像素,代表值也不容易改变,因此对位置偏移更稳健,这被称为不变性的获得。把一整张特征图整体求平均、压缩为一个数值的全局平均池化(GAP),如果用来代替最后堆叠的全连接层,能大幅减少参数。池化层不持有需要训练的权重,这也是它与卷积层的区别之一。跨层相加的是跳跃连接,统一分布的是归一化层,压缩后再复原的是自编码器。

第24题 | 跳跃连接

引入跳跃连接后,即使是非常深的网络训练也能顺利进行,这是为什么?

  1. 因为形成了跨越层的路径,梯度能沿浅的通路抵达输入一侧
  2. 因为单元被随机失效,不再依赖特定的路径
  3. 因为各层输出的分布被统一,数值波动在每层都受到抑制
  4. 因为权重数量减少,在有限的数据下也不容易过拟合
正确答案A. 因为形成了跨越层的路径,梯度能沿浅的通路抵达输入一侧

跳跃连接是一种把输入跳过若干层、原样加到靠后层的输出上的连接方式。在反向传播时,梯度不仅通过经过很多层的长路径,还能通过跳跃形成的短路径抵达输入一侧,因此即使堆叠得很深梯度也不容易消失。采用这一思路、把超过100层的深度变为现实的代表例是ResNet,教学大纲中跳跃连接这一中项目下列出的关键词只有ResNet。让单元随机失效的是Dropout,统一各层分布的是归一化层,都是与跳跃连接不同的机制。跳跃连接也不是减少权重数量的技巧。

第25题 | LSTM与GRU

关于LSTM与GRU所拥有的门,正确的组合是哪一项?

  1. LSTM和GRU都共同拥有重置门和更新门2个
  2. LSTM和GRU都共同拥有输入门、输出门和遗忘门3个
  3. LSTM有输入门、输出门和遗忘门3个,GRU有重置门和更新门2个
  4. LSTM有重置门和更新门2个,GRU有输入门、输出门和遗忘门3个
正确答案C. LSTM有输入门、输出门和遗忘门3个,GRU有重置门和更新门2个

LSTM拥有一条名为CEC、用于存储信息的记忆通路,通过决定写入什么的输入门、决定丢弃什么的遗忘门、决定向外输出什么的输出门这3个门来控制信息的存取。凭借这一机制,模型能够保持较长的依赖关系,循环神经网络的梯度消失问题因此大为缓解。GRU是LSTM的简化版本,门只有重置门和更新门这2个。参数少、计算轻量,但并不总是比LSTM性能更高。门的数量是3和2、CEC是LSTM一方的术语,这些是反复被考查的区分点。

第26题 | 乔丹网络

乔丹网络的结构,恰当的是哪一项?

  1. 把输出层的输出送回下一时刻的隐藏层作为输入
  2. 把隐藏层的输出送回下一时刻的隐藏层作为输入
  3. 把输出层的输出送回同一时刻的输入层作为输入
  4. 把输入层的值原样跨越到输出层并相加
正确答案A. 把输出层的输出送回下一时刻的隐藏层作为输入

乔丹网络是把输出层的输出送回下一时刻的隐藏层作为输入的循环神经网络。与此相对,把隐藏层的输出送回下一时刻隐藏层的是埃尔曼网络(Elman network),送回的对象不同正是两者的区别。两者都是为按顺序处理时间序列数据而设计的结构,训练时要先把网络按时间方向展开、再应用误差反向传播法,即BPTT。在长序列中梯度消失问题和梯度爆炸问题会表现得更明显,因此会使用带门控机制的LSTM或GRU。跨层相加的是跳跃连接,与时间方向无关。

第27题 | Attention

关于Source-Target Attention的说明,恰当的是哪一项?

  1. 在同一个序列内部,计算各元素之间关联强弱的机制
  2. 在两个不同的序列之间,计算彼此关联强弱的机制
  3. 并行运行多种关注方式,再把结果汇总的机制
  4. 在各位置加上固有的信号,赋予词序信息的机制
正确答案B. 在两个不同的序列之间,计算彼此关联强弱的机制

Attention是把应该关注输入中的哪个部分计算为权重的机制,由查询(Query)、键(Key)、值(Value)三者来表示。其中Source-Target Attention用于像翻译那样输入序列和输出序列相互分开的场景,在两个不同的序列之间计算关联强弱。在同一序列内部计算各元素之间关系的则是Self-Attention,它是Transformer的核心组成部分。在各位置加上固有信号以赋予词序的是位置编码(Positional Encoding),并行运行多种关注方式再汇总结果的是Multi-Head Attention,都是构成Transformer的不同部件。

第28题 | 位置编码

关于Transformer的说明,恰当的是哪一项?

  1. 把输入压缩到低维、再从中学习复原出原始输入的模型
  2. 交替堆叠卷积与池化、逐步汇聚局部特征的模型
  3. 不使用循环连接、以Attention构成,词序通过位置编码给出
  4. 把循环连接层层堆叠、依次传递前一时刻状态的模型
正确答案C. 不使用循环连接、以Attention构成,词序通过位置编码给出

Transformer是不使用循环连接、以Attention为核心构成的序列模型。由于不必等待前一时刻的计算,能把整个序列并行处理,即便是相距很远的词之间的关系,也能通过一次计算直接把握。但并行处理会导致词序信息消失,因此通过在各位置加上固有信号的位置编码来赋予词序。『Transformer并非循环神经网络的一种』正是容易被误解之处。把循环连接层层堆叠、传递前一时刻状态的是RNN,堆叠卷积与池化的是CNN,先压缩再复原的是自编码器的说明。

第29题 | VAE

变分自编码器(VAE)与普通自编码器不同的地方是哪一项?

  1. 先把输入压缩到低维,再复原出原始输入这一点
  2. 不把压缩后的结果当作一个点,而是作为概率分布来学习,因而能生成新数据这一点
  3. 即使不准备正确答案标签,也能进行训练这一点
  4. 把各层依次逐一训练,用来构建深层网络初始值这一点
正确答案B. 不把压缩后的结果当作一个点,而是作为概率分布来学习,因而能生成新数据这一点

变分自编码器(VAE)不把输入压缩后的结果当作单个点,而是作为概率分布来学习。只要从该分布中取值再复原,就能生成训练数据中不存在的新数据,因此被当作生成模型看待。先压缩到低维再复原,以及无需正确答案标签就能训练,这些都是普通自编码器同样具备的性质,并非VAE独有的特征。把各层依次逐一训练、用来构建深层网络初始值的是堆叠自编码器(Stacked Autoencoder)所做的预训练。教学大纲中同一中项目还列有VQ-VAE、info VAE、β-VAE。

第30题 | Mixup

在图像数据增强方法中,Mixup所进行的操作是哪一项?

  1. 裁切图像的一部分并放大,作为新的样本
  2. 把两张图像叠加在一起,生成一张新的样本
  3. 把图像左右翻转,制造方向不同的样本
  4. 把图像的一部分涂成方块,遮住该部分的信息
正确答案B. 把两张图像叠加在一起,生成一张新的样本

Mixup是按一定比例把两张图像叠加在一起、并把正确答案标签也按相同比例混合,从而生成新训练数据的数据增强方法。名称相似的CutMix则不是叠加,而是把两张图像的一部分裁切拼贴成一张。把图像一部分涂成方块的是Cutout或Random Erasing,左右翻转的是Random Flip,裁切一部分的是Crop。此外还有旋转的Rotate、改变亮度的Brightness、改变对比度的Contrast,以及自动决定施加哪种变换、施加多少的RandAugment;针对文本则列有paraphrasing和noising。重要的是不要选择会破坏语义的变换。

第31题 | GoogLeNet

GoogLeNet的特点,恰当的是哪一项?

  1. 使用了并行施加不同大小滤波器的Inception模块
  2. 在2012年的ILSVRC中夺冠,使用了ReLU函数和GPU训练
  3. 引入跨层的跳跃连接,实现了超过100层的深度
  4. 只堆叠3乘3的小型卷积,采取了较深的结构
正确答案A. 使用了并行施加不同大小滤波器的Inception模块

GoogLeNet使用了并行施加不同大小滤波器、再把结果汇总的Inception模块,在抑制参数量的同时实现了较深的结构。只堆叠3乘3小型卷积、采取单纯而深的结构的是VGG,它与GoogLeNet同样在2014年的ILSVRC中名列前茅。通过跨层的跳跃连接实现超过100层深度的是ResNet,在2012年的ILSVRC中夺冠、把ReLU函数、Dropout与GPU训练结合起来的是AlexNet。此后又扩展到Wide ResNet、DenseNet、SENet、EfficientNet、MobileNet等,不使用卷积、引入Transformer思路的Vision Transformer也被收录在内。

第32题 | 单阶段检测

YOLO与SSD共有的特点,恰当的是哪一项?

  1. 先给出候选区域再进行分类,以两个阶段的步骤检测物体
  2. 为每一个像素分配类别,把图像区域涂分开来
  3. 把候选区域的提取与分类在一次推理中一并完成,重视速度
  4. 以推算人体关节点的位置为目的,用来求出姿态
正确答案C. 把候选区域的提取与分类在一次推理中一并完成,重视速度

YOLO和SSD是把候选区域的提取与类别判定在一次推理中一并完成的单阶段物体检测模型,长处在于速度。与此相对,从R-CNN开始、发展为Fast R-CNN、Faster R-CNN的系列,是先给出候选区域再进行分类的两阶段方式,速度较慢但容易获得较高精度。为每个像素分配类别的是语义分割,代表例有FCN、SegNet、U-Net、PSPNet、DeepLab。把同一类别的物体进一步区分到个体的实例分割由Mask R-CNN承担,推算人体关节点的姿态估计的代表例是OpenPose。

第33题 | BERT

关于BERT的说明,恰当的是哪一项?

  1. 把图像与说明文字对应到同一个向量空间,将两者联系起来
  2. 沿相反方向追溯加噪的过程,逐步生成数据
  3. 使用Transformer的编码器,从前后两个方向来看上下文
  4. 堆叠循环连接层,把单词逐一按顺序读入以构建上下文
正确答案C. 使用Transformer的编码器,从前后两个方向来看上下文

BERT是使用Transformer编码器的语言模型,其特点是在预训练阶段从句子的前后两个方向来把握上下文。它推广了先用大量文本进行预训练、再适配到具体任务的用法。堆叠循环连接层、把单词按顺序读入的是使用循环神经网络的模型,Transformer不含循环连接。把图像与说明文字对应到同一向量空间的是CLIP,教学大纲把它列在多模态中。沿相反方向追溯加噪过程来生成数据的是扩散模型(Diffusion Model),它属于数据生成的中项目。

第34题 | CBOW

word2vec的CBOW的学习方向,恰当的是哪一项?

  1. 从周围出现的词,学习去预测该中心词
  2. 从中心词,学习去预测其周围出现的词
  3. 从整个句子,学习去判断该句子是肯定还是否定
  4. 从前半句,学习去判断后半句是否会接续出现
正确答案A. 从周围出现的词,学习去预测该中心词

CBOW是从周围出现的词来学习预测中心词的方式。反过来,从中心词学习预测周围词的是Skip-gram,方向相反,需要注意不要混淆。两者都是word2vec的方式,目的都是获得用稠密向量表示单词的分布式表示。给每个词分配一个维度的独热向量,维度会等于词汇表的大小,且无法表示词与词之间的接近程度,而分布式表示则能让含义相近的词在向量空间中被安排得彼此靠近。判断句子是肯定还是否定属于情感分析这一应用任务,与单词表示的学习方式是不同的话题。

第35题 | RLHF

根据人类反馈构建奖励模型、再用强化学习来调整模型的方法是哪一项?

  1. DQN
  2. A3C
  3. PPO
  4. RLHF
正确答案D. RLHF

RLHF是根据人类给出的偏好评价构建奖励模型,再把它当作奖励、用强化学习来调整模型的方法。它因用于调整语言模型而广为人知,但教学大纲把它列在深度强化学习的中项目,而非自然语言处理,这一点出人意料,值得记住。DQN是用神经网络逼近行动价值函数的深度强化学习代表方法,PPO是抑制策略更新幅度以求稳定的策略学习方法,A3C是并行运行多个环境来推进学习的方法。同一中项目中还并列有Double DQN、Dueling Network、Rainbow、Ape-X、Agent57等。

第36题 | 扩散模型

关于扩散模型(Diffusion Model)的说明,恰当的是哪一项?

  1. 从多个视角的照片中学习三维的外观,生成新视角的图像
  2. 把压缩后的目标地作为概率分布来学习,再从中取出并复原
  3. 让两个网络相互竞争,生成逼真的数据
  4. 沿相反方向追溯逐步加噪的过程,生成数据
正确答案D. 沿相反方向追溯逐步加噪的过程,生成数据

扩散模型是通过沿相反方向追溯给数据逐步加噪的过程,从噪声中生成目标数据的生成模型。它与让两个网络相互竞争进行学习的生成对抗网络(GAN)机制完全不同,并不是GAN的一种。GAN又衍生出DCGAN、CycleGAN、Pix2Pix。从多个视角的照片学习三维外观的是NeRF,把压缩后的目标地作为概率分布学习的是变分自编码器(VAE)。应把GAN、VAE与扩散模型整理为并列的不同系列。

第37题 | 迁移学习

迁移学习与微调(Fine-tuning)的区别,恰当的是哪一项?

  1. 迁移学习重新训练全部权重,微调只训练输出层
  2. 迁移学习和微调都不做预训练,从零开始训练权重
  3. 迁移学习主要训练输出层附近,微调则重新训练更大范围
  4. 迁移学习只能用于图像,微调只能用于语言
正确答案C. 迁移学习主要训练输出层附近,微调则重新训练更大范围

迁移学习是把预训练模型中负责提取特征的部分固定不动,主要只用新任务重新训练输出层附近的方法。微调则是用新数据重新训练全部或较大范围的权重,所需数据和计算量都更多,但当目标领域与预训练数据差异较大时更容易见效。在微调中有时会发生原模型所具备能力丧失的灾难性遗忘。两者都以预训练模型为前提,并非从零开始训练,也不是按所处理数据的种类来区分使用的。

第38题 | 基础模型

在教学大纲中,基础模型这一词被放在哪个中项目?

  1. 放在迁移学习与微调,与Few-shot并列
  2. 放在多模态,与CLIP和DALL-E并列
  3. 放在深度强化学习,与DQN和RLHF并列
  4. 放在自然语言处理,与大规模语言模型(LLM)并列
正确答案B. 放在多模态,与CLIP和DALL-E并列

基础模型是指用大量数据预训练、可转用于多种下游任务的大规模模型,教学大纲把它放在第32项的多模态中,与CLIP、DALL-E、Flamingo、Unified-IO、Zero-shot等并列。与生成式AI相关的术语分布得比较分散:大规模语言模型(LLM)收录在第27项的自然语言处理中,RLHF收录在第29项的深度强化学习中。第31项迁移学习与微调中并列的是Few-shot、One-shot、自监督学习、预训练模型、灾难性遗忘等。掌握各个术语被放在哪个中项目,有助于把握整体范围。

第39题 | SHAP

可解释AI(XAI)方法之一SHAP的思路,恰当的是哪一项?

  1. 故意调换特征的取值,从精度下降的程度衡量其重要度
  2. 以热力图的形式展示模型判断时关注了图像的哪个部位
  3. 在预测点附近拟合一个简单模型,用其系数来解释
  4. 借助合作博弈论的思路,把各特征的贡献分配后展示出来
正确答案D. 借助合作博弈论的思路,把各特征的贡献分配后展示出来

SHAP借用合作博弈论中使用的思路,把各特征对预测的贡献公平地分配后展示出来。以热力图形式展示模型判断时关注了图像哪个部位的是CAM和Grad-CAM,故意调换特征取值、从精度下降程度衡量重要度的是Permutation Importance,在各个预测点附近拟合简单模型、用其系数来解释的是LIME。这些方法都收录在教学大纲第33项模型的可解释性中,把能让人理解判断依据的这类做法统称为可解释AI(XAI)。

第40题 | 彩票假说

关于模型轻量化相关的彩票假说,恰当的内容是哪一项?

  1. 认为只要让小模型学习大型教师模型的输出,就能保持性能
  2. 认为大型网络内部存在着即使单独训练也能达到同等性能的子网络
  3. 认为模型越大,所需的训练数据便呈指数级增加
  4. 认为即便降低表示权重的数值精度,精度下降也极其有限
正确答案B. 认为大型网络内部存在着即使单独训练也能达到同等性能的子网络

彩票假说认为,大型网络内部含有『中奖』的子网络——即使只取出这部分单独训练,也能达到与整体相当的性能。它常被用来解释为何剪掉贡献较小的连接或层的剪枝会奏效。让小模型学习大型教师模型输出的是蒸馏,降低表示权重的数值精度的是量化,这两者与剪枝合计3种正对应教学大纲中的轻量化方法,统称为模型压缩。所需训练数据急剧增加的话题属于维度诅咒。需要轻量化的典型场景是在终端侧运行推理的边缘AI。

练习:做本页的题目

这是随机出题的练习工具(在启用 JavaScript 时运行)。即使不使用此工具,也可以阅读上方的全部题目和解说。

※ 解说是供学习用的信息。考试的出题范围和制度每年可能变化,请务必确认主办机构的官方公告。

本页面译自日文原文。如译文与原文内容不一致,以日文版为准。 查看日文原文