top of page

PROJECTS

Portfolio of Work

Feel free to have a look at some of the work I have done apart from industry.

You could also checkout my Github for a code demonstration of these projects

Neat Computer Desk

EMERGENCY SOCIAL NETWORK

August 2019 - December 2019

Constructed an extensive application to service users in emergency situations, with vanilla JS, CSS, HTML Front End, complemented by Node with Express JS and Socket IO at server side, achieving near native-application performance on mobile browsers. The application was tested using Jest, with CI/CD being done by CircleCI and Heroku.

INTERACTIVE USER CHAT APPLICATION

July 2019 - September 2019

Constructed a user chat room application with Node JS, Express JS, Socket IO, Mongoose at server- side complemented by ES6 Javascript, jQuery, Bootstrap, CSS3, HTML5 at client side with MongoDB for data persistence and deployed on cloud through Heroku.

Woman with Computer
Neat Computer Desk

DETECTING TOXIC OBJECTS IN IMAGES - CAPSTONE PROJECT AT GREAT LAKES

July 2019 - August 2019

Constructed a Deep Learning Model to detect Cigarettes in a given image with a confidence score above a certain threshold. The training data was labeled manually and the model was trained using SSD Mobile Net Frozen Weights PreTrained on the COCO Dataset. An accuracy of 70% was achieved on live test data i.e. images taken via personal device and the project was presented at International Conference on Data Signal Processing (ICDSP) 2019 at Pune, India.

The project achieved the highest score in the Pune Great Lakes Cohort of 2019 and received appreciation from Professor Rushikesh Borse and Professor Narayana Darapaneni, both leaders in the Machine Learning field.

Tools and Skills Used:
Tensorflow, Keras, SSD MobileNet, Pretrained Models, CNN, LabelImg, Colaboratory, OpenCV, Data Augmentation

LANGUAGE MODELING USING RNNS

December 2019

Training a recurrent neural network on the WikiText-2 language modeling dataset. Utilized a recurrent network to model and generate text. Learnt about the various techniques we use to regularize recurrent networks and improve their performance.

Task included subclassing and overloading the Pytorch Dataloader. In traditional problem of language modelling, a trained language model would learn the likelihood of occurrence of a word based on the previous words. Therefore, the input of the model was the previous text.

Of course, language models could be operated at different levels, such as character level, n-gram level, sentence level and so on.

Woman with Computer
Man Holding Laptop

ATTRIBUTION METHODS: DEEPLIFT BACKPROPAGATION

September 2019 - December 2019

This task is a part of my research at Carnegie Mellon University. 

The highly opaque nature of Neural Networks has inhibited the interpretability of deep learning models. My work thus focuses on assigning an attribution value, sometimes also called ”relevance” or ”contribution”, to each input feature of a network, so that we may attempt to explain DNNs more thoroughly, through the use of these ”Attribution Methods”. In my research, we discuss on one such method - DeepLIFT (Deep Learning Important FeaTures) by (A Shrikumar et al. 2017), a method for attributing the output prediction of a neural network to a specific input via a back propagation based approach by deriving the contributions of neurons in the network to features of the input.

FACE EXPRESSION RECOGNITION USING DEEP NEURAL NETWORKS

October 2019 - December 2019

In this project, we further explore the efficacy of CNN's powerful feature learning capabilities on the task of Facial Expression Recognition. With compute moving from cloud to edge due to issues like latency, privacy, etc., edge inference has become an active research topic. With both these motivations in mind, we first adopt a small baseline CNN and then modify its architecture to improve performance. In order to further enhance the results, we propose a simple Attention Mechanism which helps focus on relevant facial features in an image, and integrate it into our modified custom architecture. We use two popular data sets widely used in Facial Emotion Recognition, namely Extended Cohn-Kanade (CK+) and FER2013, for our experiments.

