MIT 6.S191: Recurrent Neural Networks, Transformers, and Attention [video]
youtube.com
youtube.com
Why not just say the word "hysteresis" and bring some magnets to class for show-and-tell to help your students develop an intuition for the "h" parameter in RNNs.
You can think of it as everything the RNN knows about what you're doing and a thing that evolves from place to place as you go. Because it is iterated on itself as a map, it abides by some very interesting properties that let it represent some very difficult functions, though actually attaining a representation of those functions is rather difficult indeed in my experience from what I've seen.
There are one or two rather successful projects trying to keep RNNs both alive and competitive with transformers. I think they do very well on the whole, though the transformers seem to have slightly improved parameter efficiency, generally speaking.
I hope this helps you with your question, please do let me know if you have any other follow up questions on this topic/matter. (: (: :) :)
My point is that the lecturer missed a golden opportunity to give her students a natural intuition of "h" that they can see, feel and touch and that will serve them well for their entire careers.
The only thing "hidden" about "h" is that hysteresis is hidden in plain site in her lecture - maybe the lecturer did not know herself.
Neural networks have an undeserved reputation for being mysterious, and maybe that is partly due to a lack of basic physics knowledge.
How is that a definition of hysteresis?
Hysteresis is when state is a function of previous state, not identical to previous state.
The following is the lecturer's full TeX form if that helps:
h(t) = \tanh \left(h(t-1) W_{\text{hh}}^T+x(t) W_{\text{hx}}^T\right)
However, I don't want our readers to get distracted by line noise; h(t) = h(t - 1) makes my point.
cs231n is still a really solid course, despite the more recent lecture videos not being publicly available.
I also made a few repos that are geared around readability and being a good 'working code demonstration' of certain best-practices in neural networks. If you're like me and you grok code better than symbols, this could be a helpful adjunct as well if you're wanting to dig deep a bit.
https://github.com/tysam-code/hlb-CIFAR10 (convolutional networks and imaging stuff. it's fast. very fast.)
https://github.com/tysam-code/hlb-gpt (pruned-down base of nanoGPT with training-speed-focused changes built on top of it. Check out the 0.0.0 tag from the repo if you want the barest of bare-bones implementations. Thanks!)
Both of these implementations are pretty straightforward for what they do but CIFAR-10 has less dynamic scheduling and stuff so it might be easier to fit in your head. However, both are meant to be simple (and extremely hackable if you want to poke around and take apart some pieces/add different watchpoints to see how different pieces evolve, etc. I am partially inspired by, among many things, one of those see-through engine kits that I saw in a magazine growing up as a child that I thought was a very cool, dynamic, and hands-on way to just watch how the pieces moved in a difficult topic. Sometimes that is the best way that our brains can learn, though we are all different and learn best differently through different mediums in my experience).
Feel free to let me know if you have any specific questions and I'll endeavor to do my best to help you here. Welcome to an interest in the field!
I guess to briefly touch on one topic -- some people focus on the technical only first, like backprop, and though math is required heavily for more advanced research, I don't learn concepts very well through details only. Knowing that backprop is "Calculate the slope for the error in this high-dimensional space for how a neural network was wrong at a certain point, then take a tiny step towards minimizing the error. After N steps, we converge to a representation that is like a zip file of our input data within a mathematical function" is probably enough for 90-95% of the usecases you will do as a ML practitioner, if you do so. The math is cool but there are more important things to sweat over IMO, and I think messaging to the contrary raises the barrier to entry to the field and distracts from the important things, which we do not need as much. It's good to learn after you have space in your brain for it after you understand how the whole thing works together, though that is just my personal opinion after all.
Much love and care and all that and again feel free to let me know if you have any questions please. :) <3
We could always use more people sharing and spreading knowledge around like him! I hope to find a similar brand to that someday for myself, though I'm constantly growing into those boots, I think. :') <3
If you have any questions on that too feel free to let me know here and I can try to answer them. It's certainly a very interesting field! <3 :DDDD :)))) <3
It makes it hard to find and subscribe to. And also a bit weird from an ownership perspective.
For better or worse I think it's how Lex Fridman got his initial boost, I believe his personal youtube channel contained some popular MIT lectures of him at the start.
For example, I work at ETH and we have a large internal video archive of lectures (as do many universities pre- and post-covid), but some lecturers choose to post material on YouTube too. It's not a blanket yes/no policy at the institutional level, as far as I'm aware.