Update references
This commit is contained in:
Cheng Lai
2022-03-08 12:24:17 +08:00
committed by GitHub
6 changed files with 172 additions and 11 deletions

View File

@@ -74,7 +74,56 @@
我们给这个图片打了标签img_workflow,此时对其进行引用如下
机器学习系统工作流如 :numref:`img_workflow` 。必须注意的是在引用时冒号前要空有一个字符距离。
```
* 表格或者章节引用和图片引用类似,流程依旧是打上标签,然后用 :numref:‘引用的标签’
* 表格引用和图片引用类似,流程依旧是打上标签,然后用 :numref:‘引用的标签’
```python
下面为表格引用方式:
| Year | Number | Comment |
| --- | --- | --- |
| 2018 | 100 | Good year |
:label:`table`
表格引用使用 :numref:`table`
```
* 公式引用依旧也是打上标签,然后使用 :eqref:`‘引用的标签’
```python
下面为公式引用方式:
$$\hat{\mathbf{y}}=\mathbf X \mathbf{w}+b$$
:eqlabel:`linear`
公式引用使用 :eqref:`linear`
```
* 参考文献引用方式目前mlsys.bib文件已经把书籍中参考文献全部导入如需新增只需在该文件中添加即可。参考文献使用 :cite:`文献`
```python
下面参考文献的引用:
1. 单篇参考文献
这篇文章参考了论文 :cite:`cnn2015`
2. 多篇参考文献可以用逗号分开
这篇文章参考了论文 :cite:`cnn2015,rnn2015`
此时在mlsys.bib中应该有如下参考文献
@inproceedings{cnn2015,
title = {CNN},
author = {xxx},
year = {2015},
keywords = {xxx}
}
@inproceedings{rnn2015,
title = {RNN},
author = {xxx},
year = {2015},
keywords = {xxx}
}
```
* 章节引用方式我们可以在节标题后放置一个标签,以允许该节的标签引用它。标签格式是:label:`标签名`
```python
### Referencing Sections
:label:`my_sec3`
```
然后,我们可以在代码块中通过:ref:`标签名`引用这一节
```python
:ref:`my_sec3` 显示了章节引用.
```
* 其他转换方式
* 如果图中有很多公式,使用工具导入可能会有大量公式乱码,此时可以将图保存为.png格式。
* 使用[在线图片去底工具](https://www.aigei.com/bgremover/) 将图片中的白底去除。

View File

@@ -23,7 +23,7 @@ Rate
:width:`600px`
:label:`gradient_descent2`
那么接下来,在深度神经网络中如何实现梯度下降呢,这需要计算出网络中每层参数的偏导数$\frac{\partial \mathcal{L}}{\partial {w}}$,我们可以用**反向传播**Back-Propagation[@rumelhart1986learning; @lecun2015deep]来实现。
那么接下来,在深度神经网络中如何实现梯度下降呢,这需要计算出网络中每层参数的偏导数$\frac{\partial \mathcal{L}}{\partial {w}}$,我们可以用**反向传播**Back-Propagation :cite:`rumelhart1986learning,lecun2015deep`来实现。
接下来,
我们引入一个中间量${\delta}=\frac{\partial \mathcal{L}}{\partial {z}}$来表示损失函数$\mathcal{L}$
对于神经网络输出${z}$(未经过激活函数,不是$a$)的偏导数,
@@ -89,6 +89,5 @@ $\frac{\partial \mathcal{L}}{\partial {b}^l}$后,我们就可以用梯度下
DescentSGD来计算损失值。具体来说我们计算损失值不用全部训练数据而是从训练集中随机选取一些数据样本来计算损失值比如选取16、32、64或者128个数据样本样本的数量被称为**批大小**Batch
Size
此外,学习率的设定也非常重要。如果学习率太大,可能无法接近最小值的山谷,如果太小,训练又太慢。
自适应学习率例如Adam [@KingmaAdam2014]、RMSProp [@tieleman2012rmsprop]
Adagrad [@duchi2011adagrad] 等,在训练的过程中通过自动的方法来修改学习率,实现训练的快速收敛,到达最小值点。
自适应学习率例如Adam :cite:`KingmaAdam2014`、RMSProp :cite:`tieleman2012rmsprop`
Adagrad :cite:`duchi2011adagrad`等,在训练的过程中通过自动的方法来修改学习率,实现训练的快速收敛,到达最小值点。

View File

@@ -116,7 +116,7 @@ $$f({z})_{i} = \frac{{\rm e}^{z_{i}}}{\sum_{k=1}^{K}{\rm e}^{z_{k}}}$$
![多层感知器例子。$a^l_i$表示神经元输出$z$经过激活函数后的值,其中$l$代表层的序号($L$代表输出层),$i$代表输出的序号](../img/ch_basic/mlp2.png)
**多层感知器**Multi-Layer
PerceptronMLP通过叠加多层全连接层来提升网络的表达能力。相比单层网络多层感知器有很多中间层的输出并不暴露给最终输出这些层被称为**隐含层**Hidden
PerceptronMLP :cite:`rosenblatt1958perceptron`通过叠加多层全连接层来提升网络的表达能力。相比单层网络,多层感知器有很多中间层的输出并不暴露给最终输出,这些层被称为**隐含层**Hidden
Layers。这个例子中的网络可以通过下方的串联式矩阵运算实现其中$W^l$和$b^l$代表不同层的权重矩阵和偏置,$l$代表层号,$L$代表输出层。
$${z} = f({W^L}f({W^3}f({W^2}f({W^1}{x} + {b^1}) + {b^2}) + {b^3}) + {b^L})$$
@@ -136,8 +136,8 @@ Map在这个例子中因为只有一个卷积核所以输出的通道
:label:`conv_computation_v4`
**卷积神经网络** Convolutional Neural
NetworkCNN由多层**卷积层**Convolutional
Layer组成常用于计算机视觉任务。
NetworkCNN :cite:`lecun1989backpropagation`由多层**卷积层**Convolutional
Layer组成常用于计算机视觉任务 :cite:`krizhevsky2012imagenet,he2016deep`
:numref:`conv_computation_v4`描述了一个卷积运算的例子。
根据卷积的特点我们可以知道两个事实1一个卷积核的通道数等于输入的通道数2输出的通道数等于卷积核的数量。
@@ -158,7 +158,7 @@ Pooling。如 :numref:`pooling_v3`所示,假设池化的卷积核高宽为$
### 时序模型
现实生活中除了图像还有大量时间序列数据,例如视频、股票价格等等。**循环神经网络**Recurrent
Neural NetworksRNN是一种处理序列数据的深度学习模型结构。序列数据是一串连续的数据$\{x_1, x_2, \dots, x_n\}$,比如每个$x$代表一个句子中的单词。
Neural NetworksRNN :cite:`rumelhart1986learning`是一种处理序列数据的深度学习模型结构。序列数据是一串连续的数据$\{x_1, x_2, \dots, x_n\}$,比如每个$x$代表一个句子中的单词。
为了可以接收一连串的输入序列,如 :numref:`rnn_simple_cell2`所示朴素循环神经网络使用了循环单元Cell作为计算单元用隐状态Hidden
State来存储过去输入的信息。具体来说对输入模型的每个数据$x$,根据公式 :eqref:`aligned`,循环单元会反复计算新的隐状态,用于记录当前和过去输入的信息。而新的隐状态会被用到下一单元的计算中。
@@ -172,5 +172,4 @@ $${h}_t = {W}[{x}_t; {h}_{t-1}] + {b}$$
然而这种简单的朴素循环神经网络有严重的信息遗忘问题。比如说我们的输入是"我是中国人我的母语是___",隐状态记住了"中国人"的信息,使得网络最后可以预测出"中文"一词;但是如果句子很长的时候,隐状态可能记不住太久之前的信息了,比如说"我是中国人我去英国读书后来在法国工作我的母语是___",这时候在最后的隐状态中关于"中国人"的信息可能会被因为多次的更新而遗忘了。
为了解决这个问题后面有人提出了各种各样的改进方法其中最有名的是长短期记忆Long
Short-Term
MemoryLSTM。关于时序的模型还有很多很多比如近年来出现的Transformer等等。
Short-Term MemoryLSTM :cite:`Hochreiter1997lstm`。关于时序的模型还有很多很多比如近年来出现的Transformer :cite:`vaswani2017attention`等等。

View File

@@ -0,0 +1,10 @@
```eval_rst
.. only:: html
参考文献
==========
```
:bibliography:`../mlsys.bib`

View File

@@ -31,4 +31,5 @@ chapter_online_machine_learning/index
:maxdepth: 1
appendix_machine_learning_introduction/index
chapter_references/index
```

103
mlsys.bib Normal file
View File

@@ -0,0 +1,103 @@
@article{rosenblatt1958perceptron,
title={The perceptron: a probabilistic model for information storage and organization in the brain.},
author={Rosenblatt, Frank},
journal={Psychological Review},
volume={65},
number={6},
pages={386},
year={1958},
publisher={American Psychological Association}
}
@article{lecun1989backpropagation,
title={Backpropagation applied to handwritten zip code recognition},
author={LeCun, Yann and Boser, Bernhard and Denker, John S and Henderson, Donnie and Howard, Richard E and Hubbard, Wayne and Jackel, Lawrence D},
journal={Neural computation},
volume={1},
number={4},
pages={541--551},
year={1989},
publisher={MIT Press}
}
@inproceedings{krizhevsky2012imagenet,
title={Imagenet classification with deep convolutional neural networks},
author={Krizhevsky, Alex and Sutskever, Ilya and Hinton, Geoffrey E},
booktitle={Advances in Neural Information Processing Systems},
pages={1097--1105},
year={2012}
}
@inproceedings{he2016deep,
title={{Deep Residual Learning for Image Recognition}},
author={He, Kaiming and Zhang, Xiangyu and Ren, Shaoqing and Sun, Jian},
booktitle={Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
year={2016}
}
@article{rumelhart1986learning,
title={Learning representations by back-propagating errors},
author={Rumelhart, David E and Hinton, Geoffrey E and Williams, Ronald J},
journal={Nature},
volume={323},
number={6088},
pages={533},
year={1986},
publisher={Nature Publishing Group}
}
@article{Hochreiter1997lstm,
author = {Hochreiter, Sepp and Hochreiter, S and Schmidhuber, J{\"{u}}rgen and Schmidhuber, J},
isbn = {08997667 (ISSN)},
issn = {0899-7667},
journal = {Neural Computation},
number = {8},
pages = {1735--80},
pmid = {9377276},
title = {{Long Short-Term Memory.}},
volume = {9},
year = {1997}
}
@inproceedings{vaswani2017attention,
title={Attention is all you need},
author={Vaswani, Ashish and Shazeer, Noam and Parmar, Niki and Uszkoreit, Jakob and Jones, Llion and Gomez, Aidan N and Kaiser, {\L}ukasz and Polosukhin, Illia},
booktitle={Advances in Neural Information Processing Systems},
pages={5998--6008},
year={2017}
}
@article{lecun2015deep,
title={Deep learning},
author={LeCun, Yann and Bengio, Yoshua and Hinton, Geoffrey},
journal={Nature},
volume={521},
number={7553},
pages={436},
year={2015},
publisher={Nature Publishing Group}
}
@inproceedings{KingmaAdam2014,
title = {{Adam}: A Method for Stochastic Optimization},
author = {Kingma, Diederik and Ba, Jimmy},
booktitle = {Proceedings of the International Conference on Learning Representations (ICLR)},
year = {2014}
}
@techreport{tieleman2012rmsprop,
title={Divide the gradient by a running average of its recent magnitude. COURSERA: Neural networks for machine learning},
author={Tieleman, T and Hinton, G},
year={2017},
institution={Technical Report}
}
@article{duchi2011adagrad,
title={Adaptive subgradient methods for online learning and stochastic optimization},
author={Duchi, John and Hazan, Elad and Singer, Yoram},
journal={Journal of Machine Learning Research (JMLR)},
volume={12},
number={Jul},
pages={2121--2159},
year={2011}
}