4 ms·
Machine Learning is very different than software engineering. There is no reason that being good at one makes you good at the other. Does being a carpenter wit
by nartz 8y ago
Machine Learning is very different than software engineering. There is no reason that being good at one makes you good at the other.
Does being a carpenter with vast knowledge of tools give you the ability to build a rocket that can fly to mars?
Machine Learning is very very math based - the nitty gritty matters when you want to do something custom.
There are many free pre-trained models that can get you started easily for defined tasks. Custom work requires much more knowledge.
- empath75 8y ago3D graphics are also math based but you don’t need to know calculus to create them. It’s really just a matter of tooling. Eventually there is going to be a ‘photoshop’ but for ai.
- pests 8y agoIt's not magic. Anyone can learn. I think you are doing yourself and anyone reading a disservice by thinking it cannot be learned like any other field, like software engineering.
- hyperpallium 8y agolike any other field... like higher mathematics?
- yorwba 8y agoIf you have the motivation to learn, it can be done. "Higher mathematics" is a bit broad, but you can choose a more specific topic you're interested in, get a textbook and work through the exercises. When you get stuck, find someone you can discuss your solution attempts with, either in person or e.g. on MathOverflow. If you realize that you're missing some prerequisites, get a textbook on those and recurse. Don't expect this process to be faster or require less work than getting a degree.
- hyperpallium 8y agoMy comment contrasted parent and GP. > > Custom work requires much more knowledge. > Anyone can learn.[...] like software engineering. Math is hard. BTW I tried the recurse method for about a year, but it became impossible to find some prerequisites - I think because certain basics are assumed, and not always explicitly taught at any stage. A kind of oral tradition. So I'm now refreshing (and sometimes learning) high school algebra/pre-calculus at Khan Academy (and Math SE). Though that mightn't apply to someone with solid high school maths already. My high schooling was interrupted, also maybe I'm a bit stupid, and also need deeper explanation to get it.
- jameslk 8y agoThere's no reason to think using machine learning will always require lots of math and theory. In it's infancy (ie, recent popularity) as it is today perhaps, but eventually I expect the field to have tooling that abstracts away complexity that is unapproachable to the masses. For example, there's plenty of complicated computer science algorithms, data structures and design patterns that have been abstracted into libraries and applications. Databases and browsers are good examples of that. Frameworks such as Unity for game development and Rails for web development as well. When you really need to build something customized, knowing how things work under the hood will be required, but most cases will probably be addressed with pre-existing solutions that you configure and glue together.
- hyperpallium 8y agoI think Computational Fluid Dynamics is a good analogy. Final year engineering courses now just explain the maths, and then teach how to use commercial software packages. That's for if you're working to engineering standards. But there are also animation tools using CFD, that don't require maths at all. Just fiddle with it to get the effect you want. NB. It took CFD a long time to get to this point. It predates digital computers, and has an even older overall theory (though not fully understood). We don't have that for DL.
- skykooler 8y ago> Does being a carpenter with vast knowledge of tools give you the ability to build a rocket that can fly to mars? Design? Probably not. Build? Absolutely! Experience with tools translates well between projects. Give an experienced carpenter the tools and blueprints for a rocket, and they would have a good shot at building it.
- YeGoblynQueenne 8y ago>> Machine Learning is very very math based - the nitty gritty matters when you want to do something custom. Look. It's complicated. Alright? You do need to understand calculus and quite a bit of probabilities and statistics (nobody knows enough statistics for every use of statisticis, so you'll need to know the kind of statistics that are actually used in machine learning; until someone comes up with a new statistical algorithm that uses some new obscure bit of statistis that you had never had to use before and that you'll now need to learn in a hurry). Sometimes you'll need to grok things like Euclidean distances and function kernels and stuff like that. I bet nobody in machine learning knew how to project n-dimensional data to an n+m dimensional space before SVMs, but now a few people do (I admit it: I haven't even tried). Now, machine learning researchers (and engineers) read up on all this stuff because they have to and by the end of it they've spent so much time reading about maths that they start thinking of themselves as mathematicians. So they make sure they put all the fancy maths they can get their hands on in their papers (and blog posts), and that they write up their algorithms as proper mathematical formulae (with lots of summations) rather than pseudocode. Pseudocode would work just as well, be just as unambiguous (well- good pseudocode; e.g. a bit of python) and it would be much more readable, but it wouldn't look as mathsy. Ayway the major journals in the field will reject your paper unless it has at least four summation symbols and ten subscripted symbols (bonus if your subscripts have subscripted subscripts). So summations it is. Then a poor software engineer who is as maths-savvy as a, a very non-maths-savvy thing (because let's be fair, the only kind of maths they teach you in computer school is binary arithmetic and discrete maths for computer science, if that) picks up a machine learning paper, sees all the formulae... and freaks out. "What's all those symbols? Man, I need to know maths for that!". Of course, if machine learning was maths it wouldn't be called "machine learning"- it would be called "maths". And machine learning people woulndn't be publishing in machine learning journals- they would be publishing in maths journals. Not to mention- instead of spending 99% of their time tuning their models and 99% of their papers reporting a 0.01% increase against the state of the art, they'd instead be publishing theoretical papers on Computational Learning Theory. We might even have a a clue about what makes deep learning so "unreasonably efficient" and all. But, we don't, because machine learning people don't like to do that sort of thing- theory. Theory needs maths. Like, actual maths. Tuning knobs and munging data doesn't. Anyone can do that. A lowly, simple software engineer can learn to do that. So unless you want to become a researcher and write formulae-heavy papers (that coul be very well formulae-light papers) don't freak out. You need maths, but not as much as it looks like you do. And if you have learned how to program, you can learn the maths you need to program machine learning algorithms- and that's only if you want to implement them yourself. If you just need to train a few models, well, you can do that with even less maths. And if you just want to impress your boss- you can just follow a tutorial or use a ready-trained model and some understanding of matplotlib.