网站建设发展的前景,模板网站建设,wordpress 4.9.6 zh,网站模板 知乎Scheduled Sampling#xff08;计划采样#xff09;是一种在序列生成任务中用于逐步引导模型的训练策略。该方法最早由 Bengio 等人在 2015 年提出#xff0c;主要用于解决序列到序列#xff08;sequence-to-sequence#xff09;模型中的曝光偏差#xff08;exposure bia…Scheduled Sampling计划采样是一种在序列生成任务中用于逐步引导模型的训练策略。该方法最早由 Bengio 等人在 2015 年提出主要用于解决序列到序列sequence-to-sequence模型中的曝光偏差exposure bias问题。曝光偏差指的是在训练过程中模型始终使用真实的目标序列作为下一步的输入但在推理过程中它必须依赖自己的预测结果作为下一步的输入。这种训练和推理的不一致性可能导致模型生成的序列质量较差尤其是当预测发生错误时误差会在生成过程中积累。 Scheduled Sampling 的工作原理
Scheduled Sampling 的核心思想是在训练过程中不再总是使用真实的目标作为下一步的输入而是逐步增加使用模型自己生成的预测结果作为下一步输入的概率。这样可以让模型逐渐适应推理时的生成流程减少训练和推理的不一致性。
具体而言Scheduled Sampling 的过程如下
1、定义混合比例设定一个混合比例如 mix_rate来决定在某一时间步中是使用模型的预测结果还是使用真实的目标。 2、逐步过渡在训练初期模型大多数时间会使用真实的目标类似 Teacher Forcing但随着训练的进行逐渐增加使用模型预测结果的概率。 3、采样过程在每个时间步使用随机数决定是否采用真实的目标还是模型的预测结果作为下一步的输入。
例如代码
if args.scheduled_sampling:if np.random.rand() args.mix_rate:# 使用真实的目标值作为下一步的输入即使用 teacher forcingloss pipeline(history, future, video_user_info, teacher_forcingTrue)else:# 使用模型的预测结果作为下一步的输入即不使用 teacher forcingloss pipeline(history, future, video_user_info, teacher_forcingFalse)args.scheduled_sampling是否启用 Scheduled Sampling。 args.mix_rate混合比例决定在当前时间步是使用真实的目标Teacher Forcing还是使用模型的预测结果。 在训练中每个时间步都会生成一个随机数 np.random.rand() 如果随机数大于 args.mix_rate使用 Teacher Forcing即真实的目标值作为下一步的输入。 如果随机数小于或等于 args.mix_rate则使用模型的预测结果作为下一步输入。 通过这种方式Scheduled Sampling 逐渐让模型适应生成任务的推理过程最终有助于减少序列生成任务中的误差累积问题。
这样做的好处
减少训练和推理的差异Scheduled Sampling 可以逐步减少训练过程中对真实目标的依赖帮助模型适应生成任务中的自回归输入。 提高生成质量通过使用模型的预测结果进行训练模型在推理过程中能更好地应对错误预测减少误差累积。
举例说明
假设在自然语言生成中例如机器翻译模型生成了前一个词 “the”。在 Scheduled Sampling 的策略下模型可能会随机选择 使用真实目标词如 “cat”这相当于 Teacher Forcing。 或者使用模型自己预测的词如 “dog”作为下一个输入。 通过这种混合策略模型会逐步减少对真实目标的依赖从而提高在推理阶段的表现。