啊啊啊

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了啊啊啊相关的知识,希望对你有一定的参考价值。

### Introduction

个性化对话系统当训练在小数据集上的时候很容易就会过拟合,从而难以适应不同用户的需求。这篇论文提出了这样的一个解决方法:将多个用户的集合作为来源域和单个目标用户作为目标域,并将常见的对话知识转移到目标域。转移对话对话知识的时候,来源域和目标域的区别是一个很大的挑战。

论文提出一个PETAL系统,这是基于POMDP的学习个性化对话系统的迁移学习的框架。PETAL系统首先学习来源域的普通的对话知识,然后将对话知识应用适应于目标用户。这里定义了一个个性化的Q-function:是预期累计普通奖励加上累计的个人奖励。这个函数可以对源用户和目标用户之间的差异进行建模,从而课毅避免来源域和目标域用户之间的差异带来的负迁移问题。

论文的贡献有三重,首先解决了将来源域学习的对话知识适应到于目标用户的问题;然后,提出了一个基于POMDP的迁移学习框架对不同的用户偏好进行建模;最后,在真是的数据集和模拟数据集上,都展示的PETAL对话系统的有效性。

### PETAL: A Framework for Personalized Dialogue Management

### Problem Setting

由于当前的对话状态是不可观察的,假设真实的对话状态是未知的,所以论文将对话定义为一个POMDP,这被定义为7元祖 ${S, A, O, P, R, Z, \gamma}$ ,$S$ 是定义为隐藏的不可观察状态,$A$ 是回复代理,$O$ 是用户的回复,$P$ 是状态转移概率函数,$R$ 是奖励函数,$Z$ 是观察函数,$\gamma \in [0, 1]$ 是折现系数。在第 $\mathcal{i}$轮的对话中,仅观察 $\mathcal{O}_{i}^{u}$,$\mathcal{A}_{i}^{u}$ 和 $\mathcal{r}_{i}^{u}$。定义 $\mathbf{b}_{i}^{u}$ 为置信状态向量,表示未被观察的 $\mathcal{S}_{i}^{u}$ 的概率分布。提出学习映射对话历史 $\mathcal{H}_{i}^{u}=\{\{\mathcal{O}_{k}^{u}, \mathcal{A}_{i}^{u}\}_{k=0}^{i-1}, \mathcal{O}_{i}^{u}\}$ 到紧凑的置信向量 $\mathbf{b}_{i}^{u}$。

这个问题的输入包括:
1. 来源域的大量的用户 $\mathcal{u}_s$ 对话数据 $\{\{\mathcal{O}_{i}^{u_s}, \mathcal{A}_{i}^{u_s}\}_{i=0}^{T}\}$
2. 目标域的少量的用户 $\mathcal{u}_t$ 对话数据 $\{\{\mathcal{O}_{i}^{u_t}, \mathcal{A}_{i}^{u_t}\}_{i=0}^{T}\}$

这个问题期望的输出:<br> 对目标用户的一个规则 $\pi_{u_t}$

### The framework

为了解决这个问题,目标是找到一个对目标用户的规则$\pi_{u_t}$,是基于当前第$i$轮的历史对话 $\mathcal{H}_{i}^{u}$,选择一个合适的$\mathcal{H}_{i}^{u_t}$,去最大化累计奖励:$\pi_{u_t}= argmax_{\pi}\mathbb{E}[\sum_{k=0}^{\infty}\gamma^{k}{r}_{t+k+1}^{u_t}]$。

为了对置信状态建模,引入一个状态投射矩阵$M$将对话历史$\mathcal{H}_{i}^{u}$ 映射到置信状态$\mathbf{b}_{i}^{u}$,$\mathbf{b}_{i}^{u}=f(\mathcal{H}_{i}^{u};M)$。

为了学习一个精确的$\mathcal{Q}^{\pi_{u_t}}$,可以从来源域迁移包含大量其他用户$\{\{\mathcal{O}_{i}^{u_s}, \mathcal{A}_{i}^{u_s}\}_{i=0}^{T}\}$的对话知识。由于不同的用户有不同偏好,所以直接使用来源域中的用户对话数据可能会产生不好的结果。提出一个个性化的Q-function:普通的Q-function $\mathcal{Q}_{g}$加上个人的Q-function$\mathcal{Q}_{p}$。

### Parametric Forms for Personalized Q-function

所有的回复通过投射矩阵$\mathbf{M}$投射到一个状态向量,$\mathbf{M}$通过word2vec初始化然后会在训练中更新。$\mathbf{b}_{i}^{u}$,$\mathbf{b}_{i}^{u}=f(\mathcal{H}_{i}^{u};M)$映射历史对话$\mathcal{H}_{i}^{u}=\{\{\mathcal{O}_{k}^{u}, \mathcal{A}_{i}^{u}\}_{k=0}^{i-1}, \mathcal{O}_{i}^{u}\}$到一个置信状态向量,$\mathbf{b}_{i}^{u} = [\mathbf{o}_{i-1}^{h,u}, \mathbf{o}_{i}^{u}, \mathbf{a}_{i-2}^{h,u}, \mathbf{a}_{i-1}^{u}]$,其中$\mathbf{o}_{i}^{h,u}=\sum_{k=0}^{i}\zeta^{i-k}\mathbf{o}_{k}^{u}$,$\mathbf{o}_{i}^{u}=\mathcal{O}_{i}^{u}\mathbf{M}$,$\mathbf{a}_{i}^{h,u}=\sum_{k=0}^{i}\zeta^{i-k}\mathbf{a}_{k}^{u}$ 和 $\mathbf{a}_{i-1}^{u}=\mathcal{A}_{i-1}^{u}\mathbf{M}$。基于以上的定义$\mathbf{o}_{i}^{h,u}$表示所有先前用户的回复,$\mathbf{o}_{i}^{u}$表示当前用户的回复,$\mathbf{a}_{i}^{h,u}$表示所有先前代理的回复和$\mathbf{a}_{i-1}^{u}$表示最后代理的回复。

