Hacker News

Spaced repetition for efficient learning (2019)

74 points by tsenturk ago | 27 comments

ChadNauseam |next [-]

One counterintuitive issue with spaced repetition is that the modern algorithms like FSRS are actually almost too good at scheduling. The effect is that each card is almost perfectly scheduled to be very difficult but still doable. Now, it's a bit weird to call it an issue considering it's the whole concept working exactly as designed. But it does cause one follow-up problem.

The problem is that in life, we are accustomed to things becoming easier as we get better at them. So you start drawing faces and it starts out feeling very difficult, but then as you practice more and more, it feels easier and easier. Of course, by the time it's feeling easy, it means that you're no longer actually getting effective practice. But nevertheless, it's the feeling that we are accustomed to. It's how we know we're getting better.

Because spaced repetition is so good at always giving you things that you will find difficult, it doesn't actually feel like you're getting better overall even though you are. The things that you are good at are hidden from you and the things that you are bad at are shown to you. The result is a constant level of difficulty, rather than the traditional decreasing level of difficulty.

I've encountered this problem myself. I built a language learning app for fun, and some of my users feel like they're not learning very much compared to alternatives that don't use spaced repetition. In fact, it's the exact opposite. They learn much more quickly with mine, but they don't have that satisfying feeling of the lessons becoming easy. (Because if I gave them easy challenges, it wouldn't be as productive!)

I'm not sure what the best way to solve this problem is. I would much appreciate any advice.

sodality2 |root |parent |next [-]

The solution is to learn content that you actually use with some regularity in your life outside of the testing! If you're doing this for education, the payoff might be the exam; if you're doing it to learn things without some particular end goal, you'll have to make your own way to make it worth it.

The language learning app people could try scheduling monthly video chats with native speakers (swapping turns halfway through so it's mutually beneficial) and notice their proficiency improve.

zahlman |root |parent |next |previous [-]

Just have the program point out the size of the word pool it's drawing from. "Number go up" is objective and clearly motivates people in other disciplines (someone else mentioned lifting weights).

bluGill |root |parent |next |previous [-]

If your only exposure to words is the spaced repititon why are you wasting your time learning? Use the language and soon you won't need the repitition at all. The app is good to start because you need a couple thousand words before you can do anything, but in a few months you should be switching from learning words to reading and listening (and soon after writting and talking). if you do it that way most words will occure far more often than the algorithm suggests and become easy

michaelcampbell |root |parent |next |previous [-]

FSRS has dials to tweak to show you cards either more or less often, so if it's feeling "too hard" you can tweak that dial to show you cards when "easier" (at the risk of seeing more cards per day since you're seeing them more often).

Failing to do that, one might consider that instead of focusing on how hard each card feels, but rather the size of the corpus that they have "under their belt". This is the case if you're constantly adding new cards - if you are and your cards/day is stable, then you have an ever increasing mound of memorized knowledge.

If you aren't adding new cards, then the cards/day will inevitably go down, barring some actual cognitive issue.

It's a matter of what you focus on as your measure of success.

Denzel |root |parent |next |previous [-]

‘Desirable difficulty’ is the research term. To solve your problem, first understand your users need a mindset change. We need to connect their action to a “satisfying feeling” as you said.

You want your users to be like weight lifters. No lifter comes out the gym saying, “Man that was the best workout, felt so easy,” to the contrary, lifters use progressive overload to induce difficulty because that difficulty connects to the results they want.

For your users, you need some way to measure the outcome, so that you can show them, “hey look, that mild discomfort lead to more progress on what you care about,” and then you need to consistently message that some difficulty is good.

Mindset change takes consistency and time. Won’t happen over night. You’ll know you succeeded when students become aware of “hey, I’m not learning as well if it doesn’t feel difficult”, and then react by increasing the challenge.

SteveMqz |root |parent |next |previous [-]

Well the simplest thing would be to have test/benchmarks you do at the start and end of each “chapter” (however you define that).

You fail miserably at the test at the start of each chapter, and crush it at the end.

The difficult part is deciding how the tests are spread out.

ben_w |root |parent |next |previous [-]

> I'm not sure what the best way to solve this problem is. I would much appreciate any advice.

Serious answer: All the dark patterns.

Loot boxes even if they only give users a digital hat, small animated bird (like the green one, but not) doing a silly dance when users get enough correct answers, some weird phrases sprinkled amongst the lessons which make the users laugh.

Just, please let them have an off switch for people like us :)

criley2 |root |parent |previous [-]

I have a half dozen language learning apps on my phone and have vibe coded a few concepts as well and while spaced recognition is amazing, it still suffers from the duolingo "vocabulary is not a language" problem.

