Unraveling the Mysteries of Neural Networks