最新深度学习面试题及其答案大全

最新深度学习面试题及其答案大全

文章图片
下面列出了最常见的深度学习面试问题和答案。
1)什么是深度学习?
深度学习是机器学习的一部分, 其算法受大脑结构和功能的启发, 称为人工神经网络。在1960年代中期, Alexey Grigorevich Ivakhnenko在致力于深度学习网络的同时发布了第一份将军。深度学习适用于许多领域, 例如计算机视觉, 语音识别, 自然语言处理等。
2)人工智能, 机器学习和深度学习之间的主要区别是什么?
  • AI代表人工智能。它是一种使机器模仿人类行为的技术。
  • 机器学习是AI的子集, 它使用统计方法来使机器根据经验进行改进。
最新深度学习面试题及其答案大全

文章图片
  • 深度学习是机器学习的一部分, 它使多层神经网络的计算变得可行。它利用神经网络来模拟类似人的决策。
3)区分有监督和无监督的深度学习程序。
  • 监督学习是一种既提供输入数据又提供所需输出数据的系统。标记输入和输出数据以为将来的数据处理提供学习基础。
  • 无监督的过程不需要显式的标记信息, 并且可以在没有相同信息的情况下执行操作。常见的无监督学习方法是聚类分析。它用于探索性数据分析, 以查找隐藏的模式或数据分组。
4)深度学习有哪些应用?
深度学习有多种应用:
  • 计算机视觉
  • 自然语言处理和模式识别
  • 图像识别与处理
  • 机器翻译
  • 情绪分析
  • 问答系统
  • 对象分类与检测
  • 自动手写生成
  • 自动文本生成。
5)你认为深层网络优于浅层网络吗?
浅层和深层网络都足够好, 并且能够近似任何功能。但是对于相同级别的准确性, 更深层的网络在计算和参数数量方面可能会更加高效。深度网络可以创建深度表示。在每一层, 网络都会学习到一种新的, 更抽象的输入表示形式。
6)” 过度拟合” 是什么意思?
过度拟合是深度学习中最常见的问题。当深度学习算法理解特定数据的声音时, 通常会发生这种情况。当特定算法非常适合数据时, 它也会出现;当算法或模型代表高方差和低偏差时, 也会显示出来。
7)什么是反向传播?
反向传播是一种用于多层神经网络的训练算法。它将错误信息从网络末端传输到网络内部的所有权重。它允许有效地计算梯度。
反向传播可以分为以下步骤:
  • 它可以通过网络转发训练数据的传播以生成输出。
  • 它使用目标值和输出值来计算有关输出激活的误差导数。
  • 它可以向后传播以计算与上一层中的输出激活有关的误差的导数, 并对所有隐藏层继续进行。
  • 它使用先前计算的输出导数和所有隐藏层来计算有关权重的误差导数。
  • 它更新权重。
8)傅里叶变换在深度学习中的作用是什么?
傅立叶变换软件包对于分析, 维护和管理大型数据库非常高效。该软件具有称为特殊写照的高质量功能。可以有效地利用它来生成实时阵列数据, 这对于处理所有类别的信号非常有帮助。
9)用几句话描述深度学习自主形式的理论。
特定主题有几种形式和类别, 但是自主模式表示独立或未指定的数学基础, 没有任何特定的分类器或公式。
10)深度学习在当今时代有什么用途, 它如何增加数据科学家?
深度学习在机器学习和数据科学领域带来了重大变化或革命。复杂神经网络(CNN)的概念是数据科学家关注的主要中心。由于它在执行下一级机器学习操作中的优势而被广泛采用。深度学习的优势还包括基于算法的最大灵活性和适应性, 从而可以基于算法澄清和简化问题。这是允许数据以独立途径移动的罕见程序之一。大多数数据科学家都将这种特殊的介质视为对现有机器学习过程的一种高级补充和扩展方式, 并将其用于解决日常的复杂问题。
11)什么是深度学习框架或工具?
深度学习框架或工具是:
Tensorflow, Keras, Chainer, Pytorch, Theano&Ecosystem, Caffe2, CNTK, DyNetGensim, DSSTNE, Gluon, Paddle, Mxnet, BigDL
12)深度学习有哪些缺点?
深度学习有一些缺点, 它们是:
  • 深度学习模型需要更长的时间来执行模型。在某些情况下, 取决于复杂性, 执行单个模型甚至需要几天的时间。
  • 深度学习模型不适用于小型数据集, 但此处失败。
