Experiments by Elias : An Investigation into Machine Learning.
This project seeks to investigate modern machine learning technologies for image recognition and then develop a corresponding web application which uses cutting edge technologies. The aim of the image recognition element will be to identify paintings over many categories such as title, artist, genre and content. Another key goal of the project will be to perform image augmentation (i.e. generate an image based on an input image). In terms of the machine learning element of the project a large emphasis will be placed on using modern methods such as neural networks and transfer learning using an pre-trained model
"Experiments by Elias" is a series of experiments which uses Tensorflow (Google's open source Machine Learning library) , Neural Networks and Transfer Learning to develop various applications. The first being image classifiers for paintings, these range from classifying by title, artist, genre and content. The second series of experiments that were developed were image augmentations, these are experiments which generate images based off style and content. “Deep Dream” is the first augmentation and creates a psychedelic image for the user. The second augmentation is “Style Transfer” in which the user will input an image, then select a style and system will generate a mixed image with the content of the submitted image and the style of the selected image. Neural Networks are a model used in machine learning which seeks to replicate certain aspects of the human brain and how it learns. It does this by imitating neurons in the brain which activate in a certain way to certain responses and based on the response a prediction can be made based on similar responses the network/neurons have previously encounters. These encounters are based off training cycles which can be compared to human “experience” over many years (e.g. humans have seen many dogs; therefore, humans can identify new dogs through convolution). Transfer learning builds on this same concept by suggesting that if humans can identify primary elements (e.g. shapes and lines), then from this they can learn what a new classes key features are and this project applies transfer learning to the various painting related classes. This project used a model in Machine Learning called convolutional neural networks, this model seeks to replicate the learning power of the human brain and is exceptionally powerful. The main driving force behind this project is the “Inception” model which is a pre-trained convolutional neural network trained by Google. This project was developed in Python and as a result the web framework Flask is used due to it’s light weight. The application is currently available at https://peachy-dinosaur-experiments.herokuapp.com/
In terms of the goals of the project the following was achieved, develop an image classifier using Tensorflow, serve this classifier via a web application and provide image augmentation functionality. These are the 3 main strengths of the project and were made with the intention of being like a Google AI experiment, which is a very simple application with linear functionality. Accuracy using the pre-trained model remained relatively high with the trained model generating a high validation score. The images that were generated in the project also were of reasonable quality given the system limitations of the project.