Aditya Jain

Graduate CS (Honors) Student at USC

I am a machine learning and artificial intelligence enthusiast. I am more intereseted in AI applications and want to be a AI developer in the future which would help me to increase my knowledge in this field.

I am a pursuing MS in CS from USC Viterbi School of Engineering. I was SWE intern at Salesforce in Summer of 2022. Before MS, I worked as Associate Data Scientist. I am also teaching Applied NLP as Teaching Assistant during Fall 2022 at USC.

I have broad research interests including transfer learning, machine translation, information retrieval, image segmentation etc. I am also interested in applications which lies on intersection of CV and NLP such as generating images using textual description or generating image captions.

Checkout Resume



Implemented classification, regression, clustering algorithms along with metrics, preprocessing helper functions from scratch using numpy to get the better understanding of algorithms.
View Project

Brain Tumor Segmentation in MRI

Implemented U-Net from the paper "U-Net: Convolutional Networks for Biomedical Image Segmentation" to segment brain tumors in given MRI images of the brain.
View Project

NER/POS tagging app

Trained an LSTM based seq2seq model to tag all words of the paragraph to their Named Entity or Part of Speech. Used Flask and docker to deploy the model.
View Project

Image Caption Generator

Implementation of 'merge' architecture for generating image captions from paper "What is the Role of Recurrent Neural Networks (RNNs) in an Image Caption Generator?" using Keras.
View Project

FaceGAN - Generating Random Faces

This project is inspired by I trained a Deep Convolution Generative Adversarial Network on 100k celebrities photos. After training, the GAN generator were able to generate faces. View Project

Automatic Kinship Detection

This is a kaggle Challenge. Given a pair of faces we have to determine whether they are related or not. Here I have used a Siamese network over VGG-facenet to tackle this problem.
View Project

Flappy Bird Reinforcement Learning Agent

A Reinforcement Learning agent trained using Deep Q Learning on a Dueling Network Architecture with Prioritized Experience Replay to play Flappy Bird Game, implemented using Pytorch. View Project

TGS Salt Identification Challenge Kaggle

This is a Kaggle competition on Image Segmentation. We have to identify pixels in seismic images with salt sediment present. Here I have used UNet (Encoder and Decoder) to tackle the challenge. View Project

One Shot Face-Recognition using Siamese Network

A Face Recognition Siamese Network implemented using Keras. Siamese Network is used for one shot learning which do not require extensive training samples for image recognition. View Project


  • Python
  • Descriptive Statistics
  • Inferential Statistics
  • Statistical Modelling
  • Machine Learning
  • Deep Learning
  • Reinforcement Learning
  • pySpark
  • Java
  • C / C++
  • SQL
  • MongoDB
  • scikit-learn
  • Keras/TensorFlow
  • pandas
  • matplotlib/seaborn
  • NLTK
  • GIT
  • gRPC
  • Docker/Swarm
  • Android Development
  • Web Development
  • JavaScript
  • Linux


Attention Based Model for Machine Translation

Attention model is one of the most sophisticated sequence to sequence models which is used for different tasks such as Machine Translation, Image Captioning etc. View Blog

Proximal Policy Optimization Algorithm (PPO)

Here we will read about the state of the art Proximal Policy Optimization Algorithm which has become the new industry standard since its release by the OpenAI. View Blog

Image Captioning using 'merge' architecture

Lets discuss 'merge' architecture to generate Image Caption which is different from the tradtional view of Image Captioning where image features are 'injected' in RNN. View Blog

Policy Gradient and Actor-Critic Algorithm

Here we will see some drawbacks of Deep Q learning and will come up with the new approach known as Policy Gradient method. Later we will improve this to get A2C Algotirhm. View Blog

Deep Q Learning and Improvements in DQN

Here we will use Deep Neural Network to perform Q-Learning and will build an agent which will be able to play Flappy Bird game. We will also discuss some improvements in DQN. View Blog

Monte Carlo and Temporal Difference Learning

In reinforcement learning, we always do not have complete knowledge of MDP environment, there are different techniques to learn in unknown environment. Let's discuss them. View Blog

Policy Optimization in known MDP Environment

In reinforcement learning, an agent has to follow an optimal policy, there are various techniques to optimize a policy in known MDP environment. Let's discuss few of them. View Blog

Word Embeddings in Natural Language Processing

In NLP application, we have to convert word into some sort of numerical representation. There are various ways to do it. It is called Word Embedding. Lets explore it. View Blog

Long Short Term Memory Networks (LSTM)

Long Short Term Memory networks – usually just called “LSTMs” – are a special kind of RNN, capable of learning long-term dependencies. Let's demystify it. View Blog

Work Experience

August 2022 - Present

Teaching Assistant

USC Viterbi School of Engineering

Los Angeles, California.

May 2022 - August 2022

Software Engineering Intern

Salesforce, Inc

San Francisco, California.

February 2020 - May 2022

Student Research Assistant

USC Insititute of Creative Technologies

Los Angeles, California.

September 2018 - December 2020

Associate Data Scientist

Cognizant Technology Solutions

Bengaluru, Karnataka, India.

October 2016 – December 2017

Intern - Mean Stack Developer

Heelium Sports Pvt. Ltd.

Pune, Maharashtra, India.


January 2021 - Present

Master of Science in Computer Science

University of Southern California, Los Angeles, CA - 90007

August 2014 - June 2018

Bachelor of Engineering in Computer Science

Maharashtra Institute of Technology, Pune, India

April 2012 - May 2014

H.S.C. (12th)

Central Board of Secondary Education


Address : Los Angeles, CA - 90007
Email :