基本上所有的序列建模模型都是采用encoder-decoder的架构,encoder负责把输入的序列表征 (𝑥1,...,𝑥𝑛) 编码成另一个序列 (𝑧1,...,𝑧𝑛) ,然后decoder再把编码好的 (𝑧1,...,𝑧𝑛) 解码成输出 (𝑦1,...,𝑦𝑛) , 但是编码器和解码器的具体实现方式不同,以RNN系列的模型举例,都是在每个时间步 𝑡 上都采用自回归的方式,把当前时间步的输入分为两个,一个是当前时间步的输入以及上一个时间步的hidden state,如对于编码器 𝑧𝑡=𝑓𝑒𝑛𝑐𝑜𝑑𝑒𝑟(𝑧𝑡−1,𝑥𝑡) , 而对于解码器 𝑦𝑡=𝑓𝑑𝑒𝑐𝑜𝑑𝑒𝑟(𝑦𝑡−1,𝑧𝑡) 。