An Actor–Critic based controller for glucose regulation in type 1 diabetes

a b s t r a c t

\qquad 控制器基于Actor-Critic(AC)算法,受强化学习和最优控制理论(optimal control theory)的启发。控制器的主要特性是:

  1. 同时调整 胰岛素基础率 the insulin basal rate 和 大剂量 the bolus dose;
  2. 根据临床规程进行初始化;
  3. real-time personalization。

\qquad 所提出的方法的有效性利用 开环 和 闭环程序 在 silico 数据集中 adults, adolescents 和 children 人群中进行了验证,食用含碳水化合物大约在25%左右的 announced meals。
\qquad 结果显示血糖控制在三组人群中都是有效的,即使在食物中碳水化合物的成分不确定的时候。the Control Variability Grid Analysis (CVGA) 的 A + B zones 中的百分数分别是:成人100%,青少年93%,儿童93%。
\qquad 基于AC的控制器似乎是一种很有前途的方法来自动调节胰岛素输注,以改善血糖控制。算法优化后,控制器将用于临床试验。

2. Methods

2.1 AC algorithm

p ( y ∣ x , u ) p(y|x,u) p(yx,u) 从状态x到下一个状态y的转换依赖于状态x和通过转换概率函数的当前控制动作u.
每个状态被分配相应的局部 代价 c ( x , u ) c(x,u) c(x,u) 表示它的 quality。
控制策略 —— control policy μ ( u ∣ x , θ ) \mu(u|x,\theta) μ(ux,θ),maps the state x to the control input u,根据参数 θ ∈ R K \theta \in R^K θRK
对任意的 θ \theta θ 马尔科夫链 X k {X_k} Xk X k , U k {X_k, U_k} Xk,Uk 是 irreducible 和 aperiodic, 其稳定概率分布为 π θ ( x ) \pi _ \theta(x) πθ(x) η θ ( x , u ) = π θ ( u ∣ x , θ ) \eta _ \theta (x,u) = \pi _ \theta(u|x,\theta) ηθ(x,u)=πθ(ux,θ)
目标函数 —— the average cost
在这里插入图片描述
状态价值函数 —— V θ ( x ) V_\theta (x) Vθ(x) 状态 x x x 的 expected future cost

V θ ( x ) V_\theta (x) Vθ(x) 满足如下的泊松公式:
在这里插入图片描述
动作价值函数 —— Q θ ( x , u ) Q_\theta (x,u) Qθ(x,u)
在这里插入图片描述
梯度 ∇ θ α ˉ ( θ ) \nabla_\theta \bar{\alpha}(\theta) θαˉ(θ) 表示为:
在这里插入图片描述
其中,在这里插入图片描述

Critic:用于近似Q价值函数 Q ( x , u ) Q(x,u) Q(x,u),用线性参数化的函数进行近似:
在这里插入图片描述
其中, r ∈ R K r \in R^K rRK , φ θ \varphi_\theta φθ 是 依赖于 Actor的参数 θ \theta θ 的基础函数的向量。
用 Temporal Differences (TD) 来更新 Critic 的参数向量 r r r 并且形式化表示为:
在这里插入图片描述
其中, d k d_k dk 是 TD error,定义为连续两个预测之间的误差,公式化表示为:
在这里插入图片描述
其中, γ k c \gamma _k ^c γkc 是一个正的非递增函数,定义了 Critic 的学习率, 0 < λ < 1 0 < \lambda<1 0<λ<1是一个常数, r T r^T rT 表示转置。
资格迹(eligibility vectors) z k z_k zk 实现了算法的迭代,定义为:
在这里插入图片描述
z k z_k zk 的更新规则由下式给出:
在这里插入图片描述
最终,average cost 定义为:
在这里插入图片描述

