跳转到内容

通过捕捉记忆动态,优化间隔重复调度

摘要

间隔重复(即学习者按照既定时间表复习项目)已被证实是用于知识记忆和技能练习的一种有效方法。当前多数间隔重复方法或聚焦于预测学习者的记忆复现率,或着眼于设计最优的复习规划,因而忽略了间隔重复系统的整体性。在本文中,我们通过捕捉记忆的动态变化过程,提出了一种新颖的间隔重复规划框架。该框架通过交替进行记忆预测与复习规划优化,来提升学习者的复习效率。首先,该框架从学习者的复习日志中收集数据,并构建具备马尔可夫性的记忆模型,以捕捉记忆的动态特性。然后,我们将间隔重复优化问题转化为一个随机最短路径问题,并通过值迭代法进行求解。我们还构建了一个全新的间隔重复基准数据集,这是首个包含学习者记忆过程中时间序列信息的数据集。在真实世界数据和模拟环境上进行的实验结果表明,与多种基线模型相比,我们提出的方法在预测记忆复现率和优化复习规划方面,将误差降低了 64%,并将复习成本降低了 17%。我们已将本文使用的数据集(包含 2.2 亿条记录)及代码公开发布于:https://github.com/maimemo/SSP-MMC-Plus

1 背景与动机

间隔重复是一种高效的记忆方法,能够帮助学习者记住成千上万的内容。传统的间隔重复算法通常是基于经验设置参数的硬编码模型,缺乏普适性,难以满足学习者的个性化要求。近年来,随着在线学习平台的发展,收集海量学习行为数据不再困难。间隔重复算法研究也得到了长足进步,但现有的研究也存在一些缺陷。大多数研究要么专注于预测学习者的记忆情况,要么专注于优化复习调度,没有将这两个方向进行结合,忽略了间隔重复系统的整体性。仅预测学习者的记忆无法直接提高学习者的效率,而只优化复习规划往往难以适应真实的学习者。本文提出了一种开创性的间隔重复系统框架,通过交替进行记忆预测和调度优化,以提高学习者的复习效率。

本论文是 SIGKDD 会议论文 A Stochastic Shortest Path Algorithm for Optimizing Spaced Repetition Scheduling(《优化间隔重复调度的随机最短路径算法》)的扩展,继承了该论文的几项优势,例如对学习者的记忆进行时序建模,充分利用时间序列特征,更接近真实情景。在此基础上,本文引入了时序神经网络来建模记忆,进一步降低了预测误差,同时验证了优化算法的通用性。

本文的其余部分组织如下:

  • 第二节详细介绍了时序数据和 HLR 模型的构建过程
  • 第三节介绍了提出的 SSP-MMC 算法
  • 第四节报告了实验结果和讨论
  • 第五节描述了部署框架
  • 第六节总结了本文

2 时间序列记忆模型

2.1 时序数据

学习者的一个最小记忆行为事件可以用一个四元组来表示:

e:=(u,w,Δt,r)e :=(u, w, \Delta t, r)

其中:

  • uu 表示学习者
  • ww 表示要记忆的单词
  • Δt\Delta t 表示自上次复习以来的时间间隔
  • rr 表示学习者是否成功地回忆起该单词

为了得到时序数据,我们将学习者对同一单词的所有记忆行为按照发生时间排序,然后将 Δt\Delta t rr 按顺序拼接,得到一个序列特征

ei:=(u,w,Δt1:i1,r1:i1,Δti,ri)e_{i} :=(u, w, \bm{\Delta t}_{1:i-1}, \bm r_{1:i-1} , \Delta t_{i} , r_{i})

其中

  • Δt1:i1\bm{\Delta t}_{1:i-1} 表示第 ii 次复习之前每次复习之间的时间间隔
  • r1:i1\bm r_{1:i-1} 表示第 ii 次复习之前每次复习的反馈情况

样例请见表 1:

然而,处理后的数据中,回忆依然是二元,由于记忆内在的不确定性,回忆的结果服从一个概率随着时间变化的 0-1 分布。我们更关心学习者记忆内在的回忆概率及其变化,因此需要对上述数据进一步处理。

最容易想到的处理方法是按照 w,Δt1:i1,r1:i1,Δtiw, \bm{\Delta t}_{1:i-1}, \bm r_{1:i-1}, \Delta t_{i} 分组,计算 rir_i 的均值,即可估计不同单词在不同记忆行为历史下的回忆概率:

ei:=(w,Δt1:i1,r1:i1,Δti,pi,N)e_{i} :=(w, \bm{\Delta t}_{1:i-1}, \bm r_{1:i-1}, \Delta t_{i} , p_{i}, N)

