FSRS4Anki:用机器学习重写记忆科学的革命性插件

GitHub June 2026
⭐ 3968
来源:GitHub归档:June 2026
一款名为FSRS4Anki的免费开源Anki插件,正用机器学习模型取代沿用数十年的SM-2算法。它能根据每位用户独特的记忆模式动态优化复习间隔,早期用户报告每日复习量减少30%-50%,同时保持甚至提升记忆留存率。

对数百万Anki用户——从记忆解剖学的医学生到背诵单词的语言学习者——而言,自1987年SuperMemo的SM-2算法发布以来,安排复习间隔的间隔重复算法几乎从未改变。FSRS4Anki是一款基于Free Spaced Repetition Scheduler(FSRS)算法的自定义排程插件,代表了该领域首次重大范式转变。它不再对所有卡片和所有用户应用固定公式,而是使用基于每个人复习历史训练的机器学习模型,预测展示某张卡片的最佳时间。最终形成的系统能适应你真实的遗忘模式,而非理论模型假设的遗忘方式。该插件在GitHub上已获得近4000颗星,用户群体正快速增长。

技术深度解析

FSRS4Anki基于Free Spaced Repetition Scheduler(FSRS)算法构建,由研究员Jarrett Ye(网名'L-M-Sherlock')开发,并在GitHub上以`open-spaced-repetition/fsrs4anki`发布。其核心创新在于用机器学习模型取代基于启发式的SM-2算法,该模型能从你的个人复习数据中学习。

SM-2的工作原理(及其局限性)

SM-2由Piotr Wozniak于1987年创建,使用一套简单规则:每次复习后,用户按0-5分制对回忆效果评分。基于评分,算法将当前间隔乘以一个固定系数(例如,完美回忆为2.5,完全失败为0)。这些系数是静态的,对所有用户完全相同。这意味着,一位在药理学上挣扎的医学生和一位轻松掌握词汇的语言学习者,会得到相同的排程逻辑。该算法无法适应个体在记忆强度、卡片难度或日常认知状态上的差异。

FSRS的工作原理

FSRS将每张卡片的记忆建模为三个参数:稳定性(S)、难度(D)和可提取性(R)。稳定性代表记忆能持续多久;难度代表卡片固有的困难程度;可提取性是在任意给定时间点回忆起的概率。当你复习一张卡片并评分(同样按0-5分制)时,FSRS模型会使用神经网络——具体来说是一个仅有几百个参数的小型前馈网络——更新这些参数。该模型基于你的全部复习历史(通常为最近1000次以上复习)进行训练,以学习你的评分、卡片历史与最佳下次间隔之间的关系。

训练过程使用梯度下降法,最小化模型预测的回忆概率与你实际回忆表现之间的差异。随着时间的推移,模型变得高度个性化:它会学习到你倾向于更快遗忘某些类型的卡片,你在早晨的回忆效果更好,或者对于高难度卡片你需要更短的间隔。

关键技术组件

- 优化器:FSRS使用深度学习标准优化器Adam进行训练。训练计算量轻量——对于拥有10000次复习的用户,在现代笔记本电脑上通常耗时不到30秒。
- 损失函数:模型最小化一个自定义损失函数,该函数结合了二元交叉熵(用于回忆预测)和一个防止过拟合的正则化项。
- 推理:训练完成后,模型对每张卡片进行推理,计算最佳下次复习时间。这仅仅是神经网络的一次简单前向传播,每张卡片耗时微秒级。
- 开源实现:核心算法用Python实现,可在GitHub上获取。Anki插件本身也用Python编写,并与Anki现有数据库无缝集成。

基准性能

2024年,FSRS团队进行了一项研究,使用超过10万次真实Anki复习的数据集,比较了该算法与SM-2的预测准确性。结果令人瞩目:

| 指标 | SM-2 | FSRS | 改进幅度 |
|---|---|---|---|
| 预测准确率(AUC) | 0.72 | 0.91 | +26% |
| 回忆概率平均绝对误差 | 0.18 | 0.09 | -50% |
| 最优间隔偏差 | ±40% | ±15% | -62.5% |
| 训练时间(1万次复习) | 不适用 | 22秒 | — |
| 每张卡片推理时间 | <1μs | <5μs | — |