13)神经网络中术语权重初始化的含义是什么?
在神经网络中, 权重初始化是必要因素之一。权重初始化不良会阻止网络学习。另一方面, 良好的权重初始化有助于实现更快的收敛性和更好的整体错误。偏差可以初始化为零。设置权重的标准规则是接近零而又不要太小。
14)解释数据标准化。
数据规范化是必不可少的预处理步骤, 用于对值进行重新缩放以适合特定范围。它可以确保反向传播期间更好的收敛。通常, 数据归一化归结为减去每个数据点的平均值并除以其标准偏差。
15)为什么零初始化不是一个好的加权初始化过程?
如果网络中的权重集合设为零, 则在反向传播期间, 每一层的所有神经元将开始产生相同的输出和相同的梯度。
结果, 网络根本无法学习, 因为神经元之间没有不对称的来源。这就是为什么我们需要在权重初始化过程中增加随机性的原因。
16)进行深度学习的先决条件是什么?
深度学习入门有一些基本要求, 它们是:
  • 机器学习
  • 数学
  • Python编程
17)深度学习中的监督学习算法是什么?
  • 人工神经网络
  • 卷积神经网络
  • 递归神经网络
18)深度学习中有哪些无监督学习算法?
  • 自组织图
  • 深度信念网络(玻尔兹曼机)
  • 自动编码器
19)神经网络中有多少层?
  • 输入层
    输入层包含将信息发送到隐藏层的输入神经元。
  • 隐藏层
    隐藏层用于将数据发送到输出层。
  • 输出层
    数据在输出层可用。
20)激活功能有什么用?
激活函数用于将非线性引入神经网络, 以便可以学习更复杂的函数。没有激活功能, 神经网络将只能学习功能, 这是其输入数据的线性组合。
激活功能将输入转换为输出。激活功能负责确定是否应激活神经元。它通过计算加权和并进一步加上偏差来做出决策。激活函数的基本目的是将非线性引入神经元的输出中。
21)有几种类型的激活功能可用?
  • 二元步
  • 乙状结肠
  • 可疑的
  • 简历
  • 泄漏的ReLU
  • 软最大
  • 挥舞
22)什么是二进制步进函数?
二进制阶跃函数是激活函数, 通常基于阈值。如果输入值高于或低于特定阈值限制, 则会激活神经元, 然后它将相同的信号发送到下一层。此功能不允许多值输出。
23)什么是乙状结肠功能?
乙状结肠激活函数也称为逻辑函数。传统上, 它是神经网络的一种时髦的激活函数。该函数的输入数据将转换为0.0到1.0之间的值。远大于1.0的输入值将转换为值1.0。同样, 远小于0.0的值将转换为0.0。对于所有可能的输入, 函数的形状为S形, 范围从零到0.5到1.0。这是1990年代初在神经网络上使用的默认激活。
24)什么是Tanh函数?
双曲正切函数(也称为tanh)是类似形状的非线性激活函数。它提供-1.0到1.0之间的输出值。在1990年代后期和整个2000年代, 该功能比S型激活功能更受欢迎。它更容易训练, 并且通常具有更好的预测性能。
25)什么是ReLU功能?
实现激活功能的节点或单元简称为整流线性激活单元或ReLU。通常, 将整流器功能用于隐藏层的网络称为整流网络。
采用ReLU很容易被视为深度学习革命中的几个里程碑之一。
26)泄漏的ReLU函数有什么用?
漏泄ReLU(LReLU或LReL)管理该功能, 以在输入小于零时允许较小的负值。
27)什么是softmax函数?
softmax函数用于计算n个不同事件上事件的概率分布。使用softmax的主要优点之一是输出概率范围。范围在0到1之间, 所有概率的总和等于1。当softmax函数用于多分类模型时, 它返回每个类别的概率, 而目标类别将具有较高的概率。
28)什么是Swish函数?
Swish是一种新的自选通激活功能。 Google的研究人员发现了Swish功能。根据他们的论文, 它在类似的计算效率水平上比ReLU更好。
29)什么是最常用的激活功能?
【最新深度学习面试题及其答案大全】Relu功能是最常用的激活功能。它有助于我们解决消失的梯度问题。
30)可以在输出层中使用Relu功能吗?
不可以, 必须在隐藏层中使用Relu功能。
31)在哪个层中使用softmax激活功能?
必须在输出层中使用Softmax激活功能。
32)你对自动编码器了解什么?
自动编码器是一个人工神经网络。它可以学习一组数据的表示形式而无需任何监督。网络通过将其输入复制到输出来自动学习。通常, 互联网表示的尺寸小于输入矢量的尺寸。结果, 他们可以学习表示数据的有效方法。自动编码器由两部分组成;编码器尝试使输入适合内部表示, 解码器将内部状态转换为输出。
33)辍学是什么意思?
辍学是一种廉价的调节技术, 用于减少神经网络的过度拟合。我们在每个训练步骤中随机删除一组节点。结果, 我们为每个训练案例创建了一个不同的模型, 并且所有这些模型都具有权重。这是模型平均的一种形式。
34)你对张量理解什么?
张量不过是在深度学习中表示数据的事实。它们只是多维数组, 这使我们可以表示具有更高维的数据。通常, 我们处理高维数据集, 其中维是指数据集中存在的不同特征。
35)你对玻尔兹曼机器有什么了解?
玻尔兹曼机器(也称为带有隐藏单元的随机Hopfield网络)是一种递归神经网络。在Boltzmann机器中, 节点在一定偏差下做出二进制决策。 Boltzmann机器可以串在一起以创建更复杂的系统, 例如深度信任网络。可以使用Boltzmann机器来优化问题的解决方案。
关于玻尔兹曼机的一些要点-
  • 它使用循环结构。
  • 它由随机神经元组成, 其中包括两个可能的状态之一, 即1或0。
  • 存在于其中的神经元处于适应状态(自由状态)或被钳制状态(冻结状态)。
  • 如果我们应用模拟退火或离散Hopfield网络, 那么它将成为玻尔兹曼机。
