RLHF
RLHF
问题背景
强化学习任务本身的复杂性使得复杂问题的奖励函数设计是困难的,这个问题可以通过引入人类反馈进行解决。在此之前的做法是使用比较复杂的人类专家打分机制,而RLHF用人类偏好替代人类专家打分,这样一举两得:
1. 复杂的奖励函数由神经网络自己拟合,不需要人为设计复杂的奖励函数;
2.人工成本大幅度降低,只需要非专家人类给出偏好即可。
方法
基本的3个过程:
policy与environment交互获得一系列trajectories,基于传统强化学习算法优化策略以最大化收获的奖励;
选择多对trajectories对发送给人类做偏好判断(在一对中选择其中之一);
基于人类反馈来优化奖励函数。
策略优化(过程1)
三个细节:
应当选择对奖励函数变化鲁棒的强化学习策略(因为reward 模型是不断根据人类反馈更新的);
选择了A2C与TRPO两个强化学习算法,由于TRPO算法依赖Trust region来确保充分探索,如果奖励函数发生变化可能导致探索不充分,因此人为调整了超参数entropy bouns;
对奖励模型输出的奖励值做normalize,确保均值为0且有恒定的标准差。
偏好标记(过程2)
三种情况:
更喜欢两个轨迹其中之一,就给出更喜欢的轨迹;
觉得同样好,那两个轨迹每个分配0.5的概率值;
无法比较的轨迹对被排除,不纳入数据集
拟合奖励函数(过程3)
基本方案是基于交叉熵损失函数拉近两个分布的差距:
奖励函数输出的分布。
三个细节:
事实上同时训练多个神经网络模型来预测reward函数,所以对于一个observation action pair,多个网络会分别输出奖励值,然后分别normalize之后求平均值;
使用一些正则化策略如l2 normalization及dropout;
假设人类反馈中有10%的概率出错,那实际上奖励函数的分布建模为:
即90%是对的,10%是随机建模。
如何选择需要人类反馈的轨迹对
因为有多个reward model,对于一个轨迹对,多个reward model会预测出多个结果(更偏好哪一个),选择那些预测结果方差最大的轨迹对(说明多个reward model对该轨迹对存在分歧),将这些轨迹对送给人类去寻求偏好反馈。(不确定性越大,熵越高,信息量越大,从而让人类只提供信息量最大的反馈,同样可以缩减人力成本)。
最后更新于