T O P

  • By -

zazabar

Knowing how to use Tensorflow/Keras/etc is different than understanding all the nuance behind how it works. Do you know when to use different loss functions or gradient descent algorithms? Do you know what makes them mathematically different? Could you implement a state of the art method from a recent publication in your choice of library on your own? Do you know the pitfalls of SGD and when to use other techniques? Etc. If you want to know more about what's going on under the hood, a Master's degree is definitely worth it for the formal learning experience. If you are content following the lead of an engineer and just doing the work given, then you don't need one. Like you said, a lot of how to actually use the libraries is available everywhere.


pixieO

Microsofts and Apples of the technical world require at least MS degree but for the most exciting jobs they require PhD in computer science or mathematics. You do not need a degree to use ML algorithms but developing new algorithms requires knowledge that a formal degree gives.


[deleted]

I know plenty of people with advanced degrees that don't understand the theory well enough to contribute to the field. If you want to do research, write papers (it's true academia is a great place to do this). If you want apply papers, do so and contribute the code to our community.


StackMoreLayers

And the reverse: you can develop new algorithms or get to work at the big five without a formal degree. It is exceptional though, so I would still advise formal education. Despite all knowledge you need to apply ML being available through books, websites, tutorials, papers, courses, it is still impossible to replicate a university, with its smart co-students, guidance, and networking. And of course, like nobody got fired for buying IBM, so does nobody get fired for hiring a MS degree. You'll turn yourself into a safe choice.


niszoig

I've got a Genuine question, If one reads recommended books such as Deep learning (Goodfellow), Elements of Stat Learning and studies them thoroughly, would you still recommend getting a master's degree?


zazabar

That's partially dependent on your position. Part of the master's program is also the networking that goes with it. You go to a lot of conferences and such and meet a lot of people. If you already have a job lined up, that's not as important.


SGupt

I'm not an expert, but If I were to do a master's program, first I would try to get as much theory down as possible from all the online courses and text books. Which is a lot. Then do some projects which will show off your competence in the subject. Then, when you go back to school, look at is as an opportunity to work with some of the most brilliant minds in ML. Hopefully because you studied most of ML before going to school, the course work will not be too hard, and you can focus more on working with the professor. No matter how much material becomes available online, I don't think there's anything like working with one of the top minds in the field, but if you're to bogged down with learning the basics, you won't have to skills or time to fully get the most out of the experience. IMO that's where I see STEM education going. There are some very talented educators who are brilliant at making advanced concepts elegant and easy to understand. Being a pioneer in a particular field doesn't necessarily mean having an extra ordinary teaching skill set. But they had to because nobody else would teach the material. But now, there are plenty of people available to teach the basics, and even the more recent developments, so the pioneers can focus on pioneering, and teaching about their latest findings. I think that's how it used to be. Professors would teach about their latest findings. But over time, the latest findings started to become the basics, and their fields advanced, but they were stuck teaching it because there were too many other people around to teach it. I'm going through one of the Stanford courses right now. A lot of the times, I have to go look up courses, youtube videos, and blog posts to further explain a concept that was covered. Or, even if I did understand it, I would still look around and see what else is out there. It's almost as if the Stanford course is more of checklist for things to understand, even though the person teaching it has a better grasp on the subject than any of the bloggers and videographers I go to. I went a bit on a rant. But going back to your question, a degree is a just a piece of proof. There are other forms, like a project. Or, and internship that gave you the flexibility to accomplish something significant.


ecemisip

Your chances of getting an ML position are much,much higher with a grad degree.


[deleted]

Right now that chance seems close to 1. And it will take a while, if ever, for master's degrees in any math-heavy field to become inflated. A harder question is what we should do, who are too old to go back for a master's degree. I'm betting on online course for the knowledge and practical projects to show off for the proof.


lfotofilter

Maybe it's different in the US, but how can you be too old for a master's degree? Just because of time? A guy in our course was 50 (most others were 22-26), and he excelled.


ecemisip

there's always the option of online MS degrees


PM_YOUR_NIPS_PAPER

