6 Years of Studying Machine Learning in 26 Minutes

89.34k views4125 WordsCopy TextShare
Boris Meinardus
Improve your coding efficiency for free with Codeium šŸ‘‰šŸ» https://codeium.com/?utm_source=youtube&ut...
Video Transcript:
I've been studying machine learning for the past 6 years in which I worked as an ml student researcher for over 2 years and have written my first three papers my journey started studying Computer Engineering not knowing what ml was or even that it existed to where I am now soon joining my favorite AI startup as a research scientist in this video I'll be sharing my experience over these six years and explain what I did each year to get where I am now things like what to expect for the first few years what I did to
get my first ml student roles and most importantly what you should be avoiding and trust me there's a lot okay before we get to years 1 and two how did I get into Tech well young Boris liked physics and math in high school and thought hm with physics you can't really make money so I need to do engineering I.E applied physics building a robot would be really cool but then I also need to know how to program the robot to make it do the stuff I wanted to do at that time I didn't know Ai
and ml existed but those were my thoughts those led me to studying Computer Engineering at the TU Berlin the first two years were really tough of course I had to take the standard courses like linear algebra 1 Calculus 1 and two and a course on differential equations luckily I genuinely enjoy learning math but that doesn't mean it was easy for me in the beginning it all doesn't make much sense and you don't know why you are learning all these mathematical formulas and Abstract Concepts but I promise you at some point most of them will make
sense and you will learn to appreciate and make use of them especially when learning ml the basics of these math skills will be the fundamentals you will later need for ML and give you an intuition for how to look at ml models in a mathematical sense but back then again I didn't even know AI existed I had a lot of electrical engineering and even some Physics courses those were more tough but I also had my first computer science courses and learned how to code in C yes in C that's right remember I was a computer
engineering major so my program was designed for low-level coding and electrical engineering but I still had the standard courses on data structures and algorithms in Java and also a course on theoretical computer science all that is pretty much the standard things you learn when getting into computer science related programs some CS Theory and a lot of coding luckily coding is much easier nowadays with a cool coding assistance out there a tool I cannot live without anymore you have probably heard about GitHub co-pilot but what if you want to use a tool that has pretty much
the same features but you could use it for free as an individual well that's where today's sponsor comes into play codium you can very easily install it in any of your favorite IDs and then simply hit command plus I and type in what you wanted to do the cool thing is it can not only refactor and explain existing code but it also uses a lot of context from your entire project to figure out how to write the most appropriate functions using different apis spread out throughout your code base it looks at your open tabs and
even the entire git Repro you can even go beyond that and add links to other files and Repros to use those as context as well so to improve your coding efficiency use codium for free forever using my link in the description below no strings attached just an amazing free product but now let's get back to what I did besides normal college courses Landing my first student researcher job at an optical physics lab about 6 months into my first year I wanted to somehow boost my resume earn some money to survive college and also just learn
more stuff I then saw this listing at a research institute directly next to my uni and applied it was honestly quite surprising that they invited me to an interview because I literally had not much to offer except basic programming skills but I guess for the job I was supposed to do it was enough I was responsible for running a lot of experiments with Optical fibers and doing measurements when starting a new job or project the learning curve will likely be very steep which is amazing I learned a lot but if you do the same measurements
for over one and a half years the learning curve plateaus and the job becomes boring in total I stayed at this job for 3 years and this learning curve was completely flat after perhaps 8 to 9 months if not less and this was a big mistake I really should have at least changed to a different team at this Research Institute after a year but I was quite exhausted for these first two years I slept 6 hours at night didn't do much Sports and just worked a lot which is normal I don't want to PL I
had a lot of fun in fact I am happy and proud I did all that but yeah all of this happened in my first two years of uni most importantly I learned the basics of math and computer science and worked as a student researcher all of which helped me with studying machine learning without even knowing ml existed I finally got into the third year semesters five and six where I could choose some of my courses myself this fifth semester is where I saw that AI courses existed at my uni and is where I chose my
very first AI course this is where the ml Journey really started that said this AI course was split into two parts the first one was about old school AI not machine learning yes AI does not necessarily mean ml if you have an algorithm with a set of rules to make decisions it's effectively AI I learned about things like the strips method looking back it's not that exciting honestly but that is where I started and back then I thought it was decently cool but the second half of this course was really cool the second half was
about reinforcement learning which in retrospect is a weird start into ml learning about RL before even knowing what a newal network was but maybe this is a good way to show you that it does not really matter how you start if you keep going you will learn all the fundamentals anyway just in a different order perhaps but I would still not recommend it if you have the option to choose but you know you you get the point anyway I learned about things like Bandit Theory Monte Carlo research marof decision processes and finally RL algorithms like
Q learning so in my fifth semester 2 and a half years into college there was still not that much ml but these RL lectures really got me interested in ml and especially RL that's why I wanted to do my bachelor thesis in RL which is what I did in my sixth semester I worked on deep reinforcement learning for autonomous robotic navigation this was a complete cold start into deep learning I didn't even know what a new network was I had to learn all of that on my own through YouTube videos even worse in the beginning
I struggled a lot to even get the hardware set up and when I reached out to my supervisor for help he said he thought I might not be ready for this thesis and I had two weeks to prove him otherwise and if I failed he would have to drop the thesis with me which would have been so bad the semester had already started and then I would have to look for a completely new one but I pushed through and made it this thesis project was a lot of work a lot of engineering work and no
real training itself since the thesis was more on the deployment side of DRL agents than the training side nevertheless I still learned a lot of core coding skills like debugging and did get to learn pyo for the first time so my final Bachelor year was still a slow step into the world of ml but a very firm one one that set the path to going all in on ML which is why I then switched to a pure computer science master so my fourth year began and I went all in on ML I selected only ml
courses and projects but this of course came with a lot of challenges in my first graduate semester I pretty much had one big course and one big project for the project I continued to work on the same team for autonomous robotic navigation that I worked with during my bachelor thesis the project was still more of an engineering effort because we built a benchmarking suite for autonomous robots which again came with a lot of failing and debugging but this time I could focus a lot more on training our own agents using pytorch and had to start
reading papers to learn things like Po of course the beginning of reading papers is always a bit tough because you have to get used to the lingo but I felt so cool I felt like a real scientist the really cool thing was that later that year we actually published this work to one of the two best robotics conferences iros that was so huge for me it was my first ml paper and it was even published at a top conference now alongside this project I had my first real ml course I learned all the basics of
classical machine learning for example what is supervised learning unsupervised learning what is the bias variance trade-off what are methods like linear regression decision trees support Vector machines K means PCA boosting and Ensemble learning and I learned about all the basics of new networks like what loss functions grade and descent back propagation and regularization are alongside each lecture there were of course practical homework assignments to implement the ideas we learned during the lecture and those were again using py do now besides uni I still had this boring physics lab job at this point I was working
there for two to two and a half years already but the cool thing was the research institute I worked at also had an AI department so I wanted to internally switch teams I applied got an interview and was rejected I mean I get it I was just starting my first real ml course and had no theoretical knowledge of any of the ml fundamentals so I tried again half a year later after completing the ml course and having gathered more basic pyto experience and then actually did get the job what an amazing start to my second
graduate semester my second half of my fourth year I started my work as an applied scientist student researcher in the ml Department I again had a steep learning curve and was so excited to get to work these first six months I started working on a lot of data engineering mainly using pandas which I have never used before I learned a lot there and at Uni I also focused on Purely practical learning I took two project courses I again continueed to work on this robotics project but at this point I felt a bit more of a
fatigue working on the project it wasn't that exciting anymore but it still was a lot of work and my learning curve PL toed but I contined to work on it because I hoped for another paper nevertheless I started to look at other cool ml domains and took another project course a project on computer vision for medical image analysis this was my first computer vision project and I had to detect anisms in 3D images of the brain it was really cool but I have never dealt with computer vision before and had never learned what a convolutional
new network was so the learning curve was again very steep I had to learn all of that knowledge Myself by watching YouTube videos and reading more papers in the end the final project was not the worst but also not the best either at least looking back at it now and I think this is a good thing if you are looking back at Old projects and think they are bad and and perhaps even cringing because you would have done things differently with your current knowledge then you have gotten better so yeah this year was packed with
all the ml I could fit in most of it was actually working on ML projects and only taking one ml lecture but a really important one so far it was quite straightforward but in my next year I had to make some important decisions now uni continued as usual but career-wise I had to make those important decisions in my third graduate semester I again took one lecture course and two more projects I took my first actual deep learning course which had a decent overlap with my first ml course I again learned about the same fundamentals of
new networks but now also had lectures on cnns recurrent new networks Auto encoders and a bit of explainable AI so nothing too crazy right at this point I am really into AI myself and I started watching paper review videos on YouTube and reading random papers on my own perhaps because this course didn't have too much new stuff and my job didn't teach me much theoretical content as well but anyway this habit of reading papers and learning stuff on my own are things I still do to this day and that I I genuinely enjoy so besides
this deep learning lecture I once again worked on this robotics project and I have to say working on it this semester just wasn't necessary it was really not that interesting anymore and I really just wanted to learn new stuff but I was still hoping for a paper which in the end was never successfully published now my second project course this semester on the other hand was again about reinforcement learning but was amazing I had to thoroughly read a paper and actually reimplement it and reproduce its results which was a lot of fun I often say
it and I'll say it again reimplementing a paper and recreating its results is one of my favorite projects to recommend I even wrote a blog post about it and submitted it to a top ml conferences blog post track but I didn't really know how the process worked back then and I did get my reviews but never received an email telling me that they were released so when I randomly checked I saw the reviews and that I never responded to them thus the article was rejected from the icr blog post track nevertheless the project taught me
a lot and at this point I was pretty confident I wanted to become a top ml researcher and this goal meant for me I needed to strive for the best companies my job at that time as a student researcher was not completely plateauing but also not the best anymore we started doing research on graph newal networks but for over a year now we were still stuck with a lot of the same boring data engineering and feature engineering I effectively didn't really learn anything new that's why I wanted to find a new job and not make
the same mistake as before where I stayed for three years at the same job so I applied to dozens of top ml internships and I actually got invited to an interview for a applied science internship at Amazon that was my first real Tech interview it was really exciting except that I failed miserably the more frustrating part was that the questions were really not that hard it was a rapid fire basic ml questions interview they were literally asking about the content of my first ml course I mentioned before the one I completed not even a year
ago but well life goes on and I got another interview at a cool startup called nuro this time it was for an ml engineering internship and the first interview round was a coding interview again something completely new to me I prepared using lead code but when I saw a blank code in canvas and no pre-existing code where just just had to fill in an algorithm I was so scared I failed miserably again well the applications weren't going so well I simply didn't get many more interviews so I changed my Approach I directly reached out to
a Google Deep Mind researcher I found interesting and asked for an internship and he got back to me we had an interview call where I felt it went decently well but I got rejected I was done with looking for internships and focused on finding a new job as a student researcher where I could also do my Master's thesis I decided I had enough of reinforcement learning and found computer vision really cool but then I thought how cool would it be if you could talk to an AI about images or even videos well that's where I
decided multimodal learning was really cool but at my University there was a problem there were no professors working on multimode learning and pretty much all of the professors were how do I say it a bit more old school and not that much into the new stuff there definitely were one or two don't get me wrong but they just weren't into something really similar to multimod learning so I looked outside of my uni tiim I wanted to look for a professor that was a bit more active and ambitious I read multimode learning papers and looked at
the authors I then Googled them to see if they could be an option as an adviser for my research and thesis and then I found the perfect Professor he was young was just about to start as a professor and before that he was a postor at UC Berkeley and a researcher at meta and he worked on multimodal learning he was everything I was looking for long story short I am so happy to have gotten the job and started to work with him later in my final year I still had my goal of getting to Big
Tech but there are these nice sayings Rome wasn't built in a day and all roads lead to Rome I.E everything takes time and there are multiple ways to get where you want to get so all in all this semester besides this career hassle I just did a lot of coding at my job for the robotics project and for this RL paper reimplementation but this was still just the first half of my fifth year my second half was not that eventful since I failed all my applications for summer internships I was still doing my best to
learn stuff at my at the time current job otherwise not much interesting stuff happening there and at Uni I really focused on computer vision I took a course on automatic image analysis and another seminar course on deep learning for computer vision where I had to read several papers on self-supervised learning and presented them to the group that was so much fun I just really enjoy reading papers I even made my presentation into a mini YouTube series on self-supervised learning but besides those two courses I took my second General deep learning course this one was finally
a bit more advanced I learned about things like representation learning self-supervised learning Transformers Gans diffusion models graph new networks and even neural ordinary differential equations and finally I also did another computer vision project course where I wrote a paper/ techical report on so there was way more theoretical content this semester but still a practical project now you might have noticed that this semester usually should have been my final semester usually the Masters would end after 2 years but I had actively decided to give myself one more year mainly to have one semester for an internship
and one more for my thesis so this semester was my last one with courses and since I didn't get an internship I had one more entire year to focus on doing research with my new professor and then completing my Master's thesis and that is what I did in my final year I was finally done with uni at least it felt like that because I had no more exams I started working as a student researcher with this cool professor and started doing research on multimodal learning specifically video moment retrieval I read a lot of papers developed
a model that achieved new state-of-the-art performance on the benchmarks I evaluated on and wrote a paper on it in a very short time I even submitted the paper to a top conference and I'm telling you those were some stressful weeks but it still recently got rejected and to be honest I probably understand why I rushed it because we chose a deadline that was simply way too close I should have taken more time and just submitted it to a later conference so that the paper was overall more solid although it was annoying I will continue to
improve this work and soon submitted to another conference then I remembered that I'm still in my final year I still need to actually complete my degree LOL that's why I'm currently still in the process of finishing to write my thesis and handing it in but since this is my final year I also had to think of what comes next I thought to myself either I skip the PHD and become a researcher at a top lab or I do my PhD D I mean How likely was it to skip the PHD the cool thing was I
already had an offer from my professor for the PHD position and I was very happy to accept it nevertheless I still want to try out applying to two companies as a research scientist one was deep mind and although I thought my chances were in fact decent because I had exactly the combination of different experiences that they were looking for I got rejected but besides deep mind I applied for another really cool AI startup my favorite one to be precise I knew I wouldn't even get invited to an interview but one evening I was like why
not they won't invite me anyway but you probably already know where I'm going with this they did invite me and I was shocked the application process was quite tough and I wanted to really give it my all and see if I am good enough for them and well long story short I did get an offer and will work for them starting in a few months at the time of this recording once I start my work I will announce which company it is don't worry I just want to make it cool because for me it is
a big thing but yeah anyway throughout all these years there was a lot of struggling but also some occasional successes I quickly learned that the important thing is to keep moving think some people get to where I am now in less time and some in more but that doesn't matter what matters is that you try to improve every day by 1% overall enjoy what you do and that you are proud of what you do nevertheless there are many mistakes you can avoid and not waste any time on if you simply know what they are that's
why you might want to watch this video next I there share seven common mistakes beginner ml students make every year happy learning and bye-bye
Copyright Ā© 2024. Made with ā™„ in London by YTScribe.com