+-
谷歌、微软、亚马逊、阿里、字节深度学习面试问答整理(基础篇)

初学者深度学习面试题

通常会问这些问题,以使应聘者熟悉面试官和面试环境。尽管问题本身可能很难回答,但此级别是你最好的机会,可以说服面试官您关于深度学习的基本概念很清楚。

你对这些问题的答案不必太详尽,但请记住,面试官可能会在稍后提出更高级的问题时回想起你的答案。相当于暗示面试官,你的技术大概会在什么程度。

压力大容易郁到病?
Sponsored by Cigna 信诺环球

1.感知器和逻辑回归之间有什么区别?

多层感知器(MLP)是我们用于分类的最基本的神经网络之一。对于二元分类问题,我们知道输出可以是0或1。这就像我们的简单逻辑回归一样,其中我们使用logit函数生成介于0和1之间的概率。

那么,两者有什么区别?

简而言之,这只是阈值函数的区别!当我们将逻辑回归模型限制为正好为1或正好为0时,我们得到一个Perceptron模型:

...


2.我们是否可以对隐藏层的所有神经元具有相同的偏见?

本质上,你在每个层或每个神经元处也可以具有不同的偏差值。但是,最好对隐藏层中的所有神经元都有一个偏差矩阵。

需要注意的一点是,这两种策略都会给你带来截然不同的结果。


速递中心有限公司-专心做好本地速递
Sponsored by 速递中心有限公司

3.如果我们在神经网络中不使用任何激活函数,该怎么办?

这个问题的主要目的是理解为什么我们需要神经网络中的激活函数。你可以通过简单说明神经网络的构建方式来开始:

步骤1:根据权重计算所有输入(X)的总和,并包括偏差项:

Z =(权重* X)+偏差

步骤2:应用激活函数来计算预期的输出:

Y =激活(Z)

在每一层执行步骤1和2。如果回想一下,那无非是向前传播!现在,如果没有激活功能怎么办?

我们的Y方程基本上变为:

Y = Z =(权重* X)+偏差

等等-这不仅仅是一个简单的线性方程吗?是的-这就是为什么我们需要激活功能。线性方程将无法捕获数据中的复杂模式-在深度学习问题的情况下,这一点更加明显。

为了捕获非线性关系,我们使用激活函数,这就是为什么没有激活函数的神经网络只是线性回归模型的原因。

4.在神经网络中,如果所有权重都初始化为相同的值怎么办?

用最简单的话说,如果所有神经元的权重值相同,则每个隐藏单元将获得完全相同的信号。尽管这可能在正向传播过程中起作用,但每次反向传播过程中成本函数的导数都相同。

5G热潮来袭 如何令生活享受大改进?
Sponsored by csl.

简而言之,网络上没有学习!你怎么称呼模型无法从数据中学习任何模式的现象?是的,不合身。

因此,如果所有权重都具有相同的初始值,则将导致拟合不足。

注意:这个问题可能会进一步引发有关爆炸梯度和消失梯度的问题,下面将对此进行介绍。


5.列出深度学习中的受监督和不受监督的任务。

现在,这可能是一个棘手的问题。可能存在一个误解,即深度学习只能解决无人监督的学习问题。不是这种情况。监督学习和深度学习的示例包括:

图片分类 文字分类 序列标记

另一方面,还有一些无监督的深度学习技术:

词嵌入(如跳过表和连续词袋):了解词嵌入:从Word2Vec到计数向量 自动编码器:学习如何使用自动编码器增强模糊的图像!

有一篇写这个的文章叫:深度学习的要点:无监督深度学习简介(使用Python代码,有兴趣的可以私信我要文章链接)


6.权重和偏差在神经网络中起什么作用?

这是一个用实际例子最好地解释的问题。考虑您今天想出去和朋友一起玩板球比赛。现在,许多因素都会影响您的决策,例如:

24小时防盗监控服务 - ADT Security
Sponsored by ADT Hong Kong Limited
你有多少朋友可以加入游戏? 你们所有人可以带多少设备? 外面的温度是多少?

等等。这些因素可以极大地改变您的决定,也可以不改变太多。例如,如果外面正在下雨,那么您根本不能出去玩。或者,如果您只有一只蝙蝠,也可以在玩的同时分享它。这些因素影响游戏的大小称为该因素的权重。

诸如天气或温度之类的因素可能具有较高的权重,而诸如设备之类的其他因素可能具有较低的权重。

但是,这是否意味着我们只能用一只球棒参加板球比赛?不,我们也需要1个球和6个小门。这就是偏见出现的地方。偏差允许您分配一些阈值,仅在超过阈值时,该阈值才可以帮助您激活决策点(或神经元)。

7.深度学习中的正向传播和反向传播如何工作?

现在,可以用两种方式回答。如果你正在接受电话采访,则无法以书面形式进行所有演算并向采访者展示。在这种情况下,最好这样解释:

前向传播:为输入提供隐藏层的权重。在每个隐藏层,我们计算每个节点上激活的输出,并进一步传播到下一层,直到到达最终输出层。由于我们从输入开始到最终输出层,因此我们向前移动,这称为前向传播 反向传播:通过了解成本函数随着神经网络中权重和偏差的变化而发生的变化,我们将其最小化。通过计算每个隐藏层的梯度(并使用链式规则)可获得此更改。由于我们从最终成本函数开始并返回每个隐藏层,因此我们向后移动,因此称为反向传播
奇妙优惠 门票买二送一
Sponsored by 香港迪士尼乐园

对于面对面采访,最好拿起标记,创建一个具有2个输入,一个隐藏层和一个输出层的简单神经网络,并对其进行解释。

...

正向传播:

...

反向传播:

对于所有权重,在L2层:

...

对于所有权重,在L1层:

喜疗疤-【升小叩门致胜攻略】
Sponsored by 喜疗疤
...

尽管你可能需要用上面的方程序代替实际的导数,但也不需要对偏置项进行解释。

8.深度学习中常用的数据结构是什么?

深度学习的范围从最简单的数据结构(如列表)到复杂的数据结构(如计算图)。

这是最常见的:

列表:元素的有序序列(你也可以在此处提及NumPy ndarrays) 矩阵:具有行和列的元素的有序序列 数据框:数据框就像矩阵一样,但是它包含实际数据,其中列名和行表示数据集中的每个数据点。如果将100名学生的分数,他们的成绩和他们的详细信息存储在数据框中,则他们的详细信息将存储为列。每行将代表100名学生中每人的数据 张量:如果你尝试深度学习,则将每天与他们合作。张量在PyTorch和TensorFlow中都使用,就像深度学习的基本编程单元一样。就像多维数组一样,我们可以对它们执行许多数学运算。在这里阅读更多关于张量的信息 计算图:由于深度学习涉及多个层次,通常涉及数百个(即使不是数千个)参数,因此了解计算流程非常重要。计算图就是这样。计算图为我们提供了执行操作的顺序,每个节点表示神经网络中的操作或组件

希望对近期面试的各位读者有帮助,中高级以及进阶篇将在明天整理出来,如果感觉实用可以点赞关注一波,感谢各位的支持!