专栏/SuperMemo 的三大模块,解决记忆的三大问题!

SuperMemo 的三大模块,解决记忆的三大问题!

2021年12月21日 09:06--浏览 · --喜欢 · --评论
粉丝:3623文章:71

作者:叶峻峣
电子书阅读地址:https://www.kancloud.cn/ankigaokao/incremental_learning/2450562

目录

  • 太长不看

  • 引言

  • 记忆算法

  • 渐进阅读

  • 优先级队列

  • 结语

太长不看

  • 记忆算法:解决记忆的数量问题

  • 渐进阅读:解决记忆的质量问题

  • 优先级队列:解决记忆的价值问题

引言

好久不见,读者朋友们!挺久没写原创了,今天有了灵感,就来写写。

这次我们从更抽象的层次来看看 SuperMemo 是怎样解决记忆问题的。

单看 SuperMemo 如今浩如烟海的功能上世纪风格的界面,不少入门者都觉得 SuperMemo 非常复杂,完全搞不明白这些功能对记忆有什么帮助

为了更好地剖析 SuperMemo,我发现从时间顺序来分析是一条不错的路径。

以下就是 SuperMemo 主要模块引入的时间:

  • 记忆算法(始于SuperMemo 1 (1987))

  • 渐进阅读(始于SuperMemo 10 (2000))

  • 优先级队列(始于SuperMemo 13 (2006))

接下来我们就按照这个顺序分析一下,这些模块分别解决了什么问题,以及它们是如何解决的。

记忆算法

可能有些读者朋友不知道 SuperMemo 的记忆算法有多流行,其 1987 年发布的 SM-2 算法正是 Anki 算法的原型。

那么记忆算法究竟解决了什么问题呢?我们先从两个直觉开始说起:

  • 如果我们复习两次,我们就能更好地记住它。这很明显,不是吗?如果我们把它复习三遍,我们可能会记得更清楚。

  • 如果我们记住一组知识,它们将逐渐从记忆中消失,即不是一次全部消失。这在生活中很容易观察到。记忆有不同的寿命。

这两种直觉应该让每个人都想知道:我们失去了多少知识,速度有多快?我们下一次应该什么时候复习?

当我们问出这些问题之时,人类记忆规律之门便打开了。

记忆与遗忘本质上是一个随机过程。而记忆算法,则是对这个随机过程的建模与优化,从而计算出最佳的复习间隔

可能有人会问,这还需要建模?还需要算法?我自己安排个 1 3 5 7 天不就行了?

诚然,只要有复习,就会有效果,复习的间隔无非是影响效果的一个变量罢了。

但是这句话就跟「只要有努力,就会有效果,怎样努力无非是影响学习的一个变量罢了」一样无用。

事实证明,复习间隔太长和太短,都会加重复习的负担。



如何理解?间隔短,可以保证自己忘得少,但是这是用时间换的。间隔长,看似可以节省时间,然而其造成的遗忘需要未来更多的复习。

当我们通过算法,在遗忘与复习量之间计算出均衡点,便能最大化地提高复习的效率,也就是记忆的数量。

小结

记忆算法,解决的是记忆的数量问题,即如何用有限的时间记住更多的知识。

记忆算法,通过对记忆的建模优化,计算出最佳的复习间隔,从而解决上述问题。

更多有关记忆算法的内容,请见我的收藏夹:

https://www.zhihu.com/collection/644178787

渐进阅读

渐进阅读又是解决个啥问题呢?我们先不提它,先讲讲有了记忆算法后,我们遇到了什么问题:

  • 我用「映射法」背单词,他用「例句法」背单词,为什么我忘得更快?

  • 同九年,汝何秀?为什么我用叶哥的牌组还是记不住?

  • 《批量制卡——从入门到删库》

  • 。。。

从这些问题中,我们可以归纳出一个共同点:记忆的质量太差

即使我们使用相同的记忆算法,不同的记忆内容依然会造成差异;甚至对于相同的内容,是否是自己制作也能产生显著的不同。

这正是记忆的质量问题。知识的表述方式、对知识的理解等等,都会影响我们记忆的质量