Actor:用于近似策略函数 μ ( u ∣ x ) \mu (u|x) μ(ux)
Actor 的目标是通过拟合最优控制策略 μ ( u t ∣ x t , θ t ) \mu(u_t|x_t,\theta_t) μ(utxt,θt) 最小化 average cost a ˉ \bar{a} aˉ 。每次迭代中,参数更新是基于 Critic 的估计来进行的:
在这里插入图片描述
其中, γ k α \gamma_k^\alpha γkα 是正的、非增函数,定义了Actor 的学习率。

在这里插入图片描述

2.2 implementation

\qquad 制定两个 AC 算法,一个用于估计 基础率,另一个用于估计 大剂量。算法使用了 the University of Virginia (UVa) T1D simulator 教育版 进行了评估。在每天开始时,算法根据前一天的血糖值进行迭代,其中k表示试验第k天。
\qquad Basal-AC 用来调节一天的平均基础率,Bolus-AC 则用来估计 各自的 IC ratio, IC ratio根据下一餐的量进行估计,被用于计算 大剂量给药量。

2.2.1 Basal-AC

\qquad Actor 的策略是 the daily average basal rate。过去一天血糖变化的两个特征用于调整平均基础率,并被定义为:
在这里插入图片描述
\qquad 其中, G m a x , G m i n G_{max},G_{min} Gmax,Gmin 是一天中测量的最高和最低血糖浓度。 G h G_h Gh 是高血糖阈值界 G h = 230 m g / d l G_h=230 mg/dl Gh=230mg/dl G l G_l Gl 是低血糖阈值界 G l = 70 m g / d l G_l=70mg/dl Gl=70mg/dl。注意我们放松了高血糖阈值界(从180到230),目的是为了避免 coarse insulin increments 从而导致低血糖。特征 F 1 F_1 F1 F 2 F_2 F2 组成当前时刻状态 x k = [ F 1 k F 2 k ] T x_k=[F_1^k F^k_2]^T xk=[F1kF2k]T 被算法用于估计Q值函数和Actor的参数。分配到每一天的 local cost 被定义为:
在这里插入图片描述
\qquad 权重 a h a_h ah a l a_l al 用来权衡高低血糖的比重, a h = 0.01 a_h = 0.01 ah=0.01 a l = 0.1 a_l=0.1 al=0.1 a l a_l al 被赋予较大的值,说明优先考虑低血糖的严重后果,从而尽量避免低血糖的发生。通过试错法合适的权重值,并且 a h / a l a_h/a_l ah/al 的阶数比权重的实际值起着更重要的作用。
\qquad 控制策略,例如接下来几天的平均基础率,计算方式为:
在这里插入图片描述
其中, P b a s P_{bas} Pbas B m e a n B_{mean} Bmean 比率的改变的估计:
在这里插入图片描述
θ = [ θ 1 θ 2 ] T \theta = [\theta_1 \theta_2]^T θ=[θ1θ2]T 是 Actor 的参数向量。

\qquad Critic 的基础函数 φ θ \varphi_\theta φθ 设置为等于 ψ θ \psi_\theta ψθ,这是AC算法的最直接的实现方式。
\qquad 所有患者的 Critic 的参数向量 r r r 被初始化为 (0,1) 之间的随机值。所有患者的 Actor 的参数向量 θ \theta θ 被初始化为 0。初始的基础率被设置为使患者保持空腹血糖的最佳基础率,由UVA模拟器提供。Actor 和 Critic 的学习率被定义为:
在这里插入图片描述
\qquad 已经选择了学习率函数,需要注意以下问题:

  1. 最大的收敛时间为20天;
  2. 批评家需要更快的学习;
  3. 基础变化率大约在10%。

\qquad Basal-AC 的学习率在图2a中给出。需要指出的是,选择20天作为最大收敛时间是为了确保算法有足够的时间进行必要的胰岛素调整,从而有效地调节葡萄糖。
\qquad 我们研究了输注的基础率的两种情况:

  • Profile 1 (P1):实际基础率是根据临床启发式方法计算每天每小时基础胰岛素输注的百分比:
    在这里插入图片描述
    其中 B B B 是 每日基础胰岛素输注总量。为此,一天的总基础胰岛素是根据平均基础率计算的,然后根据前面的公式估计一天的实际基础率。
  • Profile 2 (P2):平均基础胰岛素的注入速率是恒定的。
