Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 14 additions & 11 deletions Neuro-Network-and-Deep-Learning/02-feedforward-network.typ
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@

/ 前馈神经网络: 也称多层感知机, 各神经元分别属于不同的层.每一层的神经元可以接收前一层神经元的信号, 并产生信号输出到下一层.第0层称为*输入层*, 最后一层称为*输出层*, 其他中间层称为*隐藏层*.整个网络中*无反馈*, 信号从输入层向输出层单向传播

$ z^((l)) = W^((l)) dot a^((l)) + b^((l)) $
$ a^((l)) = f_l(z^((l))) $
$ z^((l)) = W^((l)) dot a^((l-1)) + b^((l)) $
$ a^((l)) = f_l (z^((l))) $

在应用时, 通过FNN将样本映射后输入到一个分类器实现分类, 例如使用 logistic 函数处理二分类, 使用 softmax 函数处理多分类问题.

Expand Down Expand Up @@ -154,9 +154,9 @@ $
+ *反向传播算法 (Backpropagation) - 核心难点*
- *链式法则*:BP算法的数学基础, 需熟练掌握复合函数的求导.
- *误差项 ($delta$) 的定义与传递*:
- 定义:$delta^((l)) = partial cal(L) / partial z^((l))$.
- 定义:$delta^((l)) = (partial cal(L)) / (partial z^((l)))$.
- 递推公式:$delta^((l)) = f'_l (z^((l))) dot ((W^((l+1)))^T delta^((l+1)))$. 注意矩阵转置和逐元素相乘.
- *参数梯度*:利用误差项计算权重和偏置的梯度:$partial cal(L) / partial W^((l)) = delta^((l)) (a^((l-1)))^T$.
- *参数梯度*:利用误差项计算权重和偏置的梯度:$(partial cal(L)) / (partial W^((l))) = delta^((l)) (a^((l-1)))^T$.

+ *优化与正则化*
- *梯度消失问题*:产生原因 (Sigmoid导数最大值为0.25, 深层网络链式连乘导致梯度衰减) 及解决方案 (使用ReLU等).
Expand Down Expand Up @@ -197,12 +197,14 @@ $
==== 简答题

1. *激活函数性质*:请简述激活函数在神经网络中的作用. 如果将多层前馈神经网络中的所有激活函数都替换为线性函数 $f(x) = c x$, 网络会有什么变化?

*参考答案*:
- *作用*:激活函数引入了非线性因素, 使得神经网络能够逼近任意复杂的非线性函数 (依据通用近似定理).
- *线性化的后果*:如果使用线性函数, 无论网络有多少层, 其输出都是输入的线性组合.
- *结论*:整个多层网络将等价于一个单层线性模型 (如感知器), 从而失去处理非线性问题 (如异或问题) 的能力.

2. *梯度消失*:请结合 Sigmoid 函数的导数特性, 解释梯度消失问题产生的原因, 并列举一种解决方案.

*参考答案*:
- *导数特性*:Sigmoid 函数的导数为 $sigma'(x) = sigma(x)(1 - sigma(x))$, 其最大值仅为 0.25.
- *产生原因*:在反向传播中, 误差项是通过链式法则向前传递的, 涉及多个导数项的连乘. 如果网络很深, 多个小于 0.25 的数值相乘会迅速趋近于 0, 导致靠近输入层的梯度极其微弱, 参数无法有效更新.
Expand All @@ -212,6 +214,7 @@ $
- 使用残差连接 (ResNet).

3. *参数初始化*:为什么在训练神经网络时, 不能将所有权重参数 $W$ 初始化为 0?

*参考答案*:
- *前向传播*:如果所有权重初始化为 0, 同一层的所有神经元接收到的输入相同, 激活输出也完全相同.
- *反向传播*:由于输出相同, 它们获得的梯度更新也完全相同.
Expand All @@ -238,13 +241,13 @@ $

*反向计算*:
$
partial f / partial h_3 &= -1 / h_3^2 = -0.25 \
partial h_3 / partial h_2 &= 1 \
arrow.r partial f / partial h_2 &= -0.25 \
partial h_2 / partial h_1 &= exp(h_1) = 1 \
arrow.r partial f / partial h_1 &= -0.25 \
partial h_1 / partial w &= -x = -1 \
arrow.r partial f / partial w &= (-0.25) times (-1) = 0.25
(partial f) / (partial h_3) &= -1 / h_3^2 = -0.25 \
(partial h_3) / (partial h_2) &= 1 \
arrow.r (partial f) / (partial h_2) &= -0.25 \
(partial h_2) / (partial h_1) &= exp(h_1) = 1 \
arrow.r (partial f) / (partial h_1) &= -0.25 \
(partial h_1) / (partial w) &= -x = -1 \
arrow.r (partial f) / (partial w) &= (-0.25) times (-1) = 0.25
$

