Reducing the Dimensionality of Data with Neural Networks