Skip to content

Commit e7e3eaf

Browse files
authored
Add files via upload
1 parent 1075b3a commit e7e3eaf

File tree

1 file changed

+22
-29
lines changed

1 file changed

+22
-29
lines changed

lectures/back_prop.md

Lines changed: 22 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,12 @@ kernelspec:
2525

2626
## 概述
2727

28-
**机器学习****人工智能**的主要部分包括
28+
**机器学习****人工智能**的重要部分包括
2929

3030
* 用已知函数来近似未知函数
31-
* 从左右变量的数据集中估计已知函数
31+
* 从一组输入-输出数据中估计这个已知函数
3232

33-
本讲座描述了一种广泛用于近似函数$f$的普通**人工神经网络**(ANN)的结构该函数将空间$X$中的$x$映射到空间$Y$中的$y$。
33+
本讲座描述了一种广泛用于近似函数$f$的普通**人工神经网络**(ANN)的结构该函数将空间 $X$ 中的 $x$ 映射到空间 $Y$ 中的 $y$。
3434

3535
为了介绍基本概念,我们研究一个$x$和$y$都是标量的例子。
3636

@@ -43,15 +43,15 @@ kernelspec:
4343

4444
## 一个深度(但不宽)的人工神经网络
4545

46-
我们描述一个"深度"神经网络,其"宽度"为一。
46+
我们描述一个"深度"神经网络其"宽度"为一。
4747

48-
**深度**意味着网络由组织成图形节点的大量函数组成
48+
**深度**指网络由大量函数复合而成,这些函数被组织在图的节点上
4949

5050
**宽度**指的是被近似函数右侧的变量数量。
5151

52-
将"宽度"设为一意味着网络仅组合单变量函数
52+
宽度为一意味着网络仅复合单变量函数
5353

54-
设$x \in \mathbb{R}$为一个标量,$y \in \mathbb{R}$为另一个标量。
54+
$x \in \mathbb{R}$ 为一个标量$y \in \mathbb{R}$ 为另一个标量。
5555

5656
我们假设$y$是$x$的一个非线性函数:
5757

@@ -61,9 +61,9 @@ $$
6161

6262
我们想用另一个递归定义的函数来近似$f(x)$。
6363

64-
对于深度为$N \geq 1$的网络,每个****$i =1, \ldots N$包含
64+
对于深度为 $N \geq 1$ 的网络,每**** $i =1, \ldots N$ 包含
6565

66-
* 一个输入$x_i$
66+
* 一个输入 $x_i$
6767
* 一个**仿射函数** $w_i x_i + bI$,其中 $w_i$ 是施加在输入 $x_i$ 上的标量**权重**,$b_i$ 是标量**偏置**
6868

6969
* 一个**激活函数** $h_i$,它以 $(w_i x_i + b_i)$ 为参数并产生输出 $x_{i+1}$
@@ -89,7 +89,7 @@ $$
8989
h(z) = z
9090
$$
9191

92-
作为下面的激活函数,我们将对第1层到第N-1层使用sigmoid函数,对第N层使用恒等函数
92+
作为下面的激活函数,我们将对第 $1$ 层到第 $N-1$ 层使用sigmoid函数,对第 $N$ 层使用恒等函数
9393

9494
为了近似函数 $f(x)$,我们按如下方式构造 $\hat f(x)$。
9595

@@ -99,7 +99,7 @@ $$
9999
l_{i}\left(x\right)=w_{i}x+b_{i} .
100100
$$
101101

102-
我们通过迭代函数组合 $h_i \circ l_i$ 来构造 $\hat f$:
102+
我们通过迭代组合函数 $h_i \circ l_i$ 来构造 $\hat f$:
103103

104104
$$
105105
f(x)\approx\hat{f}(x)=h_{N}\circ l_{N}\circ h_{N-1}\circ l_{1}\circ\cdots\circ h_{1}\circ l_{1}(x)
@@ -112,7 +112,7 @@ $N$ 这个整数越大,神经网络就越"深"。
112112
显然,如果我们知道参数 $\{w_i, b_i\}_{i=1}^N$,那么对于给定的 $x = \tilde x$,我们可以通过迭代以下递归来计算 $\hat f(x)$:
113113

