Live data from Hacker News

Spaced repetition for efficient learning (2019)

gwern.net

41–50 of 62 posts

Re: Spaced repetition for efficient learning (2019)

#41
post #30

Earlier quoted context omitted.

Motor learning is quite different from the type of information the article talks about. I tried adding dance moves into Anki to do spaced repetition and it's extremely obvious that it's a great way to remember a move very badly but never getting good at it. Compare that to the geography deck where Anki is just perfectly suited for the task and smashes it.

Spaced repetition works well for motor learning. You just have to keep hitting “Again” until you are actually good at it.

I don't think that's very useful. You're saying basically treating anything except mastery as "I forgot". That's too much practice. It also doesn't take into considering that you are better of doing your reps later in the day (ie close to your sleep cycle).

Sure, you can sort of use SRS here, but it's suboptimal and probably will leave too many cards in the top priority "learning" pile causing too much load, or you train incorrectly.

Still, I agree that this is MUCH better than NOT doing SRS if you don't have an alternate tool with a better algorithm.

Re: Spaced repetition for efficient learning (2019)

#42
post #32
post #6

Earlier quoted context omitted.

Do you have recommended apps using those algorithms?

Mochi.cards Very similar to Anki but with a sane UI.

Make sure you enable FSRS mode if you use mochi.cards (or anki), it's not the default

Re: Spaced repetition for efficient learning (2019)

#43
post #6

Earlier quoted context omitted.

Do you have recommended apps using those algorithms?

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 fil…

If you're drilling English --> target-language sentences with spaced repetition, you might be interested in the free site I made to do just that.^[1] You can find the link in my bio. The source code is also on github.

Sentence practice is really the best way to do things imo. Studying vocabulary in isolation is so limited by comparison. So nice moves there.

^[1]: Actually, my thing does target-language to english drills, not the other way around.

Re: Spaced repetition for efficient learning (2019)

#45

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 accus…

I think what you're describing here is mostly a mindset / user education problem. SRS is for "serious learning", which by necessity will unconditionally feel difficult - if your training sessions aren't strenuous, then they don't drive adaptation.

It's hard to get around without marrying the SRS with something like a hierarchical skill tree whose traversal you can be made aware of, or some other visible progress metric (eg, climbing the ELO of encountered puzzles in a chess training engine).

Still: users have to get comfortable with being uncomfortable if they want to profit from these sorts of systems.

A different issue with SRS's lazer accuracy is the Pareto tradeoff between efficiency and robustness.

Re: Spaced repetition for efficient learning (2019)

#46

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 accus…

What's the name of the app? I would like to try it out!

Re: Spaced repetition for efficient learning (2019)

#47
post #8

Earlier quoted context omitted.

> 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…

Something funny is that I watched someone use my app for the first time yesterday, and she specifically requested more dark patterns. She said "you should add something that makes you want to come back like the duolingo owl looking sad". I don't know if I can bring myself to do that, but I have a feeling that I can find a way to play to my strengths rather than copy duolingo. Specifically, my advantage is that my app…

Trying your app from your profile, and the movie thing is a bit weird for two reasons - at first, I thought it was an ad when it popped up above the fold, and second, I'm seeing a bunch of horror posters, which I don't really want to see? The movie thing is 'neat' but my main reason for learning another language isn't to be able to tell people "I know 56% of the words in La Bruja"

Re: Spaced repetition for efficient learning (2019)

#48

Earlier quoted context omitted.

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…

haha, that's a great point. I need to find more ways to do that. Maybe I should put $targetlanguage songs on my playlists so I'll get happy as I'm able to recognize more and more

Some kind of game they get to play that uses the knowledge they are learning?

Re: Spaced repetition for efficient learning (2019)

#49

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 accus…

I just tried out your app for the first time. First time trying to learn Spanish. I feel exactly like the user you describe but it is because I have to click Don’t remember for 70-80% of the words.

I’ve always had difficulty remembering vocabulary. I remember cramming German in School 30 years back. We had 20 words we had to learn per week and I could sit a whole night repeating and repeating them just because they wouldn’t stick. And then in the morning they were all gone anyway. So I gather I am a bad language learner.

In your algorithm, do you assume everyone’s recall is the same or do you optimize for a recall rate which make everyone fail a certain percentage of the word? If so, knowing that I am supposed to not remember 70% would be a good reminder in the app to not feel bad.

Re: Spaced repetition for efficient learning (2019)

#50
There are three closely related reasons why spaced repetition is much less useful in practice then in theory.

1. It doesn't train real task performance. There is a spectrum of problems that people solve. On one end it is the recall of randomized facts in a flashcard prompt->answer way. On the other end is task performance, which can be more formally thought of as finding a path through a state space to reach some goal. The prompt->answer end is what SR systems relentlessly drill you at.

2. SR is pretty costly, prompt->answer problems are also low value. If you think about real world scenarios, its unlikely that you will come across a specific prompt->answer question. And if you do, the cost of looking it up is usually low.

3. The structure of knowledge stored is very different (and worse). If you think about high performance on a real world task like programming or theorem proving, you don't recall lists of facts to solve it. There's a lot about state space exploration, utilising principles of the game, leveraging known theorems, and so on.

This is a more descriptive version of the "rote memorization" argument. There's two common counters to this:

1. Learning is memorization. This is strictly true, but the prompt->answer way of learning is a specific kind of memorization. There's a correlation-causation fallacy here - high performers trained in other ways can answer prompts really well, it doesn't mean answering prompts really well means you will becoming high performing.

2. Memorization is a part of high performance, and SR is the optimal way to learn it. This is generally true, but in many cases the memorization part is often very small.

These ideas more accurately predict how SR is only significantly better in specific cases where the value of prompt-answer recall is really high. This is a function of both the cost to failing to remember and the structure of knowledge. So medical exams, where you can't look things up and is tested a lot as prompt->recalls, SR finds a lot of use.

My own guess for the what the next generation of learning systems that will be an order of magnitude more powerful will look like this:

1. Domain specific. You won't have a general system you chuck everything in. Instead you will have systems which are built differently to each task, but on the similar principles (which are explained below).

2. Computation instead of recall - the fundamental unit of "work" will shift from recalling the answer to a prompt to making a move in some state space. This can be taking a step in a proof, making a move in chess, writing a function, etc.

3. Optimise for first principles understanding of the state space. A state space is a massive, often exponential tree. Human minds cannot realistically solve anything in it, if not for our ability to find principles and generalise them to huge swaths of the state space. This is closely related to meta-cognition, you want to be thinking about solving as much has solving specific instances of a task.

4. Engineered for state space exploration - a huge and underdeveloped ability of machines is to help humans track the massive state space explorations, and evaluate and feedback to the user. The most common used form of this is currently git + testing suites. A future learning system could have a git like system to keep track of multiple branches that are possible solutions, and the UX features to evaluate various results of each branch.

Post reply on HN