learn noise and denoise