【深度学习笔记】神经网络模型及经典算法知识点问答巩固(算法工程师面试笔试)

文章目录

  • 前言
  • 一、前馈神经网络模型
      • 1、请说说你对前馈神经网络中“前馈”二字的理解。
      • 2、记忆和知识是存储在_____上的。我们通常是通过逐渐改变_____来学习新知识。
      • 3、在一个人工神经元中,首先对输入信号进行____,然后加上一个____,最后经过_____得到输出信号。
      • 4、请简要说明生物神经元和人工神经元的相似之处。
      • 5、不同神经元之间的连接被赋予了不同的______,用来表示一个神经元对另一个神经元的影响大小。
      • 6、请说出两种常用的激活函数。
      • 7、人工神经网络是由很多___________按照一定的_________结构组成的。
      • 8、人工神经网络中神经元通过权重(网络参数)连接,这些权重(网络参数)是怎么得到的吗?
      • 9、请简要说明前馈神经网络和人工神经网络的主要区别。
      • 10、前馈神经网络有多个层,层内神经元____连接。邻层神经元_____连接。
      • 11、前馈神经网络可作为一个_______来使用,用于进行复杂的特征转换。
      • 12、说一说损失函数的作用,并举出两种常见的损失函数。
  • 二、前馈神经网络参数学习
      • 1、梯度下降法是用于求解_
      • 2、反向传播算法用于求解_
      • 3、请说明梯度下降法和下山的基本思想的相似之处
      • 4、在梯度下降法中,设 xk 为第k次迭代点,gk为点 xk对应的梯度方向,ak为第k次迭代的步长因子,则第k次迭代完成后可得到新一轮的迭代点xk+1 = ___
      • 5、说说你对梯度下降法中步长因子 / 学习率的理解。
  • 三、 卷积神经网络模型基础
      • 1、请问用全连接神经网络处理大尺寸图像存在的主要问题是什么?
      • 2、请简要说明卷积神经网络中的“卷积”二字的含义。
      • 3、与全连接神经网络相比,请简要说明卷积神经网络能够降低网络参数的三个策略是什么。
      • 4、卷积神经网路的网络结构一般是由______、______和全连接层组成。
      • 5、请简要说说你对卷积层中的步长(stride)和感受野(Receptive field)两个概念的理解。
      • 6、请说说卷积前对图像进行填充(Padding)有什么用。
      • 7、请说说你对特征图(feature map)和通道(channel)的理解。
      • 8、请问全连接神经网络和卷积神经网络的主要区别在哪里?
  • 四、 pytorch重点接口API学习
      • 1、请解释pytorch中下述程序的含义:self.fc2 = nn.Linear(512, 10)
      • 2、请解释pytorch中下述程序的含义:self.conv3 = nn.Conv2d(16, 32, 5, 1, 2)
      • 3、请解释pytorch中下述程序的含义:x = F.max_pool2d(x, 2, 2)
      • 4、请解释pytorch中下述程序的含义:x=F.avg_pool2d(x, 2, 2)
      • 5、请解释pytorch中下述程序的含义:optimizer = optim.SGD(model.parameters(), lr=0.002, momentum=0.5)
      • 6、请解释pytorch中下述程序的含义:loss=F.cross_entropy(output, target)
  • 五、卷积神经网络卷积扩展
      • 1、说说空洞卷积和反卷积的区别。
      • 2、列举几种增加神经元的感受野的方法。
      • 3、为了用一个非线性单元(如一层或多层的卷积层)去逼近一个目标函数。我们可以将目标函数拆分成两部分:_和_
      • 4、ResNet系列网络模型中的残差块的好处是什么?
  • 六、深度生成网络模型基础
      • 1、说出两种深度生成网络模型_____
      • 2、判别模型和生成模型的区别在哪里
      • 3、变分自编码器生成数据样本的基本思想是什么?
      • 4、变分自编码器中的再参数化指的是什么?解决什么问题?
      • 5、生成对抗网络生成数据样本的基本思想是什么?
      • 6、生成对抗网络中的生成网络和判别网络的分别是用于干什么的?
      • 7、解释生成对抗网络的损失函数中各个参数的含义?


前言

本文主要对神经网络及经典算法知识点的总结回顾,以问答的形式来展现,方便大家熟悉记忆,适合算法工程师面试笔试复习,欢迎点评收藏。


一、前馈神经网络模型

1、请说说你对前馈神经网络中“前馈”二字的理解。

答:前馈神经网络的层内无连接,邻层神经元亮亮链接,信号从输入层向输出层的单向传播。

2、记忆和知识是存储在_____上的。我们通常是通过逐渐改变_____来学习新知识。

答:记忆和知识是存储在生物神经元之间的连接上。我们通过逐渐改变生物神经元之间的连接强度来学习新知识。

3、在一个人工神经元中,首先对输入信号进行____,然后加上一个____,最后经过_____得到输出信号。

答:在一个人工神经元中,首先对输入信号进行加权求和,然后加上一个偏置,最后经过激活函数得到输出信号。

4、请简要说明生物神经元和人工神经元的相似之处。

