Utilizing Machine Learning For Filtering General Monte Carlo Noise