【深度学习】序列生成模型(二):束搜索

2024-07-30 11:26:38 浏览数 (1)

序列生成

  在进行最大似然估计训练后的模型

p_theta(x | mathbf{x}_{1:(t-1)})

,我们可以使用该模型进行序列生成。生成的过程是按照时间顺序逐步生成序列样本。假设在第

t

步,我们已经生成了前

t-1

步的序列前缀

mathbf{x}_{1:(t-1)} = x_1, ldots, x_{t-1}

,我们希望在当前步生成下一个词

x_t

。生成的过程可以用以下概率分布表示:

x_t sim p_theta(x | mathbf{x}_{1:(t-1)})

其中,

mathbf{x}_{1:(t-1)}

是已经生成的前缀序列,

x_t

是在给定前缀序列的条件下,由模型生成的当前时刻的词。

  这个过程可以迭代进行,直到生成完整的序列样本。在每一步,模型根据已经生成的前缀序列生成当前时刻的词,然后将当前时刻的词添加到前缀序列中,用于生成下一个时刻的词。

生成的序列样本可以用如下方式表示:

mathbf{hat{x}} = hat{x}_1, hat{x}_2, ldots, hat{x}_T

其中,

hat{x}_t

是在第

t

步生成的词,

mathbf{hat{x}}

是完整的生成序列。这个过程是根据训练得到的模型对数据分布进行采样,从而生成新的符合训练数据分布的序列。

  自回归的方式可以生成一个无限长度的序列.为了避免这种情况,通常会设置一个特殊的符号⟨

0 人点赞