Jeremy has talked about the importance of learning the Greek letters so that you can better understand papers, but I haven’t seen any resources for doing that, so I made an Anki flashcard deck that contains the Unicode and LaTeX representations of the Greek letters most commonly used in science and math, along with audio, english pronunciation, and notes on what each symbol is typically used for in ML papers.
I am very new to reading papers, so there are almost no notes on usage, but I’ll go back over time and add notes as I learn, and I hope some more experienced practitioners can also help us to crowdsource it.
Deck is available here: Greek Letters Flashcards
Github here: Greek Letters Github - Github repo contains the audio, images, and deck in case someone wants to use them to make their own teaching tool.
I did catch one bug, turns out I had both upper and lowercase gamma labeled as lowercase. Fixed now, for anyone already using it, it may sync, if not, please change . to say lowercase (top right, edit note)
I’ll also use this time to go into Anki a bit with a few tips for people who haven’t used it. It’s a spaced memory repetition system that uses your feedback on each individual card (if you found it easy/good/hard) to predict the optimal time to show it to you next. The interface for making cards is clunky and has a learning curve but using it is easy, it is free/open-source (on android and desktop, they charge a lot for iOS).
One feature I’d recommend is “suspend card” (also in top right corner), for cards you already know. For instance, I’m pretty sure everyone here can name…
This is such a happy coincidence! My colleague introduced me to Anki yesterday. I went to the website to check it out and noticed a comment from Michael Nielsen. I thought “that can’t possibly be the Michael Nielsen” but clicked on it anyway, and it really was him!
For example, he talks about he use Anki to do shallow reads papers or read a research paper in an unfamiliar field, etc. He has section about how to/not-to use Anki etc.
I am excited to try it out
Funnily enough, it took me almost 30 minutes before it hit me that the name Anki probably came from a Japanese word 暗記(あんき) which means “memorize”
I’ve spent hours taking notes, but I felt like I am not actually committing things to my brain. So for part 2, I am thinking of experimenting by putting ideas and knowledges you shared in the class and from papers I read into Anki and see how that works.
Even if that doesn’t work, I can definitely use it to memorize Jupyter Notebook shortcuts or Vim commands that I always have to look up.
It is definitely best for languages, especially the ability to include audio/images. As for other topics, I use it for a variety of things, generally for stuff that I want to remember, but I encounter infrequently enough to learn it through practice as Jeremy suggests. I’ve tried it for python, and still use it, but don’t think it’s optimal as the stuff that’s really important will stick because you’re using it, and the stuff you’re not using, you probably don’t need to know.
Some random things I’ve used it for…
English Vocab (I’m a native speaker) - When I encounter a word I don’t know, I add it to a list. Every few weeks I take that list and make a batch of flashcards.
Friend’s Birthdays - I stopped spending time on facebook, so I wanted to actually remember when people I cared about had a birthday, so I scanned facebook and copied the birthdays of people I would reach out to and threw them in a simple deck.
Countries on a map - This one is pretty fun, and now when I hear international news I have a lot more context.
Also I was considering making one for Jupyter shortcuts as they’ve been really helpful to me. I think it might be better though to make an interactive Jupyter notebook that highlights them from most useful to least useful, so people can choose their ideal stopping point. Once you’re introduced to them and know they exist, it becomes pretty easy to learn them in notebook as you code. It’s just that most people are overwhelmed because when you pull up the help menu, you get a huge wall of commands and things like ctrl-shift-p for opening the command palette (useless imo) are given equal weight to stuff like A and B for insert above/below (indispensible time savers).
Certainly. I write code for living and knowing your editor really really well (whether that being Jupyter Notebook, vim, VS Code, or whatever) saves you so much time. I always discover some cool new tricks when I am watching somebody use the editor I use. So knowing what’s there would definitely be helpful.
Wow such an coincidence ! I have just discovered Anki last week. I found myself really fit with the spaced repetition technique. I use it now to learn French. It has been 5 years already that I live in France but can not communicate naturally. But this app give me again motivation to learn it more carefully.
I can really recommend Anki and use it with selfmade and available cards (although I would recommend, like Michael Nielson, to create them yourself to make it even more stick).
I am using spaced repetition for 8 months now and it was very helpful for getting started with python and deep learning. With spaced repetition it really sticks.
Hi Hiromi,
I adore your notes for Jeremi’s lectures!
I think everyone must be saying something similar but honestly, your notes helped me so much!
and it is absolutely brilliant idea that you published them on GitHub for all of us to fork and have chance to help too…
Yes, I was introduced to Anki just yesterday, It’s fantastic! and thank you very much for the link to Michael Nielsen.
The idea is not new though, some years ago I used another software that was controlling automatically gaps in between repetitions… using elaborated (and patented? method). I thought forgot the name without chance to recover, but yes! found it!: https://en.wikipedia.org/wiki/SuperMemo
The method, or algorithm for calculating gaps is not so much important today, I think (btw, have you read Bitter Lesson?www.incompleteideas.net/IncIdeas/BitterLesson.html); I think it is exactly what should be determined by some deep learning method;
adjusting automatically the choice of flash cards and gaps in order to maximise level of memorisation (and maybe understanding? or even assimilating the learned stuff with the existing knowledge of the user?!)
When talking about applying DL: very beneficial might be automatic summarisation of a paragraph in order to help creating flash cards for Anki out of the lecture text or just from pages in a browser (or even something saved in the Pocket).
And yes, it crossed my mind instantly how powerful tool it might be for working on research papers…
Another idea that naturally appears when thinking about such a system is the “text augmentation” of the flash cards in order to make memorising information grammar/vocabulary-agnostic. It can be achieved by using automatic translating algorithms to French and back to English :-). Obviously augmentation should not touch new terminology, the object of memorising.
Anki = “memorize”… yes, but what do you think about association with Ananke?
she was quite a powerful deity and time and fate is mysteriously connected with the Memory.
I echo the thanks for the great notes you put together!
I’ve assembled them into a Word doc and added a table of contents. The reason I did this is that I sometimes can’t remember where Jeremy mentioned some subject or other; instead of having to go through each lesson, I can just search for the term and quickly find which lesson it’s in. I’ve created a local branch called worddoc and can create a PR in the github repo – but maybe you have to designate me as a contributor?