NoProp: Training Neural Networks without Back-propagation or Forward-propagation