IMO the way around users feeling like spaced recognition isn't progression is by redefining progression away from memorizing vocabulary into into becoming proficient in conversation both listening and speaking. If spaced recognition vocab is just one feature of a holistic experience, users will judge their progression holistically.

I'm really waiting for that one app that finally connects ChatGPT Advanced Voice Mode or Gemini Live to a context-aware and well trained language tutor. I can already have impromptu practice sessions with both in Mandarin and English but they quickly lose the plot regarding their role as a tutor. I'd love to have them available as part of a learning journey. I can study vocab and flash cards all day but the second that voice starts speaking sentences and I need to understand in real time, I freeze up. The real progress is conversing!

CorrectHorseBat |root |parent |next [-]

>but the second that voice starts speaking sentences and I need to understand in real time, I freeze up. The real progress is conversing!

What helped me a lot was doing a lot of listening exercises. Start with concentrating on what you can recognize, not on what you can't. Then listen again and and again and again trying to recognize more and more.

criley2 |root |parent [-]

That's what I do and it helps and many apps let me do just that. Repeating it, reading the hanzi, reading the pinyin, and it all makes sense.

But there's something about the "conversation" between a real human or an AI voice mode where you're not on the rails. It's real time and you have to lock in and understand. That's where the magic happens!

copperx |root |parent |previous [-]

How is spaced recognition different from spaced repetition? Recall is different from merely recognition, right?

|root |parent |next [-]

criley2 |root |parent |previous [-]

Sorry, just a typo on my part, I meant spaced repetition.

yanis_t |next |previous [-]

While I’ve been working on my knowledge base meets spaced repetition project, I looked through a bunch of articles, and it’s very easy in fact.

We keep forgetting stuff. But we can remember it more by active recalling. And there is an evidence that you can recall with intervals that grow, to make it optimal. That’s it really. Everything else is tooling on top of that simple fact.

* https://github.com/odosui/mt

charcircuit |next |previous [-]

>I like Mnemosyne (homepage) myself - Free, packaged for Ubuntu Linux

It seems to use a 2 decade old modification of a now 4 decades old algorithm which will be worse and waste more of the user's time than using Anki with FSRS or SuperMemo with SM-18.

zakki |root |parent [-]

Do you have recommended apps using those algorithms?

treetalker |root |parent |next [-]

Based on discussion on HN several days ago, I have started using Hashcards (markdown-based flash cards with FSRS; run from command line, but view cards in the browser). Once set up, it's pretty simple (e.g., no fiddly settings) which helps a lot. Getting new cards added is easy — especially with a Keyboard Maestro macro that I made (global keyboard shortcut pops up a window to enter Q/A and select a deck, i.e. md file, to append to; entering text only on the Q line creates a cloze-deletion card instead). Recommended.

My use case is drilling English --> target-language sentences, as well as law-related knowledge, miscellaneous facts, etc. Still mulling over what to do about other skills-based practices, à la Andy Matuschak's concept of "spaced everything".

- Hashcards: https://github.com/eudoxia0/hashcards

- HN discussion about Hashcards: https://hn.algolia.com/?q=hashcards

- Matuschak's "spaced everything": https://notes.andymatuschak.org/Spaced_everything

charcircuit |root |parent |previous [-]

Anki with FSRS.

yard2010 |next |previous [-]

Anecdotally I stumbled upon this phenomenon when trying to learn how to play the piano. I noticed that at the end of a session I make so many mistakes and feel like I didn't learn that much, but coming back to it after a day or two I really felt the difference.

k__ |root |parent [-]

Learning to play an instrument feels like magic.

You fail the whole day.

Don't have the feeling anything sticks.

Then, the next day it works right from the start.

No new insights, nothing, it just works.

XCSme |root |parent |next [-]

I am coaching table-tennis, and sometimes I tell people that we only actually "learn" while we sleep. So, without sleeping, the brain doesn't have time to "save" the new information for future use.

Not sure if it's factually correct, but it seems about right, sleeping seems to be the magic sauce, and the time when all memories are written from RAM to disk.

Qem |root |parent |previous [-]

I never played any instrument, but I had the exact same experience getting through difficult stages in videogames.

k__ |root |parent [-]

Yes, me too.

It seems to be a thing with practicing motion sequences.

sobjornstad |root |parent [-]

I've noticed the same thing with rote memory tasks like lines of poetry, so I think it might be a more general thing involving the memory consolidation properties of sleep, maybe particularly focused on fluency/speed rather than mere ability to recall.

scratchyone |next |previous [-]

Really big fan of the design of the header on this blog, cool way to represent tags and article information without it being monotonous.

bluGill |previous [-]

This is memorization. There is debate on if that is learning. At the very least you need to apply this learning to real life or you will never know if you learned. So get to that point quick.

copperx |root |parent [-]

Memorization is learning. I don't think there's debate about that.

Whether memorization is useful on its own largely depends on the task.