Home Creators Posts Import Register Favorites Logout

Content

Hello Good Humans! Here are some tiny updates.

1. VIM Live rescheduled to Thursday this week, same 5pm western as usual.

2. Learning Fun Time

It's been looking increasingly likely that at least some aspect of what I do in the future will involve AI and machine learning, whether directly or indirectly (I suppose that you could say the same for all of us... we're all pretty much surrounded by THE ALGORITHMS already). 

I feel like I have a pretty good intuitive understanding of deep learning etc cuz math, but I realized it'd probably be useful to know how to actually do the thing, if only to test my understanding. 

So I started taking an online class for machine learning in python, partly to learn the thing and also to get some first-hand experience with the whole online class thing, seeing as my future path probably at least somewhat involves online education. 

Then remembered I had no idea how to use all the libraries and methods and do programming environment and file management things, and so I started taking a data science python class that teaches how to use some of the common libraries for data stuff. 

This class soon made me remember that I haven't actually done any programming in python (mathematician problems: I generalized and assumed I know all programming languages, which turns out not to be true) so I started an intro python class. 

And then I remembered that my brain is no longer the finely honed machine it was when I was younger, that can instantly memorize all things and never forget them. These days even functions I use frequently will instantly leak out of my brain and I have to look them up every single time. 

So I finally took Michael Nielsen's advice to "make memory a choice, rather than a haphazard event to be left to chance" by trying out Anki, which is a spaced-repetition flashcard program where you just write a question and answer for the thing you want to remember (for example, the keyboard shortcut to run a python program cell in a Jupyter notebook).

If making flashcards all day doesn't sound inspiring to you, Michael's article may change your mind: http://augmentingcognition.com/ltm.html 

Anyway, a pile of flashcards later (oh I have SO MANY things to say about flashcards, and cards in general), I completed the intro python course. Then back to the intro data science python class, which I've now almost finished. And I figured I could use more background on other python math stuff, and it's pretty easy to end up taking a million courses at once at various speeds.

In retrospect, it's strange that online courses are still so focused on linear sets of courses the way physical classes need to be. When the material is self-paced and always available, why not pick the goal first, and when you get stuck on something, then branch out to the prerequisites, and so on? 

The standard focus on always moving forward, always progressing, always in order, keeps people from going back when they need to, taking the time to solidify foundations. Standard education makes every bit of information an obstacle to get past as quickly as possible. Shallow knowledge, contextless knowledge, just enough to pass a test, then forget it all and go to the next thing in the queue, until the weak foundation makes it impossible to move forward. 

When moving forward is the only societally accepted option, lack of progress leads to giving up.

No! There's a better way! A way to organize learning that lets us dip our fingers into the best pies, and then go back to eating our dinner, and then a salad if that helps.

Also, learning stuff is super fun and I am really enjoying it!

3. mini-rant of the week

