在我的上一篇帖子中,我分享了本人如何利用 Anki 学习不同的科目。这篇帖子主要想讨论下 Anki 背后的原理和常见的误区。下面的内容来自Anki 使用经验贴的前言部分。这里单独提取出来,方便佬友们分享看法和建议。
人类的记忆可以粗略的分为工作记忆,长期记忆和程序性记忆三类[1] 。其中工作记忆负责处理当前环境下的信息,对时效性的要求较高;长期记忆最具创新性,经常成为研究人员洗澡或散步时的灵感源泉;而程序性记忆则专门用于存储完成特定任务所需的知识,最适合用来考试。
我们使用 Anki 的本质是通过间隔重复效应,通过特殊设计的 scheduler 算法,在任务量相同的前提下,使用最小的代价去形成记忆。举例来说,在同样的高考备战时间内,我们可以利用 Anki 对知识点进行间隔重复,在相同的时间内达到更高的分数(具体可以参考叶神的帖子[2])。
在阅读正文前,请思考:你使用 Anki 的目的是什么?中学生经常是为了考试,他们使用 Anki 巩固的主要是程序性记忆。更进一步,当摆脱高考等选拔的桎梏后,大学生为了提高自己的工作技能,他们选择使用 Anki 去加强自己专业知识点的长期记忆。场景切换到研究或工作中,科研人员经常会凭借自己的长期积累,在工作记忆中时时浮现灵感。
理解了 Anki 背后的原理,我们需要注意 Anki 正确的使用时间,以及它和实践的关联。这里总结了一些常见的对 Anki 的错误理解并给出了笔者对其的分析:
误区:Anki 可以作为唯一的学习工具(错误做法: 使用别人制作的线性代数 deck 学习)。
分析: Anki 只是复习工具,虽然通过渐进式阅读等方法可以逐步改善 Anki 中的笔记,但其一定不能代替上课或看书等学习方式。
误区:每天一定要完成 Anki 的复习任务。
分析:当 Anki 中的笔记积累到一定数量后,完成不了当日的任务是很正常的事情。在自由学习中,Anki 的作用之一其实是确保你当下所学总会被复习到。(这里,期限并不重要)
误区:Anki 的笔记很零散,因此不适合用来学习数学等联系性很强的科目。
分析: 学习数学和学习语言有很多的共通之处。我们可以将一个个概念抽象为一个个词汇,高级的概念往往是低级词汇的组合。当对低级词汇足够熟悉时,联系往往会自然产生。当然,我们可以通过 obsidian_to_anki 和 marginote 等工具来增强 Anki 中卡片的联系。
误区:偏实践(编程)或理解的科目(数学)不适合用 Anki 来学习。
分析:理解的前提一定是学习。而真正理解的前提一定是长期记忆。在编程和数学中,我们记忆的是理解,以便在解决问题时可以快速调用,产生灵感和解决方案。(在实践中,问题往往是同质不同形的。例如在叶神发明 FSRS 算法时,就是使用过去的数学积累完成了对 Anki 原来算法的改进 [2]。)
本文的 Anki 的使用经验可以归纳为:
清楚自己的目标,并长期的坚持。
科学的使用方法。
笔者在各个学科的使用经验。