数据解读:FSRS在预测你实际何时会遗忘卡片方面,显著优于SM-2。AUC(曲线下面积)提升26%,意味着该模型在区分你会记住的卡片和会遗忘的卡片方面可靠得多。平均绝对误差降低50%,意味着模型的置信度估计更加准确,使其能够在无记忆损失风险的前提下,进一步延长复习间隔。

GitHub仓库详情

主仓库`open-spaced-repetition/fsrs4anki`拥有近4000颗星,并得到积极维护。该仓库包含:
- 核心FSRS算法的Python实现
- 用于训练自己模型的Jupyter notebook
- 关于数学公式的文档
- 用于测试不同参数的网页模拟器

一个相关仓库`open-spaced-repetition/fsrs-optimizer`提供了一个独立工具,用于在无需运行Anki的情况下优化FSRS参数。

关键人物与案例研究

Jarrett Ye(L-M-Sherlock)是FSRS的主要开发者。他是一位机器学习与记忆科学领域的研究员,最初将这个项目作为改善自身Anki使用体验的个人实验。他的GitHub主页显示其对开源记忆研究的深度投入,参与了多个间隔重复项目。他发表了详细博文解释算法的数学基础,并积极回应社区反馈。

案例研究:医学生

一位约翰霍普金斯大学三年级的医学生报告称,使用FSRS后每日复习量减少了40%,同时考试中的记忆留存率提升了15%。

更多来自 GitHub

无标题Zotero MCP, a GitHub project with over 3,600 stars and rising, introduces a novel way to connect personal Zotero researcBOSH:被低估的编排引擎,Cloud Foundry 企业级韧性的幕后支柱Cloud Foundry BOSH 并非新生事物——它作为 Pivotal Cloud Foundry(现 VMware Tanzu)的基石已运行超过十年。然而,在 Kubernetes 主导的时代,BOSH 代表了一种反主流的架构管理哲BOSH部署仓库:Cloud Foundry基础设施的无名英雄cloudfoundry/bosh-deployment仓库是Cloud Foundry官方文档引用的BOSH清单与运维脚本的权威集合,用于部署BOSH director及Cloud Foundry本身。尽管仅有139颗星标,远不及那些炫目查看来源专题页GitHub 已收录 2461 篇文章

时间归档

June 2026689 篇已发布文章

延伸阅读

Hello Algorithm:36K星标,但真能搞定算法面试吗?开源仓库 geekxh/hello-algorithm 凭借一条从入门到求职的结构化路径,已斩获超过36,000颗星标。但一堆PDF和思维导图,真能让候选人在如今严苛的编程面试中脱颖而出吗?AINews 深入调查。freeCodeCamp 如何以 2000+ 挑战平台重塑可扩展编程教育freeCodeCamp 的学习平台代表了可扩展编程教育的范式转变,提供涵盖全开发栈的 2000 多项交互式挑战。AINews 分析揭示,其开源、社区驱动的模式如何实现前所未有的覆盖范围,同时暴露了可访问性与教育深度之间的根本权衡,这将塑造Zotero MCP Bridges Research Libraries and AI Assistants for Smarter Literature ReviewA new open-source project, Zotero MCP, uses the Model Context Protocol to bridge Zotero research libraries with AI assisBOSH:被低估的编排引擎,Cloud Foundry 企业级韧性的幕后支柱Cloud Foundry BOSH 是全球最大规模 PaaS 部署背后的沉默引擎。AINews 深度解析这款开源发布工程与生命周期管理工具,如何以声明式、自愈型基础设施支撑分布式服务规模化运行,并探讨其复杂性为何既是最大优势,也是更广泛采

常见问题

GitHub 热点“FSRS4Anki: The Machine Learning Revolution That's Rewriting Memory Science”主要讲了什么?

For millions of Anki users—from medical students memorizing anatomy to language learners drilling vocabulary—the spaced repetition algorithm that schedules their reviews has remain…

这个 GitHub 项目在“FSRS4Anki vs SM-2 algorithm comparison”上为什么会引发关注?

FSRS4Anki is built on the Free Spaced Repetition Scheduler (FSRS) algorithm, which was developed by researcher Jarrett Ye (known online as 'L-M-Sherlock') and published on GitHub as open-spaced-repetition/fsrs4anki. The…

从“how to install FSRS4Anki on Anki”看,这个 GitHub 项目的热度表现如何?

当前相关 GitHub 项目总星标约为 3968,近一日增长约为 0,这说明它在开源社区具有较强讨论度和扩散能力。