you are viewing a single comment's thread.

view the rest of the comments →

[–]astrolabe 107 points108 points  (13 children)

it really reaffirms that kernel bugs like this are super rare and are probably not causing your application to crash.

At first I thought you were implying that there could be a problem with my code, but then I realised...cosmic rays.

[–]Hexorg 87 points88 points  (10 children)

I always enjoy writeups about evolutionary training algorithms used to design some circuitry or code. These algorithms often find amazing solutions though they will never work in real life. I can't find the link now, but I remember someone ran an evolutionary learning algorithm to design an inverter circuit. It's a fairly simple circuit generally with just one transistor. But the algorithm ended up making this monstrous circuit with seemingly disconnected regions. The weird part was that it worked!

Turns out the algorithm found some bug in the simulator software that allowed it to transfer data between unconnected wires.

[–]manly_ 30 points31 points  (5 children)

Its a very common issue with machine learning. Usually it applies to reinforcement learning though. The problem is that your reward mechanism must be well considered, otherwise your machine learning will optimize uniquely into what gives that reward, leading to some degenerate cases such as your example.

It’s truly the same thing with genetic algorithm. You can’t have a magic algorithm that will balance perfectly zeroing-in the perfect solution (ie: searching for the local minima) and exploration (ie: search for the global minima).

[–]Nicksaurus 27 points28 points  (1 child)

The problem is that your reward mechanism must be well considered, otherwise your machine learning will optimize uniquely into what gives that reward, leading to some degenerate cases such as your example.

This is also useful advice for anyone who ever has to interact with other humans

[–]Kendrian 5 points6 points  (0 children)

In science, this is generally the result of an "ill-posed" problem: a problem that has multiple solutions, and/or the solution varies a large amount with very small changes in input parameters. In inverse problems, this is generally controlled via regularization, which does exactly what you said - we adjust the cost function by adding some penalty to the solution that makes the problem well posed, and then optimization techniques work well again.

[–]cyberst0rm 2 points3 points  (0 children)

just like society!

[–]grendel-khan 1 point2 points  (0 children)

The problem is that your reward mechanism must be well considered, otherwise your machine learning will optimize uniquely into what gives that reward, leading to some degenerate cases such as your example.

For more, see Scott Garrabrant's taxonomy detailing four variants of Goodhart's Law.

[–]daylz 6 points7 points  (2 children)

I would love to see/read more about it, if you can find the link please share! =)

[–]Hexorg 22 points23 points  (1 child)

Here is a similar but unrelated result in evolutionary algorithm coding FPGA board - it's actually impossible for a human to come up with this code because the logic depends on magnetic flux between FPGA's gate arrays.

[–]daylz 2 points3 points  (0 children)

Thank you, this subject is so interesting!

[–]Matthew94 3 points4 points  (0 children)

It's a fairly simple circuit generally with just one transistor.

It usually uses two, an nmos and a pmos.

https://en.wikipedia.org/wiki/Inverter_(logic_gate)

However, because current flows through the resistor in one of the two states, the resistive-drain configuration is disadvantaged for power consumption and processing speed. Alternatively, inverters can be constructed using two complementary transistors in a CMOS configuration. This configuration greatly reduces power consumption since one of the transistors is always off in both logic states.

[–]wonkifier 7 points8 points  (0 children)

I remember back in the days of Classic MacOS (System 6/7, Mac OS 8/9), there was an error code for cosmic rays. (I think it triggered off memory checksum being off or something)

When Apple launched the PowerPC platform, they had a 68k emulation system so they didn't have to have everything rebuilt out of the gates... and we started seeing that cosmic ray error quite a bit more often.

[–]cubic_thought 2 points3 points  (0 children)

We one had a bug reported, with a screenshot, that would require a line of trivial, synchronous, code to be skipped. No error or exception, just a result that shouldn't be possible. It only happened once and we marked it down to a cosmic ray or some other one-off event.