Using a neural network to learn to distinguish blurry images? Is it possible to train a neural network to detect whether an image is blurry or not?
I'm currently using synthetically blurred images to build the classifier. However, I'm worried that this approach is not valid as we are using synthetic images. What are the challenges of using an approach like this?
 A: Using synthetically generated images to build the classifier and then applying the classifier to real world images means that there is a high risk of the build data set and the production data set not having the same distribution (i.e. statistical properties), and that is a bad idea. You always want your build data set and your production data set to come from the same distribution. 
Using synthetic data is good for proof of concept, but not for building the production version of your classifier. 
A: 'Is it possible to train a NN to detect...' - stop right there, the answer is always 'Yes.'. At least theoretically - so says the Universal Approximation Theorem. It's not a question of if you can do it, but finding out how to do it well and without burning through ten GPUs a day.
Enough being obtuse though; it's practically doable as well. You most likely want some kind of adversarial-style setup - train a recognition network to recognize a sharp image as true and the synthetically blurred one as a fake. 
You could attach it to a generator network that blurs real images to more or less get an arbitrarily large training set. Really quite similar to a VAE-GAN, except you want to extract the discriminator from the GAN component.