2.2.2. Bolus-AC

IC率 的估计方法与 基础率 相似。每天的血糖状况也使用相同的特征,控制策略将IC率定义为:
在这里插入图片描述
其中, P I C P_{IC} PIC 是 IC 的变化率,被估计为:
在这里插入图片描述
θ = [ θ 1 θ 2 ] T \theta = [\theta_1 \theta_2]^T θ=[θ1θ2]T 是 Actor 的参数向量。
在这里插入图片描述
\qquad 与 Basal-AC 的情况相同,Critic 的 basis functions φ θ \varphi_\theta φθ 设置为等于 ψ θ \psi_\theta ψθ。Actor 和 Critic 的参数初始化与 Basal-AC 情况相同。每名患者的 初始 ICratio 被设置为 最优 IC ratio,由 the UVa simulator 提供。Actor 和 Critic 的学习率与 Basal-AC 形式相同,被定义为:
在这里插入图片描述
Bolus-AC 的学习率如 Fig. 2b 所示。
\qquad 算法是利用MathWork MATLAB和MathWork Simulink软件开发的。

3. Results

\qquad 该模拟器的总数据库包括10名成年人、10名青少年和10名儿童; 其中两名儿童被排除在外,原因是他们的葡萄糖反应过度。为了模拟试验,我们设计了一种每日膳食方案,包括四种不同大小、不同时间的膳食,详见[45]。 在模拟中,进餐是在进餐前半小时宣布的。为了弥补膳食估计的不准确,这些膳食被随机指定——正确的CHO 含量、低估25%、高估25%。
\qquad 基础输注(The basal infusion profiles),P1 和 P2, 应用于所有的患者。P1对成年人和青少年有效。除了一名12岁(青春期)儿童和一名超重儿童外,大多数儿童通过每天持续的基础胰岛素注射得到了更好的调节(P2)。这一观察结果与临床实践一致,即儿童在青春期开始之前,经常接受恒定的基础率治疗。
\qquad 总试验时间为30天。我们评估了 控制算法 是否有 适当的更新 基础率 和 IC比率的能力,有效的实现了 28例患者在 Control Variability Grid Analysis (CVGA)[46] 中的 葡萄糖调节。
\qquad 图 3 给出了三个例子,分别针对不同的年龄组,说明 controller 的 调整 胰岛素输注方案 的能力,在逐渐将血糖浓度控制在正常血糖范围内时。对于成年人和青少年,基础率 和 IC率 的表现都很好。该算法仅对胰岛素输注方案进行了微调(图3a 和 图3b),就能够保证这种性能,并且迅速收敛到最终的基础剂量方案;成人的平均收敛时间为4天,青少年为2天。然而,对于儿童,AC的效果很明显,如图3c所示。很明显,随着胰岛素输注的调整,葡萄糖逐渐向正常血糖界限靠拢。
在这种情况下,算法需要更多的时间来达到最终值,需要10 - 20天。在这里插入图片描述
\qquad evaluation 基于最后10天的实验数据,在达到收敛后进行。三个年龄组的患者在试验期最后10天的CVGAs如图4所示。在A + B区,成人的天数百分比为100%,青少年和儿童的天数分别为93%。虽然发生了低血糖事件,特别是儿童,但没有观察到严重的低血糖(没有在区域E的)。
在这里插入图片描述

\qquad 控制变化性网络分析(Control Variability Grid Analysis,CVGA)
在这里插入图片描述

3.1 Meal announcement: accurate vs. inaccurate

