Google Summer Of Code - Part 1
Hey there! this is Akshay Vashistha. Currently I am a Google Summer of Code Student for the umbrella organisation CERN-HSF. Also, I am a B.Tech final year student @ JSSATE, Noida, India.
This story involves all my work as a GSOC student for CERN-HSF. I was selected in the team to develop Deep Learning Module for CERN-HSF. This module has to be integrated in Toolkit for Multivariate Analysis (TMVA), a multi-purpose machine learning toolkit integrated into the ROOT scientific software framework, used in many particle physics data analysis and applications.
My main work for GSOC involved making Deep AutoEncoder Layers based on previously developed DNNs by Simon Pfreundschuh. We were three students selected in the Deep Learning Team. Previously, we were to develop CNNs and extend TMVA from DNNs to CNNs but in the further meetings it was decided that we all will implement different algorithms for TMVA. Vladimir continued with CNNs, Saurav got RNNs and I got the option to implement either AutoEncoders or GANs. I wanted to get in with GANs but I thought it requires an already built CNNs to get reference from as it requires Conv Nets and DeConvNets. So I started with Deep AutoEncoders. But we had different Methods to book our algorithms in TMVA. Below is the flow of a typical TMVA training and testing application.
One have to create different method classes. If there is any new algorithm that has to be added, there should be layer classes related to same. There should be a method class so that the algorithm can be booked by factory object. This factory object then calls TrainAllMethods(), TestAllMethods() and EvaluateAllMethods() to train, test and compare performance of booked Methods. In my next post I will discuss about AutoEncoders in detail.
Cheers!