Skip to content

Commit 2efb2cc

Browse files
committed
update posts
1 parent 581e2d0 commit 2efb2cc

8 files changed

+586
-30
lines changed

_posts/2025-10-27-d2l_study_notes.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ comments: true
88
author: Pianfan
99
---
1010

11-
本系列为博主在学习[《动手学深度学习(第二版)》](https://zh.d2l.ai/)过程中记录的笔记。<!-- more -->由于中文版有些地方翻译得不太准确,博主在阅读的过程中同时参考了[英文版](https://d2l.ai/)的表述。本系列笔记主要记录学习过程中遇到的核心概念与相关的数学和代码表示,以便今后在需要用到时可以通过笔记快速回顾。
11+
本系列为博主在学习[《动手学深度学习(第二版)》](https://zh.d2l.ai/)过程中记录的笔记(深度学习框架使用 PyTorch)<!-- more -->由于中文版有些地方翻译得不太准确,博主在阅读的过程中同时参考了[英文版](https://d2l.ai/)的表述。本系列笔记主要记录学习过程中遇到的核心概念与相关的数学和代码表示,以便今后在需要用到时可以通过笔记快速回顾。
1212

1313
## 系列目录
1414

@@ -32,4 +32,6 @@ author: Pianfan
3232

3333
- [10. 注意力机制](https://pianfan.github.io/d2l_attention-mechanisms/)
3434

35+
- [11. 优化算法](https://pianfan.github.io/d2l_optimization/)
36+
3537
后续章节持续更新中……

_posts/2025-10-29-d2l_preliminaries.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ y = torch.tensor(outputs.values)
158158

159159
## 2.3. 线性代数
160160

161-
本节介绍线性代数中的基本数学对象、算术和运算,以下用数学符号和 PyTorch 代码实现表示
161+
本节介绍线性代数中的基本数学对象、算术和运算,以下用数学符号和代码实现表示
162162

163163
### 2.3.1. 标量
164164

_posts/2025-11-06-d2l_multilayer-perceptrons.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ author: Pianfan
2222

2323
隐藏层输出称为**隐藏变量(hidden variable)**
2424

25-
#### 4.1.1.2. 关键公式
25+
#### 4.1.1.2. 公式
2626

2727
含隐藏层的 MLP 计算(无激活函数):
2828

@@ -54,23 +54,23 @@ $$
5454

5555
导数:输入为负时 0,输入为正时 1,0 处取左导数 0
5656

57-
PyTorch 实现:`torch.relu(x)`
57+
实现:`torch.relu(x)`
5858

5959
#### 4.1.2.2. sigmoid 函数
6060

6161
定义:$\operatorname{sigmoid}(x) = \frac{1}{1 + \exp(-x)}$
6262

6363
导数:$\operatorname{sigmoid}(x)\left(1-\operatorname{sigmoid}(x)\right)$
6464

65-
PyTorch 实现:`torch.sigmoid(x)`
65+
实现:`torch.sigmoid(x)`
6666

6767
#### 4.1.2.3. tanh 函数
6868

6969
定义:$\operatorname{tanh}(x) = \frac{1 - \exp(-2x)}{1 + \exp(-2x)}$
7070

7171
导数:$1 - \operatorname{tanh}^2(x)$
7272

73-
PyTorch 实现:`torch.tanh(x)`
73+
实现:`torch.tanh(x)`
7474

7575
## 4.2. 多层感知机的从零开始实现
7676

@@ -279,7 +279,7 @@ $$
279279

280280
测试时无需规范化处理
281281

282-
### 4.6.4. PyTorch 实现
282+
### 4.6.4. 实现
283283

284284
1. 手动实现 dropout 层:
285285

@@ -352,7 +352,7 @@ $L_2$ 正则化项:$s = \frac{\lambda}{2} \left(\|\mathbf{W}^{(1)}\|_F^2 + \|\
352352

353353
正则化损失(目标函数):$J = L + s$
354354

355-
### 4.7.2. 反向传播关键梯度计算
355+
### 4.7.2. 反向传播梯度计算
356356

357357
目标函数对损失项和正则项梯度:$\frac{\partial J}{\partial L} = 1,\;\frac{\partial J}{\partial s} = 1$
358358

_posts/2025-11-13-d2l_convolutional-neural-networks.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ def corr2d(X, K):
6464

6565
参数:核(weight)和偏置(bias),训练时随机初始化
6666

67-
PyTorch 自定义实现:
67+
自定义实现:
6868

6969
```py
7070
class Conv2D(nn.Module):
@@ -80,7 +80,7 @@ class Conv2D(nn.Module):
8080

8181
可通过数据学习核参数,使用平方误差损失
8282

83-
PyTorch 内置卷积层:`nn.Conv2d(in_channels, out_channels, kernel_size, ...)`
83+
内置卷积层:`nn.Conv2d(in_channels, out_channels, kernel_size, ...)`
8484

8585
输入输出格式:(批量大小,通道数,高度,宽度)
8686

@@ -124,7 +124,7 @@ PyTorch 内置卷积层:`nn.Conv2d(in_channels, out_channels, kernel_size, ...
124124

125125
当 $p_h = k_h - 1$ 且 $p_w = k_w - 1$ 时,输入输出尺寸相同(假设步幅为 1)
126126

127-
### 6.3.3. PyTorch 实现要点
127+
### 6.3.3. 实现要点
128128

129129
卷积层类:`nn.Conv2d(in_channels, out_channels, kernel_size, padding=0, stride=1)`
130130

@@ -223,7 +223,7 @@ def corr2d_multi_in_out_1x1(X, K):
223223

224224
输出通道数与输入通道数相同
225225

226-
### 6.5.4. PyTorch 实现要点
226+
### 6.5.4. 实现要点
227227

228228
- 最大汇聚层:`nn.MaxPool2d(kernel_size, stride=None, padding=0)`
229229

_posts/2025-11-17-d2l_convolutional-modern.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ author: Pianfan
3232

3333
正则化:引入 dropout(LeNet 仅用权重衰减)
3434

35-
#### 7.1.2.2. 核心架构(PyTorch 实现)
35+
#### 7.1.2.2. 核心架构
3636

3737
```py
3838
net = nn.Sequential(
@@ -83,7 +83,7 @@ net = nn.Sequential(
8383

8484
池化层:$2×2$ 核,stride=2(分辨率减半)
8585

86-
PyTorch 实现:
86+
实现:
8787

8888
```py
8989
def vgg_block(num_convs, in_channels, out_channels):
@@ -112,7 +112,7 @@ def vgg_block(num_convs, in_channels, out_channels):
112112

113113
- 输出层为 10 类(针对 Fashion-MNIST)
114114

115-
PyTorch 实现:
115+
实现:
116116

117117
```py
118118
def vgg(conv_arch):
@@ -285,7 +285,7 @@ $$
285285

286286
卷积层:在通道维度计算均值和方差(含所有空间位置),形状为 (1, num_features, 1, 1)
287287

288-
PyTorch 实现:
288+
实现:
289289

290290
- 自定义层:`class BatchNorm(nn.Module)`,含 `gamma``beta``moving_mean``moving_var` 参数
291291

@@ -297,7 +297,7 @@ PyTorch 实现:
297297

298298
深层网络需保证函数类嵌套性($\mathcal{F} \subseteq \mathcal{F}'$),确保增加层数能提升性能
299299

300-
核心创新:残差块(residual block)使新增层易于拟合恒等映射($f(\mathbf{x}) = \mathbf{x}$)
300+
**残差块(residual block)**使新增层易于拟合恒等映射($f(\mathbf{x}) = \mathbf{x}$)
301301

302302
残差映射($f(\mathbf{x}) - \mathbf{x}$)比直接拟合映射更易优化
303303

_posts/2025-11-21-d2l_recurrent-modern.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ author: Pianfan
5454
\mathbf{H}_t = \mathbf{Z}_t \odot \mathbf{H}_{t-1} + (1 - \mathbf{Z}_t) \odot \tilde{\mathbf{H}}_t
5555
$$
5656

57-
### 9.1.2. PyTorch 实现要点
57+
### 9.1.2. 实现
5858

5959
1. **参数初始化**
6060

@@ -134,7 +134,7 @@ author: Pianfan
134134
\mathbf{H}_t = \mathbf{O}_t \odot \tanh(\mathbf{C}_t)
135135
$$
136136

137-
### 9.2.2. PyTorch 实现要点
137+
### 9.2.2. 实现
138138

139139
1. **参数初始化**
140140

@@ -194,7 +194,7 @@ $$
194194
\mathbf{O}_t = \mathbf{H}_t^{(L)} \mathbf{W}_{hq} + \mathbf{b}_q
195195
$$
196196

197-
### 9.3.2. PyTorch 实现要点
197+
### 9.3.2. 实现
198198

199199
1. 数据加载
200200

@@ -257,7 +257,7 @@ $$
257257

258258
计算成本高:前向传播需双向递归,反向传播依赖前向结果,梯度链长
259259

260-
### 9.4.3. PyTorch 实现要点
260+
### 9.4.3. 实现要点
261261

262262
定义双向 LSTM`nn.LSTM(num_inputs, num_hiddens, num_layers, bidirectional=True)`
263263

@@ -313,7 +313,7 @@ $$
313313

314314
- 记录序列有效长度(排除填充词元)
315315

316-
### 9.5.3. PyTorch 相关代码框架
316+
### 9.5.3. 相关代码框架
317317

318318
```py
319319
# 数据读取与预处理
@@ -355,7 +355,7 @@ train_iter, src_vocab, tgt_vocab = load_data_nmt(batch_size, num_steps)
355355

356356
- 解码器:将固定形状的编码状态映射为长度可变的输出序列
357357

358-
### 9.6.1. PyTorch 实现接口
358+
### 9.6.1. 实现接口
359359

360360
**编码器**
361361

_posts/2025-11-23-d2l_attention-mechanisms.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ author: Pianfan
3939

4040
注意力汇聚是加权平均总和,权重通过查询与不同键计算得出
4141

42-
PyTorch 相关代码
42+
代码
4343

4444
```py
4545
# 显示矩阵热图函数
@@ -144,7 +144,7 @@ $$
144144

145145
功能:过滤超出有效长度的位置,使这些位置在 softmax 计算中输出为 0
146146

147-
PyTorch 实现:
147+
实现:
148148

149149
```py
150150
def masked_softmax(X, valid_lens):
@@ -166,7 +166,7 @@ def masked_softmax(X, valid_lens):
166166

167167
评分函数:$a(\mathbf q, \mathbf k) = \mathbf w_v^\top \text{tanh}(\mathbf W_q\mathbf q + \mathbf W_k \mathbf k)$,其中 $\mathbf W_q\in\mathbb R^{h\times q}$、$\mathbf W_k\in\mathbb R^{h\times k}$、$\mathbf w_v\in\mathbb R^{h}$
168168

169-
PyTorch 实现:
169+
实现:
170170

171171
```py
172172
class AdditiveAttention(nn.Module):
@@ -194,7 +194,7 @@ class AdditiveAttention(nn.Module):
194194

195195
批量计算:$\mathrm{softmax}\left(\frac{\mathbf Q \mathbf K^\top }{\sqrt{d}}\right) \mathbf V$,其中 $\mathbf Q\in\mathbb R^{n\times d}$、$\mathbf K\in\mathbb R^{m\times d}$、$\mathbf V\in\mathbb R^{m\times v}$
196196

197-
PyTorch 实现:
197+
实现:
198198

199199
```py
200200
class DotProductAttention(nn.Module):
@@ -322,7 +322,7 @@ $$
322322

323323
输入输出形状:`(批量大小, 序列长度, 隐藏维度)`,输入输出形状相同
324324

325-
PyTorch 实现示例:
325+
实现示例:
326326

327327
```py
328328
num_hiddens, num_heads = 100, 5
@@ -349,7 +349,7 @@ $$
349349
\begin{split}\begin{aligned} p_{i, 2j} &= \sin\left(\frac{i}{10000^{2j/d}}\right)\\p_{i, 2j+1} &= \cos\left(\frac{i}{10000^{2j/d}}\right)\end{aligned}\end{split}
350350
$$
351351

352-
PyTorch 实现:
352+
实现:
353353

354354
```py
355355
class PositionalEncoding(nn.Module):
@@ -423,7 +423,7 @@ class PositionalEncoding(nn.Module):
423423

424424
编码器-解码器注意力:查询来自解码器,键/值来自编码器输出
425425

426-
### 10.7.3. 核心实现(PyTorch)
426+
### 10.7.3. 核心实现
427427

428428
`TransformerEncoder`:包含嵌入层、位置编码、编码器块序列
429429

0 commit comments

Comments
 (0)