New Project Goals

Our oral presentation given on May 16, 2017, updating the class on our current progress on this project:

https://docs.google.com/presentation/d/1XHCQ0EzVIRHAQ004qh2xPEK3C3RlwQbnCX2yzGPjzP8/edit#slide=id.p

Milestone 1: End of Week 4

Deliverable:

Demonstrate a thorough understanding of existing legacy base by being able to consistently run the legacy version of the Convolutional Neural Network and display resulting data.

What we will do:

  • Obtain necessary libraries.
  • Update instances of deprecated MATLAB functions.
  • Restore modified code to original state.

Justification:

The code we were given relied on several unexpected libraries, one of which was developed by the Scripps Institute. We had been expecting the code to be in a “ready to run” state initially and did not anticipate requiring increased correspondence to get everything up and running. We also did not realize that the code would need to be fixed and updated due to the period of time in which it had gone unused. Lastly, neither we nor Ana were aware that the code had been modified beyond its original purpose, and that we would have to attempt to restore it back to its former state to continue with out tasks.

Milestone 2: End of Week 7

Deliverable:

Organize a currently scattered legacy code into a singular program that can be run simply and intuitively.

Justification:

After eventually being able to wholly run the classifier, we intend to organize and improve the legacy code’s design. This process also includes writing documentation for the sake of future developers. Once organized, it should be much easier to modify the code so that the process of training, running, and even testing the classifier is far more streamlined. This will significantly enhance the viability of the CNN as a research tool. Ideally, by this stage we would be able to deliver a singular executable program that Ana and others at Scripps can use efficiently.

Milestone 3: End of Quarter

Deliverable:

Develop a Graphical Interface for the Convolutional Neural Network that will improve usability.

Justification:

Our team aims to deliver a single executable program that can be used by Dr. Sirovic at a presentation three weeks following the end of the quarter. While the deliverable described in Milestone 2 would be sufficient, we believe a graphical interface that handles the different usage cases for the classifier would significantly improve usability while being more presentable at the aforementioned conference.

Milestone 4: End of Quarter

Deliverable:

Familiarize ourselves on the topic of CNNs by writing a simple report outlining our knowledge and determining proper metrics for measuring performance of the CNN we will be developing as the development process continues.

What we will do:

  • Draw parallels to existing code.
  • Propose improvements to existing code to improve performance.

Justification:

Simply writing a report of our knowledge would not necessarily be very useful. We shifted this milestone to better support later users of the code, and are treating this report as the document we would have liked to have seen in the beginning while we had no background knowledge with neural networks. Accordingly, we want to make the report more relevant to the existing code and help users understand it more by introducing neural networks, and drawing parallels between a classical neural network and our code. Due to the limited time frame of the quarter, we would like to leave the project in a state that is ready for improvement by proposing possible avenues for exploration by future students and researchers.

Milestone 5: End of Quarter

Deliverable:

Provide documentation on our program for future users of our program to be used as reference guide for clarification.

Justification:

We had trouble in deciphering the methods in the files we were given by Dr. Sirovic because the previous developer of our program did not leave much documentation on what each method’s purpose was relative to the whole program. We had to research many of the methods on MATLAB’s API and had to piece together what the method’s purpose was for that particular part of the program. We want to remove that difficulty from the user’s experience when running our program.

Our Final Sprint

Jeremy/Rochelle:

  • Contribute to report on neural networks. Completed at end of quarter.
  • Propose improvements to existing network. Completed at end of quarter.
  • Finish evaluation of CNN performance. Completed at end of this week.
  • Implement ability to input non-training data into CNN for classification. Completed at end of next week.

Luis/Tiffany:

  • Contribute to report on neural networks. Completed at end of quarter.
  • Propose improvements to existing network. Completed at end of quarter.
  • Finalize GUI implementation for training process. Completed at end of next week.
  • Integrate GUI with newly developed classification interface (non-training data). Completed at end of quarter.

Milestones for continued development

After having discussed with Dr. Sirovic and the rest of the team, we believe it is a real possibility that we will continue contributing to the development of the Convolutional Neural Network following the end of the quarter. In this case, some milestones we have discussed include: Open sourcing and generalization of the classifier so that it can be used as a tool in a wide range of fields; Determining metrics for classifier performance and subsequently attempting to improve performance based on the determined metrics; Looking into other projects at Scripps.

