latex语法
1.latex公式
编号公式居中
\begin{flalign}
&&
...
&&
\label{xxx}
\end{flalign}
无编号公式居中
\begin{flalign*}
&&
...
&&
\end{flalign*}
或者
$$...$$
2.latex表格
\begin{table}[h!]
\begin{center}
\begin{tabular}{ccccccccccc}
\toprule
index & $0$ & $1$ & $2$ & $3$ & $4$ & $5$ & $6$ & $7$ & $8$ & $9$\\
\midrule
$x_i$ & $x_0$ & $x_1$ & $x_2$ & $x_3$ & $x_4$ & $x_5$ & $x_6$ & $x_7$ & $x_8$ & $x_9$ \\
word & the & cat & plays & in & garden & , & and & chases & mouse & . \\
\bottomrule
\end{tabular}
\caption{preprocess 函数得到后的结果(词汇表)}
\end{center}
\end{table}
3.latex图片
\begin{figure}[http]
\centering
\includegraphics[scale=0.8]{figures/stock_reptile_code_1.jpg}
\caption{获取初始数据的爬虫代码}
\end{figure}
图片分为(a) (b)
\begin{figure}[htbp]
\centering
\subfigure[Seq2Seq模型结构(展开前)]
{
\begin{minipage}[b]{.9\linewidth}
\centering
\includegraphics[scale=0.4]{figures/Attention/Seq2Seq-model-simple.png}
\label{seq2seq-model-simple}
\end{minipage}
}
%\vspace{1cm} % 添加垂直间距
\subfigure[Seq2Seq模型结构(展开后)]
{
\begin{minipage}[b]{.9\linewidth}
\centering
\includegraphics[scale=0.4]{figures/Attention/Seq2Seq-model.png}
\label{seq2seq-model-full}
\end{minipage}
}
\caption{Seq2Seq模型结构}
\label{seq2seq-model}
\end{figure}
4.代码块
\lstset{language=python}
\begin{lstlisting}[language = Python, numbers=left,
numberstyle=\normalsize,keywordstyle=\color{blue!70},showstringspaces=false,
commentstyle=\color{red!50!green!50!blue!50},frame=shadowbox,
rulesepcolor=\color{red!20!green!20!blue!20},basicstyle=\ttfamily]
#include <iostream>
using namespace std;
int main()
{
cout<<"hello"<<endl;
return 0;
}
\end{lstlisting}
5.文章修改
\usepackage{changes}
\replaced{修改后}{修改前}
\added{}
\deleted{}
6.item的使用
\begin{itemize}
\item test text1
\item test text2
\item[*] test text3
\item[@] test text4
\end{itemize}
此处参考 https://blog.csdn.net/JingpengSun/article/details/129166744
7.颜色字体
\textcolor{red/blue/green/black/white/cyan/magenta/yellow}{text}
此处参考 https://blog.csdn.net/tsingke/article/details/105961037
Tips
描述原则
1.矩阵用大写字母
X
,
Y
,
Z
X,Y,Z
X,Y,Z。
2.向量用小写字母
x
i
⃗
,
y
i
⃗
,
z
i
⃗
\vec{x_i},\vec{y_i},\vec{z_i}
xi,yi,zi。
3.元素用小写字母
x
i
,
j
,
y
i
,
j
,
z
i
,
j
x_{i,j},y_{i,j},z_{i,j}
xi,j,yi,j,zi,j。
例如,输入矩阵为
X
X
X,向量为
x
i
⃗
\vec{x_i}
xi,
X
=
[
x
1
⃗
,
x
2
⃗
,
…
,
x
n
⃗
]
X=[\vec{x_1},\vec{x_2},\dots,\vec{x_n}]
X=[x1,x2,…,xn],
X
=
[
x
1
,
1
x
1
,
2
…
x
1
,
m
x
2
,
1
x
1
,
2
…
x
1
,
m
…
…
…
…
x
n
,
1
x
1
,
2
…
x
n
,
m
]
X = \begin{bmatrix} x_{1,1}&x_{1,2}&\dots&x_{1,m}\\ x_{2,1}&x_{1,2}&\dots&x_{1,m}\\ \dots&\dots&\dots&\dots\\ x_{n,1}&x_{1,2}&\dots&x_{n,m}\\ \end{bmatrix}
X=
x1,1x2,1…xn,1x1,2x1,2…x1,2…………x1,mx1,m…xn,m
4.任何的变换都用矩阵
X
,向量
x
i
⃗
,元素
x
i
,
j
描述出来
X,向量\vec{x_{i}},元素x_{i,j}描述出来
X,向量xi,元素xi,j描述出来。
5.任何变量在第一次提及的时候,都给一个数学符号定义,并给出维度
6.任何变量从
X
(
i
)
→
X
(
k
)
X^{(i)} \to X^{(k)}
X(i)→X(k)时,都要给出
X
(
i
)
X^{(i)}
X(i) 到
X
(
k
)
X^{(k)}
X(k)的公式,即
X
(
i
)
=
f
(
i
,
k
)
(
X
(
k
)
)
X^{(i)}= f^{(i,k)}(X^{(k)})
X(i)=f(i,k)(X(k))
并给出公式中各种参数的定义和维度,公式要求单独一行。
7.每一个变量在变换完成后,尽量 立刻 给出一个简单的例子。
例如:
在模型中,将一个词的上下文词表示为独热编码(one-hot encoding)向量然后并作为模型的一个输入。上下文的词的多少取决于窗口大小
C
C
C,例如当窗口大小为
2
2
2 时,上下文为目标单词的前两个词和后两个词,共
4
4
4 个词。于是我们的输入
X
=
(
x
i
−
c
,
x
i
−
c
+
1
,
…
,
x
i
−
1
,
x
i
+
1
,
…
,
x
i
+
c
)
X = (x_{i-c}, x_{i-c + 1}, \dots, x_{i - 1}, x_{i + 1}, \dots, x_{i + c})
X=(xi−c,xi−c+1,…,xi−1,xi+1,…,xi+c)
其中,
x
t
x_t
xt为目标单词,其中
x
t
∈
R
V
×
1
x_t \in \mathbb{R}^{V \times 1}
xt∈RV×1,
X
∈
R
V
×
2
C
X \in \mathbb{R}^{V \times 2C}
X∈RV×2C 。例如,目标单词索引
i
i
i 为
3
3
3 时且窗口大小为
2
2
2时,
X
=
(
x
1
,
x
2
,
x
4
,
x
5
)
X = (x_1, x_2, x_4, x_5)
X=(x1,x2,x4,x5)。
8.尽量避免使用
x
′
x'
x′、
X
′
X'
X′ 、
y
′
y'
y′ 等标记变量,因为它们通常用来表示导数。
绘图问题
1.科研绘图有个原则,就是尽量将空间占满,不要留太多空白的地方!
例如在一个图片中,方框中的字应该保持最大,且不换行,图片中组件的排版必须紧凑等。
未完待续…
如何写作
1.搭建框架
我们根据想要写作的主题进行框架搭建,如果我们写作的是讲清楚一个模型,那么我们就要搭建模型的框架。假设我们需要讲清楚一个模型,例如我们要讲清楚 LSTM,那我们可以将框架设置为遗忘门、输入门、当前状态单元、输出门。当模型较小时,我们可以将所有的计算都标记出来,将其设置为一个”模块“;当模型较大时,我们可以将复杂计算的部分或者相关的部分设置为一个”模块“。通过这样的步骤,我们可以将一个模型拆解成许多个模块。
2.完善细节
基于框架的搭建,我们得到了许许多多的模块,由于所有的”模块“都是基于计算的,为了讲好框架模块中的细节,我们需要讲清楚计算的过程。那么,什么是讲清楚计算的过程呢?我认为是输入,计算过程(算法)和输出。于是我们给所有的模块标记它的输入、算法和输出,这样我们就可以对模型的框架有了一个具体的了解。那么这样我们算是讲清楚计算的过程呢?还不够!,我们需要对每个计算过程的输入输出的形状了如指掌,才能够算是将模型介绍清楚。完善的细节过程中,添加相应的公式,展示输入、输出和参数的维度信息。
3.案例
对于一个模型,仅仅只是抽象的理解模型的计算过程是远远不够的,我们需要一些案例,于是我们需要完善案例。案例就是根据对模型介绍讲解中,按照你自己给出步骤进行案例解析,给出输入数据和计算过程中的参数信息,记录一次完整的计算过程。
4.绘图
由于我们对模型的计算过程有深入的理解,但是初学者不一定有如此深刻的理解,我们需要绘制图片进行辅助理解,文字的描述虽然可以描述的很清楚,但是图片的插入有时候还是很有必要,推荐在以下部分加入图片:
总体模型框架、较为复杂的计算过程(待补充。。。)
5.总结
快速地对每个模块,按计算地顺序进行简单描述,梳理模型的流程,记得加入公式。