世界を動かす技術を、日本語で。

間隔反復記憶システム (2024)

概要

  • Spaced repetition memory system は、効率的な記憶を実現する学習手法である。
  • Testing effectSpacing effect を組み合わせて、多数の事実を長期記憶に残すことが可能。
  • 初期の代表例は Supermemo であり、Ankiなど多様な実装例が存在する。
  • 記憶だけでなく、 概念理解 や創造的応用にも利用できる。
  • 普及の障壁や誤解も多く、 良質なプロンプト作成 が重要な課題である。

スペースドリピティション記憶システムの概要と応用

基本概念

  • Spaced repetition memory system は、 Testing effect (テスト効果)と Spacing effect (間隔効果)を統合した記憶強化手法であることを確認。
  • 数千以上の事実を効率的に記憶し、 記憶を選択的に管理 することを可能にすること。
  • 単なる暗記だけでなく、 概念的理解 や応用力の養成にも利用可能であることを強調。
  • 最初の一般消費者向けシステムは Supermemo であり、Piotr Wozniakによって開発されたことを紹介。
  • 「spaced repetition」という用語はSupermemoが普及させたものであり、以前は多様な名称が用いられていたことを確認。

代表的な実装例

  • 伝統的な実装例として Supermemo, Mnemosyne, Anki を挙げること。
  • 独自バリエーションとして以下を例示すること。
    • Mnemonic medium
    • Execute Program
    • RemNote
    • Mochi
    • Readwise
    • Chessable MoveTrainer
    • Revuu

応用と可能性

  • 記憶システムを 注意力の制御カテキズム (問答集)として利用する提案。
  • 応用・統合・創造 を促すプロンプトとして活用すること。
  • 「spaced repetition system」よりも memory systempractice system という用語の使用を推奨する提案。

システムの特性と課題

  • 最大インプット率スケジュール最適化 について検討すること。
  • 自己採点機械採点 の比較を通じて、効率向上を目指すこと。
  • 意図的な練習(deliberate practice) としての側面を評価すること。
  • SRS再試行メカニズム の最適化を図ること。
  • 良質なプロンプト作成 がシステム容量の制約要因であることを指摘。
  • 機械学習 を活用して説明文からプロンプトを自動生成する試みを検討すること。
  • 感情的なつながり を最適化することが重要であることを強調。

普及の障壁

  • 多くの人が記憶の重要性を過小評価している現状を指摘。
  • プロンプト作成の難しさ が導入障壁となることを説明。
  • 他人のプロンプト を学習しても効果が薄いことを確認。
  • 定期的な練習習慣の確立 が困難であることを強調。
  • SRSの効果がすぐに現れず、 記憶力が悪化しているように感じる ことがあると説明。
  • 新しいプロンプト の供給がないと、復習が退屈になりやすいことを指摘。
  • 文化的に 無意味な目標 に偏りがちであることを懸念する。

よくある反論とその回答

  • SRSは「学校の暗記学習」にしか役立たないとの誤解に対し、 概念理解 や応用にも有効であることを説明。
  • 記憶の重要性が学校の悪い暗記経験で過小評価されていることを指摘。
  • SRSは主に 宣言的知識 に用いられているが、 深い関与 を促す助けになることを強調。
  • SRSは「自然に覚えられるものには不要」との意見に対し、 外部記憶補助記憶拡張 の利点を説明。
  • 自作プロンプト の価値について議論し、自己作成の重要性を検討すること。

アルゴリズムと最適化

  • シンプルなSRSアルゴリズムは 失敗の予測 を適切に扱えないことを指摘。
  • SRS再試行メカニズム の改善とスケジュール最適化を提案すること。

導入事例・参考文献

  • 子供への導入事例 や参考文献として Branwen, G. (2009)Supermemo 公式資料を紹介すること。

Hackerたちの意見

