视频链接:【中英字幕】吴恩达深度学习课程第一课 — 神经网络与深度学习
本文题目来源:
【中英】【吴恩达课后测验】Course 1 - 神经网络和深度学习 - 第三周测验
目录
- 英文习题
- 中文习题
- 答案
英文习题 1.Which of the following are true? (Check all that apply.) Notice that I only list correct options.(备注:“^”表上标,“_”表下标)
A.X is a matrix in which each column is one training example.
B.a^ [2]_4 is the activation output by the 4th neuron of the 2nd layer
C.a^ [2] (12) denotes the activation vector of the 2nd layer for the 12th training example.
D.a^ [2] denotes the activation vector of the 2nd layer.
2.The tanh activation usually works better than sigmoid activation function for hidden units because the mean of its output is closer to zero, and so it centers the data better for the next layer. True/False?
A.True
B.False
Note:You can check this.
As seen in lecture the output of the tanh is between -1 and 1, it thus centers the data which makes the learning simpler for the next layer.
**3.Which of these is a correct vectorized implementation of forward propagation for layer l, where 1≤l≤L?** A.Z[l]=W[l]A[l?1]+b[l]
B.A[l]=g[l] (Z[l])
4.You are building a binary classifier for recognizing cucumbers (y=1) vs. watermelons (y=0). Which one of these activation functions would you recommend using for the output layer?
[ ] ReLU
[ ] Leaky ReLU
[x] sigmoid
[ ] tanh
Note: The output value from a sigmoid function can be easily understood as a probability.
5.Consider the following code:
A = np.random.randn(4,3)
B = np.sum(A, axis = 1, keepdims = True)
What will be B.shape?
we use (keepdims = True) to make sure that A.shape is (4,1) and not (4, ). It makes our code more rigorous.
6、Suppose you have built a neural network. You decide to initialize the weights and biases to be zero. Which of the following statements are True? (Check all that apply)
A.Each neuron in the first hidden layer will perform the same computation. So even after multiple iterations of gradient descent each neuron in the layer will be computing the same thing as other neurons.
B.Each neuron in the first hidden layer will perform the same computation in the first iteration. But after one iteration of gradient descent they will learn to compute different things because we have “broken symmetry”.
C.Each neuron in the first hidden layer will compute the same thing, but neurons in different layers will compute different things, thus we have accomplished “symmetry breaking” as described in lecture.
D.The first hidden layer’s neurons will perform different computations from each other even in the first iteration; their parameters will thus keep evolving in their own way.
7、Logistic regression’s weights w should be initialized randomly rather than to all zeros, because if you initialize to all zeros, then logistic regression will fail to learn a useful decision boundary because it will fail to “break symmetry”, True/False?
A.True
B.False
Logistic Regression doesn’t have a hidden layer. If you initialize the weights to zeros, the first example x fed in the logistic regression will output zero but the derivatives of the Logistic Regression depend on the input x (because there’s no hidden layer) which is not zero. So at the second iteration, the weights values follow x’s distribution and are different from each other if x is not a constant vector.
8.You have built a network using the tanh activation for all the hidden units. You initialize the weights to relative large values, using np.random.randn(…,…)* 1000. What will happen?
A.It doesn’t matter. So long as you initialize the weights randomly gradient descent is not affected by whether the weights are large or small.
B.This will cause the inputs of the tanh to also be very large, thus causing gradients to also become large. You therefore have to set 伪 to be very small to prevent divergence; this will slow down learning.
C.This will cause the inputs of the tanh to also be very large, causing the units to be “highly activated” and thus speed up learning compared to if the weights had to start from small values.
D.This will cause the inputs of the tanh to also be very large, thus causing gradients to be close to zero. The optimization algorithm will thus become slow.
9.Consider the following 1 hidden layer neural network:
文章图片
A.b[1] will have shape (4, 1)
B.W[1] will have shape (4, 2)
C.W[2] will have shape (1, 4)
D.b[2] will have shape (1, 1)
10.In the same network as the previous question, what are the dimensions of Z^ [1] and A^ [1]?
中文习题 1、以下哪一项是正确的?(备注:“^”表上标,“_”表下标)
A.X是一个矩阵,其中每个列都是一个训练示例。
B.a^ [2]_4是第二层的第四个神经元的激活的输出。
C.a^ [2] (12)表示第二层中第十二个的激活向量。
D.a^ [2] 表示第二层的激活向量。
2、tanh激活函数通常比隐藏层单元的sigmoid激活函数效果更好,因为其输出的平均值更接近于零,因此它将数据集中在下一层是更好的选择,请问正确吗?
A.True
B.False
注意:您可以看一看这里。
正如视频中所看到的,tanh的输出在-1和1之间,因此它将数据集中在一起,使得下一层的学习变得更加简单。
3、其中哪一个是第l层向前传播的正确向量化实现,其中 1≤l≤L
A.Z[l]=W[l]A[l?1]+b[l]
B.A[l]=g[l] (Z[l])
4、您正在构建一个识别黄瓜(y = 1)与西瓜(y = 0)的二元分类器。 你会推荐哪一种激活函数用于输出层?
A. ReLU
B. Leaky ReLU
C.sigmoid
D. tanh
注意:来自sigmoid函数的输出值可以很容易地理解为概率。
5、看一下下面的代码:
A = np.random.randn(4,3)
B = np.sum(A, axis = 1, keepdims = True)
请问B.shape的值是多少?
我们使用(keepdims = True)来确保A.shape是(4,1)而不是(4,),它使我们的代码更加严格。
6、假设你已经建立了一个神经网络。 您决定将权重和偏差初始化为零。 以下哪项陈述是正确的?
A.第一个隐藏层中的每个神经元节点将执行相同的计算。 所以即使经过多次梯度下降迭代后,层中的每个神经元节点都会计算出与其他神经元节点相同的东西。
B.第一个隐藏层中的每个神经元将在第一次迭代中执行相同的计算。 但经过一次梯度下降迭代后,他们将学会计算不同的东西,因为我们已经“破坏了对称性”。
C.第一个隐藏层中的每一个神经元都会计算出相同的东西,但是不同层的神经元会计算不同的东西,因此我们已经完成了“对称破坏”。
D即使在第一次迭代中,第一个隐藏层的神经元也会执行不同的计算, 他们的参数将以自己的方式不断发展。
【深度学习|【深度学习】吴恩达深度学习-Course1神经网络与深度学习-第三周浅层神经网络作业】7、Logistic回归的权重w应该随机初始化,而不是全零,因为如果初始化为全零,那么逻辑回归将无法学习到有用的决策边界,因为它将无法“破坏对称性”,是正确的吗?
A.True
B.False
Logistic回归没有隐藏层。 如果将权重初始化为零,则Logistic回归中的第一个示例x将输出零,但Logistic回归的导数取决于不是零的输入x(因为没有隐藏层)。 因此,在第二次迭代中,如果x不是常量向量,则权值遵循x的分布并且彼此不同。
8、您已经为所有隐藏单元使用tanh激活建立了一个网络。 使用np.random.randn(…,…)* 1000将权重初始化为相对较大的值。 会发生什么?
A.这没关系。只要随机初始化权重,梯度下降不受权重大小的影响。
B.这将导致tanh的输入也非常大,因此导致梯度也变大。因此,您必须将α设置得非常小以防止发散; 这会减慢学习速度。
C.这会导致tanh的输入也非常大,导致单位被“高度激活”,从而加快了学习速度,而权重必须从小数值开始。
D.这将导致tanh的输入也很大,因此导致梯度接近于零, 优化算法将因此变得缓慢。
9.看一下下面的单隐层神经网络:
文章图片
A.b[1] 的维度是(4, 1)
B.W[1] 的维度是 (4, 2)
C.W[2] 的维度是 (1, 4)
D.b[2] 的维度是 (1, 1)
10、在和上一个(与上一幅图)相同的网络中,Z[1] 和 A[1]的维度是多少?
答案
- ABCD。 这一个简单的符号表示问题,在吴恩达的课程中,带“[]”的上标表示第[]层,a又是激活函数的输出,故a^ [2]便表示第二层的激活向量。若再加上下标,如:a^ [2]_4则表示第二层激活向量的第四个神经元。如果是上标的“()”,如a^ [1] (2)就表示a^ [1]中的第2个向量。
- A。这是正确的,可以从老师的视频中看出来。sigmoid函数的值域是[0,1],而tanh函数的值域是[-1,1]。
- AB。这个式子吴恩达曾在其视频中提及过,详见吴恩达的视频。
- C。对于二元分类的输出层,一般使用sigmoid函数,tanh函数一般用于隐藏层。
- (4,1)。这个函数中axis=1,意思就是将行加起来,原本A的维度是(4,3),将每一行加起来(可以想象将第二列~第三列加到第一列上)得到一个(4,1)维度的矩阵。
- A。如果将权重初始化为0会出现隐藏单元在做同样计算的问题,无论训练多长时间,隐藏单元仍在计算完全一样的函数。此时,多个隐藏单元便毫无意义了。可见第三周的最后一个视频。
- A。是正确的,权重矩阵不能初始化为0,可见第三周最后一个视频。
- D。tanh对于较大的值变得平坦,这导致其梯度接近于零。 这减慢了优化算法。
- ABCD。老师的视频里有介绍,权重矩阵W维度应为(本层的神经元数,上一层输入的特征数),而对于b的维度应为(本层的神经元数,1)。
- 都是(4,m) 。可以做一个计算。我们知道Z=WX+b,权重矩阵W维度是(4,3),而X矩阵的维度应该是(3,m),故WX得到的维度就是(4,m),b的维度是(4,1),则(4,m)+(4,1)时,(4,1)会触发Python广播机制,从而最终得到的Z^ [1]是(4,m)的大小。A^ [1]=g(Z^ [1]),所以A^ [1]的维度和Z^ [1]的一样。都是(4,m)。
推荐阅读
- 神经网络|Datawhale-李宏毅深度学习/神经网络训练方法
- 深度学习|神经网络和深度学习-第2周 logistic-regression-as-a-neural-network
- 深度学习|神经网络和深度学习(二)-神经网络的编程基础
- 神经网络|神经网络与深度学习(一)- Logistic Regression as a Neural Network
- [DL]神经网络与深度学习|[2022-09-05]神经网络与深度学习第0章-basic‘s basic(part 2)
- [DL]神经网络与深度学习|[2022-08-29]神经网络与深度学习第0章-basic‘s basic(part 1)
- 神经网络与深度学习|神经网络与深度学习第3章(线性模型 阅读提问)
- 算法|字节跳动VQScore算法拿下ICME 2021“压缩UGC视频质量评估”比赛第一名
- 自然语言处理|机器学习中的七宗罪