阅读须知:该指南只适用于 Anki 23.10 及以上版本。老版本的教程在此:FSRS4Anki 使用指北。
原文:fsrs4anki/docs/tutorial.md at main · open-spaced-repetition/fsrs4anki (github.com)
作者:Expertium、user1823
译者:GPT-4、Jarrett Ye
步骤一:启用内置的 FSRS 调度器
要启用 FSRS,请进入「牌组选项」,向下滚动至「高级」部分,然后开启 FSRS 开关。这个设置会应用到所有牌组预设上。请注意,启用 FSRS 后,某些设置会消失,比如「毕业卡片再现间隔」、「初始简易度」等等。这是因为在启用 FSRS 时,这些设置就没用了。
如果你之前通过自定义排程方法使用过 FSRS,请在启用内置 FSRS 之前,先删除自定义排程字段中的 FSRS 代码。此外,如果你正在使用 FSRS4Anki Helper 插件,请检查插件更新,确保插件已更新至最新版本。
步骤二:配置 FSRS 设置
期望的记忆保留率
配置中最重要的设置是期望保留率:即到期时成功回忆卡片的比例。
期望保留率的允许范围是 0.70 至 0.97(在 Anki 23.10.1 或更新版本中为 0.7 至 0.99)。保留率越高,每天的复习耗时就越长。
调整此设置时请谨慎——较高的值会大幅增加你的复习耗时,而较低的值会让你忘记大量材料,挫败你的复习热情。
下面的图表展示了保留率变化对复习耗时的影响。曲线的具体形状取决于用户的参数和学习习惯。
最初,用户不被允许将期望保留率设置在 0.70-0.97 范围之外,因为这会降低学习效率。然而,在Anki 23.10.1中,应用户要求,这一范围被扩展到了0.7-0.99。
复习卡片的最大间隔
最大间隔设置的工作方式与使用默认算法时相同。它是卡片再次显示前可以等待的最大天数。想了解更多信息,请参阅 Anki 手册中的最大间隔部分。
SM-2 的记忆保留率
「SM-2 保留率」指的是你开始使用 FSRS 之前的平均保留率。
仅当你的卡片缺少或复习记录不完整时,才需要配置此值。通常,除非你为了节省空间故意删除了这些记录,或者使用了一些修改复习历史的插件,否则复习记录不会丢失,所以大多数用户无需调整此值。
初学间隔和重学间隔
启用 FSRS 时,应调整初学间隔和重学间隔,以便初学过程和重学过程能在同一天完成。这意味着不应使用等于或长于 1 天的间隔。
原因是 FSRS 能确定更优的间隔,但如果使用较长的初学/重学间隔,FSRS 就无法安排复习,使得安排变得不够理想。此外,如果使用较长的间隔,可能会出现「困难」间隔超过「良好」间隔的情况。
其次,也不推荐使用多个短暂的初学/重学间隔。因为研究表明,同一天内的复习对长期记忆的影响可以忽略不计。
更改时将卡片重新排程
这个选项控制着在你启用 FSRS 或更改参数和期望保留率时,卡片的到期日期是否会改变。默认情况下,卡片不会被重新排程。这意味着未来的复习将使用新的排程,但你的复习量不会立即发生变化。这样可以从 SM-2 到 FSRS 平稳且逐渐过渡。
如果启用了重新排程,卡片的到期日期将立即更改。这通常会导致大量卡片同时到期,因此不建议在刚从 SM-2 切换到 FSRS 时这样做。
步骤三:寻找最佳参数
FSRS 优化器利用机器学习来学习你的记忆模式,并找到最适合你复习历史的参数。因此,优化器需要多次复习来微调参数。
如果你的复习次数不足 1000 次,请使用已经输入在「FSRS 参数」字段中的默认参数。即便是使用默认参数,FSRS 的效果也比 Anki 默认算法(SM-2)更好。
如果你的复习次数至少有 1000 次(适用于此预设的所有卡片),你可以通过「优化 FSRS 参数」部分下的「优化」按钮为你的卡片生成最优参数。最优参数将自动替换默认参数。
参数是特定于预设的。如果你有难度差异很大的牌组,建议为它们使用不同的预设,因为简单牌组和难牌组的参数会有所不同。
默认情况下,参数将根据使用当前预设的所有牌组的复习历史来计算。如果你想改变用于优化参数的卡片(例如排除暂停的卡片),你可以在计算参数前调整搜索。搜索的工作方式与在浏览器中一样。详情请参见 Anki 手册中的搜索部分。
步骤四:(可选)评估参数
你可以使用「优化 FSRS 参数」部分中的「评估」按钮,查看一些指标,这些指标显示「FSRS 参数」字段中的参数与你的复习历史的契合程度。数字越小,表示与你的复习历史契合得越好。
对数损失(Log-loss)没有直观的解释。分组均方根误差(RMSE(bins))可以理解为预测回忆卡片的概率(R)与从复习历史中测量得到的概率之间的平均差异。例如,RMSE(bins)=0.05 意味着平均而言,FSRS 在预测 R 时的误差为 5%。
请注意,对数损失和分组均方根误差并非完全相关,因此两个牌组可能有类似的 RMSE(bins) 值,但对数损失值却大不相同,反之亦然。
步骤五:(可选)计算最佳保留率
这是一种试验性工具,旨在计算出一个最大化在给定时间限制(「每天学习分钟数」)内总知识量的期望保留率。简单来说,它试图找到一个能让你的学习计划最高效的期望保留率值。它通过分析你在卡片上花费的时间,以及你按下「困难/良好/简单」按钮的习惯来实现这一目标。
你可以调整「牌组大小」和「模拟天数」以满足你的需求。如果你正在为 12 个月后的考试做准备,将「模拟天数」设置为 365 天。如果你是语言学习者,5 年(1825 天)是一个合理的时间框架。
建议的保留率将极大地依赖于你的输入,如果它与 0.9 相差很大,这表明你每天分配给学习的时间对于你试图学习的卡片数量来说,要么太少,要么太多。
由于该工具是试验性的,最好使用你的直觉来确定一个期望保留率。然而,当你不知道你希望的保留率应该是多少时,建议的保留率可以作为一个参考。
步骤六:(可选)自定义排程
「自定义排程」允许你在 FSRS 之上引入新的排程规则。这一功能仅适用于高级用户和开发者。
常见问题解答
问 1:FSRS 是否改变了卡片简易度的变化方式?
答 1:一旦启用 FSRS,Anki 内置的简易度就不再起作用。这也是为什么很多设置,比如初始简易度,一旦启用 FSRS 就会被隐藏的原因。
问 2:我已经开始在我的现有牌组上使用 FSRS,如果我想回到使用 Anki 的内置算法,这还可能吗?
答 2:可以,只需关闭 FSRS 即可。
问 3:我确信我有超过 1000 次的复习,但当我尝试为我的预设优化参数时,我收到一个错误提示,说我没有足够的复习次数。这是一个错误吗?
答 3:FSRS 对每张卡片只考虑同一天内的一次复习。如果你每天复习一张卡片多次,优化器只会使用时间上最早的一次复习。
问 4:「简单」按钮的第一次间隔太长了!这正常吗?
答 4:是的。Anki 通常给出的第一次间隔非常短。如果你发现「良好」的第一次间隔是 5-7 天,而「简单」的第一次间隔是几周,不要惊讶。
问 5:假设我有一个带有自己预设的主牌组,每个子牌组都有不同的预设。当我点击主牌组复习一张来自子牌组的卡片时,应用的是主牌组的预设参数还是这张卡片所在子牌组的预设参数?
答 5:后者。简单来说,如果你有像 ParentDeck::SubDeck 这样的设置,并且卡片来自子牌组,那么应用的将是与子牌组相对应的预设参数。
问 6:我只使用「重来」和「良好」,FSRS 还能正常工作吗?
答 6:可以。对于很少使用「困难」和「简单」的人和经常使用四个按钮的人来说,FSRS 的准确度大致相同。然而,这不是最终结论,随着我们收集更多数据,这个结论可能会改变。
问 7:我如何确认 FSRS 确实已启用?
答 7:复习一张新卡片,记住答题按钮上方显示的间隔。撤销复习。现在将期望保留率设置为 0.97(最大)或 0.7(最小),然后再次复习这张卡片。你应该会看到不同的间隔。
问 8:对于我所有的卡片使用相同的参数,还是使用不同预设的不同参数更好?
答 8:这个问题的答案完全取决于你的学习材料有多相似。例如,如果你在学习日语和地理,建议使用两个不同的预设和不同的参数。如果你有两个日语词汇的牌组,应该为它们使用相同的预设。
问 9:我应该多久重新优化一次参数?
答 9:每月一次就足够了。
问 10:如果我在不支持或未启用 FSRS 的设备上复习我的卡片,然后在启用了 FSRS 的另一台设备上复习,会发生什么?
答 10:你的间隔将变得不准确,但它不会损坏你的卡片,使它们无法使用。这只会让 FSRS 在它应该做的事情上表现不佳:保持你在特定水平的保留率。