2. *反向传播推导*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -190,18 +190,21 @@ ResNet 是深度学习领域的一个重要里程碑, 解决了深层网络难
==== 简答题

1. *(核心概念)* 请简述卷积神经网络中“局部连接”和“权重共享”的含义, 并说明它们如何帮助处理图像数据.

*参考答案*:
- *局部连接*: 神经元不再与上一层的所有神经元相连, 而只与一个局部区域(感受野)内的神经元相连. 这符合图像的空间局部相关性(相邻像素联系紧密).
- *权重共享*: 同一个卷积核(滤波器)在图像的所有位置上滑动时, 其权重参数是固定的. 这意味着网络在图像不同位置使用相同的特征提取器.
- *作用*: 这两个机制大大减少了网络的参数数量, 提高了训练效率, 并赋予了网络平移不变性的基础.

2. *(数学性质)* 在教材 5.1 节中提到了“宽卷积”、“窄卷积”和“等宽卷积”. 请分别解释这三种卷积在步长 $S=1$ 时的定义(基于填充 $P$ 和核大小 $K$ 的关系)及输出尺寸的变化趋势.

*参考答案*:
- *窄卷积*: $P=0$, 输出尺寸为 $M - K + 1$, 特征图逐渐变小.
- *宽卷积*: $P=K-1$, 输出尺寸为 $M + K - 1$, 特征图变大.
- *等宽卷积*: $P=(K-1)/2$, 输出尺寸为 $M$, 特征图大小保持不变(常用于深层网络以维持空间维度).

3. *(结构分析)* 为什么现在的深层卷积网络(如 ResNet, Inception) 倾向于使用较小的卷积核(如 $1 times 1$ 和 $3 times 3$), 而不是大的卷积核(如 $5 times 5$ 或 $7 times 7$)?

*参考答案*:
- *减少参数量*: 堆叠两个 $3 times 3$ 卷积层的感受野与一个 $5 times 5$ 相同, 但参数量更少 ($2 times 3^2 = 18$ vs $5^2 = 25$).
- *增加非线性*: 多层小卷积核之间会加入激活函数(如 ReLU), 增加了网络的非线性表达能力, 使网络能学习更复杂的特征.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ BPTT 在处理长序列时, 由于梯度在时间轴上的连乘效应 (特别

=== 长短期记忆网络 (LSTM)

长短期记忆网络 (Long Short-Term Memory, LSTM) 是解决 RNN 梯度消失问题的核心方案. 它通过引入*细胞状态 (Cell State) *和*门控机制 (Gating Mechanisms) *, 实现了信息的长期保存. LSTM 的精妙之处在于 $c_t = f_t dot C_(t-1) + i_t dot tilde(c)_t$. 这种*线性加法*结构使得误差在反向传播时, 即使经过很多个时间步, 只要遗忘门开启, 梯度就不会像传统 RNN 那样因为连乘而迅速消失.
长短期记忆网络 (Long Short-Term Memory, LSTM) 是解决 RNN 梯度消失问题的核心方案. 它通过引入*细胞状态 (Cell State) *和*门控机制 (Gating Mechanisms) *, 实现了信息的长期保存. LSTM 的精妙之处在于 $c_t = f_t dot c_(t-1) + i_t dot tilde(c)_t$. 这种*线性加法*结构使得误差在反向传播时, 即使经过很多个时间步, 只要遗忘门开启, 梯度就不会像传统 RNN 那样因为连乘而迅速消失.

在每个时刻 $t$, LSTM 的计算逻辑由以下公式构成:

Expand All @@ -102,7 +102,7 @@ BPTT 在处理长序列时, 由于梯度在时间轴上的连乘效应 (特别

2. *更新细胞状态*:
- 候选状态: $tilde(c)_t = tanh(W_c x_t + U_c h_(t-1) + b_c)$
- 当前状态: $c_t = f_t dot C_(t-1) + i_t dot tilde(c)_t$ (*关键: 加法运算避免了梯度消失*)
- 当前状态: $c_t = f_t dot c_(t-1) + i_t dot tilde(c)_t$ (*关键: 加法运算避免了梯度消失*)

3. *计算隐藏输出*:
- $h_t = o_t dot tanh(c_t)$
Expand Down