有阅读过这个收藏夹内文章的朋友应该能够明白,知识表述对记忆质量有很大的影响:

https://www.zhihu.com/collection/614280525

而许多 Anki 用户在这个问题上有三种因对方式:

  • 用别人的牌组

  • 批量制卡

  • 自己做

前两种方法就是放弃记忆的质量,节省自己前期的投入,然后在将来还债。

自己做固然有助于提高记忆质量,但是由于我们的理解是不断改进的,制卡经常需要频繁改动,而且用自己的语言表述学到的知识,是一个巨大的工程。这使许多同学望而却步

渐进阅读,解决正是解决这个问题的一大有力工具。

渐进阅读将阅读、改写、制卡等环节打通,实现学习、理解、记忆的渐进过程,对记忆的质量有显著的提高。

以我自己为例:

SuperMemo 的算法通过对我个人复习情况的拟合,计算出了不同难度、不同复习次数下对应的最佳复习间隔。可以看到第一个间隔已经有 8 天左右,而如果我的卡片做得非常烂,那么这个间隔可能就只有 1 天。

小结

渐进阅读,解决的是记忆的质量问题,即如何提高让自己的记忆更加稳固更难遗忘

渐进阅读,通过打通阅读到制卡的一系列环节,增进我们对知识的理解,从而解决上述问题。

优先级队列

什么?怎么还有问题?渐进+算法还不够用吗?

哈哈,不同阶段有不同阶段的问题,这是个循序渐进的过程。当记忆算法解决了记忆的数量问题后,自然会有人开始重视记忆的质量问题。而渐进阅读解决了这一问题后,大量卡片能够轻松地通过摘录、挖空产生。渐渐地,有些人发现,哪怕算法效率再高、记忆质量再好,自己也已经复习不过来了。

怎么办呢?根据我们人类的天性,一个字:拖。

别惊讶,理性拖延是现代人的必修课。我们总会把不那么紧急或者重要的事情往后拖。事后来看,有些拖延确实是正确的选择。

通过拖延,我们把时间、精力投入到更有价值的事情上。在记忆上同样适用,我们想要解决的是记忆的价值问题

举个栗子:我喜欢看社科类的书,比如社会心理学、思考快与慢等等,我把它们放入 SuperMemo 中渐进阅读。同时我是计算机专业的学生,有很多关于操作系统、数据库的知识也同样放在 SuperMemo 里。而我每天的复习时间有限,不能把它们都学完。那该怎么办呢?

从我个人的角度来看,看经济学主要是业余爱好,而计算机才是主业,所以计算机相关知识的价值更高。

如果我用 Anki,我可能会先学完计算机的牌组,然后再学经济学牌组。并且经济学牌组经常复习不完,不断堆积。

如果我用 SuperMemo,我给计算机更高的优先级,那么我在复习时会更频繁地遇到计算机的卡片,但是也会随机地遇到一些经济学的卡片,从而更好的 balance 两者。

更重要的是,即使是业余爱好,社科里也有高价值的知识,即使是专业,计算机里也有低价值的知识。

通过牌组这种形式的组织方式,无法处理上述的情况。那么,优先级队列便有其不可替代的优势了。

小结

优先级队列,解决的是记忆的价值问题,即如何在有限的时间里记忆更多有价值的知识。

优先级队列,通过对知识标记优先级,再根据优先级安排每日复习的顺序,从而解决上述问题。

以下是另外一篇介绍优先级队列的文章,有兴趣不妨看看:

https://www.kancloud.cn/ankigaokao/incremental_learning/2450604

结语

记忆的数量、质量和价值,正是衡量我们学习效果的三个维度。SuperMemo 的历史,也是解决这些问题的发展史。任何学习软件,恐怕都绕不开这些问题。

当然,不同的学习软件都有自己应对这些问题的解决方案,百花齐放,百家争鸣,最大的受益者便是我们这些热爱学习的人。

不知道各位读者朋友们是否在自己的学习体系中考虑了上述问题,你们又是如何解决的?欢迎在评论区里交流讨论。

感谢各位的阅读!

2021 年 5 月 5 日

叶峻峣


投诉或建议