3 ms·
machine learning is good at end to end closed loop analog signal analysis problems (decode/translate/synthesize) and electrical engineeringish tasks, as it alwa
by a-dub 4y ago
machine learning is good at end to end closed loop analog signal analysis problems (decode/translate/synthesize) and electrical engineeringish tasks, as it always has been ... but i'm not convinced that it is yet good at the more needly real world problems that most software faces.
so yes, sure, the best speech recognition algorithm will remain something ee-ish, and will probably make use of highly parallel numerical computing and data driven optimization based solution finding... but i think whether or not that will be the road to correct implementation of entire discrete information systems with all of their knotty discrete rough edges remains to be seen...
- marcus_holmes 4y agoI think it's about fault-tolerance. So "programming" in the Software 2.0 world is basically training a model. Which isn't a task with an end. You stop when you're bored, or when it passes a given level of accuracy, not when it's "completely trained" because it will never get to 100% accurate. In e.g. speech recognition, handwriting recognition, speech synthesis, drawing pictures, writing a response to a human's question, all those messy "organic" problems, this is fine. A 99.9% accuracy rating at e.g. speech recognition is better than humans do. But there are problems that absolutely need 100% accuracy, and you can only get that if you code it up the old-fashioned way (though probably not Agile - I love my iterative development cycles but they're equally prone to not quite getting it 100% right).
- a-dub 4y agommm... i disagree. fault tolerance is more of a reliability property that sits outside of the performance of a discrete logic or signal processing system, it describes how well a system can remain functioning in the face of adverse conditions like internal failures, hardware substrate failures, dependency failures, adverse inputs, etc. but... yeah, some problems have continuous performance variables (typically ee'ish) and others have discrete ones (typically cs'ish). the discrete account ledger either computes the correct value or it does not, where many signal processing problems have to contend with noise and are allowed to produce a wide range of noisy outputs and therefore their measures of correctness are based on statistical arguments.
- marcus_holmes 4y agothanks for putting my point better than I ever could :)