114114
$$
115-
x_{i+1} = h_i \circ l_i(x_i) , \quad, i = 1, \ldots N
115+
x_{i+1} = h_i \circ l_i(x_i) , \quad i = 1, \ldots N
116116
$$ (eq:recursion)
117117
118118
从 $x_1 = \tilde x$ 开始。
@@ -125,8 +125,7 @@ $$ (eq:recursion)
125125
126126
设 $\left\{ \left(w_{i},b_{i}\right)\right\} _{i=1}^{N}$ 表示权重和偏置的序列。
127127
128-
如上所述,对于给定的输入 $x_{1}$,我们的近似函数 $\hat f$ 求值
129-
在 $x_1$ 等于我们网络的"输出" $x_{N+1}$ 时,可以通过迭代 $x_{i+1}=h_{i}\left(w_{i}x_{i}+b_{i}\right)$ 来计算。
128+
如上所述,对于给定的输入 $x_{1}$,我们的近似函数 $\hat f$ 在 $x_1$ 的值等于我们网络的"输出" $x_{N+1}$,其中 $x_{N+1}$ 是通过迭代 $x_{i+1}=h_{i}\left(w_{i}x_{i}+b_{i}\right)$ 来计算。
130129
131130
对于给定的**预测值** $\hat{y} (x)$ 和**目标值** $y= f(x)$,考虑损失函数
132131
@@ -142,7 +141,7 @@ $$
142141
\min_{\left\{ \left(w_{i},b_{i}\right)\right\} _{i=1}^{N}} \int {\mathcal L}\left(x_{N+1},y\right)(x) d \mu(x)
143142
$$
144143
145-
其中 $\mu(x)$ 是某个测度,用于衡量我们希望得到 $f(x)$ 的良好近似 $\hat f(x)$ 的点 $x \in \mathbb{R}$。
144+
其中 $\mu(x)$ 是某个测度,用来衡量哪些点 $x \in \mathbb{R}$ 需要被良好逼近
146145
147146
将权重和偏置堆叠成参数向量 $p$:
148147
@@ -157,15 +156,16 @@ p = \begin{bmatrix}
157156
b_N
158157
\end{bmatrix}
159158
$$
160-
对**随机梯度下降**算法的一个"简化版本"应用于寻找函数的零点,得到以下参数更新规则:
159+
160+
一个**随机梯度下降**算法的"简化版本"应用于寻找函数的零点,得到以下参数更新规则:
161161
162162
$$
163163
p_{k+1}=p_k-\alpha\frac{d \mathcal{L}}{dx_{N+1}}\frac{dx_{N+1}}{dp_k}
164164
$$ (eq:sgd)
165165
166166
其中 $\frac{d {\mathcal L}}{dx_{N+1}}=-\left(x_{N+1}-y\right)$ 且 $\alpha > 0$ 是步长。
167167
168-
(参见[这里](https://en.wikipedia.org/wiki/Gradient_descent#Description)和[这里](https://en.wikipedia.org/wiki/Newton%27s_method)以了解随机梯度下降与牛顿法的关系。)
168+
(参见[这里](https://baike.baidu.com/item/%E6%A2%AF%E5%BA%A6%E4%B8%8B%E9%99%8D%E6%B3%95/8641233)和[这里](https://baike.baidu.com/item/%E7%89%9B%E9%A1%BF%E8%BF%AD%E4%BB%A3%E6%B3%95/10887580)以了解随机梯度下降与牛顿法的关系。)
169169
170170
要实现这个参数更新规则的一个步骤,我们需要导数向量 $\frac{dx_{N+1}}{dp_k}$。
171171
@@ -176,18 +176,13 @@ $$ (eq:sgd)
176176
得益于
177177
178178
* 微分演算中的链式法则和乘积法则的性质,以及
179-
180179
* 下三角矩阵的性质
180+
181181
反向传播实际上可以通过以下两步完成:
182182
183183
* 求下三角矩阵的逆矩阵,以及
184-
185184
* 矩阵乘法
186185
187-
(这个想法来自 MIT 的 Alan Edelman 在这个精彩的 YouTube 视频的最后 7 分钟)
188-
189-
```{youtube} rZS2LGiurKY
190-
```
191186
192187
下面开始。
193188
@@ -262,7 +257,7 @@ dx_{N+1}/db_{N}
262257
\end{array}\right)=e_{N}\left(I-L\right)^{-1}D.
263258
$$
264259
265-
然后我们可以通过对一组输入-输出对$\left\{ \left(x_{1}^{i},y^{i}\right)\right\} _{i=1}^{M}$(我们称之为"训练集")多次应用我们的$p$更新来解决上述问题。
260+
然后我们可以通过对一组输入-输出对 $\left\{ \left(x_{1}^{i},y^{i}\right)\right\} _{i=1}^{M}$(我们称之为"训练集")多次应用我们的 $p$ 更新来解决上述问题。
266261
267262
## 训练集
268263
@@ -410,14 +405,12 @@ update_ad(params, x, y)
410405
```
411406
## 示例 1
412407
413-
考虑函数
408+
考虑在区间 $\left[0.5,3\right]$ 上的函数
414409
415410
$$
416411
f\left(x\right)=-3x+2
417412
$$
418413
419-
在区间 $\left[0.5,3\right]$ 上。
420-
421414
我们使用200个点的均匀网格,并对网格上的每个点更新参数300次。
422415
423416
$h_{i}$ 是除最后一层外所有层的sigmoid激活函数,最后一层使用恒等函数,且 $N=3$。
@@ -472,9 +465,9 @@ Image(fig.to_image(format="png"))
472465
473466
思考上述例子中加深神经网络如何影响近似质量是一件很有趣的事
474467
475-
* 如果网络太深,你会遇到[梯度消失问题](http://neuralnetworksanddeeplearning.com/chap5.html)
468+
* 如果网络太深,你会遇到[梯度消失问题](https://www.zhihu.com/question/645999362/answer/3481844539)
476469
* 在本讲所考虑的情况下,步长和训练轮数等其他参数可能与网络层数一样重要或更重要
477-
* 实际上,由于$f$$x$的线性函数,使用恒等映射作为激活函数的单层网络可能效果最好。
470+
* 实际上,由于 $f$$x$ 的线性函数,使用恒等映射作为激活函数的单层网络可能效果最好。
478471
479472
480473

0 commit comments

Comments
 (0)