Sunday, February 28, 2010

IPL: Incremental Procedural Learning

Back in my Introduction Page you will note that my intentions with this blog were to:
  1. Outline and define the basics of "procedural learning", at least in the context of SuperMemo,
  2. Distinguish and contrast between procedural and declarative learning to the point where it becomes intuitive to classify knowledge as one or the other,
  3. Present sufficiently detailed methods for intrepid learners to experiment with procedural learning themselves, and
  4. Present my own experiences this area
So far, I think I have made a good outline of an answer to the first point, and I have at least begun to get people understanding the second point. Whereas the first one can be explained (as I have done in my posts), the second one is a matter of developing a certain perspective on the material that you face. While activities such as playing music and riding a bike are clearly procedural, a much finer intuition needs to be developed in order to determine which parts of academic subjects are procedural so that they can be well-formulated in SuperMemo; for there certainly are procedural aspects to most, if not all, such subjects!.

Now however, it seems from my readers' requests and responses that they are becoming impatient with theory! So, here I am moving steadily on to the 3rd point, which is probably the one why you are all here - to learn some practical methods for applying SuperMemo to Procedural Learning! Indeed, it was necessary to set out the theory first, because from here on I will refer to terms such as "fluency", "stability" and the "variation principle" without looking back, except to refresh your memories where it seems appropriate - even though this is probably wholly unnecessary with a group of SM students!


Incremental Procedural Learning (abbreviated as "IPL") is the name I give to the method that I will expand on here. Although I have experimented with inputting items one by one, my main progress comes from IPL. And this is how it works:

For purposes of illustration, I will use an example from my study of the violin. If you are not a musician, and do not understand this example, please comment at the bottom or send an email and tell me what specific examples you would like to see:
  1. Work Backwards: Suppose I have a piece of sheet music that I wish to learn. First, I add a new topic to my "Violin" category, and type in the name of the piece I wish to learn (use Alt+T for referencing). At this stage, I need to have a fairly clear understanding of what I want the final version to sound like. For example, if I want to eventually learn to play the whole piece by memory with smooth, fast legato at 140bpm, then I would write: "crotchet at 140; smooth legato; by memory". Then, I would select that text and make it a "Link" reference, just like I made the title of my piece a reference. The reason for using "link" is because it is unlikely to be required for any other reason in procedural learning, and there are no custom options for IPL learners yet. It's just a way to make sure that these comments show up in all the children of the main topic.
  2. Make Cuts and Variations: Here we make use of the variation principle. Often, it is easier to learn a fast piece by first learning it all slowly. So, to make a variation of this sort, I can just duplicate the current element. Then I would re-write the "link" reference to say crotchet at 90 (or anything slower than 140). Then, I would highlight the new version of the link and set is as my new link (for those using SM2008, choose "just for this element"). Thus, my new link would say "crotchet at 90; smooth legato; by memory". We now have two nearly identical topics, with the only difference being the speed of the piece to be played, as specified in the "link" reference. Other possible variations are to change the rhythm, bowing style, notes, etc, etc. Alternatively, a cut could be made. For example, in the element page I could write "bar 1-10" and extract it. This would create a new topic with only those words, but with the title and link references. Just like in declarative learning, it is enough to make a single cut or variation on the element and then move on. There is no need to do anything more in this review. Make the minimum number of extracts each time you review a piece. This is more than a friendly caution! Unlike declarative extracts which can take seconds to review, procedural ones can take anywhere between 1 and 20 minutes. This will lead to overload almost immediately. Although that's ok once you're experienced, it can be disheartening at the start.
  3. Review, Perform, Process: In a couple of days, when the topic arises asking me to play bars 1-10 of the given piece, I play it through. If my playing is average, I try it again. As long as I am making constant improvement, I keep repeating the same passage over and over. If my progress is slow or stops for some reason, I make note of what the problem is so that I can make a new cut or variation. For example, if I am having trouble with the basic bowing technique in this passage I might duplicate the topic and write in the new one: "play on open strings". This makes it easier for me to focus on the hardest part of the procedure in isolation. Once I master that part, I can add all the complexity back together, slowly, slowly.
  4. Memorise: Once you can perform any particular element, exactly as it is described, it is time to lock it in for the long term. The way to do this is by transforming your topic into an item. This is done by right-clicking just outside the element window (e.g. where it says Next Repetition), and choosing Type --> Item. Then, press Ctrl+M and Enter. If you look in the Contents, you will see that your topic has indeed become an item. It has also been added to the Final Drill. This is the fate of every element in your procedural collection.
There are indeed more technicalities, especially for each specific instruments you may be learning with. However, for those that wish to begin learning music with SuperMemo: 1) Add your piece(s) as I described, 2) Make cuts & variations, and 3) When you come across any element in your procedural collection, perform it if possible. Repeat it over and over as normal, as long as you see some improvement happening. The worst trap to fall into is thinking that SuperMemo can take away the hard work!

Good luck, and tell me how it goes!

6 comments:

  1. The rubber touches the road in this article. Since I'm not a musician, I don't understand the details but the principles of the method are perfectly clear in your article!

    ReplyDelete
  2. A few questions:

    If you make cuts for a piece of music because some sections are difficult, what happens when the full piece of music shows up again but you haven't mastered the cuts yet?

    Also what happens when the interval for topics becomes too long, did you manually reset the priority or interval of the topic?

    ReplyDelete
  3. Thanks for the questions. Please note that these issues pop up with SuperMemo in general as opposed to just with procedural learning.

    With your first question, if you find the main topic returning before you have learned the extracts (i.e. cuts & variations), you can either: 1) make new extracts, 2) manually change the next review date for the topic for when you expect to be ready or, 3) manually navigate to an extract and use the opportunity to practise a simpler version of the piece. I suggest you try all of these because they are useful at different times.

    With your second question, the key is to be clear on the purpose of topics vs items in SuperMemo. Until you have processed your content into items, they will still be in the form of "topics", meaning they are not memorised. Rather, they are food for future learning. Hence, there can be no such thing as too large an interval for topics; since they have not yet been learned, they can't be forgotten!

    Hope that helps

    ReplyDelete
  4. Thanks for this blog, I still find it a useful reference when trying this method of learning.

    I was wondering about this musical example and managing items regarding bpm. For example if I have a piece I want to play at a certain speed that is beyond my current ability then I would make a variation that is at a slow bpm. Once I master it at that bpm then that changes from a topic to an item. Then would I create a duplicate topic that is 10 bpm higher for example and repeat the process until I reach the originally desired bpm.

    Does this mean that there would eventually be multiple items with these variations of bpm that would show up a few times in the future? Is practicing variations of bpm valuable even once you can play the piece at full speed?

    ReplyDelete
    Replies
    1. Thanks for your comment.

      The simple answer to your question is: Yes, it is valuable to practice variations of bpm even once you can play at full speed. This is especially important for complex pieces where full speed requires a different "mode" of playing than slow speed (i.e. different muscle tension, focus on different aspects, etc.) Obviously it would be absurd to have items at every 60 bpm, 61 bpm, etc. so the idea is to have a some "safety net" items at slow speeds in case you have to re-learn the skill of playing fast, without relearning, say, the basic finger patterns.

      Delete