← 返回目录


07 1990:记忆的通用公式

学校≠教育≠技能;文凭溢价=80%信号传递+20%人力资本

31 👍 / 3 💬

总目录:0 目录《间隔重复的历史》

上一章:06 1989: SuperMemo 适应用户记忆(下)


Thoughts Memo 汉化组译制

原文:1990: Universal formula for memory

最优复习与间歇复习

到了 1990 年,我很是笃定我手握着重大发现。我破解了遗忘难题。我知道了记忆简单内容的复习最佳时机。一经在我硕士论文中描述它的许可,我的探索欲也水涨船高。我希望我可以找到一个长期记忆的通用公式,能够让我跟踪记忆在各种形式的检索和接触中的表现形式。

我已经收集了一些数据,这些数据可能会帮助我找到这个公式。在 1985 年发现最佳重复间隔之前,我把问题写在一页页纸上来复习知识。此时复习混乱不堪,由可利用的时间、需要或心情支配。我把这称为「间歇性学习」。我有单个页面和每次复习的回忆数据。虽没有 SuperMemo 的周期性,这种数据也算较为理想。这正是我为解决记忆问题而需要的数据。只不过,这些数据都仅仅记录在纸上。

1990 年春天,我叫我姐姐来打字录入数据。当然,我没有一个妹妹会情愿来做这件事。我的姐姐比我大 17 岁。我利用她对我的爱,让她做这种枯燥繁重的工作,而没有顾及到她的时间。她两年后去世了。我再也没有机会报答她对间隔重复理论的贡献,她甚至没有机会了解这个理论。从 1990 年 5 月 1 日开始,她在我不用电脑的时间,将数据从纸上转移到电脑上。她打字很慢,花了很多天。她的工夫是值得的。

间歇学习模型

在 1990 年的整个夏天,我没有专注于我的硕士论文,而是研究「间歇学习模型」。对我来说,连续工作 10 个小时,感觉没有半点发现而在早上 7 点睡觉,或者让电脑整夜计算数据,都是很正常的。

锲而不舍,捣鼓调整是有代价的。只有少年才能负担得起,他们应该有空间和自由。尽管我已经 28 岁了,家人们还是默默忍受我的一举一动。就像一个不成熟的青少年。我住在我姐姐的公寓里,在那里我可以利用她的善意。在电脑前工作的时间很长,被借口为「在做我的硕士论文」。事实上,没有人要求我这样做,也没有人要求我这样做,它甚至没有推动 SuperMemo 的发展。这是一个纯粹的科学好奇心的案例。我只是想知道记忆是如何工作的。

我有几十页的问题和他们的重复历史。我试图预测「每页的记忆失误」。我使用平方根标准差来预测失误(下面表示为Dev)。到 1990 年 7 月 10 日,星期二,我达到了 Dev<3,感觉问题几乎「解决」了。1990 年 7 月 12 日,我改进到 Dev=2.877(顺便说一下,我的论文中提到了2.887241)。然而,到 1990 年 8 月 27 日,我在那天的笔记中宣布这个问题无法解决。


个人轶事。为什么使用轶事?

1990 年 8 月 27 日:我解决了间歇学习,表明这个问题是无法解决的!单独一个参数无力描述与整页项目的记忆强度。这表明,E 因子较低的项目没有最优间隔


1990 年 8 月 30 日,我在硕士论文中解说了这个模型。文章一共有 15 页,不算很好读。我打赌没有人有耐心读完整篇文章。90 年代末我的硕士论文节选版发布在网络,而描述间歇学习的这一章甚至没有在 supermemo.com 上发表。

然而,基于该模型得出的结论,深刻地影响了我随后几十年中对记忆的思考。该模型背后的想法,实际上非常类似我在开发 SM-17 算法 (2014-2016) 时应用的优化。

当我宣布这个问题无法解决时,我的意思是我无法准确地描述「困难页」的记忆,因为性质不同的材料需要更复杂的模型。然而,这篇 1990 年 8 月 31 日记录的笔记却对此更加乐观:


个人轶事。为什么使用轶事?

