gpt4 book ai didi

vowpalwabbit - 如何在真实在线模式下演示 Vowpal Wabbit 的上下文强盗?

转载 作者:行者123 更新时间:2023-12-04 04:01:38 26 4
gpt4 key购买 nike

关闭。这个问题需要更多focused .它目前不接受答案。












想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post .

3年前关闭。




Improve this question




根据可用的文档和资源,目前还不清楚如何完成一个简单的入门流程,在该流程中您将 Vowpal Wabbit 作为守护程序启动(甚至可能没有任何预先学习的模型)并在线学习和探索 - 我我正在寻找一种流程,我可以在其中提供上下文,获得推荐并反馈成本/奖励。

因此,让我跳过对尝试过的技术的描述,只要求对我认为在这方面必不可少的内容进行清晰的演示——

  • 如何通过守护进程进行演示,学习正在发生,不是从批量数据的离线模式,而是纯粹从在线交互?有什么好的建议吗?
  • 如何在守护程序模式下报告选定操作后的成本/奖励?每个 Action 一次?批量?无论哪种方式,如何?
  • 有点相关——你会推荐一个使用守护进程的实时系统,用于上下文强盗吗?或者更确切地说是一些语言 API?
  • 您能否指出服务器代码在庞大的代码库中的位置?它可以是开始系统探索的好地方。

  • 我通常会得到一个分布(允许操作数量的大小)作为对每个发送输入的回复。无论我发送什么信息,通常都是相同的分布。也许使用默认值 --cb_explore 需要整个学习时期。算法,我不知道,也不确定可以从外部设置纪元持续时间。

    我知道从过去的互动和 cbfied 数据中学习已经投入了很多。但是,我认为也应该有一些可用的解释来清除上述那些或多或少的实用要点。

    非常感谢!

    最佳答案

    就是这样。此流程只需要 Vowpal Wabbit 输入格式的一个子集。安装成功后,首先启动 Vowpal Wabbit 守护进程:

    vw --cb_explore 2 --daemon --port 26542 --save_resume

    在上面,我们告诉 VW 启动一个 Contextual Bandit 模型服务守护进程,而没有通过旧的策略数据提供任何前期培训。该模型将是 VW 的默认上下文老虎机模型,它将假设如上所述,只有两个 Action 可供选择。 Vowpal 最初会随机分配建议的 Action ,并随着时间的推移接近最佳策略。

    让我们检查守护进程是否已启动: pgrep 'vw.*'应该返回一个进程列表。

    在任何时候,如果我们想停止守护进程并再次启动它,我们只需 pkill -9 -f 'vw.*--port 26542' .

    现在让我们模拟为采取的行动获得的决策点和成本。在下文中,我使用终端方式向守护进程发送消息,但您可以使用 postman 之类的工具或您自己的代码来执行此操作:
    echo " | a b " | netcat localhost 26542

    在这里,我们只是告诉 Vowpal 建议我们应该对包含特征集( ab )的上下文采取什么行动。

    Vowpal 简洁地回答不是选择一个 Action ,而是每个 Action 的预测成本分布,我们的模型被指示从以下选项中进行选择:
    0.975000 0.025000

    这些当然只是一些随机初始化的结果,因为还没有看到任何成本!现在我们使用 Vowpal 的应用程序预计会根据这个分布均匀随机选择——这部分不是由 Vowpal 实现的,而是留给应用程序代码。 Contextual Bandits 模型依赖于我们从这个分布中采样来选择要针对环境进行的 Action ——如果我们不遵循这个期望——算法可能无法完成它的学习。

    所以想象我们从这个分布中采样,并得到 Action 1 ,然后在现实环境中执行该操作(对于相同的上下文 a b 我们要求 Vowpal 推荐)。想象一下,这次我们收回了 0.7 的成本。我们必须将此成本作为反馈反馈给 Vowpal:
    echo " 1:0.7:1 | a b " | netcat localhost 26542

    Vowpal 得到了我们的反馈,并为我们提供了对这种情况的更新预测:
    0.975000 0.025000

    我们现在不关心它,除非我们希望再次获得完全相同上下文的推荐,但无论如何我们都会得到更新的推荐。

    显然,这是与以前相同的建议,因为到目前为止我们的单一反馈不足以让模型学习任何东西。多次重复,对于不同的上下文特征,从 Vowpal 返回的预测将适应和变化。在许多不同的上下文中多次重复此过程,模型将开始根据所学知识改变其预测。

    注意我在这里提到了成本而不是奖励,因为与 Vowpal 中实现的算法的大部分文献不同,命令行版本至少将成本作为反馈,而不是奖励。

    关于vowpalwabbit - 如何在真实在线模式下演示 Vowpal Wabbit 的上下文强盗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48194011/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com