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.总结
快速地对每个模块,按计算地顺序进行简单描述,梳理模型的流程,记得加入公式。