Topics:

New Project Goals

Our oral presentation given on May 16, 2017, updating the class on our current progress on this project:

https://docs.google.com/presentation/d/1XHCQ0EzVIRHAQ004qh2xPEK3C3RlwQbnCX2yzGPjzP8/edit#slide=id.p

Milestone 1: End of Week 4

Deliverable:

Demonstrate a thorough understanding of existing legacy base by being able to consistently run the legacy version of the Convolutional Neural Network and display resulting data.

What we will do:

  • Obtain necessary libraries.
  • Update instances of deprecated MATLAB functions.
  • Restore modified code to original state.

Justification:

The code we were given relied on several unexpected libraries, one of which was developed by the Scripps Institute. We had been expecting the code to be in a “ready to run” state initially and did not anticipate requiring increased correspondence to get everything up and running. We also did not realize that the code would need to be fixed and updated due to the period of time in which it had gone unused. Lastly, neither we nor Ana were aware that the code had been modified beyond its original purpose, and that we would have to attempt to restore it back to its former state to continue with out tasks.

Milestone 2: End of Week 7

Deliverable:

Organize a currently scattered legacy code into a singular program that can be run simply and intuitively.

Justification:

After eventually being able to wholly run the classifier, we intend to organize and improve the legacy code’s design. This process also includes writing documentation for the sake of future developers. Once organized, it should be much easier to modify the code so that the process of training, running, and even testing the classifier is far more streamlined. This will significantly enhance the viability of the CNN as a research tool. Ideally, by this stage we would be able to deliver a singular executable program that Ana and others at Scripps can use efficiently.

Milestone 3: End of Quarter

Deliverable:

Develop a Graphical Interface for the Convolutional Neural Network that will improve usability.

Justification:

Our team aims to deliver a single executable program that can be used by Dr. Sirovic at a presentation three weeks following the end of the quarter. While the deliverable described in Milestone 2 would be sufficient, we believe a graphical interface that handles the different usage cases for the classifier would significantly improve usability while being more presentable at the aforementioned conference.

Milestone 4: End of Quarter

Deliverable:

Familiarize ourselves on the topic of CNNs by writing a simple report outlining our knowledge and determining proper metrics for measuring performance of the CNN we will be developing as the development process continues.

What we will do:

  • Draw parallels to existing code.
  • Propose improvements to existing code to improve performance.

Justification:

Simply writing a report of our knowledge would not necessarily be very useful. We shifted this milestone to better support later users of the code, and are treating this report as the document we would have liked to have seen in the beginning while we had no background knowledge with neural networks. Accordingly, we want to make the report more relevant to the existing code and help users understand it more by introducing neural networks, and drawing parallels between a classical neural network and our code. Due to the limited time frame of the quarter, we would like to leave the project in a state that is ready for improvement by proposing possible avenues for exploration by future students and researchers.

Milestone 5: End of Quarter

Deliverable:

Provide documentation on our program for future users of our program to be used as reference guide for clarification.

Justification:

We had trouble in deciphering the methods in the files we were given by Dr. Sirovic because the previous developer of our program did not leave much documentation on what each method’s purpose was relative to the whole program. We had to research many of the methods on MATLAB’s API and had to piece together what the method’s purpose was for that particular part of the program. We want to remove that difficulty from the user’s experience when running our program.

Our Final Sprint

Jeremy/Rochelle:

  • Contribute to report on neural networks. Completed at end of quarter.
  • Propose improvements to existing network. Completed at end of quarter.
  • Finish evaluation of CNN performance. Completed at end of this week.
  • Implement ability to input non-training data into CNN for classification. Completed at end of next week.

Luis/Tiffany:

  • Contribute to report on neural networks. Completed at end of quarter.
  • Propose improvements to existing network. Completed at end of quarter.
  • Finalize GUI implementation for training process. Completed at end of next week.
  • Integrate GUI with newly developed classification interface (non-training data). Completed at end of quarter.

Milestones for continued development

After having discussed with Dr. Sirovic and the rest of the team, we believe it is a real possibility that we will continue contributing to the development of the Convolutional Neural Network following the end of the quarter. In this case, some milestones we have discussed include: Open sourcing and generalization of the classifier so that it can be used as a tool in a wide range of fields; Determining metrics for classifier performance and subsequently attempting to improve performance based on the determined metrics; Looking into other projects at Scripps.