NeuralNetworks

Neural networks task for CE's AI course, using Keras. Different aspects of neural networks are tested in order to fit to functions, classify MNIST and fashion MNIST. A report (in Farsi) is also available.

Section 1 and 2

A dataset (set of points) is created for a function f(x), and neural networks are used to approximate this function. Different functions (simple lines or complex sine waves) are tested for different sizes of NNs and varying number of data samples. Moreover, gaussian noise is applied to the dataset and the results are evaluated.

image

Section 3

Functions of higher dimensions are tested in a similar manner to the previous sections.

Section 4

A multi-expression function is created to make for a more challenging dataset, and the previous sections are run using this arbitrary function.

image

Section 5

MNIST and fasion MNIST are classified using neural networks, and the effect of layer sizes, dataset sizes, and number of layers are explored.

Section 6

Neural networks are used for noise removal, with different NN sizes, dataset sizes, and varying amounts of noise (both gaussian and salt). The results are compared with the pre-noise samples.

image