为了对 $\mathbf{a}_{i}^{u}$ 和 $\mathbf{b}_{i}^{u}$ 之间的关系建模,普通的Q-function定义如下:
$$\mathcal{Q}_{g}(\mathcal{H}_{i}^{u}, \mathcal{A}_{i}^{u};\mathbf{w}) = \mathbf{a}_{i}^{u}\mathbf{W}(\mathbf{b}_{i}^{u})^{T}$$
基于Kronecker乘积和运算符vec(·)的性质,它以矩阵方式将矩阵转换为向量,可以重写普通Q-function作为一个线性函数在 $\mathbf{w} = vec(\mathbf{W})^{T} \in \mathbb{R}^{4d^2}$:$\mathcal{Q}_{g}(\mathcal{H}_{i}^{u}, \mathcal{A}_{i}^{u};\mathbf{w})=(\mathbf{a}_{i}^{u}\otimes\mathbf{b}_{i}^{u})\mathbf{w}^{T}$
个性化Q-function学习每个用户个性化选择,避免在不同偏好的用户之间转移有偏见的对话知识带来的负面影响。定义用户$u$个性化Q-function:
$$\mathcal{Q}_{p}(\mathcal{H}_{i}^{u}, \mathcal{A}_{i}^{u};\mathbf{p}_{u},w_p) = w_p\sum_{j=1}^{m}\mathcal{C}(\mathcal{c}_{ij}^{u};\mathbf{p}_{uj})\delta(C_j,\mathcal{H}_{i}^{u})$$
通过将普通的Q-function和个性化Q-function相加,最后可以定义为:
$$\mathcal{Q}^{\pi_{u_t}} = (\mathbf{a}_{i}^{u}\otimes\mathbf{b}_{i}^{u})\mathbf{w}^{T} + w_p\sum_{j=1}^{m}\mathcal{C}(\mathcal{c}_{ij}^{u};\mathbf{p}_{uj})\delta(C_j,\mathcal{H}_{i}^{u})$$

### reward

总的奖励为普通奖励和个人奖励之和,定义如下:
1. 当用户确认代理的建议时,将得到0.3的个人奖励,如果用户拒绝代理的建议,将收到-0.2的负奖励。 这与用户的个人信息有关。 例如,用户可以确定代理建议的地址。
2. 当用户提供每个 $c_j$ 信息将获得0.1的普通奖励。
3. 当用户进行支付将获得0.1的普通奖励。
4. 代理将获得-0.05的一般奖励,每个对话转换到鼓励较短的对话;代理将获得-0.2的一般奖励,如果它产生非逻辑回应,例如提出重复的问题。

请注意,个人奖励在训练过程中无法与一般奖励区分开来。

### Loss Function and Parameter Learning

一共有四部分的参数需要学习,$\Theta = \{\mathbf{M}, \mathbf{w}, \mathcal{w_p}, \{\mathbf{p}_{u}\}\}$。当处理实际数据的时候,训练集由 $(\mathcal{H}_{i}^{u},\mathcal{A}_{i}^{u},\mathcal{r}_{i}^{u})$ 组成,代价函数定义为:
$$\mathcal{L(\Theta) = \mathbb{E}[(r_i^u + \gamma\mathcal{Q}(\mathcal{H}_{i+1}^{u}, \mathcal{A}_{i+1}^{u}|\Theta) - \mathcal{Q}(\mathcal{H}_{i}^{u}, \mathcal{A}_{i}^{u}))^2]}$$
当使用模拟用户进行规则训练,代价函数定义为:
$$\mathcal{L(\Theta) = \mathbb{E}[(r_i^u + max_{\mathcal{A}_{i+1}^{‘}}\gamma\mathcal{Q}(\mathcal{H}_{i+1}^{u}, \mathcal{A}_{i+1}^{u}|\Theta) - \mathcal{Q}(\mathcal{H}_{i}^{u}, \mathcal{A}_{i}^{u}))^2]}$$

### Transfer Learning Algorithm

$\mathbf{M},\mathbf{w},w_p$ 是由所有用户共享,对每一个用户都有一个单独的 ${\mathbf{p}_u}$ 在来源域中。迁移 $\mathbf{M},\mathbf{w},w_p$ 到目标域中,使用它们来初始化相应的目标域中的变量,然后会和 ${\mathbf{p}_u}$ 一起在有限的训练数据中对目标用户进行训练。来源域和目标域中的用户可能会有不同的选择,在来源域中学习到的 ${\mathbf{p}_u}$ 可能在目标域中不会那么有用。对每个目标用户的个性化选择在每个单独的 ${\mathbf{p}_u}$ 学习。如果不对每个用户的 ${\mathbf{p}_u}$ 建模,不同的来源域和目标域中的用户的偏好可能会相互干扰,从而导致负迁移。

 

以上是关于啊啊啊的主要内容,如果未能解决你的问题,请参考以下文章

。。。

啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊

再见青春。

啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊

如何连接两个csv文件?

啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊 头要爆炸了