ブログ
FSRSとは?現代の分散学習アルゴリズム入門
FSRSとは何か、復習タイミングをどう決めるのか、なぜ無駄な復習を減らせるのかをやさしく解説します。
フラッシュカードをしばらく使っていると、「FSRSのほうが復習スケジュールを賢く組める」と聞いたことがあるかもしれません。ですが、説明がいきなり数式や記憶モデルの話になると、それだけで難しそうに感じますよね。
要点だけ言うと、FSRSは、カードをより適切なタイミングで再表示しようとする現代的な Spaced Repetition アルゴリズムです。早すぎて復習が無駄になるのも避け、遅すぎて忘れてしまうのも避けようとします。
- TL;DR: FSRS は Free Spaced Repetition Scheduler の略です。
- カードの難しさ、記憶の安定度、そして今そのカードを思い出せる可能性を見積もります。
- 目的は実用的で、長期記憶を守りながら、無駄な復習を減らすことです。
FSRSとは?
FSRS は Free Spaced Repetition Scheduler の略です。フラッシュカード学習システムで使われるスケジューリングアルゴリズムで、とくに Anki の周辺でよく知られています。
Spaced Repetition のアルゴリズムが決めるのは、**「次にそのカードをいつ見るべきか」**です。これが中心的な役割です。カードを復習し、でき具合を評価すると、スケジューラが次の間隔を決めます。
古い方式では、より単純なルールに頼ることがよくあります。たとえば「正解したら間隔を伸ばす」といった限られたルールに、やさしさや難しさの補正を少し加えるような形です。この方法でも十分役立つことはありますが、かなり大まかでもあります。
FSRS は、もっと適応的に動こうとします。カードを広いルールで一括処理するのではなく、それぞれを変化する記憶として扱うイメージです。だからこそ、次に見せるべき時点をより細かく見積もれます。
なぜ古いスケジューリングルールでは足りなくなったのか
従来の Spaced Repetition システムは、詰め込み学習や行き当たりばったりの復習に比べれば大きな前進でした。ただ、限界もあります。
単純な間隔ルールでは、次のような違いをうまく拾えないことがあります。
- 同じデッキでも、あるカードは簡単で、別のカードはいつも不安定であること
- 今日たまたま正解でも、記憶によって安定度がかなり違うこと
- 同じカードでも、学習者によって反応が大きく変わること
- 復習が少し早すぎたり遅すぎたりしたときに、予定がうまく調整されにくいこと
FSRS が現代的に感じられるのはここです。記憶を「覚えた / 覚えていない」の二択としてではなく、もっと連続的なものとして扱います。簡単だけれど不安定なカードもあれば、難しいけれど改善中のカードもあります。過去には苦手でも、今は思い出せる可能性が高いカードもあります。
この見方があることで、スケジューラは復習のタイミングをよりうまく判断できます。
FSRSを支える3つの考え方
FSRS を理解するのに、数式は必要ありません。まずは retrievability、stability、difficulty の3つを押さえるだけで十分です。
Retrievability:今この瞬間に思い出せる確率
Retrievability は、いまこの瞬間に、そのカードを正しく思い出せる可能性のことです。
たとえば「今このカードを見せたら、正解できそうか?」と考えてみてください。
昨日復習したカードなら、retrievability は高いはずです。何か月も見ていないカードなら、低くなっているかもしれません。時間が経つにつれて、この値はふつう下がっていきます。
ここが大事なのは、よい復習は「まだ思い出せるけれど、簡単すぎて意味がないほど新鮮ではない」タイミングで起きやすいからです。
Stability:記憶がどれだけ持ちこたえるか
Stability は、その記憶が時間に対してどれくらい崩れにくいかを表します。
安定度が低い記憶は、すぐに薄れていきます。安定度が高い記憶は、かなり時間がたっても保たれます。言い換えると、stability は忘れ方のカーブに関わっています。
これは FSRS の中でも特に実用的な考え方です。今日どちらも正解した2枚のカードでも、一方はまだ不安定で、もう一方はかなり定着しているかもしれません。FSRS はその差を見ようとします。
カードを思い出せたときは、ふつう stability が上がります。逆に失敗したときは、「思っていたほど記憶は強くなかった」という手がかりになります。
Difficulty:そのカードがあなたにとってどれくらい難しいか
Difficulty は、そのカードが一般的に難しいかどうかではなく、あなたにとって難しいかどうかを表します。
紙の上では簡単そうに見えるのに、似た概念といつも混同してしまうカードもあります。逆に、あるパターンは自分にはすぐ入るので、ずっと簡単に感じることもあります。
FSRS がこの考え方を使うのは、すべてのカードを同じ間隔で扱うべきではないからです。難しいカードは、より短い間隔と慎重なタイミングが必要かもしれません。簡単なカードは、もっと先まで延ばせることがあります。
うまく機能しているスケジューリングが「自分向け」に感じられるのはそのためです。システムは単に「このカードがデッキにあるか」を見ているのではなく、あなたの記憶がそのカードにどう反応しているかを見ようとしています。
初心者向けのイメージ例
新しい言語の単語を覚えている場面を想像してみましょう。
あるカードは次のようなものです。
- Front:
house - Back:
casa
このカードはよく知っていて、何度も見てきて、毎回すぐ答えられるとします。あなたにとっては難易度が低く、安定度はだんだん高くなっています。少し間が空いても retrievability は高いままかもしれません。こういうカードは、FSRS ならもっと先に回しても大丈夫そうです。
一方で、別のカードはこうです。
- Front:
however - Back:
似た語と混同しやすい、学習中の言語の微妙な接続表現
このカードでは、思い出せる日もあれば迷う日もあります。あなたにとっては難しく、安定度もまだ弱いかもしれません。今日たまたま正解しても、FSRS は簡単なカードより早めにもう一度出す可能性があります。
ここに実用的な価値があります。「両方とも正解したから、どちらも同じように伸ばそう」ではなく、**「この2枚は別の記憶で、忘れるリスクも違う」**と考えるわけです。
なぜFSRSは復習の負担を減らせるのか
Spaced Repetition でよくある問題のひとつが、レビュー過多です。アプリを開いたら期限到来カードが大量にたまっていて、中には必要な復習もある一方で、ただの作業に感じるものもあります。
よりよいスケジューリングが役立つのは、不要に早い復習が積み重なるからです。十分に定着しているカードを何度も早く見せられると、どうせ覚えていたことを確認するだけに時間が消えていきます。
FSRS は、安定していて簡単な記憶はもっと先に送り、弱い記憶はしっかり守ることで、この無駄を減らそうとします。これは「少ない復習で魔法のようにたくさん覚えられる」という意味ではありません。同じ復習時間を、もっと効率よく使うということです。
実際には、こんな利点があります。
- すでに定着したカードへの無駄な復習が減る
- 本当に危ないカードに注意を向けやすくなる
- 毎日の負担と長期記憶のバランスを取りやすくなる
- 細かい設定を手動でいじる必要が減る
このため、FSRS を使うと「全体の感触が少し穏やかになった」と感じる学習者は少なくありません。大ざっぱなルールで増やすのではなく、必要なものを選んで出す方向に近づくからです。
FSRSが解決しないこと
ここは大事ですが、FSRS が悪いカードを良いカードに変えてくれるわけではありません。
カードがあいまいだったり、情報を詰め込みすぎていたり、聞き方が悪かったりすると、どれだけ賢いスケジューラでも限界があります。良い Spaced Repetition は、良い教材と良い復習習慣の上でこそ機能します。
FSRS は次のものの代わりにもなりません。
- active recall — 答えを見る前に、本気で思い出そうとすること
- わかりやすいカード設計 — 1枚で1つの考えをきれいに問うこと
- 理解そのもの — フラッシュカードは理解を支えるが、それ自体が理解ではないこと
- 継続 — どんなに良いアルゴリズムでも、定期的に復習してこそ力を発揮すること
つまり、FSRS はタイミングを助ける仕組みです。復習する「いつ」を改善してくれますが、それ以外のすべてを自動で解決してくれるわけではありません。
補足として、SpaceRep は FSRS を採用しているので、複雑な設定を細かく調整しなくても、現代的なスケジューリングの恩恵を受けやすくなっています。
どんな人ほどFSRSの恩恵を受けやすい?
FSRS は、復習量が無視できない学習者ほど役に立ちます。デッキが大きくなっていく人、長い期間にわたって学ぶ人、数か月から数年単位で安定して覚えておきたい人に向いています。
とくに相性がよいのは、次のような人たちです。
- 語学学習者 — 単語や例文のデッキが大きくなりやすい
- 多くの科目を抱える学生 — 授業ごとにカードが増えやすい
- 医療・技術系の学習者 — 詳細な情報を長く保持したい
- 設定を細かく調整したくない人 — 自分で間隔をいじるより、適応的に任せたい
小さなデッキを軽く使うだけなら、違いはあまり大きく感じないかもしれません。ただ、量が増えるほど、スケジューリングの質は効いてきます。
平易にまとめるとFSRSは何をしているのか
FSRS をひと言でまとめるなら、こう考えるとわかりやすいです。
FSRS は、いまの記憶の状態を推定し、その推定にもとづいて次の復習タイミングを決めようとする仕組みです。
その推定は、主に次の3つの問いから成り立っています。
- このカードはあなたにとってどれくらい難しいか
- この記憶はいまどれくらい安定しているか
- 今日聞かれたら、どれくらい思い出せそうか
FSRS が現代的に感じられるのはここです。フラッシュカードの予定を、固定のはしごのように扱うのではなく、変化する記憶を予測する問題として扱っています。
この考え方の恩恵を受けるのに、自分で計算する必要はありません。多くの学習者にとって大事なのは、数学ではなく実用性です。
FSRSは使うべき?
多くの学習者にとっては、答えは「はい」です。とくに、すでに Spaced Repetition アプリを使っていて、より柔軟なスケジューラを求めているなら有力です。
ただし、期待の置き方は大切です。「FSRS が学習そのものを解決してくれる」と考えるより、次のように捉えるのが健全です。
- 復習タイミングをより賢く決めてくれるかもしれない
- 不要な負担をいくらか減らせるかもしれない
- 大きなデッキでは長期的に使いやすく感じるかもしれない
- それでも、良いカードと正直な想起は必要である
それだけでも、十分に大きな改善です。
FAQ
FSRSはAnkiユーザー専用ですか?
いいえ。FSRS は Anki と結びつけて語られることが多いですが、考え方そのものは1つのアプリに限りません。現代的なフラッシュカードのスケジューリング手法として、ほかの Spaced Repetition ツールでも使えます。
FSRSは古いSpaced Repetitionアルゴリズムより優れていますか?
多くの場面で有利になりやすいですが、あらゆる学習者に常に絶対的に上とは限りません。強みは、記憶をより柔軟にモデル化してスケジューリングを改善できる点です。ただし、カードの質が高く学習習慣も安定していれば、より単純な方式でも十分役立つことはあります。
FSRSの数式を理解する必要はありますか?
ありません。多くの学習者には、実用的な考え方だけで十分です。FSRS はカードの難しさ、記憶の安定度、そして現在の想起確率を見積もって、よりよい復習タイミングを選ぼうとしている、と理解できれば足ります。
FSRSは質の悪いフラッシュカードだらけのデッキも救えますか?
いいえ。質問があいまいだったり、答えに情報を詰め込みすぎていたり、active recall ができていなかったりすると、アルゴリズムだけでは補いきれません。
どんな人がFSRSを気にするべきですか?
大きなデッキを使う人、長い学習期間がある人、しっかり定着させたい人ほど関係があります。語学学習者、試験対策中の学生、情報量の多い専門分野を学ぶ人には特に相性がよいです。
FAQ
FSRSはAnkiユーザー専用ですか?
いいえ。FSRS は Anki と結びつけて語られることが多いですが、考え方そのものは1つのアプリに限りません。現代的なフラッシュカードのスケジューリング手法として、ほかの Spaced Repetition ツールでも使えます。
FSRSは古いSpaced Repetitionアルゴリズムより優れていますか?
多くの場面で有利になりやすいですが、あらゆる学習者に常に絶対的に上とは限りません。強みは、記憶をより柔軟にモデル化してスケジューリングを改善できる点です。ただし、カードの質が高く学習習慣も安定していれば、より単純な方式でも十分役立つことはあります。
FSRSの数式を理解する必要はありますか?
ありません。多くの学習者には、実用的な考え方だけで十分です。FSRS はカードの難しさ、記憶の安定度、そして現在の想起確率を見積もって、よりよい復習タイミングを選ぼうとしている、と理解できれば足ります。
FSRSは質の悪いフラッシュカードだらけのデッキも救えますか?
いいえ。質問があいまいだったり、答えに情報を詰め込みすぎていたり、active recall ができていなかったりすると、アルゴリズムだけでは補いきれません。
どんな人がFSRSを気にするべきですか?
大きなデッキを使う人、長い学習期間がある人、しっかり定着させたい人ほど関係があります。語学学習者、試験対策中の学生、情報量の多い専門分野を学ぶ人には特に相性がよいです。
続きを読む