おすすめのアプリを紹介するね。僕のお気に入りの間隔反復+ノート取り+学習アプリはこれだよ: https://www.remnote.com/ 何の関係もないけど、めっちゃおすすめしたい。Ankiを知ってる人には同じような仕組みだってわかると思う。カードの管理がすごく良くできてるし、カードを追加するのも箇条書きみたいに簡単だよ:[カードの表] == [カードの裏]。使いやすさが抜群で、この分野をよく理解してるなって感じる。キーボードの操作性やショートカット、ナビゲーションもバッチリ。期待する基本機能はサポートしてるし、クローズ削除(空欄埋め)や画像隠蔽(画像の一部を隠す)もできる。PDFや画像の管理もできるし、FSRS(今のところ最高のSRSスケジューリングアルゴリズム)を使ってる。通常のコード生成系を除けば、これまで見た中で一番の(オプションの)AI統合があるよ。スペイン語を学んでるんだけど、箇条書きに「el vaquero ==< [tab]」って入力すると、自動で前後カードの翻訳が生成されるんだ。数学も勉強してて、LaTeXの数式の一部をクローズ削除できるし、AIが頻繁に素晴らしく正確なLaTeX数式を生成してくれるから、ちょっと手を加えるだけで済む。こういうボーナスがあるおかげで、スペイン語のチュータリングセッションや数学の授業中にライブフラッシュカードを使ったノート取りができるんだ。Ankiよりも設定が少なくて、すぐに使える感じで、拡張システムも小さい。Ankiをいじるのはもううんざりだよ。全体的に素晴らしい -- 何の関係もないけどね。開発がすごく早いし、リリースノートの動画も素晴らしい。マイナーなアップデートは週に1回くらいあるよ。海外旅行中にインターネットが弱い時にいくつかバグに遭遇したけど、全体的にはすごく満足してる。

おすすめしてくれてありがとう!Ankiに同じような問題を抱えてて、オープンソースなのにもっとクローンがないのが驚きだよ。remnoteを試すのが楽しみ!

めっちゃ高いね。月18ドル??Electronのモンスターだと思うな。

Ankiの使いづらさにイライラして、Mochi[1](無関係だけど)にハマってるよ。MochiはmacOSとiOSに素晴らしいネイティブアプリがあって(他にもあるかも?)、カードはマークダウン形式だから、カスタムシステムプロンプトでLLMを使って生成できるんだ。今日知ったんだけど、APIもあるから、MCPサーバー経由で新しいカードを自動で作らせることに挑戦してみようかな。1. https://mochi.cards/

コンピュータサイエンスの学位を取得する間ずっとこれを使ってて、すごく効果的だったよ。今ではしっかりした個人の知識ベースとして頼りにしてる。

Remnoteを数ヶ月使った後、結局Mochi(Ankiだけど、もっと見た目がいい)に切り替えたよ。私の個人的な経験はこんな感じ: - UIがもっさりしてて複雑。モバイルやウェブでのブロック/ラインとのやり取りがもっさりしてた。 - カードを表示するためのテーブルUIもかなり制限がある。 - ブロックをカードに変換するために``を追加するのは素晴らしいアイデア。 - 「AI」の使い方は本当に過大評価されてる。

この著者のブログ記事を超おすすめするよ:良いプロンプトを書く方法。この投稿が間隔反復を理解するきっかけになったんだ。

これは数日分の読み物だね。もし誰かが圧倒されるようなら、間隔反復の基本を教えてくれるこの漫画を読むことをおすすめするよ。https://ncase.me/remember/

Androidでおすすめの間隔反復アプリってある?間隔反復だけをやるやつ。

AnkiDroid

兄弟コメントを反映しておくね:https://apps.ankiweb.net/ は * オープンソース * クロスプラットフォーム * iOS以外は$0 * コミュニティやエコシステムがあるほど人気

Mochiは素晴らしいよ。

彼の記事 https://andymatuschak.org/books/ に触発されて、Q&AとSRSをePubに組み込むために https://readboost.io/ を作ったんだ。まだバグがあるかもしれないけど、個人的には結構役立ってるよ!

