Techniques for Learning Binary Stochastic Feedforward Neural Networks