答:人工神经元是对生物神经元的功能和结构的模拟,是对生物神经的形式化描述,是对生物神经元信息处理过程的抽象。

5、不同神经元之间的连接被赋予了不同的______,用来表示一个神经元对另一个神经元的影响大小。

答:不同神经元之间的连接被赋予了不同的权重,用来表示一个神经元对另一个神经元的影响大小。

6、请说出两种常用的激活函数。

答:Sigmoid型函数(一类S型曲线函数)包括 Logistic函数、Tanh函数、欧拉函数 ReLU。

7、人工神经网络是由很多___________按照一定的_________结构组成的。

答:人工神经网络是由很多人工神经元按照一定的拓扑结构组成的。

8、人工神经网络中神经元通过权重(网络参数)连接,这些权重(网络参数)是怎么得到的吗?

答:这些权重(网络参数)需要借助学习算法和训练数据来学习得到。

9、请简要说明前馈神经网络和人工神经网络的主要区别。

答:人工神经网络是一个更笼统的概念,泛指使用人工神经元彼此来连接构成的网络。

前馈神经网络是一种最简单的人工神经网络。

前馈神经网络专指层间神经元无连接,邻层神经元两两连接、且信号从输入层向输出层的单向传播的网络模型。

10、前馈神经网络有多个层,层内神经元____连接。邻层神经元_____连接。

答:前馈神经网络有多个层,层内神经元无连接。邻层神经元两两连接。

11、前馈神经网络可作为一个_______来使用,用于进行复杂的特征转换。

答:前馈神经网络可作为一个万能函数来使用,用于进行复杂的特征转换。

12、说一说损失函数的作用,并举出两种常见的损失函数。

答:量化模型预测和真实标签之间的差异。

0-1损失函数、平方损失函数、交叉熵损失平方:

二、前馈神经网络参数学习

1、梯度下降法是用于求解_

答:神经网络的网络参数

2、反向传播算法用于求解_

答:计算梯度下降法中每一步的梯度。

3、请说明梯度下降法和下山的基本思想的相似之处

答:最快的下山的方式就是找到当前位置最陡峭的方向,然后沿着此方向向下走,对应到函数中,就是找到给定点的梯度 ,然后朝着梯度相反的方向,就能让函数值下降的最快。下山的每一步的步子长度就对应梯度下降法中的步长/学习率。
反复求取梯度,最后就能到达局部的最小值。

4、在梯度下降法中,设 xk 为第k次迭代点,gk为点 xk对应的梯度方向,ak为第k次迭代的步长因子,则第k次迭代完成后可得到新一轮的迭代点xk+1 = ___

答:xk+1=xk-akgk

5、说说你对梯度下降法中步长因子 / 学习率的理解。

答:学习率简单讲就是下山中每一步的步长,也对应梯度下降法中每次迭代的程度。好的学习率可以更快地达到损失函数的最小值,保证收敛的loss值是全局最优解。
代码如下(示例):

三、 卷积神经网络模型基础

1、请问用全连接神经网络处理大尺寸图像存在的主要问题是什么?

答:如果输入图像尺寸很大,会导致网络参数很多。全连接前馈网络很难提取局部不变特征。

2、请简要说明卷积神经网络中的“卷积”二字的含义。

答:卷积是一种数学运算。在卷积神经网络中指的就是在一个图像上滑动一个卷积核(滤波器)通过卷积操作得到一组新的特征。
这里的卷积操作就是 计算权重矩阵和扫描所得的数据矩阵的乘积, 然后把结果汇总成一个输出像素。

3、与全连接神经网络相比,请简要说明卷积神经网络能够降低网络参数的三个策略是什么。

答:局部连接、权重共享、汇聚

4、卷积神经网路的网络结构一般是由______、______和全连接层组成。

答:卷积层、汇聚层、全连接层

5、请简要说说你对卷积层中的步长(stride)和感受野(Receptive field)两个概念的理解。

答:在卷积神经网络中,感受野(Receptive Field)是指特征图上的某个点能看到的输入图像的区域,即特征图上的点是由输入图像中感受野大小区域的计算得到的。一个神经元的感受野是指视网膜上的特定区域,只有这个区域的刺激才能激活该神经元。

步长是卷积操作中卷积核在图像上每一次运算移动的长度。即每次滑动的行数或列数。

请说说关于权重共享的理解。

作为参数的卷积核wl对于第L层的所有神经元都是相同的。可以理解为一个卷积核只捕捉输入数据中的一种特定的局部特征。

6、请说说卷积前对图像进行填充(Padding)有什么用。

答:输入图像在进行卷积后损失了部分信息,输入图像的边缘被剪掉了,所以要对原矩阵进行边界填充。

7、请说说你对特征图(feature map)和通道(channel)的理解。

答:通道是特征图的另一种说法。是指卷积核对图像进行卷积操作后,得到的结果矩阵。

8、请问全连接神经网络和卷积神经网络的主要区别在哪里?

答:连接神经网络和卷积神经网络的唯一区别就是神经网络相邻两层的连接方式。

