Stochastic Neural Networks