Prompter: Zero-shot Adaptive Prefixes for Dialogue State Tracking Domain Adaptation
Aksu T, Kan M Y, Chen N F. Prompter: Zero-shot Adaptive Prefixes for Dialogue State Tracking Domain Adaptation[J]. arXiv preprint arXiv:2306.04724, 2023.
问题描述:
Dialogue State Tracking (DST) 这个任务我还是第一次见,正好作者配备了一个DST任务的说明。
turn包括一个连续系统
s
i
s_i
si和用户的发言
u
i
u_i
ui,即
t
i
=
(
s
i
,
u
i
)
t_i=(s_i,u_i)
ti=(si,ui)。每个turn又有一些简短的声明,从不同的角度展示用户的偏好,该说明集合为
B
i
B_i
Bi,由一系列声明
D
D
D组成,即
B
i
=
(
D
0
,
D
1
,
⋯
,
D
K
)
B_i=(D_0, D_1, \cdots, D_K)
Bi=(D0,D1,⋯,DK)。而这些简短声明又由一些 (slot-label, slot-value) 对组成,即
D
j
=
{
s
0
:
v
0
,
s
1
:
v
1
,
⋯
,
s
N
:
v
N
}
D_j=\{s_0:v_0,s_1:v_1,\cdots, s_N:v_N\}
Dj={s0:v0,s1:v1,⋯,sN:vN},如
s
i
=
餐厅的地点
,
v
i
=
市中心
s_i=\text{餐厅的地点}, v_i=\text{市中心}
si=餐厅的地点,vi=市中心。然后
s
i
s_i
si也有一些解释,解释这个属性的含义,如“餐厅的地点:指餐厅在城市中坐落的位置”。对每个
v
i
v_i
vi,如果
s
i
s_i
si在对话语境中没有被提到,
v
i
v_i
vi就会被设置为none,否则就是一个token序列。而DST任务就是给定对话语境
D
C
DC
DC,预测
B
i
B_i
Bi,
D
C
DC
DC由截止目前的一系列turn组成。
用一句人话来讲,应该就是捕捉对话中的各种信息吧。文章还给出了一个样例,当对话语境变化而的时候,LLM有可能还没有摆脱训练时语境里的逻辑。
第一眼,我超这不是HyperPrompt吗?仔细一看雀氏应该是类似的架构。
第一步,将slot description的embedding和global prompt一起输入cross attention里,得到slot prompt。公式如下
S
=
(
(
G
W
q
)
(
E
W
k
)
T
)
(
E
W
v
)
S=((GW_q)(EW_k)^T)(EW_v)
S=((GWq)(EWk)T)(EWv)
与Transformor中的QKV机制是一样的。
第二步,生成推理模型T5每层要用的soft prompt,这里的架构跟hyperprompt是一样的,都是先投影,经过激活层再反投影。不过HyperPrompt里面这些参数是网络生成的,这里就直接训练了,且每一个Transformer层的soft prompt都有一对投影、反投影参数,应该是HyperPrompt-Sep的架构。
最后一步就是将生成的soft prompt作为前缀连接到T5 model里,做向前传播。
作者说,他们这种soft prompt的优势在于可以把slot description加到模型的前向传播中,使得slot description不会被占了输入很大篇幅的dialogue冲刷掉。
因为不是很了解任务,所以几个basline我也不太熟,但看结果应该是SOTA,只有Hotel数据集上不太行。作者在limitation中也提到了这一点,但表示暂时无法解释。