1990 年 8 月 31 日:不间断地研究间歇学习模型。到了晚上,计算机终究没有让我离解决方案更进一步。然而,我有个好主意,就是用 IL 模型的绝世优秀功能计算出最优间隔。屏幕上的结果映入眼帘时,我简直不敢相信我 [哔——] 看到什么。这些正是我在 1985 年发现时试图制定 SuperMemo 方法时发现的间隔。我高兴地在家里跳来跳去,简直像一条有两条尾巴的狗。所以我可以说我真的解决了 IL 问题(对比 1990 年 8 月 27 日)。但我发现,这个成功并不是今天给我发现的一切:

[...] 我的公式只有在间隔比以前的强度短不了多少时才有效。


过去(1990)与现在(2018)的对比

本章末尾的结论,以及程序本身都让人想起我在 2005 年寻找记忆稳定性提高的通用公式时使用的方法,以及在 2014 年,算法 SM-17 是基于对记忆的更精确的数学描述。像最新的 SuperMemo 算法一样,该模型使得计算任何重复计划的保留率成为可能。当然,它的准确度要低得多,因为它基于劣质的数据。此外, SuperMemo 17 所做的实时工作,在 1990 年时需要花费许多小时的 PC 电脑时间。

我的硕士论文中这个看似无聊的老的部分到现在已经变得很重要了。我敢说,只有劣质的数据将这项工作与 25 年后出现的算法 SM-17 相隔甚远。我引用的这段文字在符号和文体上做了些许改进,但没有关于遗忘曲线的章节,该章节由于计算中使用的材料太不同而出现错误。


存档警告:为什么使用文字档案?

这段文字是《优化学习》 作者:Piotr Wozniak (1990) 的一部分

间歇学习模型

SuperMemo 模型为计算最优间隔提供了基础,在时间最优的学习过程中,应该把重复的内容分开。

然而,如果重复的时间间隔不规律,则无法预测记忆变量的变化。

下面我提出一个尝试,以增强 SuperMemo 模型,使其可以用于描述间歇学习的过程。

第三章中,我提到了,在算法 SM-0 开发之前,我学习英语和生物的方式。

那段时间(1982-1984年)收集的数据为构建间歇学习模型提供了一个很好的基础。遵照最小信息原则制定的项目(通常有成对的词的形式)被分组在页面中,进行不定期的复习过程。

所收集的数据以计算机可读形式提供,包括71页的重复描述,此外,80个类似的页面参与了由SM-0时间表监督的过程。


与算法 SM-17 的相似性

请注意,这个问题的表述让人想起了算法SM-17 中用来计算稳定性增长矩阵(SInc[])的程序。记忆稳定性被重新缩放,以便能够将其解释为一个间隔。甚至符号也是相似的:S 代表稳定性,D 代表偏差。页面遗忘数量代替了可提取性

我以前喜欢玩各种优化算法。你仍然可以在 SuperMemo 17 中查看该算法做表面拟合优化的可视化(见图片)。12 个变量做处理可能有点低效,但我从不关心处理方法本身如何,只关心能否结果是否可以拓展我对记忆原理的认知。

对于那些熟悉算法 SM-17 的人,我们在下面的文本中改变了符号。此外,我们改变了 In 和 Ln 等符号,这些符号在打印时很容易被误读为对数。

变化清单:

间歇学习问题的表述


存档警告:为什么使用文字档案?

这段文字是《优化学习》作者:Piotr Wozniak (1990) 的一部分

11.1.间歇学习问题的提出

1. 共有 161 个页面。

2. 每页包含约 40 个项目。

3. 对于每一页,学习过程的描述(在实验重复期间收集)有以下形式:

((-, \mathrm{Laps_1} ),( \mathrm{Int_2} , \mathrm{Laps_2} ),( \mathrm{Int_3} , \mathrm{Laps_3} ), ...,( \mathrm{Int_n} , \mathrm{Laps_n} ))

其中:

4. 找到公式所描述的函数 f 和 g:

S(1)=S1
S(n)=f(S(n-1), \mathrm{Int_n} , \mathrm{Laps_n} )
Laps(n)=g(S(n-1), \mathrm{Int_n} )

其中:

使函数 Dev 最小化:

Dev=sqrt(( \mathrm{Dev_1} + \mathrm{Dev_2} + ... + \mathrm{Dev_{161}})/RepNo)
\mathrm Dev_i =sqr(Laps(1)- \mathrm{Laps_1})+sqr(Laps(2)- \mathrm{Laps_2})+ ... +sqr(Laps(n)- \mathrm{Laps_n}))

