open-spaced-repetition / short-term-memory-research

22 stars 1 forks source link

Some findings about the short-term memory #1

Closed L-M-Sherlock closed 11 months ago

L-M-Sherlock commented 1 year ago

@Expertium, I found that the same-day reviews have a significant impact.

image

image

image

image

image

image

image

Expertium commented 1 year ago

Interesting. Do you have any ideas how to use these findings to improve FSRS? Perhaps we can add same-day reviews to the estimation of S0?

Also, how is the benchmarking going?

L-M-Sherlock commented 1 year ago

Interesting. Do you have any ideas how to use these findings to improve FSRS?

I attempt to include the short-term reviews with float-delta-t in FSRS. But it increased w[9] (stabilization decay) drastically. In other word, the factor is very large in the early steps.The short-term memory seems to has very different stabilization process in contrast with the long-term memory.

Also, how is the benchmarking going?

It stuck. It will take 100+ hours to run the benchmark (and my computer cannot do anything else during the period). Converting FSRS from a seq-to-one model to a seq-to-seq model could speed it up. But it's not compatible with TimeSeriesSplit.

Expertium commented 1 year ago

Try to include same-day reviews in the estimation of S0. As for benchmarking, maybe it's really time to rewrite everything in Rust? Well, either that, or run the benchmark but reduce num_threads. That's what I did to be able to use my computer while the benchmark is running. It will be slower, of course, but 100-200 hours isn't as bad as I was expecting. I could do that for you, if you make the dataset downloadable.

L-M-Sherlock commented 1 year ago

OK. I'm developing a new pre-process script for the benchmark, because I need to save my disk size :). t_history and r_history will not stored in the dataset files.

Expertium commented 1 year ago

t_history and r_history will not stored in the dataset files.

Then how will the optimizer work without them? How will they be stored?

L-M-Sherlock commented 1 year ago

Then how will the optimizer work without them?

I find an efficient way to build these features from the raw data.

Vilhelm-Ian commented 12 months ago

what do the blue bubbles represent

L-M-Sherlock commented 12 months ago

https://github.com/open-spaced-repetition/short-term-memory-research/blob/6913c5685ab8a6ebb6ccc55ef67df5856e89e2df/script.py#L64

Expertium commented 12 months ago

I have an idea: maybe we could do the same thing we do for S0, but for learning steps? 1) Use only same-day reviews 2) Calculate the average stability for those, using the curve-fitting method that we use for S0 3) Output that value of S0_short_term and tell the user to use it as a learning step

This could be called "Compute optimal learning steps", a new feature.

Expertium commented 12 months ago

Using your graph as an example, here the learning step would be 7m image

Vilhelm-Ian commented 12 months ago

This could be called "Compute optimal learning steps", a new feature.

I was hoping something like this came to be

Vilhelm-Ian commented 11 months ago

@L-M-Sherlock were this finding used in the 4.5 release. What were the changes for 4.5 and are there benchmark results

L-M-Sherlock commented 11 months ago

It wasn't. I still didn't find out a clear pattern of short-term memory.