As someone who was a software engineer for 18 years…
I always find it shocking to see someone who has been in the trade declaring that, for instance, "Siri often makes mistakes."
When my software went wrong, I always knew that *I* had made a mistake. The software was simply performing the way I had programmed it to. I don't know how I even could have performed my job if I had thought for a second that it was my program that was making a mistake, rather than me.
When my software went wrong, I always knew that *I* had made a mistake. The software was simply performing the way I had programmed it to. I don't know how I even could have performed my job if I had thought for a second that it was my program that was making a mistake, rather than me.
Actually it's a useful distinction. The software I designed once produced a wrong number. But our code did the right thing; what it was asked to do was wrong.
ReplyDeleteEven more so with neural nets. Extremegammon is a neural net that is stronger than the top 2 or 3 players in the world (backgammon). It makes an identifiable error (determined by playing out thousands of games) once in a thousand plays. That's not the fault of the programmers: no-one can foresee these happenings. As software gets smarter and overtakes human abilities then the notion of error gets trickier.
"But our code did the right thing; what it was asked to do was wrong."
DeleteOk, so the people *Specifying* what the code had to do were wrong, rather than the coders themselves. Do you really think I had not encountered this myself?!
And if a neural net gets things wrong: ok, then YOU programmed the neural net wrongly. If you find this happening, don't YOU go back in and try to correct the neural net?
DeleteMy last programming job was working for traders who placed millions of dollars of trades a day based on my code. I can't even bear to inagine their reaction if I had tried to tell them that it was the computer, not me, who had gotten things wrong!
Neural nets are trained, not programmed. Of course you try to improve the training, but programs that play chess are different from ones that execute specified calculations. (Which like you is what I mostly wrote.) if the sums don't match or the wrong factor is used then yes that's a coding error. But it gets squishy with AI.
ReplyDeleteNet is programmed as to how it will respond to "training," which is really just a metaphor here. If it does not do the right thing when "trained" you've programmed the training algorithm incorrectly.
DeleteSiri left out "neural" in the above comment. I guess she made a mistake.
DeleteVery oddly, I tried saying the word "neural" many more times: Siri simply "types" nothing and I say the word, as if I had not spoken at all.
By The Way, Ken, we will do better here if you remember my previous career: I know very well how a net works. (Wow, I used the word "neural" again in the previous sentence, and again Siri simply ignored it, as if I had coughed.) It is still just a Turing machine, albeit one that modifies itself.
DeleteNeural net
ReplyDeleteI dictated that to the voice recognition system on my iPad.. In euro. That time I said it several times and it came out only with that. I just tried several times and it had a pigs breakfast each time. It clearly knows the The word since it got it one time, but now it just seems like it doesn't like the word.
My point is just that in artificial intelligence will be at constructing programs that canyon some sense think and make decisions, the distinction between making an inferior machine or an interior program and making a mistake gets a little bit blurry. The best chess players in history programs, yet they still make mistakes.
ReplyDeleteKen, did you use some AI to generate this comment? Because there is some weird English going on here.
DeleteI used Siri, so artificial half-wittedness I'd say.
Delete