36)什么是模型容量?
深度学习神经网络的能力控制着它可以学习的映射函数类型的范围。模型容量可以近似任何给定的函数。当模型容量更高时, 意味着可以在网络中存储更多信息。
37)什么是成本函数?
成本函数描述了神经网络相对于给定训练样本和预期输出的性能。它可能取决于权重和偏差等变量, 它提供了整个神经网络的性能。在深度学习中, 我们的首要任务是最小化成本函数。这就是为什么我们更喜欢使用梯度下降的概念。
38)解释梯度下降?
通过在梯度的负值所指定的最陡下降方向反复移动来最小化某些功能的优化算法称为梯度下降。这是一个迭代算法, 在每个迭代算法中, 我们都针对每个参数计算成本函数的梯度, 并通过以下公式更新该函数的参数:
最新深度学习面试题及其答案大全

文章图片
其中
Θ-是参数向量,
α-学习率,
J(Θ)-是一个成本函数
在机器学习中, 它用于更新模型的参数。参数表示线性回归中的系数和神经网络中的权重。
39)解释以下梯度下降的变体:随机, 批量和小批量?
  • 随机梯度下降
    仅使用一个训练示例, 即可使用随机梯度下降来计算梯度并更新参数。
  • 批次梯度下降
    批梯度下降用于计算整个数据集的梯度, 并且每次迭代仅执行一次更新。
  • 小批量梯度下降
    小批量梯度下降是随机梯度下降的一种变化。代替单个训练示例, 而是使用小批量样本。小批量梯度下降是最流行的优化算法之一。
40)小批量梯度下降的主要优点是什么?
  • 与随机梯度下降相比, 它的计算效率很高。
  • 通过找到平坦的极小值, 可以提高泛化性。
  • 通过使用迷你批处理, 可以提高收敛性。我们可以估计整个训练集的梯度, 这可能有助于避免局部最小值。
41)什么是矩阵元素逐乘?举例说明。
逐元素矩阵乘法用于获取相同维数的两个矩阵。它进一步产生具有元素的另一组合矩阵, 所述元素是矩阵a和b的对应元素的乘积。
最新深度学习面试题及其答案大全

文章图片
42)你对卷积神经网络了解什么?
卷积神经网络(通常称为CNN)是前馈神经网络。它在其至少一层中使用卷积。卷积层包含一组过滤器(内核)。该滤镜在整个输入图像上滑动, 计算滤镜和输入图像权重之间的点积。训练的结果是, 网络会自动学习可以检测特定功能的过滤器。
43)解释CNN的不同层。
我们在CNN(卷积神经网络)中应该理解四个层次的概念:
  • 卷积
    该层包括一组独立的过滤器。所有这些过滤器都是随机初始化的。这些过滤器然后成为我们的参数, 网络随后将学习这些参数。
  • 简历
    ReLu层与卷积层一起使用。
  • 汇集
    它减小了表示的空间大小, 从而减少了网络中参数的数量和计算量。该层在每个要素地图上独立运行。
  • 全集
    完全连接的层中的神经元与上一层中的所有激活都具有完整的连接, 如常规神经网络中所见。它们的激活可以很容易地通过矩阵乘法加上偏置偏移来计算。
