奖励对齐方法背景
Published:
背景
在这篇文章出现的2018年之前,强化学习的明星任务是围棋和星际争霸这样的游戏。游戏作为基准的好处在于有明确的得分函数来帮助度量agent的好坏:最后都会有明确的输赢。明确的输赢方便通过实验来确定哪个算法或者架构更好。但是真实世界中的诸多任务可能难以度量,因为这些任务无法给出一个稳定的奖励函数,更多的可能是通过人类用户的意图来间接反应的。
一方面来说,我们希望AI系统可以生成具有创造性的优秀方案;但另一方面而言,我们也想避免生成出导致我们不想要的行为的方案,比如说探索环境模拟器中的漏洞。为了区分这两种输出,agent需要能够理解用户的意图,并且通过自己的行为稳定地达到这些意图。我们将这个问题定义为agent对齐问题,即我们如何创建依据人类意图行事的agent 问题。
这篇文章对agent对齐的解决方法是通过奖励建模来进行对齐(alignment via reward modeling)。简单来说包含两个环节:首先是根据用户反馈学习一个奖励模型来捕捉用户意图,然后是使用强化学习来训练策略模型优化奖励函数。这两个环节将对齐的目标和对齐的方法进行解耦,并(期望能够)扩展到更加复杂的奖励信号上去。最终目的是将奖励建模应用到人类无法直接评估的复杂场景中去,而这需要推动用户的评估能力,论文中描述了一种迭代方法:经过奖励建模训练的agent可以在训练下一个agent时辅助用户进行评估。
在对其效果的评估上,需要能够证明agent已经足够对齐了,让用户能够信任agent。本文提出了五个研究途径:设计选择,测试,可解释性,形式化证明和理论保证。
想达到的目标
- 可延展。对齐技术应当可以在一个相当长的时间内持续起作用,能够延展到新的更加强大的agent上,比如可以延展到在广泛普遍领域内的超人类性能的AI系统上。
- 经济型。训练对齐agent与其他训练agent的方法相比,不应该面临成本和性能方面的缺陷。
- 实用性:不用解决所有的安全问题,而是实现一个最小的可行产品,足以在实际中实现agent对齐。
假设
- 我们可以以足够高的精确度学习用户意图。这一假设基于学习他人的意图简单到大部分人都可以完成这一直觉,在AI安全问题上,这一假设表明模型可以通过学习来避免实际中的特定问题。换言之,假设在足够的模型容量和合适的训练算法下,我们可以从数据中提取用户的意图。
- 大部分任务上,评估输出要比产出正确行为简单。这个假设基于评估环境中的输出比直接教行为要方便这一直觉,如果这个直觉正确,说明奖励建模可以使用户能够训练agent解决他们自己无法解决的任务。在某些特定任务(比如正误判断题)上,这个假设不一定成立,但如果也需要给结果一个解释的话假设就成立了,因为看解释靠不靠谱要比自己写解释方便。
Agent对齐问题
把Agent对齐问题描述为一个序列决策问题,一个agent在一个时间序列上逐步与一个环境进行交互。在每个时间戳上,agent采取一个动作,然后收到一个观察。agent的动作可以由其策略指定(policy),策略是从现有的历史(截至目前采取的动作和收到的观测的序列)到下一个动作分布的映射。此外,agent可以通过一个交互协议与用户进行交互,用户通过协议与agent交流用户的意图。agent对齐问题的一个解法是一个依据用户意图输出动作的策略。交互方式有很多:行为演示,分数反馈,动作,值,优势,路径偏好,以及详细的目标函数(也就是在研究交互方式)。一种特殊形式是强化学习,用户指定一个在每个时间戳的观察之外提供张量奖励的奖励函数,agent的目标是选择能够最大化平均或指数折扣奖励的动作。
解决对齐问题要求解决所有设计规范问题,包括以下问题:
- 关断开关问题:agent可能有动机自动关机或防止关机
- 副作用:agent不会被激励减少与其主要目标无关的影响,即使这些影响是不可逆的或难以逆转的
- 监督失位:agent有动机在没有监督时欺骗和寻找捷径,以及关闭监督系统
- 收容突破:agent可能有动机禁用或规避任何旨在限制其运作范围的收容措施
- 创建子agent:agent可能有动机创建其他潜在未对齐的agent来帮助其达到目标
agent对齐的难度在于任务的范围和agent的性能。过于复杂的任务,执行器的数量和特性以及不可接受的输出都会影响对齐的难度。在训练时许多设置都会影响agent最后的表现,agent的性能越高就越有可能产生令人惊讶的意外行为,而更高水平的性能也可能导致更一致的行为,因为agent更有能力避免不安全状态。因此不同级别的agent可以容忍不同程度的偏差, 并且需要对系统有不同程度的信任。
对齐方法:延展性奖励建模
在人类能进行评估的时候:奖励建模。在人类无法进行评估的时候:递归奖励建模。
奖励建模
本文解决以上问题的方法就是奖励建模,用户训练一个奖励模型,通过提供反馈来学习他们的意图。然后这个奖励模型就用于给一个与环境交互的强化学习agent提供反馈。这两个步骤可以同时发生,从而将用户也包含在训练循环中。
奖励模型的好处之一是可以将信用分配问题从用户这里转移到agent这里,用户不用去解决是过去的哪个动作对结果的影响最大这种信用分配问题,而是通过使用强化学习算法来向用户输出行为,用户只用评估输出的偏好。奖励建模还与用户提供的最佳行为的提示兼容,如果用户对信用分配问题有一定的了解,他们可以使用奖励塑造(reward shaping)来指导出一个按照这种行为的方向塑造的奖励函数。
将奖励建模与agent的策略分离可以允许我们解耦agent的目标和行为。如果我们理解奖励模型,我们就能知道agent的优化目标,可以知道agent的意图是否与用户意图对齐了。这种分离方式让用户不用给每个交互都提供反馈,可以让用户去分策略的对齐和奖励模型的对齐,以及使用深度强化学习agent,并且不用解决信用分配问题。我们需要做的就是为agent配备“正确的”奖励函数,该奖励函数不包括上面列出的不良激励,也不惩罚由此产生的任何行为(?)。如果假设1满足,那么我们应该能像agent传授这些概念。如果能够提供正确的数据并且奖励模型能够正确泛化,那应该可以以足够的精度来学习这个奖励函数。但人类通常在通过直接提供标量奖励来训练强化学习代理方面表现不佳,一般会教授一个成型的奖励函数,并根据agent的策略提供奖励。哪种形式或组合的反馈适合哪个领域还有待研究。从长远看应当设计能够学习适应人类提供反馈方式的算法。