LabHub

블로그

다시 읽지 말고 덮고 떠올려라 — 시험 효과의 원 논문과 간격 반복 알고리즘

한국어English日本語中文

들어가며 — 가장 인기 있는 공부법이 가장 배신하는 공부법

시험 전날을 떠올려 보세요. 대부분의 사람이 하는 일은 같습니다. 교재와 노트를 다시 읽는 것. 형광펜을 긋고, 밑줄 친 부분을 또 읽고, 눈에 익은 페이지를 보며 안도합니다. "이제 알겠다."

그 안도감이 함정입니다. 다시 읽기가 만드는 것은 기억이 아니라 유창함 — 글자가 눈에 미끄러지듯 들어오는 익숙함 — 이고, 뇌는 그 유창함을 "안다"로 오역합니다. 논문으로 읽는 심리학 일곱 번째 편은 이 착각을 실험으로 폭로한 논문과, 그 대안을 코드 수준까지 파 봅니다. 시리즈에서 가장 실용적인 편이 될 것입니다.

2006년 실험 — 다시 읽기 대 스스로 시험 보기

헨리 뢰디거(Henry Roediger)와 제프리 카픽(Jeffrey Karpicke)의 2006년 논문(Psychological Science)의 설계는 교과서적입니다. 대학생들에게 짧은 지문을 학습시키되, 학습 방식을 달리했습니다.

그리고 최종 시험을 두 시점으로 나눠 봤습니다. 5분 뒤, 그리고 일주일 뒤.

조건5분 뒤 회상률일주일 뒤 회상률
SSSS (읽기 4회)약 83%약 40%
STTT (읽기 1회 + 시험 3회)약 71%약 61%

5분 뒤 시험에서는 다시 읽기가 이깁니다. 그런데 일주일이 지나자 순위가 완전히 뒤집힙니다. 네 번 읽은 그룹은 절반 이상을 잃었지만, 한 번 읽고 세 번 인출한 그룹은 대부분을 지켰습니다. 읽기는 단기전의 기술이고, 인출은 장기전의 기술입니다.

더 잔인한 디테일이 있습니다. 학습 직후 "일주일 뒤 얼마나 기억할 것 같나"를 예측하게 했더니, 다시 읽기 그룹이 자신의 기억을 가장 높게 예측했습니다. 실제로는 가장 많이 잊을 그룹이 말입니다. 아는 느낌과 아는 것은 다른 시스템이고, 다시 읽기는 전자만 부풀립니다.

이것이 시험 효과(testing effect)입니다. 시험은 평가 도구이기 이전에 학습 도구라는 것. 기억에서 무언가를 꺼내는 행위 자체가 그 기억의 저장 강도를 높입니다. 이 효과는 이후 교실 현장 연구들과 메타분석에서 반복 확인된, 학습과학에서 가장 신뢰받는 발견 중 하나입니다.

두 번째 재료 — 간격 효과

시험 효과와 짝을 이루는 것이 간격 효과(spacing effect)입니다. 1885년 에빙하우스의 망각 곡선 이래 가장 오래 살아남은 기억 법칙로, 같은 총량의 복습이라도 몰아서(massed) 하는 것보다 간격을 두고(spaced) 하는 것이 장기 기억에 압도적으로 유리합니다. 니컬러스 세피다(Nicholas Cepeda) 연구팀의 2006년 메타분석(254개 연구, 1만 4천여 명)은 이를 정량화했고, 후속 연구는 실용적인 경험칙까지 제시했습니다. 복습 간격을 시험까지 남은 기간의 10~20% 정도로 잡으라는 것입니다(한 달 뒤 시험이면 3~6일 간격).

