Before I ever started programming, artificial intelligence was something that always intrigued me. I remember learning about Deep Blue and more recently, AlphaGo, both of which were programs notable for defeating the best players in their respective board games: Chess and Go. One statement regarding AlphaGo that stood out to me revolved around the fact that the program basically taught itself how to play.
That seems pretty intuitive now, given that it’s not remotely reasonable for programmers to provide decision instructions based on every combination of game states. It stills seemed like magic, though.
Fast forward several years and now that I’m learning to program, learning more about artificial intelligence becomes more approachable. This is especially true now given that machine learning in particular has had a spike in popularity. It’s hard not to be aware of the prevalence of AI in our world: cars being able to drive themselves relatively well, voice assistants on phones, programs to aid in protein folding algorithms, and the list goes on and on.
My capstone project involves creating a program that can predict a song’s genre given its audio file. One reason I wanted to be apart of this project is to be able to implement machine learning at least at some level. The other reason is because I like music. While I haven’t yet written code for any deep learning models just yet, I’ve spent time reading about deep learning in particular as a primer. Seeing some of the components making up machine learning models has been interesting. Unsurprisingly, they don’t use magic – it’s just math.