Since this gradient is going through grey shades that are very close together (only about 15 bits different), there are few 'steps', so to speak, that can be distributed from one side of the gradient to the other. (A 24-bit PNG has 255 "steps" between white and black.) The way to solve this is with dithering, which distributes the "steps" in a random blend pattern instead of lining them up in a clearly-visible horizontal line. In Photoshop CS6 and higher, there's a dithering
checkbox in the gradient tool, which should get rid of the transposes.
Disclaimer: I'm not a Photoshop or graphic expert, this is just my explanation of how color depth works. http://bjango.com/articles/gradients/ is a great article on gradients that discusses dithering about halfway down the page.