왜 간격이 효과적일까요. 유력한 설명은 "바람직한 어려움(desirable difficulty)"입니다. 복습 시점에 기억이 살짝 흐려져 있어야 인출이 노력을 요구하고, 노력이 든 인출일수록 기억을 강하게 재저장합니다. 어제 외운 단어를 오늘 복습하면 너무 쉽고, 한 달 뒤면 이미 사라져 있습니다. 잊힐 듯 말 듯한 최적의 순간이 존재하는 것입니다.

그렇다면 카드 수천 장 각각의 "최적의 순간"을 사람이 추적할 수 있을까요? 없습니다. 그래서 알고리즘이 등장합니다.

코드로 이해하기 — 안키의 심장, SM-2 알고리즘

간격 반복 소프트웨어(안키 등)의 원형은 1980년대 피오트르 워즈니악(Piotr Wozniak)의 SuperMemo에서 나온 SM-2 알고리즘입니다. 원리는 간단합니다. 카드마다 난이도 계수를 유지하고, 회상에 성공할 때마다 다음 복습 간격을 그 계수만큼 늘립니다. 실패하면 간격을 리셋합니다.

def sm2_review(quality, reps, interval, ease):
    """One SM-2 update after a review.
    quality: 0-5 self-grade (>=3 means recalled)
    reps: successful reviews in a row so far
    interval: current interval in days
    ease: difficulty factor, starts at 2.5
    Returns (reps, interval, ease) for scheduling the next review.
    """
    if quality < 3:                    # forgot -> relearn from scratch
        return 0, 1, ease

    # ease drifts with how hard the recall felt (min 1.3)
    ease = max(1.3, ease + 0.1 - (5 - quality) * (0.08 + (5 - quality) * 0.02))

    if reps == 0:
        interval = 1                   # first success: see it tomorrow
    elif reps == 1:
        interval = 6                   # second success: ~a week out
    else:
        interval = round(interval * ease)  # then multiply out
    return reps + 1, interval, ease

# simulate one card always recalled with quality 4
reps, interval, ease = 0, 0, 2.5
schedule = []
for _ in range(7):
    reps, interval, ease = sm2_review(4, reps, interval, ease)
    schedule.append(interval)
print(schedule)   # -> [1, 6, 15, 37, 90, 219, 533]

출력을 보세요. 1일, 6일, 15일, 37일, 90일... 복습 간격이 기하급수로 벌어집니다. 7번의 복습으로 한 장의 카드가 1년 반 뒤까지 스케줄되는 것입니다. 간격 효과(점점 벌어지는 최적 간격)와 시험 효과(매 복습이 인출 시험)를 코드 20줄이 동시에 구현하고 있습니다. 매일 새 카드 20장을 추가해도 일일 복습량이 폭발하지 않는 이유가 이 지수적 간격에 있습니다.

참고로 현대의 안키는 SM-2의 후손에 더해, 기억 확률을 명시적으로 모델링하는 FSRS 같은 최신 스케줄러도 제공합니다. 하지만 어떤 스케줄러든 심장은 같습니다. 꺼내 보기, 잊기 직전에.

우리가 가져갈 것 — 공부법의 교체 목록

이번 편의 실천은 명확합니다. 학습 루틴에서 다음 교체를 실행하는 것입니다.

개발자에게도 그대로 적용됩니다. 새 언어의 문법, 자주 잊는 명령어, 시스템 설계 패턴 — "검색하면 되지"가 통하지 않는 면접과 장애 상황이라는 최종 시험이 있다는 점에서, 엔지니어의 공부도 결국 인출의 게임입니다.

원문 읽기 가이드

읽기 팁: 뢰디거와 카픽 논문은 그림 1(5분/2일/1주 시험의 조건별 막대그래프) 하나에 모든 것이 있습니다. 던로스키 리뷰는 표 4의 기법별 종합 등급만 봐도 공부법 책 열 권을 대체합니다. 다음 편은 몸 시리즈의 논문판, 수면 부채의 도스-반응 실험입니다.

댓글

아직 댓글이 없습니다.

로그인하면 댓글을 쓸 수 있습니다