Hacker News new | ask | show | jobs
by rich-w-big-ego 2938 days ago
As usual the comments around Tesla software really miss some critical points:

  You can't debug a neural net
Obviously not, but you also cannot hand-write code to do what neural nets do, so what's your point? If you can make your neural net 1000x better than a hand-written algorithm, or if Tesla Autopilot is 1000x better than human drivers, that doesn't matter. It's not "playing with human lives" if the humans around the car are 1000x times safer than sleeply, distracted, or violent human drivers.
2 comments

Kool aid being drunk...
I'm drinking Kool Aid? OK. I'm mostly arguing about the use of Static Analysis and other typical means of verifying programs, and the ineffectiveness of those verification methods on neural networks. People use that as an argument against the safety of NNs.

Set of all computer programs has two subsets.

  S = { s | Static Analysis can be performed on s }

  N = { n | n makes use of a neural network } with N ⊄ S
Let n ∈ N and s ∈ S. There are a certain set of programming tasks

  T = { t | t can be solved with n but not s }
Thus any claim that using n to solve t is "unsafe" because you cannot perform Static Analysis on it is absolute BS, because programs s ∈ S can't even solve the damn problem!
Just using set notation doesn't make an argument precise. You are begging some questions in your definition here.

For example, how do we know that a task solves a particular problem if we can't perform static analysis on it? It may give the appearance of working and then degrade radically under certain conditions. That really matters if you're using it for safety-critical applications and the problem space is large enough that it can't be exhaustively tested.

How will we know that the self-driving NN is 1000x better than the hand-written or the human drivers before we unleash it en-mass unto the world?
Test it with a human ready to interfere at any time. (Keeping this human attentive is another problem - see Uber accident)