Efficient Parallel Learning Algorithms for Neural Networks