A repository containing my submissions for the evaluation test for prospective GSoC applicants for the CMS and End-to-End Deep Learning Project.
I am applying for the project Vision Transformers for End-to-End Particle Reconstruction for the CMS Experiment.
Note- Use NBViewer to view the jupyter notebooks, as Jupyter notebook cell outputs are not rendered on GitHub. Or clone the repository to local for viewing Jupyter notebook cell outputs. Or view the PDF files, corresponding to task notebooks.
NBViewer Link: Task 1 Tensorflow Notebook
NBViewer Link: Task 1 Pytorch Notebook
I have used different models for Pytorch and Tensorflow Implementation.
Feeded hit energy
and time
channels to different Input
layers.
Train AUC Score | Validation AUC Score | Best Validation AUC Score |
---|---|---|
0.8008 | 0.6805 | 0.7895 |
In Task 1 Tensorflow implementation, I have used keras.metrics.AUC
as the evaluation metric.
The validation AUC score and loss is fluctuating (I have tried with different learning rates, optimizers, models and layers' parameters, but the issue remains the same).
Feeded both hit energy
and time
channels to Conv2D
input layer.
Train AUC Score | Validation AUC Score |
---|---|
0.74 | 0.71 |
In Task 1 Pytorch implementation, I have used sklearn.metrics.roc_auc_score
as the evaluation metric.
NBViewer Link: Task 2 Notebook
I have used the run0
file dataset for this task. I have used Tensorflow for model implementation.
Feeded X_jets
, pt
, m0
to different Input
layers.
Train AUC Score | Validation AUC Score |
---|---|
0.785 | 0.771 |
In Task 2 implementation, the challenge was that numpy
was detecting X_jets
as a numpy object, instead of ndarray
. numpy
's inbuilt functions were taking unbounded time to process X_jets
into ndarray
object. So, I used four nested loops to copy the data into ndarray
object. I have used 5x5
kernel size and pool size for Conv2D
and MaxPooling2D
, owing to the sparse data.
NBViewer Link: Task 3 Notebook
I have used Vision Transformer based Model, with Dropout
rates as 0. As the data is sparse, we cannot afford Dropout
layers in the Transformer model. Used softmax
as activation for last Dense
layer for Electron
and Photon
Binary Classification. Model Implementation is in Tensorflow.
Train AUC Score | Validation AUC Score | Test AUC Score |
---|---|---|
0.806 | 0.782 | 0.777 |
In Task 1 implementation using CNN, the validation loss and AUC score was fluctuating for the Tensorflow implementation model. In Task 3 implementation using Vision Transformer, the validation loss decreased in proportion to the training loss upto validation loss of 0.56, corresponding to validation AUC score of 0.78. I have used categorical_crossentropy
loss function.