在全连接神经网络中,每相邻两层之间的节点都有边相连。而对于卷积神经网络,相邻两层之间只有部分节点相连。

四、 pytorch重点接口API学习

1、请解释pytorch中下述程序的含义:self.fc2 = nn.Linear(512, 10)

答:实现加权求和+偏置的过程。 y=xAT+b

512是输入样本向量大小,10是输出向量大小。

2、请解释pytorch中下述程序的含义:self.conv3 = nn.Conv2d(16, 32, 5, 1, 2)

答:输入图像的通道数

卷积层输出的通道数

卷积核的大小

步长

填充数(如填充数为2,那么32×32变为36×36)

3、请解释pytorch中下述程序的含义:x = F.max_pool2d(x, 2, 2)

答:参数:输入向量

卷积核大小

步长大小

4、请解释pytorch中下述程序的含义:x=F.avg_pool2d(x, 2, 2)

答:平均池化

5、请解释pytorch中下述程序的含义:optimizer = optim.SGD(model.parameters(), lr=0.002, momentum=0.5)

答:参数1:一个求cost function以及cost function针对于权重的导数的函数

优化器整个是。感觉没讲。

6、请解释pytorch中下述程序的含义:loss=F.cross_entropy(output, target)

答:交叉熵。第一个参数:网络计算输出的向量,target是

五、卷积神经网络卷积扩展

1、说说空洞卷积和反卷积的区别。

答:通过给卷积核插入“空洞”来变相地增加其大小。

反卷积,又称转置卷积,可看做特殊的正向卷积,先按一定比例填充0扩大输入图像尺寸,后进行正向卷积。

2、列举几种增加神经元的感受野的方法。

答:增加卷积核的大小
增加层数来实现
在卷积之前进行汇聚操作
空洞卷积(又称膨胀卷积):通过给卷积核插入“空洞”来变相地增加其大小。

3、为了用一个非线性单元(如一层或多层的卷积层)去逼近一个目标函数。我们可以将目标函数拆分成两部分:

答:恒等函数和残差函数。

4、ResNet系列网络模型中的残差块的好处是什么?

答:假如新加的这些层的学习效果非常差,那我们就可以通过一条残差边将这一部分直接“跳过”。

添加的新网络层至少不会使效果比原来差,就可以较为稳定地通过加深层数来提高模型的效果了。提高信息的传播效率。

另一个好处在于可以缓解梯度消失的问题。

六、深度生成网络模型基础

1、说出两种深度生成网络模型_____

答:变分自编码器 VAE

生成对抗网络 GAN

2、判别模型和生成模型的区别在哪里

答:生成模型,源头导向,会尝试去找数据是怎么产生的,然后再对一个信号进行分类。基于你学习到的生成假设,判断哪个类别最有可能产生这个信号,这个样本就属于那个类别。

判别模型:结果导向。并不关心样本数据是怎么生成的,它只关心样本之间的差别,然后用差别来简单对给定的一个样本进行分类。

3、变分自编码器生成数据样本的基本思想是什么?

答:变分自编码器是一种深度生成模型,思想是利用神经网络分别建模两个复杂的条件概率密度函数。

4、变分自编码器中的再参数化指的是什么?解决什么问题?

答:是将一个函数 f(θ)的参数θ用另外一组参数表示,即θ=g(θ)

常用来将原始参数转换为另外一组具有特殊属性的参数。比如当θ是一个很大的矩阵时,可以使用两个低秩矩阵的乘积再参数化,从而减少参数量。

5、生成对抗网络生成数据样本的基本思想是什么?

答:通过对抗训练的方式使得生成网络产生的样本服从真实数据分布。在生成对抗网络中,有两个网络进行对抗训练。一个是生成网络,目标是尽量生成判别网络无法区分来源的样本,另一个是判别网络,目标是尽量准确的判断样本来自于真实数据还是由生成网络生成。

6、生成对抗网络中的生成网络和判别网络的分别是用于干什么的?

答:一个是生成网络,目标是尽量生成判别网络无法区分来源的样本,另一个是判别网络,目标是尽量准确的判断样本来自于真实数据还是由生成网络生成。

7、解释生成对抗网络的损失函数中各个参数的含义?

答:先看左边。左边这一部分的作用是保证判别器的基础判断能力:Ex pdata(x)[logD(x)],这里的x是从真实数据分布pdata中采样得到的样本。要使得这个式子越大,意味着D(x)越大,即判别器越能准确将真实样本识别为真实样本。故有maxD

再看右边,Ez∼pz(z)[log(1−D(G(z)))],z为某一特定分布pz中得到的采样,G(z)为生成器生成的虚假样本。要使得这项最大,意味着D(G(z)) 越小,即判别器能够正确区分样本,将其标为 False 故有maxD

最后看生成器G的损失函数,到了训练生成器G的阶段,此时判别器D固定,如果G更强,那么判别器会误判,此时 D(G(z))会变大,右边那一项会接近于0,整个式子的值会更小,则有minG。

你可能感兴趣的:(目标识别检测,图像处理,深度学习,深度学习,神经网络,算法,人工智能)