目录[隐藏][展示]
- 1. 深度学习到底是什么?
- 2. 深度学习与机器学习有何区别?
- 3.您目前对神经网络的理解是什么?
- 4. 感知器到底是什么?
- 5. 什么是深度神经网络?
- 6. 究竟什么是多层感知器 (MLP)?
- 7. 激活函数在神经网络中起什么作用?
- 8. 梯度下降到底是什么?
- 9. 成本函数到底是什么?
- 10. 深度网络如何胜过浅层网络?
- 11. 描述前向传播。
- 12. 什么是反向传播?
- 13. 在深度学习的背景下,你如何理解梯度裁剪?
- 14. Softmax 和 ReLU 函数是什么?
- 15. 可以在所有权重设置为 0 的情况下训练神经网络模型吗?
- 16. epoch 与批次和迭代有何区别?
- 17. 什么是 Batch Normalization 和 Dropout?
- 18. 随机梯度下降与批量梯度下降有何区别?
- 19. 为什么在神经网络中包含非线性至关重要?
- 20.什么是深度学习中的张量?
- 21. 你会如何选择深度学习模型的激活函数?
- 22. CNN 是什么意思?
- 23. CNN 层数是多少?
- 24. 过拟合和欠拟合的影响是什么,如何避免它们?
- 25. 在深度学习中,什么是 RNN?
- 26.描述亚当优化器
- 27. 深度自动编码器:它们是什么?
- 28. Tensorflow中的Tensor是什么意思?
- 29. 计算图的解释
- 30. 生成对抗网络(GAN):它们是什么?
- 31. 在设计架构时,您将如何选择要包含在神经网络中的神经元和隐藏层的数量?
- 32. 深度强化学习采用了哪些类型的神经网络?
- 结论
深度学习并不是一个全新的想法。 人工神经网络是称为深度学习的机器学习子集的唯一基础。
深度学习是人类大脑的模仿,就像神经网络一样,因为它们是为了模仿人类大脑而创建的。
这已经有一段时间了。 这些天来,每个人都在谈论它,因为我们没有像现在这样多的处理能力或数据。
在过去的 20 年里,深度学习和机器学习是随着处理能力的急剧提高而出现的。
为了帮助您准备在寻找理想工作时可能遇到的任何问题,这篇文章将引导您完成一些深度学习面试问题,从简单到复杂。
1. 深度学习到底是什么?
如果你参加一个 深入学习 面试,你无疑明白什么是深度学习。 但是,面试官希望您提供详细的答复以及针对此问题的说明。
为了训练 神经网络 对于深度学习,必须使用大量有组织或非结构化的数据。 为了找到隐藏的模式和特征,它会执行复杂的程序(例如,区分猫的图像和狗的图像)。
2. 深度学习与机器学习有何区别?
作为被称为机器学习的人工智能的一个分支,我们使用数据、统计和算法技术训练计算机,以便它们随着时间的推移变得更好。
作为一个方面 机器学习,深度学习模仿人脑中看到的神经网络架构。
3.您目前对神经网络的理解是什么?
被称为神经网络的人工系统非常类似于在人体中发现的有机神经网络。
使用类似于 人类的大脑 函数,神经网络是一组算法,旨在识别一段数据中的潜在相关性。
这些系统通过将自己暴露于一系列数据集和示例来获取特定于任务的知识,而不是遵循任何特定于任务的规则。
这个想法是,系统不是对这些数据集进行预先编程的理解,而是学习区分特征与输入的数据。
神经网络中最常用的三个网络层如下:
- 输入层
- 隐藏层
- 输出层
4. 感知器到底是什么?
在人脑中发现的生物神经元可与感知器相媲美。 感知器接收多个输入,然后执行大量转换和功能并产生输出。
在二元分类中采用称为感知器的线性模型。 它模拟具有各种输入的神经元,每个输入具有不同的权重。
神经元使用这些加权输入计算一个函数并输出结果。
5. 什么是深度神经网络?
深度神经网络是一种人工神经网络 (ANN),在输入和输出层 (DNN) 之间具有多个层。
深度神经网络是深度架构神经网络。 “深”一词是指在单层中具有多个层次和单元的功能。 通过添加更多更大的层来捕获更高级别的模式,可以创建更准确的模型。
6. 究竟什么是多层感知器 (MLP)?
输入层、隐藏层和输出层存在于 MLP 中,就像在神经网络中一样。 它的构建类似于具有一个或多个隐藏层的单层感知器。
单层感知器的二进制输出只能对线性可分类(0,1)进行分类,而MLP可以对非线性类进行分类。
7. 激活函数在神经网络中起什么作用?
激活函数决定了一个神经元是否应该在最基本的水平上激活。 任何激活函数都可以接受输入的加权和加上偏置作为输入。 激活函数包括阶跃函数、Sigmoid、ReLU、Tanh 和 Softmax。
8. 梯度下降到底是什么?
最小化成本函数或误差的最佳方法是梯度下降。 目标是找到函数的局部全局最小值。 这指定了模型应遵循的路径以最小化错误。
9. 成本函数到底是什么?
成本函数是评估模型执行情况的指标; 它有时被称为“损失”或“错误”。 在反向传播期间,它用于计算输出层的误差。
我们利用这种不准确性,通过将其推回神经网络来推进神经网络的训练过程。
10. 深度网络如何胜过浅层网络?
除了输入和输出层之外,隐藏层还被添加到神经网络中。 在输入层和输出层之间,浅层神经网络使用单个隐藏层,而深层神经网络使用多个层级。
浅层网络需要几个参数才能适应任何功能。 即使使用少量参数,深度网络也可以更好地适应功能,因为它们包含多个层。
深度网络现在是首选,因为它们在处理任何类型的数据建模方面的多功能性,无论是语音还是图片识别。
11. 描述前向传播。
在称为前向传播的过程中,输入与权重一起传输到掩埋层。
在处理可以继续到下一层之前,在每个埋层中计算激活函数的输出。
该过程从输入层开始,一直到最终的输出层,因此得名前向传播。
12. 什么是反向传播?
当在神经网络中调整权重和偏差时,通过首先观察值如何变化来使用反向传播来降低成本函数。
了解每个隐藏层的梯度使得计算这种变化变得简单。
该过程称为反向传播,从输出层开始,然后向后移动到输入层。
13. 在深度学习的背景下,你如何理解梯度裁剪?
Gradient Clipping 是一种解决反向传播过程中出现的梯度爆炸问题的方法(在这种情况下,严重的不正确梯度会随着时间的推移而累积,从而导致在训练期间对神经网络模型权重进行重大调整)。
梯度爆炸是在训练过程中梯度变得过大时出现的问题,使模型不稳定。 如果梯度超出预期范围,梯度值将逐个元素推至预定义的最小值或最大值。
梯度裁剪增强了神经网络在训练期间的数值稳定性,但对模型性能的影响很小。
14. Softmax 和 ReLU 函数是什么?
一个称为 Softmax 的激活函数产生一个介于 0 和 1 之间的输出。每个输出都被划分,以便所有输出的总和为 XNUMX。 对于输出层,经常使用 Softmax。
整流线性单元,有时也称为 ReLU,是最常用的激活函数。 如果 X 为正,则输出 X,否则输出零。 ReLU 经常应用于埋层。
15. 可以在所有权重设置为 0 的情况下训练神经网络模型吗?
神经网络永远不会学会完成给定的工作,因此不可能通过将所有权重初始化为 0 来训练模型。
如果所有权重都初始化为零,则 W [1] 中的每个权重的导数将保持不变,这将导致神经元迭代地学习相同的特征。
不仅将权重初始化为 0,而且任何形式的常数都可能导致低于标准的结果。
16. epoch 与批次和迭代有何区别?
处理数据集和梯度下降技术的不同形式包括批处理、迭代和历元。 Epoch 涉及具有完整数据集的一次性神经网络,包括正向和反向。
为了提供可靠的结果,由于数据集太大而无法一次尝试通过,因此经常多次传递数据集。
这种通过神经网络重复运行少量数据的做法称为迭代。 为保证数据集成功地遍历神经网络,可以将其划分为若干个批次或子集,称为批处理。
根据数据收集的大小,所有三种方法(纪元、迭代和批量大小)本质上都是使用 梯度下降算法.
17. 什么是 Batch Normalization 和 Dropout?
Dropout 通过随机删除可见和隐藏的网络单元(通常删除 20% 的节点)来防止数据过度拟合。 它使网络收敛所需的迭代次数增加了一倍。
通过对每一层的输入进行归一化,使其平均输出激活为零,标准差为 XNUMX,批量归一化是提高神经网络性能和稳定性的一种策略。
18. 随机梯度下降与批量梯度下降有何区别?
批量梯度下降:
- 完整的数据集用于构建批量梯度的梯度。
- 庞大的数据量和缓慢更新的权重使得收敛变得困难。
随机梯度下降:
- 随机梯度使用单个样本来计算梯度。
- 由于更频繁的权重变化,它的收敛速度明显快于批量梯度。
19. 为什么在神经网络中包含非线性至关重要?
无论有多少层,神经网络在没有非线性的情况下都会表现得像感知器,使输出线性依赖于输入。
换句话说,具有 n 层和 m 个隐藏单元和线性激活函数的神经网络等价于没有隐藏层并且能够单独检测线性分离边界的线性神经网络。
如果没有非线性,神经网络就无法解决复杂的问题并对输入进行准确分类。
20.什么是深度学习中的张量?
称为张量的多维数组用作矩阵和向量的泛化。 它是深度学习的关键数据结构。 基本数据类型的 N 维数组用于表示张量。
张量的每个分量都具有相同的数据类型,并且该数据类型始终是已知的。 可能只有形状的一部分——即有多少维度以及每个维度有多大——是已知的。
在输入也完全已知的情况下,大多数操作会产生完全已知的张量; 在其他情况下,张量的形式只能在图执行期间建立。
21. 你会如何选择深度学习模型的激活函数?
- 如果必须预期的结果是实际的,那么使用线性激活函数是有意义的。
- 如果必须预测的输出是二元类概率,则应使用 Sigmoid 函数。
- 如果投影输出包含两个分类,则可以使用 Tanh 函数。
- 由于其易于计算,ReLU 函数适用于广泛的情况。
22. CNN 是什么意思?
专门评估视觉图像的深度神经网络包括卷积神经网络(CNN,或 ConvNet)。 在这里,不是在向量表示输入的神经网络中,输入是多通道图片。
多层感知器被 CNN 以一种特殊的方式使用,只需要很少的预处理。
23. CNN 层数是多少?
卷积层:主要层是卷积层,它有多种可学习的过滤器和一个感受野。 这个初始层接受输入数据并提取其特征。
ReLU 层:通过使网络非线性,该层将负像素变为零。
池化层:通过最小化处理和网络设置,池化层逐渐最小化表示的空间大小。 最大池化是最常用的池化方法。
24. 过拟合和欠拟合的影响是什么,如何避免它们?
当模型学习到训练数据中的复杂性和噪声到对模型对新数据的使用产生负面影响的程度时,这被称为过度拟合。
在学习目标函数时更容易适应的非线性模型更有可能发生。 可以训练模型来检测汽车和卡车,但它可能只能识别具有特定盒子形式的车辆。
鉴于它只接受过一种卡车的训练,它可能无法检测到平板卡车。 在训练数据上,该模型运行良好,但在实际世界中却不行。
欠拟合模型是指没有充分训练数据或无法泛化到新信息的模型。 当使用不充分或不准确的数据训练模型时,通常会发生这种情况。
欠拟合会影响准确性和性能。
重新采样数据以估计模型精度(K 折交叉验证)和使用验证数据集来评估模型是避免过拟合和欠拟合的两种方法。
25. 在深度学习中,什么是 RNN?
递归神经网络 (RNN) 是一种常见的人工神经网络,缩写为 RNN。 它们用于处理基因组、笔迹、文本和数据序列等。 对于必要的训练,RNN 采用反向传播。
26.描述亚当优化器
Adam 优化器,也称为自适应动量,是一种优化技术,用于处理具有稀疏梯度的噪声情况。
除了提供每个参数的更新以加快收敛外,Adam 优化器还通过动量增强收敛,确保模型不会陷入鞍点。
27. 深度自动编码器:它们是什么?
深度自动编码器是两个对称的深度信念网络的统称,通常包括四到五个浅层用于网络的编码一半和另一组四或五层用于解码的一半。
这些层构成了深度信念网络的基础,并受到玻尔兹曼机的约束。 在每个 RBM 之后,深度自动编码器将二进制更改应用于数据集 MNIST。
它们也可以用于其他数据集,在这些数据集中,高斯整流变换比 RBM 更受欢迎。
28. Tensorflow中的Tensor是什么意思?
这是另一个经常被问到的深度学习面试问题。 张量是一个数学概念,可视化为高维数组。
张量是这些数据数组,它们作为神经网络的输入提供,具有各种维度和排名。
29. 计算图的解释
TensorFlow 的基础是计算图的构建。 每个节点都在节点网络中起作用,其中节点代表数学运算,边代表张量。
它有时被称为“数据流图”,因为数据以图形的形式流动。
30. 生成对抗网络(GAN):它们是什么?
在深度学习中,生成建模是使用生成对抗网络完成的。 这是一项无监督的工作,其结果是通过识别输入数据中的模式来产生的。
鉴别器用于对生成器生成的实例进行分类,而生成器用于生成新的示例。
31. 在设计架构时,您将如何选择要包含在神经网络中的神经元和隐藏层的数量?
鉴于业务挑战,构建神经网络架构所需的神经元和隐藏层的精确数量无法通过任何硬性规则来确定。
在神经网络中,隐藏层的大小应该落在输入层和输出层大小的中间。
但是,可以通过一些简单的方法来获得创建神经网络设计的先机:
从一些基本的系统测试开始,根据之前在类似现实世界环境中使用神经网络的经验,看看什么对任何特定数据集表现最好,这是应对每个独特的现实世界预测建模挑战的最佳方法。
可以基于对问题域的了解和先前的神经网络经验来选择网络配置。 在评估神经网络的设置时,用于相关问题的层数和神经元数量是一个很好的起点。
神经网络的复杂性应根据预计的输出和准确性逐渐增加,从简单的神经网络设计开始。
32. 深度强化学习采用了哪些类型的神经网络?
- 在称为强化学习的机器学习范式中,该模型的作用是最大化累积奖励的想法,就像活物一样。
- 游戏和自动驾驶汽车都被描述为涉及的问题 强化学习.
- 如果要表示的问题是游戏,则屏幕用作输入。 为了为下一阶段产生输出,该算法将像素作为输入,并通过多层卷积神经网络对其进行处理。
- 模型的行为结果,无论是好的还是坏的,都起到了强化的作用。
结论
多年来,深度学习越来越受欢迎,几乎在每个行业领域都有应用。
公司越来越多地寻找能够使用深度学习和机器学习方法设计复制人类行为的模型的有能力的专家。
提高技能并保持对这些尖端技术的了解的候选人可以找到广泛的工作机会,并获得丰厚的报酬。
现在你可以开始面试了,因为你已经很好地掌握了如何回答一些最常被要求的深度学习面试问题。 根据您的目标采取下一步行动。
参观哈什多克 采访系列 为面试做准备。
发表评论