这种处理方法忽略了学习者本身的特质。但即使如此,由于时序数据的空间维度随着序列长度指数爆炸,我们收集到的数据在进行分组后,每组的样本量较少,估计误差较大。为了缓解数据稀疏性,降低误差的方差,我们将单词划分为了 10 个难度,如图 2 和表 2 所示:

然后按照单词难度、记忆行为历史进行分组,得到每组的回忆概率和分组样本量。然后采用指数遗忘曲线回归,计算每个分组的记忆半衰期。

ei:=(d,Δt1:i1,r1:i1,p1:i1,Δti,pi,hi1,N)e_{i} :=(d, \bm{\Delta t}_{1:i-1}, \bm r_{1:i-1}, \bm p_{1:i-1}, \Delta t_{i} , p_{i}, h_{i-1}, N)

样例请见表 3:

2.2 半衰期回归模型 HLR

半衰期指的是回忆概率从 100% 下降到 50% 所需到时间。

p=2Δ/hp = 2^{-\Delta/h}

在半衰期回归模型中,半衰期的观测值是通过上述公式拟合得到的。

Duolingo 的论文采用统计特征来预测半衰期:

h^Θ=2Θxx=(x,x,lex), \begin{aligned} \hat{h}_{\bm\Theta} & =2^{\bm\Theta \cdot \bm x} \\ \bm x & = (x_{\oplus},x_{\ominus}, \bm{lex}), \end{aligned}

我们在该模型的基础上,引入了时间序列信息,并使用两种时序模型进行预测。

2.3 DHP-HLR 模型

在第一个记忆模型中,我们主要考虑简单性和可解释性,为此我们手工搭建了一个满足马尔可夫性的时序模型。

马尔可夫性:当前状态只取决于上一个状态

在这个模型中,我们将时间序列降维成状态变量和状态转换方程。我们考虑以下四个状态变量:

  • 半衰期:其衡量了记忆的存储强度
  • 回忆概率:其衡量了记忆的提取强度
  • 回忆结果:记住 or 忘记
  • 难度:在同等条件下,半衰期增长越慢,记忆巩固的难度越高

在我们构建时序数据时,每个时间序列已经标记上了这四个状态变量。将时间序列数据投影到三维空间后,得到了图 3:

X 轴表示复习前的保留率 pi1p_{i-1} , Y 轴表示复习前的记忆半衰期 hi1 h_{i-1} , Z 轴表示复习后的记忆半衰期 hih_i ,颜色表示单词的难度,而中间的淡紫色平面分隔开了复习结果为记住和忘记的两类结果。

通过观察图 3,我们发现当回忆结果为记住时,复习后的记忆半衰期会比复习前的长。而当回忆结果为遗忘时,记忆半衰期会缩短。

为了更细致地研究复习对记忆半衰期的影响,特别是复习时回忆概率对记忆半衰期的影响,我们选择了一组复习前后的数据,计算记忆半衰期,绘制遗忘曲线,得到图 4:

图:一组相关复习事件的遗忘曲线。蓝色的遗忘曲线展示了两次复习后,在不同间隔下进行第三次复习的回忆概率。红、绿、黄三条曲线是分别隔 3 天、4 天、5 天的第三次复习回忆成功后的遗忘曲线。

根据图 4 可知,随着复习间隔增长,回忆成功后的记忆半衰期也在增长。而根据遗忘曲线的规律,复习间隔增长会导致回忆概率下降。因此当回忆概率下降时,回忆成功的记忆半衰期会增长。

考虑以上观察结果,我们对记忆半衰期和难度分别构建了状态转移方程:

hi=[hi1(eθ1xi1+1),eθ2xi1][ri1,1ri1]T h_i =[h_{i-1} \cdot (e^{\boldsymbol \theta_1 \cdot \boldsymbol x_{i-1}}+1),e^{\boldsymbol \theta_2 \cdot \boldsymbol x_{i-1}}] \cdot [r_{i-1}, 1-r_{i-1}]^T

其中 xi=[logdi1,loghi1,log(1pi)]\boldsymbol x_i = [\log d_{i-1}, \log h_{i-1},\log(1-p_i)] 是特征向量,包含了难度、半衰期和回忆概率。

di=[di1,di1+θ3][ri1,1ri1]Td_i = [d_{i-1}, d_{i-1} + \theta_3]\cdot[r_{i-1}, 1-r_{i-1}]^T

在记住时,难度不发生变化,在遗忘时,难度增加。

