PredProp: Bidirectional Stochastic Optimization with Precision Weighted Predictive Coding