其中:

请注意,只有当函数 f 和 g 简单且定义参数有限时(如 a*ln()+b or a*exp()+b 等),才会有生物学上的思考价值。否则,人们总是可以构建一个巨大的、无意义的公式来自动将 Dev 归零。


解决间歇学习的问题


存档警告:为什么使用文字档案?

这段文字是《优化学习》 作者:Piotr Wozniak (1990) 的一部分

11.2. 间歇学习的解决方案

在搜索使Dev值最小的函数f和g时,我用的是 Wozniak, 1988b 中描述的最小化的数值算法(一种在可行区域内寻找函数局部最大值的新算法。可信论文)。

搜索中使用实例函数如下:

S(1)=x[1]
S(n)=x[2]* \mathrm{Int_n}*exp(- \mathrm{Laps_n}*x[3])+x[4])
Laps(n)=x[5]*(1-exp(- \mathrm{Int_n} /S(n-1)))

其中:

注意,描述 S(n) 的函数 f 不使用 S(n-1) 作为它的参数(问题的表述允许,但不要求在先前强度的基础上计算新的强度)。

为了保持简易度和节省时间,我设定了在最小化过程中使用 12 个变量的限制。

我测试了大量的数学函数,这些函数是根据有关记忆的明显直觉构建的(例如,随着时间的推移,页面遗忘的数量会增加)。

其中包括指数型、对数型、幂型、双曲线型、S 型、钟型、多项式及一些可能的组合。

在大多数情况下,最小化程序将 Dev 的值减少到 3 以下,函数 f 和 g 的形状类似,与它们的性质独立。

使用少于 12 个变量得到的 Dev 的最小值是 2.887241。

函数 f 和 g 如下:

constant S(1)=0.2104031;

function Sn(Intn,Lapsn,S(n-1));
begin
S(n):=0.4584914*(Intn+1.47)*exp(-0.1549229*Lapsn-0.5854939)+0.35;
if Lapsn=0 then
if S(n-1)>In then
S(n):=S(n-1)*0.724994
else 
S(n):=Intn*1.1428571;
end;

function Lapsn(Intn,S(n-1));
var quot;
begin
quot:=(Intn-0.16)/(S(n-1)-0.02)+1.652668;
Lapsn:=-0.0005408*quot*quot+0.2196902*quot+0.311335;
end;

在不显著改变Dev的值的情况下,这些函数可以很容易地转换为以下形式:

S(1)=1
for \mathrm{Int_n} >S(n-1): S(n)=1.5* \mathrm{Int_n}*exp(-0.15* \mathrm{Laps_n})+1
Laps(n)= \mathrm{Int_n}/S(n-1)

请注意:

就目前而言,上述公式构成了对间歇学习过程的最佳描述,以后将被称为间歇学习模型(简称 IL 模型)


基于间歇学习模型的模拟试验

有了上面发现的公式,我可以进行一系列的模拟实验,帮助我回答许多关于记忆在不同情况下的行为的假设情景。这些模拟实验影响了 SuperMemo 之后多年的进展。特别是,从 SuperMemo 6(1991 )开始,工作量和保留率之间的权衡在优化学习方面起到了重要作用。直到今天,为学习提供指导标准的是遗忘指数(或可提取性),而不是在回忆水平较低时可能出现的、直观自然的记忆稳定性增长。设定记忆遗忘水平起到了下面遗忘指数的作用。


存档警告:为什么使用文字档案?

这段文字选自《优化学习》 ,Piotr Wozniak (1990) 著

11.4. 间歇学习模型的验证

为了验证间歇学习模型与 SuperMemo 理论的一致性,让我们尝试计算出分散重复的最优间隔。

最优间隔由遗忘的数量达到选定值 Lapso 的时刻确定。

算法如下:

1. i:=1

2. S(i):=1

3. 找到 Int(i+1),使 Laps(i+1) 等于 \mathrm{Laps_o} . 使用公式:

Int(n)= \mathrm{Laps_o} *S(n-1) (取自 IL 模型)

其中:

Int(n) 表示第 n-1 个最优间隔。

4. i:=i+1

