TODO: feature learning based on UFLDL