4 ms·
Honesty, repeatability, numerical analysis. Canonicalization. Honesty: how many times was the exact same data processed? Was the result cherry picked and the b
by szc 7y ago
Honesty, repeatability, numerical analysis. Canonicalization.
Honesty: how many times was the exact same data processed? Was the result cherry picked and the best one published? For the sake of integrity how is it possible to scientifically improve on this result? (example, your AI outputs some life altering decision?)
Repeatability: In science, if a result can be independently verified, it gives validity to the "conclusion" or result. Most AI results cannot be independently verified. Not indepentently verifiable really ought to give the "science" the same status as an 1800's "Dr. Bloobar's miracule AI cure".
Numerical Analysis: performing billions / trillions of computations on bit-restricted numerical values will introduce a lot of forward propagated errors (noise). What does that do? Commentary: Video cards don't care if a few bits of your 15 million pixel display are off by a few LSB bits, they do that 60 or 120 frames a second and you don't notice. It is an integral part of their design. The issue is, how does this impact AI models? This affects repeatability -> honesty.
If error of a quantized size is a necessarily required property to achieve "AI learning that converges", there is still an opportunity for canonicalization -- a way to map "different" converged models to explain why they are effectively the "same". This does not seem to be a "thing", why not?
In my opinion, in 2020, the AI emperor still has no clothes.
- fluffything 7y agoFor most of the engineering applications I work on, AI is useless. When we talk about controlling machines, our control algorithms have mathematically proven strict error bounds, such that if we provide an input with a particular maximal error (e.g. from a sensor that has some error tolerance), we can calculate what's the maximum error possible in the response that our model would produce, and then use that to evaluate whether this is even an input that should be handled by the current algorithm or not. These control algorithms all take some inputs, and use them to "predict" what will happen, and using that prediction, compute some response to correct it. These predictions need to happen much faster than real time, since you often need to perform an optimization step to compute an "optimal" response. These predictions are usually computed using a reduced-order model, e.g., if you had to solve a PDE over 10^9 unknowns to compute the actual prediction, you can instead reduce that to a system with 10 unknowns, by doing some pre-computation a priori. Most tools to do these kinds of reductions developed in the last 60 years come with tight error bounds, that tell you, depending on your inputs, the training data, etc. what's the largest error than the prediction can have, so you can just plug these in into your control pipeline. People have been plugin in neural-networks to control robots, cars, and pretty much anything you can imagine into these pipelines for 10 years, yet nobody knows what the upper bound on the errors that these neural-networks give for a particular input, training set, etc. Until that changes, machine learning just makes your whole pipeline unreliable, and e.g. a car manufacturer must tell you that in "autonomous driving" mode you are liable for everything your car does, and not them, so you have to keep your hands on the driving wheels and pay attention at all times, which... kind of defeats the point of autonomous driving. --- Prediction: we won't have any tight error bounds for real-world neural networks in the 2020-2030 time frame. These are all non-linear by design (that's why they are good), error bounds for simple non-linear interpolants are pretty much non-existent, people have tried for 20-30 years, and real-world NNs are anything but simple.
- red75prime 7y agoControl algorithms are a part of the problem. What about input data? There's nothing that comes close to NNs in answering a question, say, "Is there pedestrian ahead and what he/she will probably do?" A control system doesn't need to be end-to-end neural, by the way.
- fluffything 7y ago> What about input data? What about it? You get input data from data sources which, e.g., in a car it would be a sensor. The manufacturer of the sensor provides you with the guaranteed sensor accuracy for some inputs, which gives you the upper bound on the input error from that source. That is, in a reliable control pipeline, the upper bounds on the errors of data sources are known a priori. Sure, sensors can malfunction, but that's a different problem that's solved differently (e.g. via resiliency using multiple sensors). > A control system doesn't need to be end-to-end neural, by the way. Who's talking about end-to-end neural nets for control? If a single part of your control pipeline has unknown error bounds, your whole control system has unknown error bounds. That is, it suffices for your control pipeline to use a NN somewhere for it to become unreliable. This doesn't mean that you can't use control systems with unknown error bounds somewhere in your product, but it does mean that you can't trust those control systems. This is why drivers still need to keep their hands on the steering wheel on a Tesla: the parts of the pipeline doing the autonomous driving use NNs for image recognition, and the errors on that are unknown. This is also why all "self driving" cars have simpler data sources like ultrasonic sensors, radar, lidar, etc. which can be processed without NNs to avoid collisions reliably. You might still use NNs to improve the experience but those NNs are going to be overridden by reliable control pipelines when required.
- red75prime 7y ago> That is, in a reliable control pipeline, the upper bounds on the errors of data sources are known a priori. Now we have natural neural networks in the control loop for some reason despite their unknown error bounds. To give another example: is there a sensor for vehicle placement relative to road edges with known upper error bound, which is less than width of the road? No, we have GPS, radar, lidar, camera data that we need to interpret somehow. A car that reliably avoids collisions (Can it, though? It needs to predict road situation to do it reliably), but can occasionally veer off the road, doesn't strike me as particularly safe. > to be overridden by reliable control pipelines when required. Those reliable pipelines needs to be mostly reactive. And there's a limit on what they can do. You can't avoid a collision when a car emerges from around a corner with 0.1 seconds to react. You need complex processing of those "simple" data sources to detect zones that can't be observed right now and to assess a probability of the said situation. All in all, we already have unreliable human part in the control loop of a vehicle. A control system that is provably robust in all real world situations will be the ultimate achievement and not a prerequirement for wide use of self-driving cars.
- currymj 7y agoI would argue most machine learning papers that use public datasets have code available and are often also reproduced independently (sometimes just because of somebody's need to port between PyTorch/TensorFlow). Reproducibility is still a big problem in reinforcement learning, however. People are definitely thinking carefully about issues of noise and quantization error. Low-precision or quantized neural networks are increasingly popular at both train and test time. And people deliberately introduce noise into neural networks for various reasons (dropout, robustness certificates) and then have to think about the effect on performance. Typically things are quite reproducible in these situations btw, for a given noise distribution. Re: canonicalization, the theoretical work on "neural tangent kernels" might be relevant.
- throwlaplace 7y ago>I would argue most machine learning papers that use public datasets have code available and are often also reproduced independently lol have you ever tried? i have several github issues on published models because i couldn't recreate that have responses like "i don't remember the parameters i used and we've moved on".
- currymj 7y agoi’ve only run into stuff like that trying to get RL agents to train. Maybe GANs and other “hard to train” models are bad too idk. But generally things do actually seem to be reproducible.
- throwlaplace 7y ago>Maybe GANs and other “hard to train” models yes GANs are definitely one of the places i've run into this but also with almost bog-standard resnets i've had issues.