最终的状态转移方程组为:

[hidi]=[hi1(eθ1xi1+1)eθ2xi1di1di1+θ3][ri11ri1]xi1=[logdi1,loghi1,log(1pi1)]ri1Bernoulli(pi1)pi1=2Δti1/hi1h1=1/log2(0.9250.05d0), \begin{aligned} \left[\begin{array}{c} h_i \\ d_i \end{array}\right] & =\left[\begin{array}{cc} h_{i-1} \left(e^{\boldsymbol{\theta}_{1} \cdot \boldsymbol{x}_{i-1}}+1\right) & e^{\boldsymbol{\theta}_{2} \cdot \boldsymbol{x}_{i-1}} \\ d_{i-1} & d_{i-1}+\theta_{3} \end{array}\right]\left[\begin{array}{c} r_{i-1} \\ 1-r_{i-1} \end{array}\right] \\ \boldsymbol x_{i-1} & = [\log d_{i-1}, \log h_{i-1},\log(1-p_{i-1})] \\ r_{i-1} & \sim Bernoulli(p_{i-1}) \\ p_{i-1} & =2^{-\Delta t_{i-1}/h_{i-1}} \\ h_1 & = - 1 / \log_2(0.925 - 0.05 \cdot d_0), \end{aligned}

基于上述方程,给定初始难度和半衰期,我们就可以计算任何记忆行为序列对应的记忆状态。

图 5 更清晰地描述了计算过程中,每个变量之间的关系。

2.4 GRU-HLR 模型

DHP-HLR 为了可解释性,要求人工设计状态转移方程,牺牲了一部分预测能力。而循环神经网络是预测时序任务的常见方法,GRU 门控神经网络是一个具有代表性的循环神经网络。通过引入 GRU,我们可以无需人工设计状态转移方程。

h^i=GRU(Δt1:i1,r1:i1,p1:i1)\hat{h}_i=\mathrm{GRU}(\bm{\Delta t}_{1:i-1}, \bm r_{1:i-1}, \bm p_{1:i-1})

为了降低回忆概率的预测误差,我们设计了如下的损失函数:

l(ei,θ)=hih^ihi+h^i+Cθ22 l(e_{i},\bm\theta)=|\frac{h_{i}-\hat{h}_{i}}{h_{i}+\hat{h}_{i}}|+C||\bm\theta||_{2}^{2}

这里我们采用了对称平均绝对百分比误差,可以降低预测半衰期的百分比误差,从而降低对回忆概率对绝对误差。

同时,GRU-HLR 不仅可以用于预测半衰期和回忆概率,还可以捕捉记忆的动态。只需要将隐藏层输出作为记忆状态

hi,si=GRU-HLR(si1,Δti1,ri1,pi1)\bm h_{i}, \bm s_{i}=\textrm{GRU-HLR}(\bm s_{i-1}, \Delta t_{i-1}, r_{i-1}, p_{i-1})

其中 s 对应了单词在学习者大脑中的记忆状态。GRU-HLR 描述了记忆状态在复习前后发生的变化。

3 间隔重复调度优化

3.1 问题设置

间隔重复方法的目的在于帮助学习者高效地形成长期记忆。而记忆半衰期反映了长期记忆的存储强度,复习次数、每次复习所花费的时间则反映了记忆的成本。所以,间隔重复调度优化的目标可以表述为:在给定记忆成本约束内,尽可能让更多的材料达到目标半衰期,或以最小的记忆成本让一定量的记忆材料达到目标半衰期。其中,后者的问题可以简化为如何以最小的记忆成本让一条记忆材料达到目标半衰期,即最小化记忆成本(Minimize Memorization Cost, MMC)。

我们所构建的长期记忆模型满足马尔可夫性,在 DHP-HLR 和 GRU-HLR 中,每个记忆状态仅依赖于上一个状态、当前的复习间隔和回忆结果,回忆结果的分布依赖于复习间隔。其中回忆结果服从一个与复习间隔有关的随机分布。由于半衰期状态转移存在随机性,一条记忆材料达到目标半衰期所需的复习次数是不确定的。因此,间隔重复调度问题可以视作一个无限时间的随机动态规划问题。考虑到优化目标是让记忆半衰期达到目标水平,所以本问题存在终止状态,所以可以转化为一个随机最短路径问题(Stochastic Shortest Path, SSP)。结合优化目标,我们将算法命名为 SSP-MMC。