\qquad 为了研究 controller 对不确定的膳食 的处理能力,将该算法在初始实验设置下的性能 与 仅包含确定的膳食计划的第二次试验的性能 进行了比较。Table 1 给出了 两个实验中每个 CVGA区域的点的百分比。由于膳食的不确定性,A+B区域的百分比 比 确定饮食的要低,青少年为-4%,儿童为-3%,成年人没有区别(两次实验的 A+B 均为 100%)。由此可见,***膳食不确定性对控制器的性能影响不大,说明AC能够分别考虑这些不确定性和优化控制器的性能 ***。

3.2. Insulin infusion: open vs. closed-loop

\qquad 第三次实验是为了比较算法在 基础率和IC比率固定的开环情况下 的性能(基础率和IC比率又模拟器提供)。从 Table 1 展示的结果中,我们可以观察到 AC算法很明显的改善了血糖调节,尤其是对儿童,与开环方法相比,A+B区域的百分比提高了 220%。对于成年人和青少年,改善较少(分别为15%和2%),因为如前所述,这些患者的初始基础值和IC值能够充分调节血糖值(我理解:初始注射就可以使得血糖有效下降)。
在这里插入图片描述

4. Discussion

\qquad 在这项研究中,一个自适应控制算法被设计和发展为估计 最佳的基础胰岛素率和IC比率。该算法对三个年龄组的患者进行了评估,但在饮食方面存在不确定性。AC算法的目的是估计最佳的基础胰岛素率和IC比率,以最小化低血糖和高血糖事件引起的成本。调整包括一个临床适用的方法来初始化基础率和IC比率和有限的人工干预,限制在学习率的设计。
学习速率参数的值对所有患者都是通用的,并且是根据患者的定性特征估计的。该算法能够对所有患者进行收敛,并实现有效的血糖调节,在大多数情况下没有发生低血糖事件。AC的贡献在儿童中尤其显著,因为儿童最初的基础值和IC值不足以进行有效的控制。此外,当膳食被准确估计时,算法的性能是相似的,这表明所提出的方法能够处理错误的CHO计数引起的不确定性。
\qquad AC算法被提出作为一种新的自适应的方法,以调节葡萄糖,其目的是补偿主体的变化和不确定的膳食估计。改进该方法需要解决和讨论几个问题。
\qquad 学习:使用自适应算法对于未建模动态的复杂系统,如glucoregulatory系统是一个复杂的任务,不是建立在文学,由于高多样性和特殊的特点,定义每个系统和实施需要不同的方法。在血糖控制方面,一个重要的问题是,在试验的任何阶段都不能接受极值。这就限制了学习过程的设计,通常需要较慢的学习速度,然而,这应该弥补快速收敛到正常血糖的需要。
根据[25],临床可接受的收敛速度大约为7天。在AC的情况下,虽然成人和青少年满足这一要求,但儿童需要更多的时间,直到算法设法实现血糖调节接近正常血糖。原因可能是,如开环试验所示,基础率和IC比值的初始值未能给予足够的葡萄糖调节。这表明需要在患者相关信息的基础上制定和调整葡萄糖调节的控制算法。在这个框架下,个性化学习率的设计可能会导致更快的收敛和改善血糖控制。
\qquad 餐数估算:当前版本的算法要求在进食前通知传入的餐数,以便给出所需的bolus。然而,AC也可以与诸如[27,47]中提到的膳食检测算法相结合,以最小化患者在控制过程中的介入和主观性。

5. Conclusions

\qquad 一种基于AC学习算法的新型自适应控制方法已被提出,用于在CGM和胰岛素泵下同时调整T1D患者的基础发病率和IC比率。AC已被证明是一种很有前途的控制方法,能够有效地执行在存在的变数和不确定的膳食估计,并改善血糖控制相比,标准优化开环基础丸治疗。为了避免血糖调节系统的数学模型带来的额外误差,该算法以无模型的方式设计和开发。胰岛素给药政策的结果符合临床公认的各年龄段的特点。未来的工作应该包括基于患者具体信息的个性化学习率的调查,以加速融合。结合其他模块,如食物检测算法,可以增强算法的自主性。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值