跳转至

NLP高频面(44)RLHF过程中的马尔科夫决策过程及对话场景MDP设计

本文讨论了NLP高频面试中RLHF过程里的马尔科夫决策过程及对话场景MDP设计,关键要点包括:

马尔科夫决策过程定义:是描述序贯决策问题的数学框架,由五元组 $ (S, A, P, R, \gamma) $组成,S为状态集合,A为动作集合,P为状态转移概率函数,R为奖励函数, $ \gamma $为折扣因子。

RLHF中MDP状态定义:在对话场景中,状态通常表示当前对话的上下文信息,包括对话历史、当前用户输入、当前模型的内部表示或潜在语义表示。

RLHF中MDP动作定义:动作集合为模型可能产生的回复,包括模型回复的句子或文本片段、不同话术或回答风格的选择。

RLHF中MDP状态转移概率:描述用户在看到模型的动作后如何产生下一个对话状态,通常不直接计算,而是通过对话数据隐含学习得到。

RLHF中MDP奖励函数:由人类反馈确定,代表人类对当前动作好坏的评价,可通过明确的人类打分或点赞反馈、间接的人类反馈来定义。

RLHF中MDP折扣因子:通常设定在0到1之间,在对话系统中一般选取较高值(如0.9到0.99),以鼓励模型考虑长期的用户满意度。

客户服务场景示例:状态为用户当前提出的问题和之前的对话内容,动作是模型可能的回复策略,状态转移概率是用户看到回复后的反馈或后续问题,奖励函数根据用户反馈或完成对话目标情况确定,折扣因子设定为0.95。

什么是马尔科夫决策过程(MDP)?

马尔科夫决策过程(MDP)是描述序贯决策问题的数学框架,由五元组( $ (S, A, P, R, \gamma, \gamma\gamma\gamma) $)组成,其中:

(S): 状态集合,描述环境的所有可能状态。

(A): 动作集合,描述智能体可以采取的所有可能动作。

(P):状态转移概率函数,表示从一个状态执行某个动作后,到达另一个状态的概率。

(R):奖励函数,用于衡量在某个状态下执行某个动作后得到的回报。

γ\gamma\gamma:折扣因子,用于平衡当前奖励与未来奖励的重要性。

RLHF中的MDP框架是怎样的?

在RLHF背景下,特别是在对话场景中,MDP的各个要素定义如下:


状态(State,S)

状态通常表示当前对话的 $ \underline{\text{上下文信息}} $,包括: 对话历史(用户和模型之前的多轮对话) 当前用户输入 当前模型的内部表示或潜在语义表示

例如,一个简单状态可能是:

代码块 1 S = {用户提问:“北京的天气如何?”,对话历史:“用户:你好 模型:你好,我能帮你什么?”} 2 1

动作(Action, A)

动作集合为模型可能产生的回复,即:

模型回复的句子或文本片段

不同话术或回答风格的选择(如正式、随意或幽默)

例如:

代码块 1 A = {“北京今天晴天,气温25摄氏度。”,“我帮你查一下北京的天气,稍等。”,“北京的天气挺好的呀,你准备出去玩吗?”} 21

状态转移概率(Transition Probability, P)

状态转移概率描述用户在看到模型的动作后,如何产生下一个对话状态。实际上,由于用户的反应具有不确定性,因此该概率通常并不显式计算,而是通过对话数据隐含学习得到。

例如,从状态 sts_t st 选择动作 ata_t at 后,用户如何回复,决定了下一状态 st+1s_{t+1} st+1 的分布。

奖励(Reward, R)

奖励函数通常由人类反馈确定,代表人类对当前动作好坏的评价。奖励可以通过以下方式定义:

明确的人类打分或点赞反馈

间接的人类反馈,例如用户回复的满意度或继续对话的倾向

例如:

代码块


1 R(s,a) = 用户明确给出的打分(如1-5星评分),或对话继续的概率。 2 1

折扣因子(Discount Factor, $ \gamma\gamma\gamma\gamma\gamma $)

折扣因子γ\gamma\gamma γ通常设定在0到1之间,表示模型如何权衡当前的即时奖励与未来可能的奖励。在对话系统中,(\gamma)一般选取较高值(如0.9到0.99),以鼓励模型考虑长期的用户满意度,而非短期利益。

一 个具体的示例

以客户服务场景为例,MDP定义如下:

状态(S):用户当前提出的问题、之前的对话内容。

动作(A):模型可能的回复策略(如礼貌、正式或非正式)。

状态转移概率(P):用户在看到模型回复后的反馈或后续问题。

奖励函数(R):根据用户反馈或完成对话目标情况确定(例如,用户的满意度评分)。

折扣因子γ\gammay:设定为0.95,强调长期的用户满意度。