-
Notifications
You must be signed in to change notification settings - Fork 36
Expand file tree
/
Copy pathquiz.json
More file actions
62 lines (62 loc) · 2.44 KB
/
Copy pathquiz.json
File metadata and controls
62 lines (62 loc) · 2.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
[
{
"question": "为什么仅用线性层(没有激活函数)无法构建出有用的深度网络?",
"options": [
"线性层太慢",
"堆叠线性层会坍缩成单个线性变换,深度带不来任何好处",
"线性层没有偏置",
"线性层无法处理分批数据"
],
"correct": 1,
"explanation": "y = W2(W1*x + b1) + b2 可化简为 y = Ax + c。无论堆叠多少线性层,结果都等价于一个线性层。激活函数打破了这种可复合性。",
"stage": "pre"
},
{
"question": "ReLU 激活函数的输出范围是多少?",
"options": [
"(-1, 1)",
"(0, 1)",
"[0, 正无穷)",
"(负无穷, 正无穷)"
],
"correct": 2,
"explanation": "ReLU(x) = max(0, x)。它对所有负输入输出 0,对正输入原样通过,因此范围为 [0, 正无穷)。",
"stage": "pre"
},
{
"question": "ReLU 网络中的“死神经元”问题是什么?",
"options": [
"计算太慢的神经元",
"输入永远为负的神经元,永远输出零、梯度也为零",
"产生 NaN 值的神经元",
"偏置为零的神经元"
],
"correct": 1,
"explanation": "如果一个 ReLU 神经元的加权输入始终为负(由于糟糕的初始化或很大的负偏置),它就输出 0 且梯度为 0。它永远无法恢复,因为零梯度意味着零更新。",
"stage": "post"
},
{
"question": "在 GPT 和 BERT 这类现代 transformer 中,隐藏层默认使用哪种激活函数?",
"options": [
"Sigmoid",
"ReLU",
"GELU",
"Tanh"
],
"correct": 2,
"explanation": "GELU(高斯误差线性单元)是 transformer 中默认的激活函数。它提供平滑的梯度流动、避免死神经元,并且在语言模型中已被证明优于 ReLU。",
"stage": "post"
},
{
"question": "为什么 softmax 只用于输出层,而从不用于隐藏层?",
"options": [
"它对隐藏层来说太慢",
"它把一个向量转换为概率分布(各值之和为 1),这是分类输出所需要的,但中间表示并不需要",
"它会导致梯度爆炸",
"它只对两个类别有效"
],
"correct": 1,
"explanation": "softmax 对向量做归一化,使所有值都在 (0,1) 之间且总和为 1,从而形成一个概率分布。隐藏层需要保留并变换信息,而不是把它压缩成概率。",
"stage": "post"
}
]