Google Summer of Code
Abstract (from proposal)
The purpose of this project is to verify the convergence of the training algorithms provided in 69 Neural Network R packages available on CRAN to date. Neural networks often must be trained with second order algorithms and not with the first order algorithms as many packages seem to use instead.
Due to the large number of packages to validate, the work has been split among two students. Being Student 2, I will validate 34 packages and prepare one article to be published in the R-Journal. At the end of the program, a package will be made available to Neural Network package authors and maintainers to verify and test new algorithms by themselves.
The results of this project could be used to make better neural network packages in the future, improve the ones currently being used, or simply know how the neural network packages actually perform.
WORK COMPLETED
- Worked with Akshaj and the mentors to develop the NNbenchmark package
- Read documentation for 40 packages to determine if they can be tested
- Made R files for 37 package algorithms + some Rmd files
- Made basic R Journal submission format with rticles with references and a draft of the Introduction + some structure Highlights
- Having the idea to put results in the dataframe after getTimer
- Being able to figure out how a package works after a long time on working it
Challenges - Compiling the final table of results -> delayed due to problems such as certain packages causing fatal errors for R Sessions
- Submitting NNbenchmark to CRAN
FUTURE WORK
- Diversify the neural networks that are able to be tested from just ones for regression to classification, etc
- Get NNbenchmark on CRAN
- Complete article (results etc) and submit the article
IMPORTANT LINKS
- Call for students (original) : https://github.com/rstats-gsoc/gsoc2019/wiki/Neural-Network-package-validation
- Call for students (copy) : https://www.inmodelia.com/gsoc2019.html
- My project page on Summer of Code website : https://summerofcode.withgoogle.com/projects/#5795523770974208
- Akshaj's project page on Summer of Code website : https://summerofcode.withgoogle.com/projects/#6319761942642688
- NNbenchmark package repo : https://github.com/pkR-pkR/NNbenchmark
- Companion repo for templates of the packages : https://github.com/pkR-pkR/NNbenchmarkTemplates
(my commits were done under this username) - Repo for R Journal submission : https://github.com/ApaBila/NNbenchmarkArticle
- Akshaj's website repo : https://github.com/scarecrow21/NNbenchmarkWeb
- Akshaj's website for NNbenchmark : https://akshajverma.com/NNbenchmarkWeb/index.html
CREDITS
Fellow student: Akshaj Verma - Student 1, packages AMORE to LilRhino
Mentors:
Christophe Dutang
John Nash
Patrice Kiener