FSRS가 SM-2보다 더 나은 이유
요약
전통적인 간격 반복 알고리즘인 SM-2의 구조적 결함인 '난이도 지옥' 문제를 분석하고, 이를 해결하기 위해 등장한 FSRS 알고리즘의 차별점을 설명합니다. SM-2가 용이성 계수를 단일 지표로 사용하는 것과 달리, FSRS는 이를 분리하여 더 정교한 스케줄링을 제공합니다.
핵심 포인트
- SM-2는 용이성 계수(EF)가 한 번 낮아지면 다시 올리기 어려운 구조적 결함이 있음
- SM-2의 EF는 난이도 측정과 스케줄링 승수 역할을 동시에 수행하여 비효율 발생
- FSRS는 SM-2의 단점인 '난이도 지옥'을 해결하기 위해 설계됨
- FSRS는 난이도와 스케줄링 요소를 분리하여 더 정확한 복습 간격 제공
대부분의 플래시카드 사용자들은 자신의 복습을 스케줄링하는 알고리즘이 무엇인지 전혀 신경 쓰지 않습니다. 그들은 단순히 "좋음(Good)"을 누르고, 다음 카드를 보며 넘어갑니다. 하지만 스케줄링 알고리즘은 앱의 인터페이스나 가격, 혹은 얼마나 많은 덱(deck)을 제공하는지보다 훨씬 더 중요합니다. 알고리즘은 당신이 어떤 카드를 볼지, 언제 볼지, 그리고 필요하지 않은 복습에 하루 20분을 낭비하게 될지 여부를 결정하기 때문입니다.
SM-2는 1987년에 혁신적이었습니다. 이 알고리즘은 이전의 어떤 소프트웨어도 하지 못했던 방식인, 모든 카드에 각자만의 스케줄을 부여했습니다. 하지만 SM-2에는 수개월 사용 시 누적되는 구조적 결함이 있으며, 35년 후에 발표된 FSRS가 이를 해결합니다. 이 글에서는 두 알고리즘이 실제로 어떻게 작동하는지, SM-2가 어디에서 무너지는지, 그리고 발표된 벤치마크(benchmarks)가 무엇을 보여주는지 살펴보겠습니다.
SM-2가 실제로 하는 일
Piotr Wozniak은 1987년 SuperMemo를 위해 SM-2를 만들었습니다. 이는 전체 덱에 고정된 스케줄을 사용하는 대신, 개별 카드에 맞춤형 복습 간격을 제공한 최초의 알고리즘이었습니다. 당시 이것은 진정한 돌파구였습니다. 대부분의 학생들은 아무런 시스템이 없는 종이 플래시카드를 사용하거나, 고정된 간격을 가진 라이트너 박스(Leitner boxes)를 사용하고 있었기 때문입니다.
SM-2의 작동 방식은 다음과 같습니다. 모든 카드는 2.5에서 시작하는 **용이성 계수 (ease factor, EF)**라고 불리는 단일 숫자를 가집니다. 매 복습 후, 알고리즘은 당신의 응답 품질(0-5 척도, 다만 대부분의 현대적 구현체는 1-4를 사용함)에 따라 이 숫자를 조정합니다. 다음 간격은 이전 간격에 용이성 계수를 곱하여 계산됩니다.
I(n) = I(n-1) × EF
따라서 EF가 2.5이고 현재 간격이 10일인 카드는 25일로 스케줄링됩니다. 만약 당신이 다시 "좋음(Good)"이라고 평가한다면, 62일, 그다음은 156일이 됩니다. 이러한 성장은 지수적(exponential)이며, 이는 올바른 방향입니다. 기억력의 강도는 성공적인 인출(retrievals)과 함께 지수적으로 성장하기 때문입니다.
문제는 당신이 카드를 틀렸을 때 어떤 일이 발생하는가 하는 점입니다.
각 오답 또는 어려웠던 답변은 난이도 계수(ease factor)를 감소시킵니다. 카드를 틀리면 EF가 떨어지는데, 일반적으로 0.2 이상 하락합니다. 최소값은 1.3으로 고정되어 있어, 간격이 검토당 최대 30%보다 빠르게 성장할 수 없습니다. 하지만 여기 구조적인 결함이 있습니다: EF를 다시 올릴 메커니즘이 거의 없다는 것입니다. 카드를 맞히더라도 적은 양(최대 0.1)만 추가되며, 그것도 '쉬움(Easy)'으로 평가했을 때에 한해서입니다—이는 대부분의 사람이 드물게 하는 일입니다.
그 결과는 일방향 래칫(one-way ratchet)과 같습니다. 초기에 두 번 어려움을 겪은 카드는 EF = 1.3까지 떨어지고 그 상태를 유지합니다. 당신이 실제로 학습했음에도 불구하고, 이 카드를 2~3일마다, 그다음에는 4일마다, 그다음에는 5일 간격으로 검토하게 됩니다. 이것이 바로 '난이도 지옥(ease hell)'입니다: 최소 간격에 갇혀서, 실제로 연습해야 할 카드들을 소모하는 것입니다.
Ease Factor Decline (SM-2)
2.5 ●
...
난이도 계수는 카드 난이도를 측정하는 지표이자 동시에 스케줄링 승수(scheduling multiplier) 역할을 합니다—두 가지 다른 개념이 하나의 숫자로 융합된 것입니다. 이 융합이야말로 SM-2 문제의 근본 원인이며, FSRS가 정확히 분리(decouple)하는 부분입니다.
FSRS가 다르게 작동하는 방식
FSRS (Free Spaced Repetition Scheduler)는 Jarrett Ye에 의해 개발되었고 2022년에 발표되었습니다. 원래 논문은 ACM SIGKDD 2022 워크숍에서 게재되었으며, 더 포괄적인 버전은 2024년 IEEE Transactions on Knowledge and Data Engineering에 게재되었습니다. SM-2와 달리, FSRS는 처음부터 공개된 벤치마크와 오픈소스 코드를 가지고 개방된 환경에서 개발되었습니다.
근본적인 차이점: FSRS는 하나가 아닌 세 가지 매개변수를 사용합니다.
- 안정성 (Stability, S): 회상 확률 (recall probability)이 90%로 떨어질 때까지의 기간(일 단위)입니다. 안정성이 30이라는 것은 30일 후에 해당 카드를 기억할 확률이 90%임을 의미합니다. 이는 순수하게 기억의 강도, 즉 카드가 얼마나 깊게 인코딩 (encoding)되었는지를 나타냅니다.
- 난이도 (Difficulty, D): 사용자에게 해당 카드가 본질적으로 얼마나 어려운지를 1~10 척도로 나타낸 것입니다. 이는 카드 자체를 반영합니다. 예를 들어, 추상적인 문법 규칙과 구체적인 명사의 차이 같은 것입니다. 난이도는 천천히 변하며 카드의 내재적인 도전 과제를 포착합니다.
- 인출 가능성 (Retrievability, R): 지금 당장 해당 카드를 회상할 수 있는 현재의 확률입니다. 이는 안정성으로부터 계산된 망각 곡선 (forgetting curve)을 따라 시간이 지남에 따라 감소합니다. R이 약 0.9 (90%)로 떨어지면, FSRS는 복습을 예약합니다.
DSR 모델 — 세 가지 독립적인 매개변수
┌──────────────────┐ ┌──────────────────┐
...
핵심적인 통찰은 안정성 (stability)과 난이도 (difficulty)가 독립적이라는 점입니다. 50번이나 성공적으로 복습한 어려운 카드 (높은 D)라도 여전히 매우 높은 안정성을 가질 수 있으며, FSRS는 이를 표현할 수 있습니다. SM-2는 불가능합니다. SM-2에서는 한 번이라도 어려웠던 카드는 영구적으로 낮은 이즈 팩터 (ease factor)를 갖게 되어, 그 이후에 얼마나 많이 맞혔는지와 상관없이 복습 간격이 짧게 유지됩니다.
SM-2 vs FSRS 한눈에 비교
| SM-2 — 하나의 숫자 | FSRS — 세 가지 매개변수 | |
|---|---|---|
| 추적 항목 | 이즈 팩터 (Ease Factor, 2.5에서 시작) | 안정성 (Stability), 난이도 (Difficulty), 인출 가능성 (Retrievability) |
| ... |
FSRS는 단일 승수를 적용하는 대신 카드별 망각 곡선 (forgetting curve)을 모델링합니다. 스케줄링 목표는 인출 가능성 (retrievability)이 약 90%로 떨어지는 지점입니다. 이는 기억을 강화할 수 있을 만큼 충분히 도전적이면서도, 이미 잊어버릴 정도로 너무 늦지는 않은 시점입니다.
망각 곡선 — FSRS가 복습을 예약하는 시점
100% │▓▓▓▓▓▓▓▓▓▓▓▓▓
...
또한 FSRS는 사용자의 개인적인 복습 이력을 통해 학습하기 때문에, 모델이 집단의 평균이 아닌 _사용자 자신_에게 시간이 흐름에 따라 적응합니다.
수치 — FSRS는 얼마나 더 나은가?
주장에는 증거가 필요합니다. FSRS 논문에는 10,000명 이상의 Anki 사용자로부터 얻은 복습 이력을 바탕으로 SM-2 및 기타 알고리즘과 비교한 광범위한 벤치마크 (benchmarks) 결과가 포함되어 있습니다.
핵심 지표는 로그 손실 (log-loss) 입니다. 이는 알고리즘이 사용자가 카드를 기억할지 아니면 잊어버릴지를 얼마나 잘 예측하는지를 측정하는 척도입니다. 로그 손실이 낮을수록 예측이 더 정확하다는 것을 의미하며, 이는 더 나은 스케줄링 (scheduling)으로 이어집니다.
예측 정확도 (log-loss, 낮을수록 좋음)
Leitner ████████████████████████████████████████ 0.397
...
이것이 실제로는 무엇을 의미할까요? 더 정확한 예측은 낭비되는 복습을 직접적으로 줄여준다는 것을 의미합니다. 알고리즘이 사용자가 카드를 기억할 것이라고 정확히 예측하면, 불필요한 복습을 스케줄링하지 않습니다. 반대로 사용자가 카드를 잊기 직전임을 정확히 예측하면, 카드를 잊어버리기 전에 잡아냅니다. SM-2와 FSRS의 정확도 차이는 동일한 유지율 (retention rate)을 유지하면서도 일일 복습 횟수를 측정 가능한 수준으로 줄여주거나, 동일한 일일 복습량으로 더 높은 유지율을 제공하는 결과로 나타납니다.
이 벤치마크는 완전히 재현 가능합니다. FSRS optimizer는 오픈 소스이며, 누구나 자신의 Anki 이력을 바탕으로 벤치마크를 실행할 수 있습니다. 이러한 수준의 투명성은 SRS 분야에서 보기 드문 일입니다. 대부분의 앱은 알고리즘이 단지 약간의 수정을 거친 SM-2일 뿐임에도 불구하고, 이를 독점적인 기술 (proprietary)로 취급합니다.
기본 설정이 중요한 이유
Anki는 2023년 말에 FSRS를 옵션으로 추가했습니다. Anki가 세계에서 가장 큰 SRS 플랫폼이라는 점을 고려하면 이는 매우 중요한 움직임입니다. 하지만 함정이 있습니다. 이 기능은 고급 설정 (Advanced Settings) 안에 숨겨져 있고, 기본적으로 비활성화되어 있으며, 사용자가 명시적으로 선택 (opt in)해야 합니다. 대부분의 Anki 사용자는 고급 설정을 변경하지 않습니다. 그들은 더 나은 옵션이 존재하는지도 모른 채 SM-2로 학습합니다.
이는 역설을 만들어냅니다. 최고의 스케줄링 알고리즘이 기술적으로는 수백만 명의 사용자에게 제공되고 있지만, 기본 설정이 바뀌지 않았기 때문에 대다수의 사용자는 그 혜택을 전혀 받지 못하고 있습니다.
기본 설정(Defaults)은 대규모 환경에서 동작 방식을 결정합니다. 행동 경제학(behavioral economics) 연구에 따르면, 옵트아웃(opt-out, 기본 선택) 시스템은 80-90%의 채택률을 보이는 반면, 옵트인(opt-in, 선택적 참여) 시스템은 해당 옵션이 명확히 유익할 때조차 20-30%에 머무릅니다. 동일한 원리가 SRS (Spaced Repetition System, 간격 반복 시스템) 알고리즘에도 적용됩니다. 도움을 줄 '수 있는' 알고리즘과 실제로 도움을 '주는' 알고리즘은 같지 않습니다.
Words on Repeat는 무료 및 유료 사용자 모두에게 FSRS를 기본값으로 제공합니다. 별도의 설정 화면도, 고급 설정 토글도, 어디서 찾는지 설명하는 YouTube 튜토리얼도 필요 없습니다. 가입하고, 덱(deck)을 선택하면 첫 번째 복습부터 최첨단 스케줄링(scheduling)과 함께 학습을 시작할 수 있습니다. 알고리즘은 보이지 않으며, 이것이 바로 알고리즘이 존재해야 하는 방식입니다.
이것이 당신의 학습 세션에 의미하는 바
SM-2에서 FSRS로 전환하면, 이유를 이해하기도 전에 체감할 수 있는 방식으로 일상적인 학습 경험이 변화합니다:
- 불필요한 복습 감소. 이미 마스터한 카드는 불필요하게 나타나지 않습니다. SM-2 사용자들은 동일한 유지율(retention level)에서 FSRS 사용자보다 하루에 30-50% 더 많은 카드를 복습한다고 자주 보고합니다.
- 어려운 카드도 결국 졸업합니다. 최소 간격에 영원히 갇혀 있는 대신, 한때 어려웠던 카드도 일관된 회상(recall) 능력을 보여주면 긴 간격에 도달할 수 있습니다. FSRS에는 '쉬움-지옥(ease-hell)'의 죽음의 소용돌이가 존재하지 않습니다.
- 예측이 현실과 일치합니다. 알고리즘이 카드의 복습 시기가 되었다고 말하면, 그것은 실제로 복습할 때가 된 것입니다. 피드백 메커니즘이 없는 공식에 의해 임의로 스케줄링된 것이 아닙니다. 이는 사람들이 학습 습관을 포기하게 만드는 마찰(friction)을 줄여줍니다.
- 그냥 작동합니다. 최고의 알고리즘은 당신이 전혀 신경 쓸 필요가 없는 알고리즘입니다. FSRS는 매개변수(parameters)를 조정하거나 최적의 설정에 대해 걱정할 필요 없이, 당신의 복습 패턴에 자동으로 적응합니다.
간격 반복이 왜 작동하는지에 대한 더 깊은 과학적 근거 — 망각 곡선(forgetting curve), 부호화 가변성(encoding variability), 그리고 140년간의 기억 연구 — 에 대해서는 The Science of Spaced Repetition을 참조하세요.
자주 묻는 질문 (Frequently Asked Questions)
FSRS가 SM-2보다 사용하기 더 어렵나요?
아니요. 두 알고리즘 모두 학습 중에는 보이지 않습니다. 사용자는 카드를 보고, 응답하고, 얼마나 잘 알고 있었는지 평가할 뿐입니다. 차이점은 전적으로 다음 복습 날짜를 계산하는 방식에 있습니다. FSRS는 학습자에게 추가적인 단계나 결정을 요구하지 않습니다.
Anki에서 SM-2에서 FSRS로 전환할 수 있나요?
네. Deck Options(덱 옵션)로 이동하여 "FSRS" 섹션으로 스크롤한 뒤 활성화하면 됩니다. 또한 복습 기록을 바탕으로 파라미터 (parameters)를 보정하기 위해 옵티마이저 (optimizer)를 실행해야 할 수도 있습니다. 작동은 하지만, 설정 깊숙한 곳에 숨겨져 있습니다. Words on Repeat는 별도의 설정 없이 기본적으로 FSRS를 사용합니다.
FSRS는 검증된 것인가요, 아니면 단순히 유행일 뿐인가요?
검증되었습니다. 이 알고리즘은 동료 검토 (peer-reviewed)를 거쳤으며 (ACM SIGKDD 2022 workshop, IEEE TKDE 2024), 10,000명 이상의 사용자 기록을 바탕으로 벤치마크 (benchmarked)를 수행했습니다. 또한 코드와 데이터가 완전히 오픈 소스 (open-source)로 공개되어 있어 누구나 결과를 재현할 수 있습니다. FSRS는 발표된 모든 지표에서 SM-2보다 뛰어난 성능을 보입니다.
FSRS가 언어 이외의 과목에도 효과가 있나요?
네. FSRS는 어휘에 특화된 것이 아니라 인간의 기억 (human memory)을 모델링합니다. 망각 곡선 (forgetting curve)과 안정성 (stability), 난이도 (difficulty), 인출 가능성 (retrievability) 사이의 관계는 의학 용어, 법적 판례, 프로그래밍 개념, 역사적 날짜와 같이 사실에 기반한 모든 학습에 적용됩니다. 플래시카드 (flashcard)에 담을 수 있는 것이라면, FSRS는 그것을 스케줄링할 수 있습니다.
References
참고 문헌
- Wozniak, P.A. (1990). Optimization of Learning. supermemo.com — SM-2 알고리즘의 원본 설명.
- Ye, J. (2022). "A Stochastic Shortest Path Algorithm for Optimizing Spaced Repetition Scheduling." ACM SIGKDD Workshop on Deep Learning for Search and Recommendation. doi:10.1145/3534678.3539081
- Su, J., Ye, J., Nie, L., Cao, Y. & Chen, Y. (2024). "Optimizing Spaced Repetition Schedule by Capturing the Dynamics of Memory." IEEE Transactions on Knowledge and Data Engineering. doi:10.1109/TKDE.2023.3251721
- Open Spaced Repetition. FSRS4Anki — Free Spaced Repetition Scheduler. github.com/open-spaced-repetition/fsrs4anki — 오픈 소스 최적화기 및 벤치마크 데이터.
- Anki (2023). Changes in Anki 23.10 — FSRS 통합 발표. changes.ankiweb.net
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기