|
7 | 7 |
|
8 | 8 | [1.介绍一下权重初始化的原理和核心思想](#1.介绍一下权重初始化的原理和核心思想) |
9 | 9 | - [面试问题:什么是权重初始化?核心目的是什么?](#面试问题-什么是权重初始化?核心目的是什么?) |
10 | | - - [面试问题:为什么绝对不能用全0或全常数初始化?](#面试问题-为什么绝对不能用全0或全常数初始化?) |
| 10 | + - [面试问题:常见的初始化方法有哪些?](#面试问题-常见的初始化方法有哪些?) |
| 11 | + - [面试问题:为什么不能用全0初始化,不合理初始化会导致什么问题?](#面试问题-为什么不能用全0初始化,不合理初始化会导致什么问题?) |
11 | 12 | - [面试问题:介绍一下Xavier/He初始化的核心思想](#面试问题-介绍一下Xavier/He初始化的核心思想) |
12 | | - - [面试问题:介绍权重初始化的核心目的并说明在AIGC时代的应用差异](#面试问题-介绍权重初始化的核心目的并说明在AIGC时代的应用差异) |
13 | 13 |
|
14 | 14 |
|
15 | 15 | #### 1.2.1.2 全连接层&归一化层基础 |
16 | 16 |
|
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 | + - [面试问题:归一化在扩散模型中的具体作用是什么?](#面试问题-归一化在扩散模型中的具体作用是什么?) |
20 | 26 |
|
21 | 27 | #### 1.2.1.3 激活函数基础 |
22 | 28 | - [1.请详细介绍激活函数的核心原理,包括引入目的、运算流程及底层逻辑。](#1.请详细介绍激活函数的核心原理,包括引入目的、运算流程及底层逻辑。) |
|
58 | 64 | ## 1.2.1 神经网络通用基础组件 |
59 | 65 | ### 1.2.1.1 权重初始化基础 |
60 | 66 |
|
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$ 调整,对批次大小不敏感,避免批次较小时归一化不稳定。 |
62 | 269 |
|
63 | | -## 面试问题:介绍一下权重初始化,权重初始化的核心目的是什么? |
| 270 | + 应用:传统深度学习中用于 RNN/LSTM;AIGC 中是 Transformer、扩散模型的核心归一化方法(如 Transformer 编码器 / 解码器每一层、UNet 深层),适配大模型训练和序列生成任务。 |
64 | 271 |
|
65 | | -**难度评分:⭐⭐ (2/5) | 考察频率:⭐⭐⭐⭐ (4/5)** |
66 | 272 |
|
67 | 273 |
|
68 | 274 |
|
69 | | -## 面试问题:为什么不能用全0初始化,不合理初始化会导致什么问题? |
70 | 275 |
|
71 | | -**难度评分:⭐⭐ (2/5) | 考察频率:⭐⭐⭐⭐ (4/5)** |
72 | 276 |
|
73 | 277 |
|
74 | 278 |
|
75 | 279 |
|
76 | 280 |
|
77 | 281 |
|
78 | | -<h2 id="2. Xavier / He 初始化的核心思想、公式、适用场景?为什么能缓解梯度消失?">2. Xavier / He 初始化的核心思想、公式、适用场景?为什么能缓解梯度消失?</h2> |
79 | 282 |
|
80 | | -## 面试问题:机器学习与深度学习有哪些区别? |
81 | 283 |
|
82 | | -**难度评分:⭐⭐ (2/5) | 考察频率:⭐⭐⭐⭐ (4/5)** |
83 | 284 |
|
84 | 285 |
|
85 | 286 |
|
|
0 commit comments