直播回放:
叶峻峣:用 SuperMemo 打通阅读、理解与记忆_哔哩哔哩_bilibili这次直播大部分内容我在知乎上都有介绍,不过这次全部串在一起,可能会有意想不到的效果,大家可以看看哦。
下文是我写的原稿,直播时有一些即兴发挥,想要获得完整体验,还是推荐看直播回放哈哈。
不过主线还是相同的,没时间看视频,或者不喜欢看视频的朋友,请继续阅读!
本期介绍的内容
观众朋友们大家好,我是叶峻峣,目前就读于哈尔滨工业大学(深圳)计算机系,同时在墨墨背单词负责研发语言学习记忆预测与复习规划算法。
我的主力学习软件是 SuperMemo,本次直播想要给大家分享一下 SuperMemo 的学习方法论,以及我的入门失败经验和现在的实践流程。
本期分享将从 SuperMemo 的发展史说起,重点介绍几个关键功能的开发节点,以反映 SuperMemo 的创造者所遇到的学习问题,和相应的解决方案。
SuperMemo 简单介绍
在场应该有不少听说过 SuperMemo,即使没听过,也应该知道 Anki ,还没听过的话。。。那各种背单词的软件总用过吧?他们的祖宗的祖宗,就是 SuperMemo。Anki 至今用的是它在 1987 年开源的算法,叫 SM-2[1],现在 SuperMemo 本身已经发展到 SM-18 了。
第一个记忆研究中的里程碑式的人,大家应该有所耳闻,是艾宾浩斯,以遗忘曲线出名。那第二个是谁呢?我认为是 SuperMemo 的作者,彼得·沃兹尼亚克[2](下称 woz/沃兹),他开发的 SuperMemo 是第一款面向个人用户的复习软件。他本人为了证明 SuperMemo 的强大,从生物本科读到了计算机硕士,然后又去读了经济学博士。
在 1985 年,他还是一个苦于大学学业的本科生,但在那个时候,一些关于 SuperMemo 的初步想法,已经形成了。
1985 年:反复看书记不住,怎么办
不知道有多少小伙伴用下面这套流程学习的:看书或者上课,然后记笔记,再不断回顾,你们觉得效果怎么样呢?
我不知道你们的体验怎么样,但是就我个人而言,我获得了「掌握知识的错觉」:我觉得阅读的内容很熟悉,但倘若有人询问我相关的问题,我却发现自己只能说出只言片语,几乎不记得细节,更别说答道重点了。
在 Woz 的大学生活中,观察到了这一现象。他发现,被动地阅读书本,对于学习来说是远远不够的。为了解决这个问题,woz 开始在学习过程中主动回忆自己所学内容。
什么是主动回忆呢?就是用一些有关学习材料的问题来考考自己,然后努力回忆问题的答案。
为了主动回忆,woz 将所学内容用问答对(类似于 flashcard/抽认卡,下称问答卡片)的形式记录下来。[3]
左边是问题,右边是回答。woz 写下了大量如上图所示的笔记。通过遮盖右侧的回答,看着左侧的问题回忆答案,让 woz 能够清楚地评估自己有没有记住这些知识。
这种手段很快见效了,他又快又好地学了大量的内容,然后通过了考试。到这里,我们感到他和现在的我们没什么不同,考前突击什么的。
但是 woz 在考后几个月重新拿出这些笔记尝试回忆时,他惊恐的发现,他忘了。他所学的知识最终还是离他而去了。他觉得有用的知识不应该被这样遗忘,自己过去所花的时间,也不应该仅仅为了一次考试而浪费。他痛定思痛,开始思考一个问题:我该怎么永远地记住它。
这里大家可以看到,SM 最初的愿景了:让你永远地记住东西,而不是说突击完就忘掉。我们在想想,很多人是怎么做的,他们觉得长期记住东西,是个人智商、个人能力的问题。是听天由命的,但 woz 偏不,supermemo 希望每个人都有掌控自己记忆的权利。他也是这么做的。
Woz 继续实践他的主动回忆法,和之前不同的是,他开始关心长期记忆,开始多次复习。他观察到,每隔几天,就复习一次,能让他记得更牢。同时,知识是被逐渐遗忘的,而不是一下子全部忘记。
这让他有信心来解决遗忘的问题。他开始了他的实验,在不同的复习间隔下回忆知识,并测量自己还记得多少。最终他确定了最佳的复习间隔,并将这一套方法打包,成为一种学习方法——间隔重复。[4]
在这两年后 woz 开发了 SuperMemo for DOS(SuperMemo 1.0),用户可以将学习内容制作成问答对,并输入到 SuperMemo 中,SuperMemo 会使用间隔重复算法来安排复习时间,并根据用户对复习的打分来调整复习计划。[1]
小结
SuperMemo 最初想要解决的问题很简单:记不住学过的知识。为了解决这个问题,woz 使用主动回忆和间隔复习。这些方法综合起来,就是间隔重复。
主动回忆:相比被动阅读,尝试回忆所学内容可以增强我们对知识的记忆。
间隔复习:只记忆一次,终究会遗忘,每隔几天就复习一下才能记得更牢。
补充:间隔重复动画演示
为了让大家对间隔重复有更加形象的理解,这里用一个交互动画给大家演示一下。[5]
1994 年:不理解的内容记不住,怎么办
随着 SuperMemo 的发行,越来越多的人开始使用 SuperMemo。在 woz 不断改进的间隔重复算法的帮助下,学习者已经不再需要担心自己该什么时候复习了。
但是,有一些用户碰上了新难题:就算间隔重复了好多次,还是记不住。
Woz 调查了这些用户,从他们的复习习惯,到所学习的内容,一个不落的研究了过去。最终,他确定了问题所在:记忆的内容——问答卡片。
他发现,这些用户:
- 使用别人制作的卡片,自己没有仔细理解,就直接上手记忆
- 自己编写的卡片内容冗长,措辞模糊不清,与实际缺乏联系
总的来说,就是对知识缺乏理解,对着一堆文字符号死记硬背,徒增记忆的复杂度。为了解决这个问题,woz 开始研究如何编写问答卡片,能让内容更好地被理解和记忆。
注:直播的时候介绍了下面右图的例子。
这个问题在 1994 年 woz 所著的博士论文《学习经济学》[6]中得到了较为详尽的论述,我在此处简单概述如下:
- 由浅入深:对问答卡片的编写和记忆应当先从基础开始,然后深入复杂的内容。通常来说,一个知识被引用得越为频繁,就越基础。
- 最小信息:问答卡片不能过于复杂,要对信息进行拆分,每张卡片聚焦于一个细节。因为细节太多的卡片容易让人分心,还很难察觉自己的记忆是否全面。
- 使用例子:通过例子缩小范围是一种非常有效的方法,可以使与问题有关的刺激更具体,从而更成功地留下持久的记忆。
- 引入术语:很多时候,一长串啰嗦的解释可以用一个简单的术语替换。还有在数学、物理中,许多运算符号将复杂的内容封装起来。我们也可以通过引入术语来减轻记忆的负担。
这里还有其他的例子,我是临时想的,在录播里面有。
woz 还讨论了很多增进理解、简化记忆的方式,此处就不赘述了。这些原则其实都是为间隔重复的一个核心机制——提取练习[7]——服务。
提取练习,简单来说就是:你的回忆即对记忆的提取,提取行为往往会强化记忆,并且这个效应会减缓遗忘。从这个角度来看,很多原则的作用就很好理解了。
注:原稿里面没有加下面右侧的图,录播里面解释了。
- 为什么要由浅入深?在脑科学实验中发现,当受试者在记忆无意义的内容时,会有大量神经活动,而记忆有意义的信息时,则相反。也就是说,记忆不理解的内容时,我们无法准确地刺激相关的神经元,也就难以强化记忆。
- 为什么要最小信息?包含太多细节的问答,并不能在回答时完整地刺激所有细节的记忆,因此有些细节的记忆就丢失了。
- 为什么要使用例子?例子可以有效地缩小问题的范围,让大脑在回忆时容易以相同的方式处理,从而反复强化对应的记忆。
- 为什么要引入术语?本质上也是为了缩小需要记忆的焦点,用更大的组块来封装过多的细节,从而更准确地强化相关记忆。
小结
SuperMemo 的使用者常常将间隔重复当作死记硬背的工具。然而,死记硬背非常浪费时间,难以形成长期记忆。为了更好的记忆,我们需要理解知识,由浅入深、最小信息、使用例子、引入术语等等。这些综合起来,就是制卡原则[8]。
2000 年:编写问答与阅读过程很割裂,怎么办
回想一下,在间隔重复方法中,我们如何使用 SuperMemo 进行学习?
首先,我们会阅读教科书、听讲座,再把所学内容以问答的形式输入 SuperMemo,然后在 SuperMemo 上完成复习。
听起来很简单,对吧?但是实践中却有很多阻力。
比如,在阅读过程中写卡片,常常会打断思考,导致阅读体验极差。有些卡片还需要多次阅读,深入理解,才能写得出来。
还有,输入卡片是个很费力的过程。打字、编辑、排版、样式等等,令人头大。
最后,问答卡片是很难写的。想要写出一张好卡片,需要理解知识,遵循制卡原则,不断打磨。
这都限制了 SuperMemo 和间隔重复的使用。woz 想要打通阅读、制卡和复习的流程。
巧合的是,2000 年,也是互联网开始兴起的一年,Wikipedia 也是 2001 年诞生的。网络上的学习材料开始慢慢变多,这为将阅读材料放进 SuperMemo 中降低了阻力。
SuperMemo 2000(SuperMemo 10.0)加入了渐进阅读[9]功能。也就是在 SuperMemo 中,能够使用间隔阅读来安排文章阅读了。
那么,在 SuperMemo 中,阅读过程是如何与制卡过程结合起来的呢?
woz 提出了摘录和挖空两大工具。
摘录,就是让读者可以在阅读文章的过程中,给介绍知识的片段划重点,SuperMemo 就会生成一张摘录卡片,完整地保留了所划的重点,并安排下一次阅读的时间。
这样做还起到了精读与泛读相结合的作用。长文可以泛读,将自己感兴趣的片段摘录出来,留到以后精读。
挖空,则是让读者可以在摘录卡片上标记重点。SuperMemo 会为此生成一张问答卡片,标记内容成为答案,剩余部分则作为题干保留。
摘录让我们不必为了避免错过重要内容而立刻停下来做卡片,挖空则让我们能从片段中生成大量问答卡片而不需要太多的编辑。
这两个工具大大提高了用户的制卡速度。导入一篇文章,摘录几个重点片段,对几个关键词挖空,制卡变得极其廉价。
但这也导致低质卡片泛滥。woz 的解决方案是:迭代改卡——在每次复习时,按照制卡原则,对卡片的措辞进行渐进改进。因为理解是逐步深入的,只有对细节和背景的了解更加深入,我们才有办法对卡片做出更符合自己理解的修改。
注:下面的图本来是动图,截图就没有动态效果了,可以看录播。
渐进阅读的作用
你不能指望第一次接触新的知识,就能轻松写出优质的卡片。此时的你尚在建立把握、区分重点的意识(无论是客观还是个人意义的重点)。因此你难以知道哪些内容特别难记(并特别关照),也可能不太了解作者的想法。所以编写的卡片要么无法连通其「本质」,要么不能捕捉其中微妙。因此,你还需和新学的知识 “相处” 一些时日,你才能写出好卡片,并与自己的情况鲜活地联系起来。[10]
当你刚做了一张摘录卡片时,你对如何处理它没有准确和足够的元记忆判断。如果你立即处理摘录卡,你将倾向于犯错误,比如挖了太多的空。这也剥夺了你通过渐进摘录处理获得的间隔重复的好处和更好的填空/问答卡片的机会。由于间隔重复的力量,在一段时间后,你将更好地知道如何处理摘录卡片。[11]
获得新知识的限制因素之一是理解障碍。在大脑中积累知识就像组装拼图游戏。有些碎片不能提前放在拼图中。有些碎片会借助其他碎片放入拼图。在我们了解标准模型是什么之前,记住希格斯玻色子的事实是没有意义的,反过来,应该遵循对粒子物理学的一般理解,而粒子物理学本身就需要一些物理学的基础知识。在渐进阅读中,如果遇到与希格斯玻色子有关的文本,则可以手动将其推迟到学习物理学的基础知识之后,这一举动会为学习玻色子奠定基础。在传统阅读中,我们会浪费时间在阅读希格斯玻色子材料上,只是因为我们没有工具可以在较长的文章中有效地重新安排阅读时间并重新安排阅读的优先级。在传统阅读中,我们如果决定先跳过该材料,则不会有相应的策略保证我们将来可以再回到被跳过的材料。使用渐进阅读,我们可以将时间浪费在阅读不懂的材料上。我们可以大胆地跳过部分材料,以后在合适的时机再返回。我们将成为有意识的知识构建过程的主人。我们可以逐步建立对复杂现象的理解。[12]
注:这里在直播的时候简化了,没有上面这么多详细介绍,怕朋友们听睡着了,2333
小结
随着间隔重复在越来越多学习领域的应用,它的缺点也随之暴露出来:制作问答会打断阅读思考,打字也很花时间,并且大部分人都很难写出很好的问答卡片。为了解决这些问题,SuperMemo 增加了文章导入、阅读排期、摘录、挖空等功能,并允许用户迭代写卡,这一切综合起来,就是渐进阅读。
文章导入、阅读排期:用户可以在 SuperMemo 中阅读
摘录、挖空:用户可以从文本中快速制作问答卡片
迭代改卡:用户可以在每次复习时改进卡片
2006 年:想读想记的知识太多,怎么办
不知道朋友们有没有做过任务管理。用清单记录自己需要完成的事情。在任务很少的时候,我们大多能完成清单上的所有任务。但是,当我们遇到临时任务的增加、时间被占用等情况时,就会有不少任务无法按时完成。
在 SuperMemo 中,记忆也面临着同样的问题。我们想学的知识很多,但是时间又很有限。SuperMemo 的复习安排很可能会超过我们能够处理的上限。并且由于渐进阅读让制卡变得非常轻松,使得我们卡片数量的增长变得更快了。
我们必须做出取舍,优先复习那些高价值的知识,这样我们才能最大化利用时间。
为了实现这一点,SuperMemo 2006 加入了优先级队列[13]。
我们可以手动给卡片设置优先级,或者让 SuperMemo 设置默认优先级。然后 SuperMemo 就会根据优先级对复习进行排序了。
同时,SuperMemo 会在摘录和挖空时对卡片优先级进行自动调整,省去我们一张张卡片调整优先级的时间。
注:直播的时候也即兴发挥了一点。
小结
随着渐进阅读的引入,我们的制卡速度能够跟上我们对知识的渴望,但同时也超过了我们的记忆速度。为了让更重要的知识得到优先记忆,SuperMemo 增加了优先级的概念,让阅读、制卡、记忆都可以按照优先级进行安排。
失败经验分享
我是在去年的 7 月底开始入门 SuperMemo 的。还特地使用它来复习操作系统和计算机网络。那个时候我已经用了 Anki 三年多,觉得自己已经把间隔重复这一套吃的透透的了,没有仔细查看 SuperMemo 的入门教程,直接自己开始上手折腾。过程十分惨痛,可以说把所有可能踩的坑都踩了个遍。以下是我自己细数的三宗罪:
贪婪:超饱和导入阅读材料
当初 SuperMemo 最吸引我的一点就是能够在间隔重复的基础上进行阅读,还能同时阅读成千上万本书。我刚装好 SuperMemo,就迫不及待地开始折腾书籍导入,一下把我找来的操作系统和计算机网络教材导入进去,还有 Python 官方手册。
其结果是,我浪费了大量时间在处理这些材料的格式上,还有微操我的阅读进度。我经常嫌 SuperMemo 给我安排的阅读量太少,就直接主动把材料安排到当天来读,没想到一周内我的阅读队列长度就突破天际了,然后我当时又是个追求当日事当日毕的人,花了很多时间把这些阅读安排全部解决,把自己搞得很累。
而且,我当时也没有遵守由浅入深的原则,直接对阅读内容大段大段地摘录,不求甚解。导致后面去看那些大段地内容时,对上下文的印象很浅,而文中的前置概念我也没有搞清楚,感觉很糟糕。
虚荣:试图在知识树上雕花
在这个过程中,我还犯下了另一个错误:把我的知识树搞的井井有条。
当时我把知识树当做分类来用,导入的每一份材料都会进行分类。这经常让我在导入的时候很纠结,一开始阅读材料少的时候还好,后面材料变多了,就需要加入新类别,还可能和以前的类别有重叠,导致我疲于整理这些分类结构,而忘记了最重要的是理解和记忆。
不仅如此,那个时候我还非常沉迷于把一本书的每一小节都独立摘录出来,把知识树整理成完美的大纲目录。然而事实证明,我整理完后就不会去看知识树了。这对我理解和记忆知识一点帮助都没有。
傲慢:错的不是我,是软件!
当然,新手入门总会犯各种各样的错,只要能改正,问题都不会太大。但是那个时候我心高气傲,觉得 Anki 那么复杂的软件我都能用好,SuperMemo 却用不好,肯定是软件的问题,而不是我的问题。然后在自己错误的道路上越走越远。要不是后面 SuperMemo 彻底崩溃了一次,我可能都不会停下来反思自己吧。
最后我花时间看完了 SuperMemo 的渐进阅读文档,看到 Woz 对各种功能的解释,我才慢慢明白之前自己做对了什么、做错了什么。
现场演示
说了那么多,不如直接打开 SuperMemo 演示一下,看看我的 SuperMemo 工作流是怎样的。
注:这里就没有稿子了,完全取决于我那天 SuperMemo 给我安排什么,我就讲什么。
答疑
注:这个也是看大家对什么问题感兴趣,没有事先准备。
总结
本期直播分享,我们从 SuperMemo 的历史说起,依次介绍间隔重复、制卡原则、渐进阅读和优先级队列。它们分别解决了记忆、理解、阅读和权衡的问题。
然后,我回过头看了看自己当初入门 SuperMemo 犯下的错误,希望能够帮助大家避坑。
最后,通过现场演示 SuperMemo 的日常使用,希望能够让大家对 SuperMemo 有个具体的印象,能与之前介绍的方法结合起来。
好了,以上就是我为本次直播分享写的稿子了,其实有些纰漏,不过学业和工作繁忙,无暇打磨,还请谅解。
希望下一次也有机会和大家继续分享!
参考
1. SuperMemo 1.0: 日志 (1987) ./97887756.html2. 彼得 · 沃兹尼亚克 ./303204832.html
3. 1985:SuperMemo 的诞生 ./95111167.html
4. 1986:SuperMemo 的第一步 ./96603060.html
5. 如何永远般记住任何东西? https://zhuanlan.zhihu.com/p/448075867
6. 基于主动回忆的学习中的知识结构与表述 ./297790034.html
7. 测试效应 ./423449068.html
8. 20 条知识表述规则(20 周年版) ./269997143.html
9. 渐进阅读 https://www.yuque.com/supermemo/wiki/incremental_reading
10. 如何写出好卡片:利用间隔重复创造理解 ./434074509.html
11. 渐进摘录处理的原因(I):更好的元记忆判断 ./352763959.html
12. 渐进阅读的优点 https://www.yuque.com/supermemo/wiki/advantages_of_incremental_reading
13. 优先级队列 https://www.yuque.com/supermemo/wiki/priority_queue