Scalable convolutional dictionary learning with constrained recurrent sparse auto-encoders