Page 168 - 《软件学报》2025年第5期
P. 168
2068 软件学报 2025 年第 36 卷第 5 期
′
′
(µ ,σ ) = Encoder ϕ (s (i) ) (1)
ϕ i ϕ i 1;L i
′2
′
′
z | s (i) ∼ N(µ ,σ ) (2)
i 1:L i ϕ i ϕ i
最后, 窗口层提取窗口中所有时段对应分布的潜在元分布, 用 z 表示, 即 z ∼ z | z ′ . 窗口级的编码过程详见公
1:n
式 (3) 和公式 (4). 根据时段潜在分布表示 z ′ 1:n 计算元分布的参数. GHVAE 和原始 HVAE 之间最大的不同在于元
分布的设计, 本文采用高斯混合作为 z | z ′ 分布. 由于窗口的长度相对较小, 其元分布更可能是多峰值形式而不是
1:n
如同单个高斯分布一样只有一个中心, 因此采用高斯混合分布更适合作为窗口级情感分布. 所有潜在分布都由参
π ϕ = {π 1 ,π 2 ,...,π n } 是一个长度 n 的归
数为 ϕ 的编码器生成, 新模型使用神经网络作为编码器. 此外, 元分布的参数
一化向量, 并从时段的集合中通过公式 (5) 计算而来, 其中函数 f (·) 是 MLP.
′
(M ϕ ,Σ ϕ ) = Encoder ϕ (z ) (3)
1:n
z | z ′ ∼ MN(M ϕ ,Σ ϕ ,π ϕ ) (4)
1:n
′
π ϕ = Softmax( f(z )) (5)
1:n
另一方面, 解码器模块使用编码器学习而来的隐藏分布拟合输入数据再进行拟合效果评估. 通常而言, 学到更
好的潜在分布和元分布应该有助于更好地拟合输入数据, 即通过随机梯度下降训练缩小先验分布和后验分布之间
的差距. 在解码器模块中, 如公式 (6)–公式 (8) 所示, 输入情感和时段的条件分布是高斯分布, 解码器分别根据其对
应的时段和窗口来评估其参数. 本文采用神经网络作为解码器, 其中 θ 表示网络的参数.
(µ θ ,σ θ ) = Decoder θ (z) (6)
2
z | z ∼ N(µ θ ,σ ) (7)
′
i θ
′
(µ ,σ ) = Decoder θ (z ) (8)
′
′
θ i θ i i
(i)
′2
′
s | z ∼ N(µ ,σ ) (9)
′
j i θ i θ i
综合编码和解码模块, 模型的训练目标是最大限度地提高输入情感的对数似然, 以获得更好的隐藏分布参数,
如公式 (10) 所示:
( )
p θ (S,z ,z)
′
log p θ (S ) = log 1:n (10)
p θ (z ,z | S )
′
1:n
{ (1) (2) (n) }
′
S = s , s ,..., s 是窗口中的历史数据, log p θ (S ) 是拟合输入的对数似然. 由于 p θ (z ,z | S ) 是不可解的,
1:L 1 1:L 2 1:L n 1:n
所以使用变分推断来解决这一问题, 从而将对数似然公式 (10) 的右部分改为公式 (11) 后经整理得到公式 (12).
( ′ ) [ ( ′ ′ )]
p θ (S,z ,z) p θ (S,z ,z)q ϕ (z ,z | S )
log 1:n = E q ϕ (z ′ ,z|S ) log 1:n 1:n (11)
p θ (z ,z | S ) 1:n q ϕ (z ,z | S )p θ (z ,z | S )
′
′
′
1:n 1:n 1:n
[ ( )]
p θ (S | z )p θ (z ′ | z)p θ (z) [ ]
′
′
E q ϕ (z ′ ,z|S ) log 1:n 1:n + D KL q ϕ (z ,z | S )||p θ (z ,z | S ) (12)
′
1:n q ϕ (z ,z | S ) 1:n 1:n
′
1:n
公式 (12) 中的第 2 项是 q ϕ (z ,z | S ) 和 p θ (z ′ | z) 之间的 Kullback-Leibler (KL) 散度. 由于 KL 散度非负, GHVAE
′
1:n 1:n
模型的目标函数被转换为证据下界 (evidence lower bound, ELBO) 形式:
Decode
z }| {
log p(z)+log p θ (z ′ ′
| z)+log p θ (S | z )
1:n 1:n
(13)
log p(S ) ⩾ E q ϕ (z ′ ,z|S )
′
1:n −logq ϕ (z | z )−logq ϕ (z ′ | S )
1:n 1:n
| {z }
Encode
2.2 分布差异度量
漂移度量算法是一种探测历史数据和新到达数据之间差异的策略. 经过训练的 GHVAE 模型能够揭示历史数
′
′ z | z 用于计算漂移度量. 首
据分布信息, 这些信息被分配于目标函数的不同部分. 本文选择两个子模块, 即 z | S 和
先, 根据公式 z ′ σ new . 然后计算历史窗口下
(1) 提取新到达时段
S new 中的数据及其潜在分布参数
new , 命名为 µ new 和
2
的条件分布参数, µ 和 σ , 这两个参数是通过公式 (6) 产生而来. 分布 N(µ new ,σ 2 new ) 和 N(µ,σ ) 之间的量化差异, 即