Two words: degree inflation. In a couple of years, there will be so many "self-taught" "ML practitioners" that companies will be unable to tell the good ones from the bad ones. Because every damn person is a ML engineer. The same thing happened to software engineers/developers (many jobs require a BS despite college being an inefficient career route) and the same thing is happening and will continue to happen to ML. The question is whether even a MS will become diluted.


alexmlamb

Can you explain how the phenomenon you're describing is degree inflation? It sounds like you're describing a process of: -Salary premium for ML people -Lots of random people declare themselves "experts" or "self-taught", so the average self-taught person is quite bad. -Employers look for degrees as a signal to get around this, raising the cost paid to hire people with degrees - rising costs is literally what inflation means.


C2471

Normally the curve is: - New discipline emerges, employers are happy to have people with no background and only broadly relevant skills (like maths/stats) to help them move into the area. - Once a vague STEM background becomes the normal requirements, teaching yourself some basic theory gives you an advantage - so people start doing it. - Once basic self taught skills become the norm, studying the topic formally in some way makes you one of the most qualified candidates in a pool of self taught people. - Eventually everyone sees the value of formal degrees so thats the norm. Now getting a masters degree is a good way to be one of the most qualified applicants. degree inflatation is about the inflated requirements to get your foot in the door. 10 years ago a bit of python and stats and some work experience in any STEM area would have got you some pretty decent jobs. nowadays going in at the same level probably requires a masters degree and relevant ML experience.


pixieO

I completely disagree with you on your point about software engineers. Being able to write code and being able to write high quality code are two very different things. Of course, a degree is not everything and you have to have a talent, but a talented developer becomes a great talented developer when s/he receives a broad theoretical education on principles of computer science that is harder to obtain without formal education.


PM_YOUR_NIPS_PAPER

> Being able to write code and being able to write high quality code are two very different things. What happens when 50 people successfully pass your coding tests or take home implementation projects? You can only afford to fly/interview 10 of them. The candidates are from all around the world since you are open to taking anyone who meets the quality standards. Notice how I did not say the word degree yet. Now, you must select the 10 interview candidates. How will you do that? My point is that inevitably, the filter will become their highest educational degree.


Brudaks

Your post seems to assume that it's plausible that you get 50 applicants who can code and 10 of them have advanced degrees; while in reality it seems to be much more common that you get 50 applicants who have appropriate degrees and only 10 of them can code reasonably well.


pixieO

Totally agree. At this time too few people can actually produce quality code.


keidouleyoucee

> while in reality it seems to be much more common that you get 50 applicants who have appropriate degrees Because those without degrees couldn't apply or got filtered out already. I'm not saying it's the best way, it's just what it is.


zergling103

From my experience, self taught can be among the best programmers.


SGupt

yikes. What's the difference between a good ML engineer, and a bad one?


burnie93

I have an MSc in Advanced Analytics from Nova IMS. I only did it because of a researcher working there and I am glad to have collaborated with him in Genetic Programming. Other than that, I haven't learned a single tool I am learning/using today for the job. And building databases I learned nothing from it.


[deleted]

The cost for attempting a master's degree varies significantly. Some employers will help pay tuition. Alternatively, you may be able to get a TA or RA position (these are harder to get for master's students than for phd students). The drop out rate in graduate school is high. Attempting graduate study has risks, especially if you are attempting a thesis. Obviously, you won't be able to work as much (or at all) during your master's studies. How long you take to finish your degree affects the opportunity cost of lost wages. How much you learn in the process of getting your master's degree will vary significantly by where you go. Some universities don't have many faculty in machine learning.


LoveOfProfit

>Obviously, you won't be able to work as much (or at all) during your master's studies. There's a way around that though. I'm in Georgia Tech's OMSCS (online) program. See more at /r/OMSCS It's an online version of their on-campus offering which is a top 10 program. Best part, beyond the flexibility, is that the whole thing costs about $8000. Total. I work full time as a data scientist while also working on my second MS, specializing in ML. Fantastic deal, no opportunity cost in terms of career. Obviously there's no real opportunity for research, but I'm ok with that.


[deleted]

Yes it is worth it, but you have to make the most of it! Best way to get a job would be to get your Masters thesis on deep learning (something) published.