随机最短路径问题(Stochastic Shortest Path problem,SSP)是一种马尔可夫决策过程(Markov Decision Process,MDP),它是对经典的确定性最短路径问题的一般化。我们的目标是控制一个动态演化的系统中的智能体,让它收敛到一个预先定义的目标。智能体通过在每个时间段内采取行动来进行控制:这些行动都会产生一定的代价,而系统中的转移则由只与上一次行动有关的概率分布来控制,与过去无关。我们的重点是有限的状态/行动空间:即在给定初始状态的情况下,选择每个状态的行动,即确定性的、固定的策略,以使智能体在到达目标状态之前所承担的总期望代价最小化。

结合优化目标,我们将算法命名为 SSP-MMC。

如图 6 所示,圆形表示记忆状态,正方形表示复习行为(即本次复习后的间隔),虚线箭头代表给定复习间隔后的记忆状态转移方向,实线箭头代表给定记忆状态下可选的复习间隔。间隔重复中的随机最短路径问题,就是从初始记忆状态出发,找到每个记忆状态下最优的复习间隔,最小化达到目标记忆状态所需的期望复习成本。

3.2 数学表示

为了解决这个问题,我们提出的方法是将一个单词的复习过程建模为一个 MDP(马尔可夫决策过程),有一组状态 S\mathcal{S} 、行动 A\mathcal{A} 、状态转换概率 P\mathcal{P} 、成本函数 J\mathcal{J} 。智能体的目标是找到一个策略 π\pi ,使达到目标状态 sNs_N 的期望成本最小。

π=argminπΠlimNEs0,a0,[t=0NJ(st,at)π]\pi^{*}=\underset{\pi \in \Pi}{\operatorname{argmin}} \lim\limits_{N\to \infty} \mathbb{E}_{s_{0}, a_{0}, \ldots}\left[\sum_{t=0}^{N} \mathcal{J}\left(s_{t}, a_{t}\right) \mid \pi\right]

状态空间 S\mathcal{S} 取决于记忆模型的状态大小。DHP-HLR 模型只有两个状态变量,因此状态可以表述为 s=(d,h)s=(d, h) 。对于 GRU-HLR 模型,状态依赖于隐藏层的大小,其使用 tanh\tanh 作为激活函数,其范围为 (-1,1)。它可以被离散化,如下所示:

S(sεsS)SS\xrightarrow[]{(\lfloor\frac{s}{\varepsilon}\rfloor|s\in \mathcal{S})}\mathrm{S}

其中ε\varepsilon 是离散化的精度。