44)什么是RNN?
RNN代表递归神经网络。这些是人工神经网络, 旨在识别诸如手写, 文本, 口语, 基因组和数字时间序列数据之类的数据序列中的模式。由于RNN具有内部记忆, 因此使用反向传播算法进行训练。 RNN可以记住有关收到的输入的重要信息, 这使他们可以非常精确地预测下一个下一步。
45)在循环网络中进行培训时会遇到什么问题?
递归神经网络使用反向传播算法进行训练, 但它适用于每个时间戳。通常称为时间反向传播(BTT)。
反向传播存在两个重要问题, 例如:
  • 消失梯度
    当我们执行反向传播时, 梯度会变得越来越小, 因为我们在网络中不断向后移动。结果, 如果我们将其与后一层的神经元进行比较, 则前一层的神经元学习会非常缓慢。较早的层更有价值, 因为它们负责学习和检测简单模式。它们是网络的基础。
    如果它们提供的结果不正确或不准确, 那么我们如何期望下一层和完整的网络性能良好并提供准确的结果。训练过程的故事很长, 模型的预测准确性下降。
  • 爆炸梯度
    当累积大误差梯度时, 爆炸梯度是主要问题。它们提供了在训练过程中神经网络模型权重极大更新的结果。
    当更新较小且受控制时, 渐变下降过程最有效。当梯度的大小累积时, 可能会出现不稳定的网络。这可能会导致结果预测不佳, 甚至导致报告无用的模型。
46)解释LSTM的重要性。
LSTM代表长期短期记忆。这是一种人工RNN(递归神经网络)架构, 用于深度学习领域。 LSTM具有反馈连接, 这使其成为” 通用计算机” 。它不仅可以处理单个数据点, 还可以处理整个数据序列。
它们是一种特殊的RNN, 能够学习长期依赖关系。
47)自动编码器有哪些不同层?简要说明。
自动编码器包含三层:
  • 编码器
    编码器用于将输入压缩为潜在空间表示。它将输入图像编码为缩小尺寸的压缩表示。压缩的图像是原始图像的变形版本。
  • 代码
    代码层用于表示馈送到解码器的压缩输入。
  • 解码器
    解码器层将编码图像解码回其原始尺寸。解码图像是原始图像的缩小重构。它是根据潜在空间表示自动重建的。
48)深度自动编码器对你有什么了解?
深度自动编码器是简单自动编码器的扩展。 DeepAutoencoder中存在的第一层负责原始输入中的一阶函数。第二层负责与一阶函数的外观中的图案相对应的二阶函数。深度自动编码器中可用的更深层往往会学习甚至高阶特征。
深度自动编码器是两个对称的深度信任网络的组合:
  • 前四个或五个浅层代表编码的一半。
  • 四层或五层的其他组合构成了解码的一半。
49)在深度学习中建立必要的假设结构的三个步骤是什么?
建立假设结构的过程涉及三个特定的动作。
  • 第一步包括算法开发。这个特定的过程很漫长。
  • 第二步包含算法分析, 代表了过程中的方法论。
  • 第三步是在最终过程中实现通用算法。整个框架是相互关联的, 并且在整个过程中都是必需的。
50)你对Perceptron有什么了解?另外, 说明其类型。
感知器是进行某些计算以检测特征的神经网络单元(人工神经元)。它是一种用于二进制分类器监督学习的算法。该算法用于使神经元一次学习和处理训练集中的元素。
最新深度学习面试题及其答案大全

文章图片
感知器有两种类型:
  • 单层感知器
    单层感知器只能学习线性可分离的模式。
  • 多层感知器
    具有两层或多层的多层感知器或前馈神经网络具有更高的处理能力。
工作/人力资源面试问题
jQuery面试问题
Java OOP面试问题
JSP面试问题
休眠面试问题
SQL面试题
Android面试题
MySQL面试问题
面试技巧
JavaScript面试问题
Java基础面试问题
Servlet面试问题
春季面试问题
PL / SQL面试问题
Oracle面试问题
SQL Server面试问题

    推荐阅读