Through this seven-week course, I found myself really fascinated by the Convolutional Neural Network and its application in image recognition. It is hard to believe that a computer can recognize a dog from a 4*4 image with hundreds of layers. However, on the other hand, I also feel unreliable about the result given by machines.
In terms of the final project, I am struggling with two ideas, both start with a completely trained machine.
In the article Deceiving Artificial Intelligence, a research done by Google found that some minor alteration on a image, even unrecognizable for human eyes can cause a big problem for image recognition.
In this paper, Christian Szegedy described the algorithm he used to fool a machine.
Pre -> start with a training on a CNN with the Caltech 256 Dataset and then store the trained weight
Project -> an interactive webpage that a user can upload a image belong to the 256 categories, the machine will hopefully give a correct answer. Then the user can decide how to alter the image and see what the machine thinks.
The second idea starts with me playing with the hand writing neural network example.
It’s interesting to see how machine categorize a image into its trained categories even though the image has nothing to do with hand writing digits. The project is an art piece that makes a number k with all images that a machine thinks to be a hand writing number k using ImageNet Dataset
Pre -> Train a machine with MNIST dataset, store the trained weight
using ImageNet Dataset to categorize images to 0, 1, 2…9
Output -> 10 images of digits from 0 to 9 formed with images
The final project is available on Github