5. S(i):=1.5*Int(i)*exp(-0.15*\mathrm{Laps_o})+1(取自 IL 模型)

6. goto 3

如果 Lapso 等于 2.5(遗忘指数 6.25%),而且间歇学习模型参数相同,那么可以观察到惊人的对应关系(比较第 16 页第 3.1 章介绍的实验):

Rep间隔系数SM-0
21.81
37.84.367
416.82.1516
530.41.8035
650.41.66
780.21.59
81241.55
91901.53
102881.52
114361.51
126541.50
139811.50
1414621.49
1521791.49
1632471.49
1748381.49
1872091.49

显然,这种确切的对应关系,在某种程度上是一种巧合,因为导致制定 SM-0 算法的实验并不是那么敏感。

值得注意的是,最优系数有逐步降低的趋势!这一事实似乎证实了最近一系列观察,这些观察基于对SM-5 算法 中使用的最优系数矩阵的分析。

如果 Lapso 等于4(遗忘指数 10%,如算法 SM-5),那么最优系数的序列就类似于算法 SM-5OF 矩阵的一列。同时,知识保留几乎与 SM-5 数据库中的知识保留理想地匹配。

Rep间隔保留率系数
2393.21678
31693.809464.89
44393.971842.74
510294.040832.39
623294.068862.27
751794.084182.23
8113894.092562.20
9250294.097372.20
10548194.099672.19

保留率是将最优过程中每天的保留率求平均值得到的

R=(R(1)+R(2)+...+R(n))/n

R(d)=100-2.5*Laps(d-dlr)

其中:


工作量与保留率的权衡

尽管模型使用了异质材料,有些不准确的地方,但对于遗忘指数如何影响学习所需时间,也能可靠地得出结论。这些观察结果经受住了时间的考验:


档案警告:为什么使用文字档案?

这段文字是《优化学习》 作者:Piotr Wozniak (1990) 的一部分

通过比较通过间歇学习模型计算的保留率和工作量数据,可以得出非常有趣的结论:

指数保留率重复次数系数
2.597.76两天一次1.0000
4.596.88651.0300
5.096.64301.1600
5.596.39221.3000
6.2596.01171.4900
7.595.37131.7700
10.094.10102.1900
12.592.7892.4700

图 11.2 表明,用于确定最优间隔的遗忘指数应落在 5-10% 的范围内。

图 11.2 工作量-保留率的权衡:一方面,如果遗忘指数低于 5%,那么工作量就会急剧增加,而不会对保留率产生实质性影响。另一方面,如果遗忘指数超过 10%,工作量几乎没有变化,而保留率却稳步下降。显然,工作量-保留率的权衡直接对应于习得率和保留率之间的妥协。通过增加时间的可用性 X 倍(通过减少工作量 X 倍),可以增加习得率 X 倍(比较第 5 章)。请注意,在这个模型中,遗忘指数保留率的关系几乎是线性的。(来源:《学习优化》:间歇学习模型Piotr Wozniak, 1990)

另一重要观察来自使记忆强度增长最大化的遗忘指数的计算过程

由间歇学习模型可得

S(n)=1.5*Laps(n)*S(n-1)*exp(-0.15*Laps(n))+1

对变量 Laps(n) 进行微分后,我们得到:

S'(n)=1.5*S(n-1)*exp(-0.15*Laps(n))*(1-0.15*Laps(n))

最后,令其等于 0,我们得到:

Laps(n)=7.8

这相当于遗忘指数等于 20%!这样的遗忘指数得出的间隔,相当于遗忘指数等于 10% 确定的最优间隔的 2 倍(如SM-5 算法)。然而,别忘了,工作量的唯一权衡因素是知识保留率而不是记忆强度。因此,上述发现并没有令SM-5 算法 失效


结论:间歇学习模型

该章结尾处得出的最终结论经受住了三十年的考验。只有遗忘曲线是非指数形状的说法是不准确的。这是因为这个模型是基于各种性质不同数据建立的,遗忘的指数性质不可显现出来。


档案警告:为什么使用文字档案?

这段文字选自《优化学习》,Piotr Wozniak (1990) 著

临时摘要


下一章:08 1991:启用遗忘曲线


专栏:Thoughts Memo的文章


← 返回目录