Skip to content

Commit b4d2c4d

Browse files
authored
Merge pull request #366 from zp940328/main
更新深度学习架构问答
2 parents 9ad65b8 + 88f0465 commit b4d2c4d

1 file changed

Lines changed: 214 additions & 13 deletions

File tree

深度学习基础(精华版)/03_深度学习网络架构.md

Lines changed: 214 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,22 @@
77

88
[1.介绍一下权重初始化的原理和核心思想](#1.介绍一下权重初始化的原理和核心思想)
99
- [面试问题:什么是权重初始化?核心目的是什么?](#面试问题-什么是权重初始化?核心目的是什么?)
10-
- [面试问题:为什么绝对不能用全0或全常数初始化?](#面试问题-为什么绝对不能用全0或全常数初始化?)
10+
- [面试问题:常见的初始化方法有哪些?](#面试问题-常见的初始化方法有哪些?)
11+
- [面试问题:为什么不能用全0初始化,不合理初始化会导致什么问题?](#面试问题-为什么不能用全0初始化,不合理初始化会导致什么问题?)
1112
- [面试问题:介绍一下Xavier/He初始化的核心思想](#面试问题-介绍一下Xavier/He初始化的核心思想)
12-
- [面试问题:介绍权重初始化的核心目的并说明在AIGC时代的应用差异](#面试问题-介绍权重初始化的核心目的并说明在AIGC时代的应用差异)
1313

1414

1515
#### 1.2.1.2 全连接层&归一化层基础
1616

17-
- [1.什么是全连接层,请详细介绍一下全连接层的作用。](#1.什么是全连接层,请详细介绍一下全连接层的作用。)
18-
- [2.什么是归一化,常用的归一化方法都有哪些,请分别介绍。](#2.什么是归一化,常用的归一化方法都有哪些,请分别介绍。)
19-
- [3.归一化和标准化的区别是什么,分别有哪些使用场景?](#3.归一化和标准化的区别是什么,分别有哪些使用场景?)
17+
[1.什么是全连接层,请详细介绍一下全连接层的作用](#1.什么是全连接层,请详细介绍一下全连接层的作用)
18+
- [面试问题:什么是全连接层,请详细介绍一下全连接层的作用](#面试问题-什么是全连接层,请详细介绍一下全连接层的作用)
19+
20+
[2.什么是归一化,常用的归一化方法都有哪些?](#2.什么是归一化,常用的归一化方法都有哪些?)
21+
- [面试问题:什么是归一化,常用的归一化方法都有哪些?](#面试问题-什么是归一化,常用的归一化方法都有哪些?)
22+
- [面试问题:归一化和标准化的核心区别是什么?](#面试问题-归一化和标准化的核心区别是什么?)
23+
- [面试问题:BatchNorm和LayerNorm的适用场景差异,为什么Transformer不用BatchNorm?](#面试问题-BatchNorm和LayerNorm的适用场景差异,为什么Transformer不用BatchNorm?)
24+
- [面试问题:AIGC大模型(如 Transformer中,LayerNorm通常放在什么位置?](#面试问题-AIGC大模型Transformer中,LayerNorm通常放在什么位置?)
25+
- [面试问题:归一化在扩散模型中的具体作用是什么?](#面试问题-归一化在扩散模型中的具体作用是什么?)
2026

2127
#### 1.2.1.3 激活函数基础
2228
- [1.请详细介绍激活函数的核心原理,包括引入目的、运算流程及底层逻辑。](#1.请详细介绍激活函数的核心原理,包括引入目的、运算流程及底层逻辑。)
@@ -58,28 +64,223 @@
5864
## 1.2.1 神经网络通用基础组件
5965
### 1.2.1.1 权重初始化基础
6066

61-
<h2 id="1.介绍一下权重初始化的原理和核心思想">1.介绍一下权重初始化的原理和核心思想</h2>
67+
<h1 id="1.介绍一下权重初始化的原理和核心思想">1.介绍一下权重初始化的原理和核心思想</h1>
68+
69+
<h2 id="面试问题-什么是权重初始化?核心目的是什么?">面试问题:什么是权重初始化?核心目的是什么?</h2>
70+
71+
**难度评分:⭐⭐ (2/5) | 考察频率:⭐⭐⭐⭐⭐ (5/5)**
72+
73+
(1)定义
74+
75+
权重初始化是神经网络训练启动前,为模型中所有可学习权重参数(如卷积核、全连接层权重、Transformer 的 QKV 投影矩阵等)赋予合理初始值的过程,是模型训练的基础前提,直接影响训练效果与模型性能。
76+
77+
(2)核心目的
78+
79+
- 打破对称性(核心中的核心):避免所有权重初始值相同,导致所有神经元输出一致、反向传播时梯度完全相同,最终无法学习差异化特征,网络等价于单层模型,失去深层学习能力。
80+
81+
- 防止梯度消失 / 爆炸:控制前向传播的激活值、反向传播的梯度量级,避免深层网络(尤其 AIGC 大模型)中信号指数级衰减或放大,确保训练可正常进行。
82+
83+
- 加速模型收敛:让损失函数从合理起点开始优化,减少迭代次数,避免模型陷入局部最优或损失平坦区域,提升训练效率。
84+
85+
- 保证信息稳定传递:使各层输出方差保持一致,避免某一层输出趋近于 0 或激活函数完全饱和(如 sigmoid、tanh),确保信息在网络中有效传递。
86+
87+
<h2 id="面试问题-常见的初始化方法有哪些?">面试问题:常见的初始化方法有哪些?</h2>
88+
89+
**难度评分:⭐⭐⭐ (3/5) | 考察频率:⭐⭐⭐⭐ (4/5)**
90+
91+
(1)目前常用的初始化方法有以下几种:
92+
93+
- **常数初始化**
94+
95+
权重初始化为固定值(如全 0、全 1)。会导致神经元完全对称,无法学习,**仅偏置可 0 初始化**
96+
97+
- **Xavier/Glorot 初始化**
98+
99+
针对饱和激活函数(sigmoid/tanh),保证前向、反向方差一致。
100+
101+
方差: $\displaystyle Var(w)=\frac{2}{n_{in}+n_{out}}$
102+
103+
- **He 初始化**
104+
105+
针对 ReLU/GELU 等非对称激活,补偿神经元失活带来的方差衰减。
106+
107+
方差: $\displaystyle Var(w)=\frac{2}{n_{in}}$
108+
109+
- **正交初始化**
110+
111+
权重矩阵满足正交性,使信号范数保持稳定,极强缓解梯度消失。
112+
113+
- **小方差随机初始化**
114+
115+
用极小正态分布初始化输出层,避免训练初期预测值过大。
116+
117+
传统深度学习中,CNN分类检测主流使用He初始化,RNN/LSTM序列任务多用Xavier或正交初始化以防止梯度消失,通用网络偏置采用0初始化、BN层初始化为 $\gamma=1,\beta=0$;
118+
AIGC领域,Transformer基座以He初始化为主,QKV层额外缩放 $\frac{1}{\sqrt{d_k}}$ ,LayerNorm固定 $\gamma=1,\beta=0$ 恒等初始化,扩散模型UNet卷积层用He初始化,时间嵌入和注意力层常用正交初始化,输出噪声头采用小方差初始化避免初始噪声预测爆炸;自动驾驶领域,2D检测与分割主干统一用He初始化,BEV和Transformer结构的注意力投影用正交初始化保证空间特征稳定传递,点云CNN及深度回归头常用小方差初始化避免深度预测跳变,多模态融合层偏向Xavier或温和版He以对齐多分支信号尺度。
119+
120+
<h2 id="面试问题-为什么不能用全0初始化,不合理初始化会导致什么问题?">面试问题:为什么不能用全0初始化,不合理初始化会导致什么问题?</h2>
121+
122+
**难度评分:⭐⭐ (2/5) | 考察频率:⭐⭐⭐⭐⭐ (5/5)**
123+
124+
不能用全0(全常数)初始化可学习权重的核心原因,是会引发不可逆的神经元对称性问题。如果所有权重初始值完全相同,同一层所有神经元的输入和输出会完全一致;反向传播时这些神经元获得的梯度也会完全相同,导致所有权重始终保持同步更新。最终网络永远只能学习到与单层线性模型等价的特征,彻底丧失深层神经网络的差异化表达能力。
125+
126+
需要补充的是,偏置项(bias)、LayerNorm的 $\beta$ 参数以及BatchNorm的偏移参数可以安全初始化为0,因为权重已经打破了对称性,不会再导致神经元输出同质化。
127+
128+
不合理初始化会导致的核心问题:
129+
130+
(1)通用深度学习问题
131+
132+
- 梯度消失 / 爆炸:权重初始值过大→前向传播激活值指数级增长→反向传播梯度爆炸;权重初始值过小→激活值指数级衰减→梯度消失,深层网络完全无法训练。
133+
- 激活函数饱和:输入值过大时,sigmoid/tanh 等饱和激活函数会进入梯度趋近于 0 的平坦区,参数停止更新。
134+
- 收敛极慢或不收敛:损失函数从极差的起点开始优化,需要大量迭代才能进入有效区域,甚至直接陷入局部最优。
135+
136+
(2)AIGC 大模型特有的严重问题
137+
138+
- 训练初期损失爆炸或 NaN:大模型层数可达数百层,初始化的微小量级误差会被指数放大,直接导致数值溢出。
139+
- 生成结果模式崩溃或质量极差:扩散模型噪声预测头初始化过大→初始预测噪声完全偏离真实值→模型无法学习正确的去噪逻辑;Transformer 初始化不当→注意力分布过于尖锐→生成内容重复、无意义。
140+
- 深层参数失效:梯度仅能传递到前几层,深层参数几乎不更新,大模型的百亿千亿参数能力无法发挥。
141+
142+
<h2 id="面试问题-介绍一下Xavier/He初始化的核心思想">面试问题:介绍一下Xavier/He初始化的核心思想</h2>
143+
144+
**难度评分:⭐⭐ (2/5) | 考察频率:⭐⭐⭐⭐⭐ (5/5)**
145+
146+
(1)核心定义与共同思想
147+
148+
Xavier(Glorot)和 He 初始化是现代深度学习最主流的两种参数初始化方法,**核心共同思想是基于方差一致性原则**:通过控制权重的初始方差,保证前向传播时各层激活值、反向传播时各层梯度的量级稳定,从根源上缓解深层网络的梯度消失 / 爆炸问题。
149+
150+
(2)各自核心原理与公式
151+
152+
**Xavier 初始化(2010)**
153+
154+
针对**sigmoid、tanh 等对称饱和激活函数**设计,假设激活函数在 0 点附近近似线性,且输入输出方差均为 1。
155+
156+
推导得出权重服从均值为 0、方差为:
157+
158+
$Var(w)=\frac{2}{n_{in}+n_{out}}$
159+
160+
的均匀或正态分布,同时满足前向和反向传播的方差一致。
161+
162+
**He 初始化(2015)**
163+
164+
针对**ReLU 及其变体(LeakyReLU、GELU)** 设计,修正了 Xavier 的核心假设:ReLU 的单侧抑制特性会使约一半神经元失活,导致输出方差减半。
165+
166+
因此将权重方差调整为:
167+
168+
$Var(w)=\frac{2}{n_{in}}$
169+
170+
仅依赖输入维度,是目前深度学习领域的通用默认初始化方法。
171+
172+
### 1.2.1.2 全连接层&归一化层基础
173+
174+
<h1 id="1.什么是全连接层,请详细介绍一下全连接层的作用">1.什么是全连接层,请详细介绍一下全连接层的作用</h1>
175+
176+
<h2 id="面试问题-什么是全连接层,请详细介绍一下全连接层的作用">面试问题:什么是全连接层,请详细介绍一下全连接层的作用</h2>
177+
178+
**难度评分:⭐⭐ \(2/5\) \| 考察频率:⭐⭐⭐⭐⭐ \(5/5\)**
179+
180+
(1)全连接层(FC 层)核心定义
181+
182+
全连接层(Full Connected Layer,简称 FC 层)是神经网络中最基础、最核心的层结构之一,核心特征是**当前层的每个神经元都与上一层的所有神经元完全连接**,无局部连接或稀疏连接特性,本质是对输入特征进行线性变换与非线性映射,是特征从 “局部表征” 向 “全局表征” 转化的关键层。
183+
184+
(2)核心原理
185+
186+
全连接层的计算逻辑简单且固定,核心是线性变换加激活函数,公式如下:
187+
188+
$y = \sigma(Wx + b)$
189+
190+
- 其中, $x$ 是上一层的输入特征向量(维度为 $n_{in}$ );
191+
192+
- $W$ 是全连接层的可学习权重矩阵(维度为 $n_{out} \times n_{in}$ , $n_{out}$ 为当前层神经元数量);
193+
194+
- $b$ 是偏置向量(维度为 $n_{out}$);
195+
196+
- $\sigma$ 是激活函数(如 ReLU、GELU、sigmoid,用于引入非线性,让网络学习复杂特征)。
197+
198+
核心逻辑:通过权重矩阵 $W$ 对输入特征进行线性组合,再通过偏置 $b$ 调整偏移量,最后通过激活函数引入非线性,实现输入特征的维度转换和特征融合,将上一层提取的局部 / 分散特征,整合为全局、抽象的高阶特征。
199+
200+
(3)核心作用
201+
202+
- 特征融合与抽象:将前层(如 CNN 的卷积层、Transformer 的注意力层)提取的局部、分散特征,通过全连接实现全局融合,生成更具代表性的抽象特征,适配后续任务需求。
203+
204+
- 维度映射:灵活转换特征维度,可将高维特征压缩为低维特征(如分类任务的特征降维),也可将低维特征升维(如生成任务的特征扩展),衔接不同结构的网络层。
205+
206+
- 输出预测:作为神经网络的输出层(或输出前的最后一层),将抽象特征映射到任务目标空间,如分类任务映射到类别概率(通过 softmax)、生成任务映射到目标输出维度(如扩散模型的噪声预测)。
207+
208+
(4)分领域应用
209+
210+
传统深度学习(CNN/RNN):
211+
212+
- CNN:作为分类 / 检测任务的 “分类头”,将卷积层提取的空间特征( flatten 后)映射为类别概率,如 AlexNet、VGG 的最后 3 层全连接层。
213+
214+
- RNN/LSTM:用于序列任务的输出层,将时序特征映射为每个时间步的预测结果(如文本分类、序列标注)。
215+
216+
AIGC 时代(Transformer / 扩散模型):
217+
218+
- Transformer:核心组件 FeedForward 层(前馈网络)本质是两层全连接层(中间加激活函数),负责对注意力层输出的特征进行非线性变换,增强模型表达能力;输出层用全连接层将特征映射到目标词汇表(NLP 生成)或图像像素(图像生成)。
219+
220+
- 扩散模型:UNet 的输出头用全连接层,将提取的特征映射为与输入图像维度一致的噪声预测值;文本条件嵌入层通过全连接层,将文本嵌入映射到与图像特征一致的维度,实现文本 \- 图像对齐。
221+
222+
<h1 id="2.什么是归一化,常用的归一化方法都有哪些?">1.什么是归一化,常用的归一化方法都有哪些?</h1>
223+
224+
<h2 id="面试问题-什么是归一化,常用的归一化方法都有哪些?">面试问题:什么是归一化,常用的归一化方法都有哪些?</h2>
225+
226+
**难度评分:⭐⭐ \(2/5\) \| 考察频率:⭐⭐⭐⭐⭐ \(5/5\)**
227+
228+
(1)归一化核心定义
229+
230+
归一化是神经网络训练中,对输入特征、网络中间输出进行**标准化 / 缩放处理**的核心操作,核心目的是统一特征量级、消除不同特征间的尺度差异,避免量级过大的特征主导训练,同时缓解梯度消失 / 爆炸,加速模型收敛,提升训练稳定性和泛化能力,是传统深度学习与 AIGC 大模型训练的基础前提。
231+
232+
(2)常用归一化方法
233+
234+
- Min\-Max 归一化(线性归一化)
235+
236+
定义:将数据映射到指定区间(常用 \[0,1\]\[\-1,1\]),属于线性缩放,保留数据相对分布。
237+
238+
原理与公式(以 \[0,1\] 区间为例):
239+
240+
$x_{norm} = \frac{x - \min(x)}{\max(x) - \min(x)}$
241+
242+
应用:传统深度学习中用于图像像素归一化(将 0\-255 像素值缩至 \[0,1\]);AIGC 中用于文本嵌入、噪声数据预处理,保证输入尺度统一。
243+
244+
- Z\-Score 标准化(标准化)
245+
246+
定义:将数据转换为均值为 0、方差为 1 的正态分布,消除量级影响,更适配线性模型和梯度下降。
247+
248+
原理与公式:
249+
250+
$x_{norm} = \frac{x - \mu}{\sigma}$
251+
252+
其中 $\mu$ 是数据均值, $\sigma$ 是数据标准差。
253+
254+
应用:传统深度学习中用于 TabNet、时序数据模型;AIGC 中用于 Transformer 的位置编码、扩散模型的噪声特征预处理,避免特征偏移。
255+
256+
- BatchNorm(批量归一化)
257+
258+
定义:对**单个批次内的每一个特征通道**进行归一化,是传统深度学习最常用的归一化方法。
259+
260+
原理:计算批次内特征的均值和方差,归一化后通过可学习参数 $\gamma$(缩放)和 $\beta$(偏移)调整特征分布,保留特征表达能力。
261+
262+
应用:传统深度学习(CNN/RNN)中,嵌入卷积层、全连接层之间,缓解梯度消失,加速训练;AIGC 中仅用于基础 CNN 结构(如扩散模型 UNet 浅层),大模型(Transformer)中较少使用。
263+
264+
- LayerNorm(层归一化)
265+
266+
定义:对**单个样本的所有特征通道**进行归一化,不依赖批次,适配序列数据和大模型。
267+
268+
原理:计算单个样本所有特征的均值和方差,同样通过 $\gamma$ 和 $\beta$ 调整,对批次大小不敏感,避免批次较小时归一化不稳定。
62269

63-
## 面试问题:介绍一下权重初始化,权重初始化的核心目的是什么?
270+
应用:传统深度学习中用于 RNN/LSTM;AIGC 中是 Transformer、扩散模型的核心归一化方法(如 Transformer 编码器 / 解码器每一层、UNet 深层),适配大模型训练和序列生成任务。
64271

65-
**难度评分:⭐⭐ (2/5) | 考察频率:⭐⭐⭐⭐ (4/5)**
66272

67273

68274

69-
## 面试问题:为什么不能用全0初始化,不合理初始化会导致什么问题?
70275

71-
**难度评分:⭐⭐ (2/5) | 考察频率:⭐⭐⭐⭐ (4/5)**
72276

73277

74278

75279

76280

77281

78-
<h2 id="2. Xavier / He 初始化的核心思想、公式、适用场景?为什么能缓解梯度消失?">2. Xavier / He 初始化的核心思想、公式、适用场景?为什么能缓解梯度消失?</h2>
79282

80-
## 面试问题:机器学习与深度学习有哪些区别?
81283

82-
**难度评分:⭐⭐ (2/5) | 考察频率:⭐⭐⭐⭐ (4/5)**
83284

84285

85286

0 commit comments

Comments
 (0)