project_people:josh_donckels
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
project_people:josh_donckels [2017/10/23 14:27] – jdonckels | project_people:josh_donckels [2017/12/10 20:01] (current) – jdonckels | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ===== Project | + | ===== Project |
- | Implement a convolutional neural network (CNN) that will be able to classify an input image. It will use the layers based around a very basic CNN including: convolution layer, pooling layer, rectifier layer, | + | Implement a convolutional neural network (CNN) that will be able to classify an input pattern (a 3x3 window on the MFM). It will use the layers based around a very basic CNN including: convolution layer and a fully-connected layer. |
===== Elements ===== | ===== Elements ===== | ||
* Neuron: | * Neuron: | ||
* Will contain the weights from the pre-trained network that it will be using to classify the image | * Will contain the weights from the pre-trained network that it will be using to classify the image | ||
- | * Deal with all of the computations for the convolution, pooling, normalization, | + | * Deal with all of the computations for the convolution |
* Will update the neighboring pixels based on the output from the computation | * Will update the neighboring pixels based on the output from the computation | ||
- | * Pixel | + | * Init_Layer: |
- | * Holds the gray-scale value for 7 pixels, then has space for a couple more bits for flags in the future | + | * This is the middle Neuron, which will initialize, reset, and repair all of the other Neurons |
- | * Router | + | * This will also contain its own weight, and bias which will be summed into the total from the filter |
- | * Will hold routing information based on which way for a packet | + | * FC_Neuron: |
- | * Path | + | * Neurons |
- | * Will help with guiding | + | * There will be four layers of 12, which will each represent |
- | * Packet | + | * FC_Init_Layer: |
- | * Will hold information about 7 pixels, and will follow | + | * Will initialize, reset, and repair |
+ | * Label: | ||
+ | * Will be used to classify the network once it is complete, meaning the FC_Layer_Twelve | ||
- | ===== Goals ====== | ||
- | * Main Goal: Run a simple MNIST example with smaller training set of 0's, of image size 18x18(?) | ||
- | * First Step: Get a layout that will work for the CNN (X) | ||
- | * Second Step: Get 7 packets sent from one cluster of pixels to another cluster of pixels ( ) | ||
- | * Third Step: Get pixel packets from all other clusters of pixels to one Neuron cluster, then run that specific convolution layer over all pixels from the image ( ) | ||
- | * Fourth Step: Get the above goal to work with all clusters of Neurons ( ) | ||
- | * Fifth Step: Implement the pooling step ( ) | ||
- | * Sixth Step: Set-up the rectifier layer ( ) | ||
- | * Seventh Step: Create the fully-connected outcome ( ) | ||
- | * Eight Step: Classify the image ( ) | ||
===== Weekly Logs ===== | ===== Weekly Logs ===== | ||
Line 50: | Line 42: | ||
| | ||
| | ||
+ | | ||
+ | Week 10 Update: | ||
+ | | ||
+ | | ||
+ | * The results weren' | ||
+ | * Found some major problems in the weights I was using after testing every single possible input pattern | ||
+ | * Will find better weights in week 11 | ||
+ | * Forgot to put my week 10 update on week 10.... | ||
+ | |||
+ | Week 11 Update: | ||
+ | | ||
+ | * Will look into adding more objects that can still be successfully classified | ||
+ | * Implemented these weights and biases into the project, and it classifies 8/10 possible patterns (6 from the horizontal 2 length line, and 4 from the 2x2 box) | ||
+ | * Does not pull the image (pixels) from a element anymore, now can be hand drawn by the user | ||
+ | * Tested hitting the network with " | ||
+ | * Working towards getting a reset to work | ||
+ | * The neurons in the convolution already had their weights stored separately from their output values, whil the fully connected layer did not | ||
+ | * I have successfully separated the weights and the output values for the fully-connected layer, and it works perfectly | ||
+ | * Added a reset element, as when the Neurons see it, they will reset the network | ||
+ | * Created a presentation for this project | ||
+ | |||
+ | Week 12 Update: | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | Week 13 Update: | ||
+ | | ||
+ | * Can no only classify 4, but way better percentages up by about 20-30% from the previous version | ||
+ | * Also found a problem with the version I was using in tiny-dnn, but was able to fix it. Was having to do with the rescaling of the outputs | ||
+ | * Created more plots with the improved numbers and places them in my paper | ||
+ | * Added a lot more to my paper including introduction, | ||
+ | * Corrected my abstract | ||
+ | * Fixed my CNN in the MFM to be more robust, where when a big chunk is removed it will repair itself, and then when a reset is used it can be re-run | ||
+ | |||
+ | Week 14 Update: | ||
+ | | ||
+ | | ||
+ | * Box, two-length line, L shape, and a three-length line, I get a global max of 77.5% class rate | ||
+ | * Went back to three as I was running into problems and I get consistent 85% classification rate | ||
+ | * Improved paper, still need more plots for results and an improved discussion | ||
+ | * Finished Paper! | ||
+ | |||
+ | Week 15 Update: | ||
+ | | ||
+ | | ||
+ | |||
+ | |||
+ | | ||
project_people/josh_donckels.1508768826.txt.gz · Last modified: 2017/10/23 14:27 by jdonckels