プレビューの段階で内部サーバーエラーが出てる!でもこのアイデアは本当に好きだよ!

詰め込みにはいいけど、例えば試験に合格するためとかね。でも、長期的に深く考えるには私にはあまり合わなかったな。

スペイン語の動詞の活用を学ぶのに大きな助けになって、結果的にスペイン語全体が上達したよ。このデッキを作るために彼がかけた努力のおかげだね。https://www.asiteaboutnothing.net/w_ultimate_spanish_conjuga...

スペースドリピティションシステムを何度か試したけど、いつも気づくのは、実際に覚える価値のあるものがあまりないってこと。重要なことは特に努力しなくても覚えてるし、その他のことは、毎日のカードレビューがしばらくすると無駄な作業に感じ始めるんだよね。

たくさんの事実を覚える必要がある用途を見つけたことがない私も同じような立場だよ。主に言語を学ぶときの語彙を増やすために使われてるのをよく見るけど、他のことを学ぶためにこのシステムを使ってる人もいるよね?これを見て、仕事でISO/IEC標準の重要な部分を覚えるのが上手くなる方法を考えたくなったけど、フラッシュカードにどう結びつくのかは見えないな。

Ankiは記憶のためというより、むしろセレンディピティエンジンとして使ってるよ:面白い観察や考えが浮かんだときに、それについて数文書いて、2つのコピーを保存するんだ。一つはObsidianに、関連するノートへのリンクを付けて(あれば)、もう一つはAnkiにクローズ削除として。Ankiは長いレビューサイクル(1日、1週間、1ヶ月、その後自動化)に設定してあって、週に一回くらいレビューをするために座るんだ。その過程で、ノートがランダムに表示される順番や、レビューしたノートと最近取り組んでいることとの関連を見つけることで、新しいアイデアが浮かぶことが多いよ。[1] 実際には、これらの多くは記録せずに終わっちゃうけど、平均して1日に1つくらいの新しいノートを作ってるかな、でもバースト的にね。

いくつか例を挙げるね。 * 生物学を学ぶときは、「アナボリック反応」や「逆転写酵素」みたいな用語を暗記する。 * 代数を学ぶときは、S_nやGL_nみたいな主要なグループを暗記する。 * 統計学を学ぶときは、主要な確率分布、その平均、標準偏差を暗記する。 * 数学コンテストに備えるときは、「中国剰余定理」みたいなことを覚える。これは学習のほんの一部だけど、他の部分を劇的に加速させるんだ。その時、テキストを読み進めるときには、調べたり考えたりせずに理解できるようになる。そして、複雑な問題解決に取り組むときには、知識がすぐに使える状態になってる。これを最初の(表面的な学習)段階でやるか、それ以前にやって、暗記したら、もっと高度な文脈で使う(例えば、研究論文を読む、教える、複雑な問題解決など)。これらのことはすべてつながっていて、SRは知識ネットワークの簡単な部分を構築するための早くて安価な方法を提供してくれるんだ。

採用に対する障壁の一つ(私の採用に関してはね)、サイトの著者のリストには載っていないけど、私はこのトピックについてカードを書くのに最も不適格な人間の一人なんだ。間違った情報を効果的かつ効率的に暗記するためのカードを作ってしまう可能性が高いから、そのリスクは取りたくないな。

普段は、ドメインの十分に有効なコーパスから直接コピー&ペーストしてるよ。

誰か、ピアノのコードボイシングを暗記するためのプレメイドカードや(理想的には)何かのプレイアロントラックがある良いサイトを見つけた人いる?

もう一つの製品推薦を落としておくね(Androidで利用可能):https://normata.com/flip/ 実際の語学学校(ドイツ語を学んでる)での補助ツールとして使ってる。ゼロから新しいスタディセットを始めて、毎回のレッスンで暗記する新しい単語を追加してる。今のところ気に入ってるよ!