Our final proposed architecture provides 83% validation accuracy on CK+ and 63.5% on FER2013 (stands among top 10 in ICML 2013 Workshop's FER Challenge on Kaggle).

Quiet Desk
Two Computer Screens

FACE CLASSIFICATION

October 2019 - November 2019

Given a face image as input to the system, we had to predict the ID of the person's face. The true face image ID will be present in the training data and so the network will be doing an N-way classification to get the prediction. We were provided with the development set and could fine-tune the model based on the accuracy we achieved on the development set.

Tools and Skills:
Pytorch, Kaggle, CNN, AlexNet, ShuffleNet, AWS, GCP

GATED RECURRENT UNIT CELLS AND BEAM SEARCH DECODER

November 2019

Replicated a portion (Specifically Backpropagation through time - BPTT) of the torch.nn.GRUCell interface. GRUs are used for a number of tasks such as Optical Character Recognition and Speech Recognition on spectograms using transcripts of the dialog.

I also implemented the Greedy Search and Beam Search Decoder. Greedy search greedily picks the label with maximum probability at each time step to compose the output sequence. Beam search is a more effective decoding technique to to obtain a sub-optimal result out of sequential decisions, striking a balance between a greedy search and an exponential exhaustive search by keeping a beam of top-k scored sub-sequences at each time step.

Outdoors Meeting
Startup

NUMPY BASED CONVOLUTIONAL NEURAL NETWORKS

October 2019 - November 2019

Implemented the Conv1D class so that it has similar usage and functionality to torch.nn.Conv1d. After that, I composed a CNN that would perform the same computation as scanning a given input with a multi-layer perceptron. Finally, I constructed a CNN that would perform the same computation as scanning a given input with a multi-layer perceptron.

RNN-BASED PHONEME RECOGNITION

October 2019 - November 2019

The WSJ dataset was used for this contest. We used unaligned labels in this contest. That means we were given the list of phonemes for each utterance, but not which frames correspond to which phonemes. Inference of the alignment required using CTC loss.

Input data was an array of utterances, each of which is shaped (frames, frequencies). Labels were simply the list of phonemes in the utterance [0-45]. There were 46 phoneme labels.

The task was to predict the phonemes contained in utterances in the test set. We were not given aligned phonemes in the training data, and not asked to produce alignment for the test data.

Tools and Skills:
RNN, LSTM, GRU, Pytorch, CTC Loss, Beam Search, CTC Decoder

Startup Team
Focusing at Work

FRAME LEVEL CLASSIFICATION OF SPEECH

September 2019 - October 2019

Apply knowledge of feedforward neural networks and apply it to a more useful task than recognizing handwritten digits: speech recognition. Dataset consists of audio recordings (utterances) and their phoneme state (subphoneme) labels. The data comes from articles published in the Wall Street Journal (WSJ) that are read aloud and labelled using the original text.

The task was to identify the phoneme state label for each frame in the test data set. It is important to note that utterances are of variable length.

Tools and Skills:
Pytorch, Kaggle, Numpy, ANN, AWS, Jupyter

FACE DETECTION

July 2019

The goal of Fake News detection is not to directly identify whether a headline or article is “fake” or not, which is arguably a highly subjective question, and one that even skilled humans may have difficulty answering. The objective is around the well-defined problem of “stance detection,” which involves comparing a headline with a body of text from a news article to determine what relationship (if any) exists between the two.

Skills and Tools
RNN, Word embedding, LSTM, Attention models

Coding
Student in Library

SENTIMENT ANALYSIS

June 2019

The objective of this project is to build a text classification model which analyses the customer's sentiments based on their reviews in the IMDB database. The model uses a complex deep learning model to build an embedding layer followed by a classification algorithm to analyze the sentiment of the customers.

Skills and Tools
RNN, Word embedding, LSTM, Classification

ORACLE FLEXCUBE UNIVERSAL BANKING

July 2018 - July 2019

Research and Development Team Member for upgrading the the largest core banking product in the world.

Technologies are Knockout JS as a Data Binding Front End Model wired to the proprietary Oracle JET UI Framework with a custom Oracle built Java system similar to Spring, interfaced with Hibernate and Eclipse Link on Oracle Database 12c, with PL/SQL constructs for database logic. The system consisted of approximately 600,000 code artifacts including Server Side Java and XML files, Database Objects , Client Side Scripts and Utilities, requiring over 100 JVM instances to operate a production system.

Working from Home
Neat Computer Desk

SYNCHRONY FINANCIAL DIGITAL BANKING

May 2015 - July 2018

Worked as a core member for development of a digital banking system over a period of a year beginning April 2015. Later incorporated in a dedicated technical point of contact ten member team for this system (condensed from the initial 140) as a 24 by 7 privileged maintenance model initiative.

System Architecture involved integrating high throughput Fiserv Products via SOAP (JAX-WS) Web Services coupled onto a robust Spring and Struts 2 J2EE Platform on JSP Frontend, packaged and deployed through a Jenkins Weblogic 12c Deployment Pipeline.

ANALYSING THE PERFORMANCE OF FOOTBALL TEAMS

November 2018

Analysed historical data about football teams which have participated in the the La Liga Cup and calculated various metrics which can be used as indicators of success for teams in the tournament.

Skills and Tools
Statistics, python, eda

Woman with Computer
Man Holding Laptop

PREDICTING AVERAGE AIR FARES

December 2018

Used exploratory data analysis on Airfare data for the US market. Built a model in order to predict average airfares and checked for problems like multicollinearity and took appropriate measures to ensure model performance.

Skills and Tools
EDA, Multiple Regression, Hypothesis Testing

IDENTIFYING POTENTIAL CUSTOMERS FOR LOANS

March 2019

Classified vehicles into different types based on silhouttes which may be viewed from many angles. Used PCA in order to reduce dimensionality and SVM for classification

Skills and Tools
Support Vector Machines, Principal Component Analysis, Classification

Quiet Desk
Two Computer Screens

IMPLEMENTING A IMAGE CLASSIFICATION NEURAL NETWORK TO CLASSIFY STREET HOUSE VIEW NUMBERS

May 2019

SVHN is a real-world image dataset for developing object recognition algorithms with a requirement on data formatting but comes from a significantly harder, unsolved, real-world problem (recognizing digits and numbers in natural scene images). SVHN is obtained from house numbers in Google Street View images. The objective of the project is to learn how to implement a simple image classification pipeline based on the k-Nearest Neighbour and a deep neural network.

Skills and Tools
Neural Networks, Deep Learning, Keras, Image Recognition

CLASSIFY WEED FROM PLANT SEEDLINGS

May 2019

This project involved the identification of weed type from given plant/crop seedlings. The dataset contains images of approximately 960 unique plants belonging to 12 species at several growth stages. Convolution Neural network with multiple layers was used and implemented using Keras API.

Skills and Tools
Convolution Neural Network, Keras, Computer Vision

Outdoors Meeting
Startup

CHECKING EFFECTIVENESS OF A NEW INCENTIVE SCHEME

December 2018

Used sales output data to gauge the effectiveness of the new incentive scheme rolled out to sales people. Used hypothesis testing and statistical inference in order to do the analysis.

Skills and Tools
Hypothesis Testing, Statistics, Python

PRODUCT RECOMMENDATION SYSTEM

March 2019

This project involved building recommendation systems for Amazon products. Popularity based model and Collaborative Filtering model were used and evaluated to recommend top-10 products.

Skills and Tools
Recommender Systems, Collaborative Filtering, Python

Startup Team
Focusing at Work

BANK CUSTOMER CHURN MODELLING USING NEURAL NETWORKS

April 2019

This Kaggle project involves building an ANN-based churn model which can determine whether certain bank customers will continue using their service or not. The ANN model analyzes the relationship between customer churn & multiple independent variables affecting churn. Recommendations for improvements in service were suggested based on the results of the analysis.

Skills and Tools
Neural Networks, Classification, Keras, Tensorflow

FAKE NEWS DETECTION

July 2019

The goal of Fake News detection is not to directly identify whether a headline or article is “fake” or not, which is arguably a highly subjective question, and one that even skilled humans may have difficulty answering. The objective is around the well-defined problem of “stance detection,” which involves comparing a headline with a body of text from a news article to determine what relationship (if any) exists between the two.

Skills and Tools
RNN, Word embedding, LSTM, Attention models

Coding
Student in Library

CLASSIFYING SILHOUETTES OF VEHICLES

March 2019

Classified vehicles into different types based on silhouttes which may be viewed from many angles. Used PCA in order to reduce dimensionality and SVM for classification

Skills and Tools
Support Vector Machines, Principal Component Analysis, Classification

DEEP LEARNING ADVERSARIAL ATTACKS AND ADVERSARIAL DEFENSES

April 2020 - May 2020

Implemented the Carlini Wagner L2 and Projected Gradient Descent (PGD) Attacks on vision neural networks using tensorflow. Also implemented the Pre Madry Adversarial Defense Method and Representer Point Selection for explaining predictions of a deep neural network.

Man Holding Laptop
Quiet Desk

INFLUENCE DIRECTED EXPLANATIONS AND ATTRIBUTION BASED METHODS

March 2020 - April 2020

Implemented Influence Directed Explanations and Attribution Based Methods, namely Integrated Gradients and Saliency Maps using Tensorflow. The explanations were to be evaluated on the ImageNet Dataset. For Influence Directed Explanations, an expert neuron was identified for its influence on the model prediction. For Integrated Gradients and Saliency Maps, attributions were evaluated using binary masks and point clouds to identify the points of interest in an image through human interpretations. Objective Evaluation Methods including Average Drop and Necessity Ordering were also coded by hand and evaluated on the implementations of the explanation methods.

LDA BASED ONLINE CATEGORIZATION SERVICE

 

March 2020

Constructed a Web Service exposing categorized publications with clustering done through Machine Learning's LDA (Mallet Tool), and services exposed via Play Framework on a Java Platform using REST APIs, and data fetched from MySQL using JDBC.

Two Computer Screens
Outdoors Meeting

LUCENE SEARCH AND SPATIAL SEARCH

Februrary 2020 - March 2020

Ranked Search Results for Publications fetched from XML and stored in MySQL Database using Apache Lucene for indexing and search result retrieval, with implementation done in Java and JDBC. Also utilized MySQL Spatial Search to construct Polygons for searching data within artificial geospatial boundaries.

IDENTIFY OPTIMAL SERVICE COMPOSITION USING GENETIC ALGORITHMS

March 2020

Utilized a Genetic Algorithm implemented in the JGAP Framework to identify the best service candidates in the given service clusters based on their Quality of Service (QoS). The Service Clusters correspond to business entities for which the best composition had to be chosen for optimum business value.

Startup
Startup Team

PUBLICATION RECOMMENDATION SERVICE

 

January 2020 - February 2020

Exposed Java Web Services through REST APIs to recommend publications parsed from an XML file before being processed in a MySQL Database, along with API mashups and a Map API (Mapbox and leaflet.js) for locating conferences within an integrated web application developed using the Play 2.x Framework.

CLASSIFY SPOTIFY DATA USING A DECISION TREE CLASSIFIER

April 2020

Successfully classified the Spotify Dataset to predict whether an individual liked or disliked a particular song. To achieve this, I used Sklearn's Decision Tree Classifier with Grid Search for hyper-parameter tuning along with Cross Validation. Achieved high precision and recall with ~73% accuracy on an ensemble of decision trees.

Startup Team
Focusing at Work

IMPLEMENT POPULAR MACHINE LEARNING MODELS FROM SCRATCH

Jan 2020 - May 2020

Successfully implemented and tested a plethora of important machine learning models from scratch using Python and Numpy. Models include Logistic Regression, Linear Regression, Polynomial Regression, Ridge Regression,  Adaboost Classifier, Neural Networks, EM algorithm and Principal Component Analysis (PCA).

MEMBERSHIP INFERENCE AND WORD DEBIASING

May 2020

Implemented a Deep Learning Membership Inference Attack against an MNIST dataset based on the research paper "Membership Inference Attacks Against Machine Learning Models" (Stronati et. al.) achieving a ~63% inference accuracy on the training dataset. Also implemented word embedding debiasing on the Google News texts corpus (w2vNEWS) based on the research paper "Debiasing Word Embeddings" (Bolukbasi et. al.) and achieved convincing debiased analogies.

Coding
Projects: Projects

+16503960097

©2019 by Siddharth Mehta. Proudly created with Wix.com

bottom of page