行为空间 A={Δt1,Δt2,,Δtn}\mathcal{A}=\{\Delta t_1,\Delta t_2,\cdots,\Delta t_n\} 由可以安排复习的 n 个间隔组成。状态转移概率 Ps,a(s)\mathcal{P}_{s,a}(s') 是记忆在状态 ss 和行动 aa 时转移到状态 ss' 的概率。成本函数 J\mathcal{J} 定义为:

J(s0)=limNE{t=0N1gt(st,at(st),rt)}rtBernoulli(pt), \begin{aligned} \mathcal{J}(s_0) & = \lim\limits_{N\to \infty} E\left\{\sum\limits_{t=0}^{N-1}g_t(s_t,a_t(s_t), r_t) \right\} \\ r_{t} & \sim Bernoulli(p_{t}), \end{aligned}

其中 gtg_t 是每个阶段的成本,rtr_t 是 0-1 分布的回忆结果。目标状态 sNs_N 对应于大于 hNh_N 的半衰期,这就是目标半衰期。

3.3 优化算法

我们使用值迭代(VI)来解决 MDP(S,A,P,J\mathcal{S},\mathcal{A},\mathcal{P},\mathcal{J} ),并使用 DHP-HLR 和 GRU-HLR 来捕捉记忆状态的动态。其贝尔曼方程为:

J(s)=minaA(s){sPs,a(s)(g(r)+J(s))}s=F(s,a,r,p), \begin{aligned} \mathcal{J}^*(s) & = \min\limits_{a \in \mathcal{A}(s)} \left\{\sum\limits_{s'}\mathcal{P}_{s,a}(s')(g(r) + \mathcal{J}^*(s'))\right\}\\ s' & = \mathcal{F}(s,a,r,p), \end{aligned}

其中 J\mathcal{J}^* 是最佳成本函数,F 是包括 DHP-HLR 和 GRU-HLR 在内的状态转移函数。为了简单起见,我们只考虑回忆结果rr g(r)=ar+b(1r)g(r)= a-r+b-(1-r) ,a 是回忆成功的成本,b 是回忆失败的成本。

基于上式,我们设计了值迭代算法,如算法 1 所示,使用成本矩阵来记录最佳成本,策略矩阵来保存迭代期间每个状态的最佳动作。

4 实验

4.1 记忆预测

4.1.1 实验设置

  • 数据集:我们从在线语言学习 APP 墨墨背单词(MaiMemo)中收集了 2.2 亿条复习事件日志,预处理后转换成 71,697 个分组样本
  • 基线模型:我们将 DHP-HLR 和 GRU-HLR 与 Pimsleur、Leitner、HLR 及其变体进行比较。为了了解时间序列特征对 GRU-HLR 的贡献,我们设置了消融实验,考虑了四个 GRU-HLR 的变体:带和不带 Δt1:i1\bm{\Delta t}_{1:i-1} 特征(-t),带和不带 p1:i1\bm p_{1:i-1} 特征(-p)。
  • 评估指标:我们考虑了两个不同的评估标准。第一个指标是 MAE(p),即预测回忆概率与实际回忆概率之间的绝对误差。回忆概率是 0 到 1 之间的值。 MAE 越小,预测越准确。第二个指标是 sMAPE(h),即预测和实际半衰期之间的相对误差。
  • 实现细节:GRU-HLR 的隐藏层大小确定了状态空间的维度。为了公平比较 DHP-HLP 和 GRU-HLR ,我们将隐藏层大小设置为 2。我们随机选择了 20% 的数据来调整 GRU-HLR 的超参数,并最终选择了以下参数:迭代次数=1,000,000,学习率=0.001,权重衰减=0.00001。对于剩余的 80% 的数据,使用 5×25\times 2 折交叉验证进行评估。

4.1.2 结果分析

表 4 展示了每个记忆模型在两个指标上的结果。我们可以看到带有 p1:i1\bm{p}_{1:i-1} Δt1:i1\bm{\Delta t}_{1:i-1} 特征的 GRU-HLR 表现最好。此外,与 HLR 相比,所有 GRU-HLR 变体的 MAE 都至少降低了 64%。DHP-HLR 优于原始的 HLR。我们绘制了误差分布,如图 7 所示,以分析我们模型的优势。数据集的回忆概率分布由图 7(a) 中的条形图表示。大多数样本的回忆概率在 80% 至 90% 之间。GRU-HLR 的 MAE(p) 在 (40%,100%)(40\%,100\%) 的范围内小于 0.05。然而,由于回忆概率取决于记忆的半衰期和复习间隔,因此直接分析图 7(b) 中显示的 sMAPE(h) 分布更为可行。

在图 7(b) 中,大部分的半衰期值都在 4 到 32 天之间。当半衰期小于 16 天或大于 129 天时,HLRs 的表现较差。这是因为统计特征(例如:回忆历史数量和遗忘数量)无法区分像 r1:2=(1,0)\bm r_{1:2}=(1,0) r1:2=(0,1)\bm r_{1:2}=(0,1) 这样的序列差异。然而在我们的数据集中,这些差异是显著的,但在训练过程中 HLRs 只能得出折中的预测结果,导致误差很大。另一个值得注意的观察结果是,大多数模型在半衰期较高、样本较少的区间中误差较大,但 HLRs 在半衰期为 4 至 8 天的区间中也有更大的误差。除了统计特征所造成的影响之外,我们认为原始 HLR 的损失函数也对模型的表现产生了负面影响。 α(hh^)2\alpha(h-\hat h)^2 会对任何半衰期区间的误差进行惩罚,从而使低半衰期区间的百分比误差显著增加。GRU-HLRs 使用 sMAPE 改进了损失函数,从而克服了这个问题。对于大于 141 天的半衰期区间,大多数模型的表现都不太理想,可能是因为来自真实世界的噪声增加了。从实际角度来看,当记忆半衰期变长时,学习者在下一次复习前在应用程序外进行复习的可能性越来越大,收集到的记忆行为数据也会偏离学习者的实际情况。因此,在这些特定情况下,做出准确的预测可能并不是那么重要。

回到表 4,消融实验结果表明,在具备 Δt1:i1\bm{\Delta t}_{1:i-1} 额外特征的 GRU-HLR -p 和具备 p1:i1\bm p_{1:i-1} 额外特征的 GRU-HLR -t 的表现要好于只有 r1:i1\bm r_{1:i-1} 特征的 GRU-HLR -p -t。其中,p1:i1\bm p_{1:i-1} 特征对于减小预测误差的作用最为显著。此外,具备 Δt1:i1\bm{\Delta t}_{1:i-1} p1:i1\bm p_{1:i-1} 两种特征的 GRU-HLR 与具备 p1:i1\bm p_{1:i-1} 特征的 GRU-HLR -t 的差异较小。至于为什么特征能够减小预测误差,我们认为这与心理学中的记忆提取强度和存储强度有关。存储强度代表了所学习内容的掌握程度,提取强度则代表了这些内容的可访问性(或可检索性)。难以检索的记忆往往会在回忆时更加稳固。在我们提出的模型中,历史回忆概率代表了每次回忆的提取强度,而半衰期则相当于存储强度。因此,回忆概率的历史记录对于预测半衰期是有用的。此外,两次复习之间的时间间隔也是重要信息。有文献指出,采用不同复习间隔模式(如 0-2-4-6-8 和 0-5-5-5-5)会导致显著不同的结果,这也得到了 GRU-HLR -p 和 GRU-HLR -t -p 对比的结果验证。然而,GRU-HLR 和 GRU-HLR -t 之间的差异微不足道。我们认为,特征 p1:i1\bm p_{1:i-1} 包含了特征 Δt1:i1\bm{\Delta t}_{1:i-1} 的信息。根据指数遗忘曲线公式,pip_i 取决于 Δti\Delta t_i 和已经包含在隐藏层中的 hi1h_{i-1} 。因此,复习间隔可以被视为回忆概率的冗余变量。需要注意的是,复习间隔被截断为最接近的整数天。这样会导致一些信息丢失,而回忆概率不受此限制。这可以解释为什么回忆概率特征的贡献大于复习间隔特征的贡献。

4.2 模型分析

可解释性是 DHP-HLR 的优点之一,我们用 3D 图可视化了 DHP-HLR。同时我们对 GRU-HLR 进行了类似的分析,解释神经网络是否学到了类似的规律。

4.2.1 DHP-HLR

根据拟合数据集得到的参数和模型方程,我们得到了成功回忆后的半衰期的递推公式:

hi=hi1(e3.25di10.386hi10.147(1pi1)0.821+1)h_{i} = h_{i-1} \cdot( e^{3.25} \cdot d_{i-1}^{-0.386} \cdot h_{i-1}^{-0.147} \cdot (1 - p_{i-1})^{0.821} + 1)

其中,以 dd 为底数的指数是负数,hih_i dd 的增加而减小。图 8(a) 表明,pp 减小时成功回忆后的 hih_i 增加,从而验证了间隔效应的存在。图 8(c) 显示,随着 hi1h_{i-1} 的增加,hih_i 的增长速度减缓,这可能意味着学习者的记忆巩固潜力随着记忆存储强度的增加而减小,即存在一个边际效应。

类似地,我们还可以得到遗忘后半衰期的递推公式为:

hi=e1.003di10.152hi10.264(1pi1)0.017h_{i} = e^{1.003} \cdot d_{i-1}^{-0.152} \cdot h_{i-1}^{0.264} \cdot (1 - p_{i-1})^{-0.017}

其中 dd 的指数小于其在回忆成功的公式中对应的值,这意味着在遗忘后难度对记忆的影响较弱。图 8(d) 显示,半衰期在遗忘后随着 hi1h_{i-1} 的增加而变长,这可能是因为遗忘并不是完全遗忘。此外,随着 pi1p_{i-1} 的减少,遗忘后的 hih_{i} 也会减少,这可能是因为随着时间的推移,记忆会被遗忘得更彻底。

4.2.2 GRU-HLR

GRU-HLR 的可视化方式与 DHP-HLR 相似。通过遍历每个记忆状态和复习间隔,我们计算了 hi1h_{i-1} pi1p_{i-1} hih_{i} 并将它们映射到图 9 中的三维空间。我们发现 GRU-HLR 的预测模式与 DHP-HLR 非常相似。例如,图 9(a) 显示,hih_{i} 随着 hi1h_{i-1} 的增长和 pi1p_{i-1} 的下降而增加。图 8(a) 和图 9(a) 的一个关键区别在于,在 GRU-HLR 中,当 pi1p_{i-1} 足够小时(例如,约为 0.45,如图 9(a) 所示),hih_{i} 会饱和。这与数据集中的半衰期范围有关。更长半衰期的数据需要更长时间来收集。

图 9(a) 中回忆后的 hih_{i} 在较低的 hi1h_{i-1} 时增加更多,也与 DHP-HLR 具有相同的模式。然而,当 hi1h_{i-1} 接近 0 时,差异更加明显,可能是因为更困难的单词往往会产生许多半衰期较低的数据,并且这些单词通常具有较低的半衰期增加量。比较图 8(d) 和图 9(d),DHP-HLR 和 GRU-HLR 之间存在巨大的分歧。在 GRU-HLR 中,当 pi1p_{i-1} 减少 50% 时,预测的遗忘后 hih_{i} 约为 800 天。但在 DHP-HLR 中,这个值小于 16 天。由于这个区域的数据稀缺,目前尚不清楚哪个模型在这个实验中表现更好。然而,基于领域经验和先决信息,我们推测 DHP-HLR 的预测更接近现实。这是基于神经网络的模型的一个劣势,即某些领域的样本数量很小,而大的假设空间可能导致大误差。

4.3 调度优化

4.3.1 环境

该环境基于第 2 节中训练的 DHP-HLR 和 GRU-HLR,模拟过程涉及两个维度,即日内和日间。为了模拟学习者的准备期和每日学习时间限制,该环境限制了模拟的天数和每天用于复习和学习的时间。然而,由于记忆的随机性质,每天的复习计划可能会超过每日的时间限制。为了缓解这种情况,复习被安排在学习之前。当每日的时间用尽时,剩余的复习将被推迟到第二天,无论是否完成。

仿真过程如算法 2 所示。其中,Student 表示学习者的记忆模型,根据复习情况更新记忆状态;Schedule 是间隔重复算法调度程序,根据学习者对记忆状态的反馈调整复习间隔;daylimitday_{limit} 是时间期限;costlimitcost_{limit} 是每天复习的最大时间限制,即学习者每天可以花费在复习上的最长时间。hNh_N 是目标半衰期,当一个单词的半衰期忘时间超过这个值时,它就不会被安排复习,会视为永远记住。

我们将目标半衰期设为 360 天(接近一年),每天的学习时间上限为 600 秒(10 分钟)。记忆成本上我们取学习者反馈认识的平均时间 3 秒和反馈遗忘的平均时间 9 秒。然后,我们将学习时长设置为 1000 天。

4.3.2 基线与指标

我们将 SSP-MMC 与五个基准调度算法进行了比较:

  • RANDOM,从 [1,halflife][1,halflife] 中随机选择一个时间间隔进行复习。
  • ANKI,SM-2 的变种。
  • HALF-LIFE,使用半衰期作为复习时间间隔。
  • THRESHOLD,当pp 小于等于一定水平时进行复习(我们采用了 90% 作为默认值)。
  • MEMORIZE,一种基于最优控制的算法,使用了他们论文开源库中的代码。其目标是确定最小化复习成本期望的参数。

我们的评估指标包括:

  • THR(达到目标半衰期的单词数)是达到目标半衰期的单词数。
  • SRP(回忆概率总和)是所有已学单词的回忆概率之和。当单词达到目标半衰期时,将回忆概率设置为 100%,以模拟学习者形成牢固的长期记忆。
  • WTL(总学习单词数)是学习的总单词数。

4.3.3 结果与分析

不出预料, SSP-MMC 在两个提出的记忆模型中的 THR 指标上表现优于所有基线算法。THR 与 SSP-MMC 的优化目标一致,因此,SSP-MMC 可以理论上达到此指标的上限。为了量化每种算法性能之间的相对差异,我们比较了 THR=2000\textrm{THR} = 2000 时的天数(即表 5 中显示的总复习成本)。在 DHP-HLR 中,SSP-MMC 比 MEMORIZE 多节省了约 12.5% 的复习成本,在 GRU-HLR 中比 THRESHOLD 多节省了约 16.8% 的复习成本。如图 10(a) 和图 10(b) 所示,在模拟中,THR 的趋势近似线性,这意味着记忆单词的速度是恒定的。因此,SSP-MMC 相对于其他基线的优势几乎与学习时间无关。

如图 10(c) 和图 10(d) 所示,SRP 中的进度比较类似于 THR。因此,遵循 SSP-MMC 计划的学习者会记住最多的单词。如图 10(e) 和图 10(b) 所示,在指标 WTL 中,SSP-MMC 的表现优于其他基线,因为它最小化了记忆成本,并给予学习者更多的时间学习新单词。

4.4 策略分析

4.4.1 DHP-HLR 环境

通过在 DHP 模型环境中训练算法 1,我们得到了每个记忆状态的期望复习代价和最优复习间隔。

如图 11(a) 所示,复习代价随着半衰期的增加而降低,随着记忆难度的增加而增加。具有高半衰期的记忆以较低的期望代价达到目标半衰期。此外,难度更大的记忆具有更高的期望代价,因为它们的半衰期增长较低,如图 8(c) 所示,需要更多的复习才能达到目标半衰期。

如图 11(b) 所示,对于相同半衰期的记忆,随着记忆难度的增加,复习间隔也会增加。原因可能是遗忘会提高简单记忆的难度并降低它们的半衰期,导致更高的复习代价。调度算法倾向于给予简单记忆更短的间隔并降低它们遗忘的概率,即使牺牲了一小部分半衰期提升。间隔在半衰期的中间范围内达到峰值。需要将图 11(b) 与图 11(c) 进行比较才能解释峰值。

最优复习间隔对应的记忆回忆概率随半衰期的增加而增加,随难度的增加而减少,如图 11(c) 所示。这意味着调度程序将指导学习者在记忆的早期阶段在更低的提取强度下进行复习,这可能反映了「理想困难」。随着半衰期的增加到目标值,记忆回忆概率逐渐接近 100%。根据方程 Δt=hlog2p\Delta t = - h \cdot \log_2 p pp hh 上的趋势,最优复习间隔 Δt\Delta t 先增加后减少,峰值随之出现。

4.4.1 GRU-HLR 环境

为了分析 GRU-HLR 模型上 SSP-MMC 求得的最优策略,我们可视化了 GRU-HLR 的状态空间及其对应的半衰期、成本、复习间隔和回忆概率。

图 12(a) 展示了每个状态 (s1,s2)(s1,s2) 的半衰期。半衰期的最大值和最小值在 (1,1)(1,-1) (1,1)(-1,1) 处。直观地,成本的最大值对应于半衰期的最小值。然而,在图 12(b) 中,成本的最大值并不位于坐标 (1,1)(-1,1) 处。此外,在半衰期的等值线上,成本并不相等。这表明,在更好地表示记忆状态时,需要更多的特征,其中难度不可忽略。图 12(c) 和 12(a) 显示随着半衰期的增加,最优复习间隔首先增加然后减少,这与图 11(b) 中所示的模式相似。通过比较图 12(d) 和图 11(c),也可以发现相同的模式。因此,SSP-MMC 算法得出的最优策略也反映了两个记忆模型之间固有的相似性。

5 部署框架

5.1 架构

我们方法的框架分为两个主要部分:本地部分(绿色)和远程部分(红色)。每当用户在远程端查看一个单词时,就会在本地记录复习事件。当学习者完成当天所有的复习后,日志将被提交到远程的间隔重复日志收集中。然后,日志将被集体处理以提取时间序列特征,用于训练记忆预测模型。然后,优化算法根据记忆模型捕捉到的记忆动态搜索最优间隔重复计划。周期性地,本地部分会使用最优策略和模型参数进行更新。本地间隔重复调度器确定单词的下一次复习日期,而本地记忆状态预测器确定每个复习的记忆状态。

5.2 冷启动

在冷启动阶段,可以使用简单的调度算法,例如 SM-2。然后将用户复习日志收集到远程的数据仓库中,并进行预处理以计算难度和半衰期。这些数据用于拟合 DHP-HLR 或 GRU-HLR 模型以获得模型参数,并作为 SSP-MMC 的环境,以推导出最优策略。远程的模型参数和最优策略将被发送到本地预测器和调度器,以替换原始的简单调度算法,并获得更多的用户复习日志,从而迭代改进记忆模型和由 SSP-MMC 调度算法生成的最优策略。

6 结论

我们设计了一种基于时间序列信息的长期记忆模型,它可以很好地拟合现有的数据,并为优化间隔重复调度提供了坚实的基础。我们通过随机最优控制理论来最小化学习者的记忆成本,这也是间隔重复软件的目标。我们推导出了一种有数学保证的调度算法,用于最小化记忆成本。SSP-MMC 结合了心理学上被证实的理论(例如遗忘曲线和间隔效应)和现代机器学习技术,以降低学习者形成长期记忆的成本。与HLR相比,基于时间序列的记忆模型在预测用户的长期记忆方面更加准确。基于随机动态规划的间隔重复调度算法 SSP-MMC 在所有指标上均优于之前的算法。实验结果验证了基于时间序列特征在预测长期记忆方面的有效性。这表明基于时间序列模型和随机最优控制方法的间隔重复调度算法可以有效地预测学习者的长期记忆状态并提高记忆效率。

进一步的工作可以通过考虑用户特征对记忆状态的影响,以及在语言学习应用之外验证这些模型来改进基于时间序列的模型。此外,学习者使用间隔重复方法的场景相当多样化。设计更好地帮助学习者实现目标的优化指标是值得进一步研究的另一个领域。