Adaptive Denoising via GainTuning