Acceptable-Cress-374 t1_j0kg05m wrote
Reply to comment by Mars_rocket in [R] Silent Bugs in Deep Learning Frameworks: An Empirical Study of Keras and TensorFlow by Ok-Teacher-22
There's a very interesting anecdote on this subject, that I remember reading a while ago. A researcher was working with FPGAs and genetic algorithms. They were solving for a simple low-pass function, and after running the algorithm for a couple of generations they had a working solution. The problem was that, when looking at the resulting network, there were some number of nodes looped to themselves but not in anyway connected to the input. When the researcher tried to remove the nodes, the algorithm stopped working. Turns out that the algorithm only worked on that specific hardware unit, and they figured that the looped nodes were somehow affecting the overall architecture by setting some bits in the underlying hardware. Replication was impossible on other hardware units, because they didn't have that specific hardware "bug". (listing this from memory, might have missed something, but this was the gist of the story)
drcopus t1_j0koemu wrote
For more great anecdotes like this, this paper is a great read.
Marha01 t1_j0l7s3u wrote
Acceptable-Cress-374 t1_j0l9exg wrote
Haha, thanks! It wasn't exactly how I remembered it, but close enough.
> A field-programmable gate array, or FPGA for short, is a special type of circuit board with an array of logic cells, each of which can act as any type of logic gate, connected by flexible interlinks which can connect cells. Both of these functions are controlled by software, so merely by loading a special program into the board, it can be altered on the fly to perform the functions of any one of a vast variety of hardware devices.
> Dr. Adrian Thompson has exploited this device, in conjunction with the principles of evolution, to produce a prototype voice-recognition circuit that can distinguish between and respond to spoken commands using only 37 logic gates - a task that would have been considered impossible for any human engineer. He generated random bit strings of 0s and 1s and used them as configurations for the FPGA, selecting the fittest individuals from each generation, reproducing and randomly mutating them, swapping sections of their code and passing them on to another round of selection. His goal was to evolve a device that could at first discriminate between tones of different frequencies (1 and 10 kilohertz), then distinguish between the spoken words "go" and "stop".
> This aim was achieved within 3000 generations, but the success was even greater than had been anticipated. The evolved system uses far fewer cells than anything a human engineer could have designed, and it does not even need the most critical component of human-built systems - a clock. How does it work? Thompson has no idea, though he has traced the input signal through a complex arrangement of feedback loops within the evolved circuit. In fact, out of the 37 logic gates the final product uses, five of them are not even connected to the rest of the circuit in any way - yet if their power supply is removed, the circuit stops working. It seems that evolution has exploited some subtle electromagnetic effect of these cells to come up with its solution, yet the exact workings of the complex and intricate evolved structure remain a mystery
Viewing a single comment thread. View all comments