Curvature-driven smoothing: a learning algorithm for feedforward networks | Synapse