Detecting and Approximating Redundant Computational Blocks in Neural Networks