强化学习可以学会欺骗吗?

数据挖掘 机器学习 强化学习 马尔科夫过程
2021-10-02 22:41:25

我已经看到了几个在欺骗性环境或游戏中部署 RL 代理的示例,并且代理无论如何都学会了执行其任务。反过来呢?可以使用 RL 来创建欺骗性代理吗?一个例子可以是问代理一个问题“这是什么颜色?” 例如,它会以谎言回答。

我对更高层次的“欺骗”感兴趣,而不是一个简单的 if-else 程序,它不会告诉你你需要知道什么。如果您知道任何算法或阅读材料,请随时分享。

例子:

关于代理和环境的详细信息:代理接收基于文本的输入(基于文本的任务)。为了简单起见,我们假设有一个输入控件,并且只允许使用某些关键字执行一组特定的任务:“显示最新消息”,并且代理打印上个月的一些内容(不是最近的,但已经足够好了回答)。为了进一步简化输入,使其不会变成 100% 的 NLP 问题;假设代理“知道”在收到关键字“ show me ”时需要做什么。

另一个类似的用例是有两个代理。第一个代理行为正常,按预期执行任务,但如果它是 100% 诚实的,另一个代理会受到惩罚,这意味着它将训练另一个代理具有欺骗性。

2个回答

在实现代理之前,在 NLP 和知识库方面肯定有很多工作要做。然而,正如问题所暗示的那样,我们可以忽略这些细节并专注于:强化学习(RL)可以用来训练“欺骗性”代理吗?

简短的回答是肯定的,这是完全可能的原则上这是直截了当的,因为除非我们这样做,否则RL 和机器学习通常是不道德的。RL 的学习目标是最大化奖励。如果代理可以通过欺骗来最大化总奖励,那么它会在价值函数的驱动下这样做。

该声明有一些警告 - 鉴于代理在其中工作的观察和行动空间,欺骗行为必须是可能的。这并不意味着它需要一个“谎言”动作,但如果它没有任何直接的东西,那么状态和动作空间需要足够丰富和复杂,以便执行欺骗性动作和奖励系统成为可能需要使欺骗是有益的。拥有如此丰富的空间还可能允许智能体执行许多类型的无意义和无用的操作,因此将成为 RL 挑战中难度更大的挑战之一。

大多数涉及欺骗的 RL 研究还需要对所涉及的逆境进行建模——这通常会导致对试图检测欺骗的第二个代理进行对抗性训练。

具有欺骗性行为的 RL 系统示例:

  • 扑克玩机器人(自然文章)扑克是一个很难解决的 AI 问题,因为它是对抗性的,并且隐藏了很多信息。成功的扑克游戏代理必须从其他玩家的行为中推断出信息,同时避免通过他们的行为泄露有关他们自己状态的信息。第二部分——在隐瞒一些关于知识/意图的数据的同时采取行动——具有欺骗性。

  • 相扑机器人(OpenAI 博客,见第一个视频)如果一个机器人看起来会执行一个动作并导致其对手反击该动作,那么它可能会通过诡计赢得一场比赛。这可以在任何物理模型环境中自然发生。很难将环境/模拟漏洞和真正的“假动作”区分开来,但我认为链接的视频就是一个很好的例子。

什么是大骗局?它可以被定义为一组可信的信息,旨在实现最终的欺骗性目标。

就像任何 RL 模型一样,您可以通过导致错误方向的小奖励来最大化分数,如果达到最终奖励(例如:巨大的金钱损失),您可以获得巨大的奖励。

因此,您必须确保可以尽可能多地测量步骤,这在 NLP 环境中具有正面或负面反应的情况。然后,如果用户走对了方向,你可以获得负奖励,如果用户走错方向,你可以获得正奖励,如果用户发现欺骗并离开,你可以获得非常负奖励,如果用户发现了欺骗并离开,你可以获得非常积极的奖励。用户落入陷阱。

像大多数 RL 应用程序一样,它可能需要一些损失(例如,有时为了获得信心而说真话),然后达到最佳分数(例如大谎言)。

这种行为存在于战争战略或金融中,即由于真假/部分信息的混合而导致敌人失败。