(If you're interested, the intro python course was this one, which I particularly wanted to do to learn how use Jupyter notebooks. I have a whole thing about notebooks I'll talk about sometime. Anyway I liked this particular course (over some others I've tried) because the extensive notes and programming examples in notebook form make the videos unnecessary, so you can focus on interactively actually programming the examples, and skim through the parts you don't need. Some other courses did the opposite, having almost nothing written down and everything in a video of slides with stilted narration that says "note the example shown" so even the transcript is useless. I am all for the right educational video at the right time, but most online course videos exist for zero reason other than to be like "it's a video! online learning! we are so modern unlike those text-based learning things! videoooo! disruptive technology! we're the future, fund us!" and I am SO OVER it. TEXT IS NOT OBSOLETE. AAAAAH.)

4. book of the week

I am currently reading Jaron Lanier's Dawn of the New Everything: Encounters with Reality and Virtual Reality, which has a lot that resonates with me, and many interesting tidbits about the history of virtual reality. All of you VR/AR/XR folks might consider reading it.

Also here is a great quote: "Be tactically pessimistic and strategically optimistic."

5. what next?

I'll be gone the next couple days doing an important business, and then this weekend I'm taking another tiny trip to the bay. Next week I'll be spending a lot of time preparing for the Big November Trip Of Talking To Many Humans. Life is very exciting right now with many potential twists and turns!

Any suggestions on learning resources for my learns? Interesting things up in the world? Thinks to think?

Vi

Comments

Kenny Tilton

So cool to have you in the geek neighborhood! (Again, I know you have done this before.) Tip #1 is...memorizing? I am not a Pythonista, but I am hoping there is some dedicated IDE or sth that includes a built in reference reached via single keychord. If you do not know for what you are looking, there should be fuzzy search or, to hell with it, just ask Google and pick the most likely looking StackOverflow question. One in the past few years.

Kenny Tilton

As a proper language snob I would sniff at Python but I gather it has the best libraries, I suppose because of Mother Google (not that GvR is not the Daddy). But keep an eye out for Common Lisp, or Clojure which will have easy interop with Java AI libraries, which ISTR also rock for AI.

Kenny Tilton

And I would love if you figured out how to leverage the Alpha Zero paper to do what they did. The Leela engine has picked up on that (AZ has moved on to tasks unknown) and is shocking the Chess world with winning approaches never before recognized, all by simply playing itself with zero instruction from Chess experts. It honestly looks at 0.1% of the positions as the brute force engines examine, using what can only be considered intuition evokved from untutored play. Tres exciting.

David A Smith

Don't forget this one: <a href="https://www.amazon.com/s/?ie=UTF8&keywords=neal+stephenson+the+diamond+age&tag=googhydr-20&index=aps&hvadid=241935400022&hvpos=1t1&hvnetw=g&hvrand=1708754416808894340&hvpone=&hvptwo=&hvqmt=e&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=9032151&hvtargid=kwd-299948381214&ref=pd_sl_4z84ialqjc_e_p38" rel="nofollow noopener" target="_blank">https://www.amazon.com/s/?ie=UTF8&keywords=neal+stephenson+the+diamond+age&tag=googhydr-20&index=aps&hvadid=241935400022&hvpos=1t1&hvnetw=g&hvrand=1708754416808894340&hvpone=&hvptwo=&hvqmt=e&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=9032151&hvtargid=kwd-299948381214&ref=pd_sl_4z84ialqjc_e_p38</a>

vihart

I have read it! You know, I've seen a lot of folks use it as AI inspiration while forgetting the major plot point of real human caring being fundamental to learning.

David A Smith

Indeed. There really wasn't an AI in the box. A reverse Turing test.

Rajat Tibrewal

I really like the idea of a course which does not progress in a straight line but instead has branches like a tree which you may dabble into as you see fit to increase your understanding of sub-areas. The goal is still to walk down the trunk of the tree, but the branches help you strengthen your base or even specialize in areas which really catch your fancy. I have not seen anyone organize a course in this way -- it would be so cool to see online courses organized as such! PS: You may find this ML crash course useful: <a href="https://developers.google.com/machine-learning/crash-course/" rel="nofollow noopener" target="_blank">https://developers.google.com/machine-learning/crash-course/</a>

vihart

Oh hey, it's Peter Norvig! Looks like a fun course.

Edan Maor

If you're looking to learn Deep Learning specifically (which you probably will want to at some point), then there's one course I highly, highly recommend: The Fast AI Deep Learning Course. <a href="http://www.fast.ai/" rel="nofollow noopener" target="_blank">http://www.fast.ai/</a> (Bonus - it looks like their regular ol' Machine Learning course is also up). They have a very specific teaching philosophy as well, which you may like (and will probably like that they *have* a teaching philosophy) - they're all about application first, theory second. They really want their students to be first playing with actual applications of machine learning, solving actual real-world problems, and only after to be faced with understanding how it all works. Anyway, I highly, highly recommend them and their work.

Nathan Rose

Warning you in advance - most classes/books on Deep Learning are 98% background maths, which is unnecessary because that stuff is all handled by the libraries, and 2% guidelines on how to actually design and use the networks. And most of that 2% boils down to 'We don't know what works so we use a lot of computer processing power to try *everything*'.

Steve

I don't care for the contradiction in the quote, "Be tactically pessimistic and strategically optimistic." Only an optimist, believing something better is possible, can ever really improve things. I get the point of the quote, but for me being a "constructively dissatisfied optimist" would be a better way to make that point. Doubt is an ally of progress to be sure, though not doubt that improvement is possible i.e. pessimism. Both components - the belief that a thing can be better and the skepticism that seeks obscure opportunities - are necessary. Therefore, let's strive to be constructively dissatisfied optimists. :))

Rajat Tibrewal

I was just mulling over this and couldn't wait to share it - what if an online course could be designed which could automatically try and understand specific weaknesses that a student has and adapt the course content to include more in-depth explanations and exercises to beef them up? It would be hard to get it right, and content creation would take forever, but what if it worked? It would be so fulfilling!

vihart

Ooh, I'll check it out! I love their tagline "Making neural nets uncool again"

vihart

Interesting! One of the first thing I tried in notebooks was whether it would let you execute code cells out of order in ways that break the program, and I was surprised that it does. I also didn't realize that apparently teaching beginners with notebooks is common, or that apparently a lot of data science people use them exclusively and as a final product rather than as a... well, notebook.

Edan Maor

Yep, they really push the idea that this material can be taught to anyone, and it doesn't need to be only for PHD students in CS. It's also really worth reading their blog - Rachel Thomas blogs a lot there about their teaching philosophy, and other very interesting things.