Page 144 - 《软件学报》2025年第12期
P. 144
荣垂田 等: 多目标深度强化学习驱动的数据库系统参数优化技术 5525
所示 (图中动作维度和奖励维度分别为 16 和 2, 偏好向量来源于偏好生成器), 策略函数 π(a|s,ω) 和价值函数
q π (s,a,ω) 分别对应于 Actor 和 Critic 网络.
Actor Critic
Q-value
输出
配置参数 奖励维度
(动作)
... ... 动作维度*
输出 奖励维度
... 64 ... 64
... 128 ... 256
... 128 ... 256
... ... ...
128 128 128
输 ... 输 ... ...
入 组合状态 入
配置参数 (动作) 组合状态
(数据库状态, 偏好向量)
(数据库状态, 偏好向量)
图 9 ON-MODDPG 的网络结构
Critic 损失函数如下:
[
]
A
Q
2
L (θ) = E s,a,ω
y− Q(s,a,ω|θ )
(11)
∑
π ′
T
′
′
′
′
y = r(s,a)+γ p(s |s,a) max ω q ∗ (s ,a,ω ),a = π (s ,ω |θ ) (12)
′
′
a∈A,ω ′ ∈W
s ′
L 损失函数是基于均方误差 (MSE) 的,
A
由于帕累托边界包含大量离散解, 这使得损失函数相当不光滑, 并且
MSE 对于离群点 (outliers) 比较敏感, 因为平方误差会放大这些离群点的影响. 这可能导致损失函数表面出现较深
的谷底或较高的山峰, 使得优化路径变得复杂. 即均方误差损失函数导致的局部最优解多, 使得优化过程容易陷入
局部最优, 无法找到全局最优解.
A B
因此直接优化 L 在实践中具有挑战性. 为了解决这个问题, 采用一个辅助损失函数 L :
[ ]
B T T Q
L (θ) = E s,a,ω ω y−ω Q(s,a,ω|θ ) (13)
L 使用绝对误差损失函数会导致优化曲面过于平整, 使得梯度较小或为 0, 优化算法难以找到合适的方向进
B
行参数更新.
综合起来, 最终损失函数是:
A
B
L(θ) = (1−λ)L (θ)+λL (θ) (14)
A L 之间进行权衡的权重. 为了避免使 Critic 损失函数含有过多局部最小值或存在梯度
B
其中, λ 是在损失函数 L 和
A L 两种损失函数的特点, 采用同伦优化 [29] 的方法, 在训练过程中将 λ 的值从 0 动
B
较小难以优化的情况, 综合 L 和
态增加到 1, 将损失函数从 L 转移到 L . L 首先确保 Q 的预测接近于真实的预期总奖励, L 提供一个辅助拉力,
B
A
B
A
具有更好的效用, 如图 10 所示.
基于上述的理论和分析, 对 N-MODDPG 的 Critic 网络的更新方式进行了改进, 实现了 ON-MODDPG 算法,
具体实现细节如算法 2. 与算法 1 不同的是算法 2 第 7 行从偏好采样分布中采样偏好向量作为 Actor 网络输入之
一; 第 9 行将状态 s t 和偏好向量 ω t 共同作为 Actor 网络的输入, 第 10 行执行动作 a t 获得的奖励 r t =< r T ,r L > 为向
量形式.

