12 ms·
2 times 3 can sometimes equal 7 with Android's Neural Network API
- techbio 6y agoBaker's (half-)dozen?
- YarickR2 6y agoWell, every tool has it's own range of use cases; doing integer math is not a use case for a guesstimate engine .
- justicezyx 6y agoOr one can claim that it's entirely obvious when relating that with human beings making mistakes, where not only 2*3 can be 7, millions can die of some obscure disctators whim, without much conacusoly realized the insanity...
- vmception 6y agoDid someone just train a GAN on HN comments?
- MayeulC 6y agoIt would be fairly interesting to try, and take votes as feedback. That's what we all do here, anyway... …Although you can reach a point where you have enough karma not to care and troll a bit/speak more freely, which if you only look at the vote outcome, can net you big in both directions (though there is a lower bound). In the end, it's exactly like an optimization problem, if you're "farming" karma: a lot of safe bets, and a few more risky ones to maybe discover a new class of safe ones. Reddit is full of safe gamblers who are farmink karma by repeating canned patterns.
- justicezyx 6y ago“The real question is not whether machines think but whether men do. The mystery which surrounds a thinking machine already surrounds a thinking man.” -- B F Skinner
- throwaway2245 6y agoSo, computers are getting closer to human-like mistakes.
- userbinator 6y agoGoogle has been making "human-like mistakes" with its search engine for many years now...
- Avalaxy 6y agoUsing a neural network for things that have clear cut rules is wrong. When you know the exact rules, implement them as such, instead of bruteforcing a guesstimation. This is also why I'm sceptical of the usr of GPT-3 for all sorts of purposes where accuracy is important. Think of the code generation case. Bugs may be very subtle and may go unnoticed.
- Grimm1 6y agoCode generation only needs to generate code with n bugs where n is less than the number of bugs a human developer generates for it to have usefulness, and maybe some other factor of severity where they are generally less severe than human developers. I think it'll make neat autopilot functionality for developers but not replace the need to have someone look over and understand the code.
- perl4ever 6y agoThis is a perfect satire of the logic people use to advocate self driving cars being rushed into production. Only every time I read something similar, I think "surely no programmer could think this". Are you a programmer?
- Grimm1 6y agoI sure am, and if I can code gen 90% of the boiler plate away I'll do it happily. Besides attacking me, do you have any point you'd like to make?
- bobthebuilders 6y agoDo you want to die when your self driving car crashes? Debug issues when your app des at 12am? Same concept.
- Grimm1 6y agoI don't want to die when I crash my own car, and I already debug my own apps at 12am. If your argument is that things need to be perfect than my god you must never leave your home! I'd trust a machine to drive more accurately than most people I see on the highway. Humans aren't special, in fact more often than not we're sloppy, subject to fatigue, and a whole bunch of other negative things. That considered, I had a pretty strict qualifier in my above post which means the machine must perform better than the average human in the respective task and therefore I'd be more likely to die driving my own car than a machine meeting my prerequisites.
- kristjansson 6y agoIt’s an interesting observation, and a shocking title, but the applicable lesson seems to be “don’t use an aggressively quantized network if your application is sensitive to quantization errors”
- fuzzfactor 6y agoNever forget there's a reason why they call it Artificial intelligence. Sometimes nothing but the real thing can put you on the correct path.
- Blikkentrekker 6y agoThat has nothing to do with it's “artificiality”. Some intelligence is simply less intelligent than others.
- fuzzfactor 6y ago>Some intelligence is simply less intelligent than others. I completely agree with you there, you're preaching to the choir. To compare apples & oranges I could say how would you feel if you were surrounded on a dangerous freeway with nothing but noticeably below-average drivers including the vehicle you were in. Natually I expect many passengers have become familiar with that particular traffic situation a time or two. IOW not just below average but below ordinary expectations, and as mentioned dangerously so. Natural intelligence, or lack of enough in the case of many who are performing noticeably below average, can only take you so far and it has always been a limitation. OTOH would you feel more comfortable with all automated drivers instead having noticeably below-average performance due to their less intelligent below-average automaton behavior? What if you noticed something your driver did not? What could you do to alert a driver that truly needs a little advice from the back seat for instance, whether for navigation, safety, or far more elusively a sense of danger or even courtesy, in either case? Would your observations as a passenger have any possibility of ever being helpful in either situation? Would the relative artificiality of the intelligence or lack of it involved be a factor? What if it was not just below-average drivers but some of the traditionally worst who are barely acceptable and realistically for them it's only under ideal conditions? Seems to me risks increase exponentially the further from ideal, and the deviation between natural and artificial types of risks could result in a valley having its own kind of uncanniness. Personally speaking as the strongest advocate toward ML & automation most people have met over the last 50 years.
- deleted 6y ago[deleted]
- unnouinceput 6y agoFamous Pentium F-DIV 20 years later, the sequel?
- segfaultbuserr 6y agoIt's a neural network. It gives approximate results. Here's a newbie question that asks basically the same question, with some interesting answers. > codesternews: Any deeplearning expert here. Why Neural network can't compute a linear function Celsius to Fahrenheit 100% accurately. Is it data or is it something can be optimised. print(model.predict([100.0])) // it results 211.874 which is not 100% accurate (100×1.8+32=212) https://news.ycombinator.com/item?id=19708787 https://news.ycombinator.com/item?id=19708787
- moonbug 6y agoif only there was some way of doing computatiin without Tensorflow.
- Hallucinaut 6y agoReminds me of this classic https://joelgrus.com/2016/05/23/fizz-buzz-in-tensorflow/ https://joelgrus.com/2016/05/23/fizz-buzz-in-tensorflow/
- MengerSponge 6y agoI was going to say "It sounds like they wound up hiring the fizzbuzz tensorflow guy"
- oso2k 6y agoBecause of "The Secret Number" (https://youtu.be/qXnFr1d7B9w https://youtu.be/qXnFr1d7B9w)?
- bluejay2387 6y agoDon't use an function approximator if you need the exact output of a function?
- jzer0cool 6y agoWhy would use use a neural net to approximate 2 x 3 when there is a clear definition of the result. Or as a fun side affect, neural nets are prone to off by one errors too :)
- deleted 6y ago[deleted]
- sp332 6y agoWell, no one did that in this article.
- shoyer 6y agoAs someone who builds neural networks routinely, this sort of non-reproducibility sounds troubling to me. We expect small differences for floating point arithmetic between platforms, but integer math is typically exact. This is all the more concerning for 8-bit quantized arithmetic, where off-by-one means a relative error of about half a percent. If a individual layers in a quantized neural net have off-by-one errors with a consistent bias, I can imagine these errors accumulating into significant losses in model quality in deep networks. There isn't a huge margin for error in quantized neural nets. One concern about the article: it uses the word "non-deterministic" in a slightly misleading way. I assume any specific hardware is still expected to produce consistent results when run twice on the same input. So it's more non-reproducible than non-deterministic. Compensating for inconsistent arithmetic on different devices sounds much more feasible than compensating for stochastic arithmetic.
- amelius 6y ago> We expect small differences for floating point arithmetic between platforms, but integer math is typically exact. Then perhaps think of the integers as fixed point numbers.
- aga_ml 6y agoThanks for your comments. Regarding determinism, potentially a fair point. Here are a few comments: (1) A driver which randomly produces different output when running the network would be valid according to these restrictions. (2) It is conceivable that a driver would produce non-deterministic input with the same hardware. One commonly known example is that tensorflow will run multiple different convolution kernels and then choose the fastest one. In that case, you can run the same network on the same hardware and get slightly different results. Its not that hard to imagine that a mobile driver could do something similar. (3) It's not true that specific hardware will produce consistent results on the same input. You can run a model today, the driver gets updated, and tomorrow you get different output. This happens frequently.
- shoyer 6y agoAll good points! "Non-deterministic" behavior within the same program/process is still a bridge I would not want to cross. This could result in subtle glitches, e.g., when a user hits "refresh" with the same inputs, and could make reproducing bugs impossible. I am a strong believer in always using a seed for random number generation for exactly these sorts of reasons. (Side note: deterministic RNGs is one of my favorite features about JAX.)
- colejohnson66 6y agoSo 2 plus 2 now can equal 5 (for AI values of 2)? https://www.straightdope.com/21342521/does-2-2-5-for-very-large-values-of-2 https://www.straightdope.com/21342521/does-2-2-5-for-very-la...
- anonytrary 6y agoMy pencil can sometimes be in China according to quantum mechanics, but the probability is extremely low. I think the fact that neural networks are almost right is not really concerning at all. As long as your network can produce a result within an acceptable error boundary, who cares? That is literally how nature works.
- wbillingsley 6y ago"A near 17% improvement!" - Google marketing department
- rimliu 6y agoOf course. 2 + 2 = 5 for extremely large values of 2, it was known for a long time.
- Dylan16807 6y agoFor multiplication you don't even need a very large value of 2. A 5% margin of error is enough to get a different output.
- bumbada 6y agoThat works as intended. What is called AI, or "Artificial Intelligence" should in reality be called "Artificial Intuition". It is similar to the subconscious mind that is able to get approaches to a solution very fast, but does not give you the solution itself. You need the logical conscious mind(similar to the CPU) to refine the solution. The logical conscious mind is so slow that will never get the solution on its own, but being so close to the solution it can. AI 1.0 was about solving all problems just using rational methods alone, like Lisp programming. AI 2.0 is solving all problems by neural networks and training alone without understanding or testing if a solution is right or why it is right. Real artificial intelligence should be about integrating both approaches. E.g You use intuition to train a network in the English language, but then you use it to develop the english Grammar from it. You extract the structure from the data.
- nxpnsv 6y agowow, is there nothing it cannot do?
- marvosyn 6y agoHoly shit I just spent weeks building a tool ontop of this paper for work and now its on HN this is cool