Live data from Hacker News

Ask HN: How can a front-end developer dive into machine learning?

news.ycombinator.com

31–40 of 154 posts

Re: Ask HN: How can a front-end developer dive into machine learning?

#31

Hey honest question. I have worked with ai and nlp guys. How i have seen this works out: there is a problem x. They get the best most recent respected research on the problem x. They implement it most of the time it's on (github). If it doesn't solve the problem at hand they shrug their shoulders and say something like "it is the standford nlp parser can't do better than that!" the concept "getting into ai" - I am co…

Stanford parser is very good for preprocessing data. Things like part of speech tagging, named entity recognition, and dependency parsing. If you want to do something fun and interesting with your data, you will probably need to implement it yourself. Note, there are lots of other go-to tools nowadays besides the Stanford parser. Things like GloVe embeddings, open source translation systems (harvardseq2seq, open source sentence encoders (facebook fasttext) are probably necessary in many NLP pipelines.

When things "just work" with off the shelf tools then you probably don't need the researcher (although sometimes you will need them to just find the right solution/tool). When things don't work, you will need them. I guess this can be said about many fields though? (Databases, front end development, etc)

Re: Ask HN: How can a front-end developer dive into machine learning?

#32
I'm about a year into a transition from traditional software dev / engineering leadership to ML / robotics engineering, starting with 6 months off of personal study and now continuing study while on the job as a research engineer. I wrote about my experience and give advice on how to approach learning ML here:

http://karlrosaen.com/ml/

Re: Ask HN: How can a front-end developer dive into machine learning?

#33
I did Udacity's Deep Learning and Machine Learning courses and found them to be a really great introduction, and enough for me to continue on my own. I'm not a front-end dev, but also definitely not a mathematician or computer scientist. You should be able to learn enough to do some cool stuff.

- Make sure you know Python well - pretty much everything interesting in ML is in Python. If you already know JS this shouldn't be too difficult.

- Learn you some classic ML using scikit-learn and some online course.

- Learn Deep Learning using TensorFlow, Keras and/or PyTorch with one of the online courses.

- Get in the habit of reading new papers in ML (which are out on a daily basis) and replicating the results.

- Start working on some cool, original stuff.

Re: Ask HN: How can a front-end developer dive into machine learning?

#34
Your question says "utilize" machine learning. I was in the same position. It struck me that rather than go off and try to catch up with half a century's research, and contribute nothing, I'd be better off utilizing machine learning in my front-end work.

So I have started using IBM's Watson platform, and some of Google's AI tools. I was specifically interested in speech processing applications (I have some background in signal processing and audio, which helps a little), and I've found the Watson stuff particularly useful.

At the end of the day, if depends on your motivation. If you really want to become a true expert, stop reading this and start studying. Otherwise, I think there does exist a significant "gap in the market", as it were, to build useful front ends to these technologies, which currently exist as raw APIs.

In terms of career prospects, I have already met several Watson consultants, who do exactly that, and charge top dollar for it. The plain fact is, it doesn't take very much to be considered an AI "expert" in the current climate. And you're probably more likely to get there quickly by standing on the shoulders of giants than by dedicating your life to a PhD.

Re: Ask HN: How can a front-end developer dive into machine learning?

#35
have not finish it but it seems good, you could check it out, this tutorial uses processing for teaching neural networks and it relays on processing's graphic feedback to visualize what is happening https://medium.com/typeme/lets-code-a-neural-network-from-sc...

Re: Ask HN: How can a front-end developer dive into machine learning?

#36

In Feb 2015 I quit my job as a front end developer to learn more about machine learning. First, I went through the Recurse Center, which is a 3 month program sort of like a writing retreat for programmers. I learned a lot about Python and AWS in that time, and got an internship as a data engineer. In that Fall, I started a computer science master's. I've taken mostly courses in machine learning including: Machine Lea…

Was your undergrad in computer science or did you 'hop' into the masters?

Re: Ask HN: How can a front-end developer dive into machine learning?

#37

In Feb 2015 I quit my job as a front end developer to learn more about machine learning. First, I went through the Recurse Center, which is a 3 month program sort of like a writing retreat for programmers. I learned a lot about Python and AWS in that time, and got an internship as a data engineer. In that Fall, I started a computer science master's. I've taken mostly courses in machine learning including: Machine Lea…

Was your undergrad in computer science or did you 'hop' into the masters?

My undergrad was in computer science, although I would say this wasn't the case for most of my classmates. There were a lot of students from other engineering fields (like Mech E or civil), Math, Stats, physics, bio, and business.

Re: Ask HN: How can a front-end developer dive into machine learning?

#38
post #34

Your question says "utilize" machine learning. I was in the same position. It struck me that rather than go off and try to catch up with half a century's research, and contribute nothing, I'd be better off utilizing machine learning in my front-end work. So I have started using IBM's Watson platform, and some of Google's AI tools. I was specifically interested in speech processing applications (I have some background…

I have no clue about Watson and Machine Learning, I mean I've talked to people and quickly glanced at the platforms. But in terms of the speech processing, does that not require any back-end at all? I'm assuming your using the browsers API to capture sound and then passing this off to Watson in some back-end method to analyze? Or can this seriously be done all fron-end? Pretty amazing if so.

Re: Ask HN: How can a front-end developer dive into machine learning?

#40

Hey honest question. I have worked with ai and nlp guys. How i have seen this works out: there is a problem x. They get the best most recent respected research on the problem x. They implement it most of the time it's on (github). If it doesn't solve the problem at hand they shrug their shoulders and say something like "it is the standford nlp parser can't do better than that!" the concept "getting into ai" - I am co…

So I have been doing what I shall call applied machine learning since I was in college when I built an ad classifier for a web crawler I was building at the time. I made the real transition while working in the search team of a web company almost 10 years ago now.

Let me first say that I am unlikely to ever design a new novel algorithm like an SVM kernel. I have however studied ML theory extensively and have a good grasp of the underlying math. I also had the advantage of working in medical research starting in high school and even before college I had learned a lot about statistics and was comfortable using a tool like SPSS to perform ROC analysis as well as gaining a solid understanding of what real statistical rigor was.

I, and those I know and work with, do a lot more than clone some repos from GitHub and see if they work. Typically there is some sort of a business problem that needs solving. Sometime we know of an approach that will work but often there is a literature survey that needs to be conducted to see if anyone has solved a similar enough problem and written about it. I am comfortable reading ML/NLP literature and evaluating the methodologies described. Often there is some open source stuff to get us started but rarely (I can't think of any, but its early in the morning) have I been able to put together a complete solution without solving some difficult problems on my own.

If I were to give someone advice it would be probably not the advice that they would want but here goes. I assume that the person would already have a solid mathematical foundation like engineering calculus. 1. Start by getting solid foundation in statistics and probability. 2. You will need a foundation in linear algebra. 3. Find a mentor(s) that can help you with both the theoretical side of ML and the applied side. In my case they were different people. 4. Implement some learning algorithms from scratch. I build a NN library a long time ago. I never used it in a production application but the learnings it gave me are still invaluable. 5. Read the research. You need to feel comfortable picking up a paper, understanding it, and evaluating whether you should believe the authors or not.

Maybe there are shorter roads. Personally I don't believe so. I was lucky to be paid to learn these skills through my career. I am sure there are people who are smarter than me or who can just learn by reading. I learn by doing. But this has led to success for me and I think gave me the ability to succeed in different environments, using different technologies, and long before the entire world was so enamored with deep learning.

Post reply on HN