Surya Kanoria

About Me

Hi! My name is Surya and I am a Machine Learning Engineer at Spotify working on Reinforcement Learning for music recommendations at a scale of millions of users. I am excited about applying state-of-the-art machine learning / reinforcement learning in the industry. Before Spotify, I worked in the Chicago Human + AI Lab. My research interest includes:

  • Recommender systems
  • Better Human-AI interaction by developing a better understanding of machine learning models.
  • Scaling machine learning models and practices for hundreds of millions of users in the industry.

I have four years of software engineering experience at Flipkart where I developed machine learning, backend and front-end systems for ~100 million users.

Education

University of Colorado Boulder

MS in Computer Science

2019 - 2020

I completed my Master’s with a focus on Data Science and Engineering. My research projects were advised by Prof. Chenhao Tan in which I worked on the interpretability of transformer networks and Dr. Geena Kim where I used bird images to generate bird sounds using GANs.

Birla Institute of Technology and Science, Pilani

Bachelor of Engineering (Hons), Chemical Engineering

2011 - 2015

During my time at BITS Pilani, I found my interests evolving towards programming and took several computer science courses to develop a strong foundation in computer science.

Experience

Spotify

Machine Learning Engineer

May 2021 - Present

Currently working on Reinforcement Learning for music recommendations for millions of Spotify users.

Spotify

Machine Learning Intern

May 2020 - December 2020

Developed end to end machine learning pipeline at Spotify that allows music personalization for new users. Implemented data aggregation, feature engineering, a learning to rank mode and real-time predictions for 300 million users.

Flipkart

Senior Software Engineer, Machine Learning

April 2018 - August 2019

I worked with user generated content like product reviews and questions, where I primarily worked on developing a personalized review recommendation system for users. In addition, I also worked on developing a question-answering system and a context-based spell correction system for non-native english speakers.

Flipkart

Senior Software Engineer

August 2017 - March 2018

I co-founded a new team to develop a cross-platform framework which allows same code to run with no performance hits on all mobile platforms - android, iOS and mobile-web. I also played a key role in development of a new developer platform which allowed other companies in India to run their applications inside the Flipkart mobile app and integrate with the Flipkart eco-system.

Flipkart

Software Engineer

July 2015 - July 2017

I led new initiatives for windows, mobile-web and android platforms. My most notable contribution was to single-handedly develop an open-source library called DUS for updating source code on android applications on the fly.

Projects

What to Learn, and How Toward Effective Learning from Rationales

Chicago Human + AI Lab

Jan 2021 - May 2021

https://arxiv.org/abs/2112.00071

Interpretability of Transformer Network

University of Colorado Boulder

Aug 2020 - Dec 2019

Worked on my master’s research project advised by Dr. Chenhao Tan. We examined the amount of information preseved about input words in the hidden representations of BERT. Submitted a research paper to ACL based on our results.

Sound generation based on visual input

University of Colorado Boulder

Jan 2020 - May 2019

Worked on my master’s research project under Dr. Geena Kim to develop a neural network which learns multi-modal association between bird images and bird sounds. Developed a custom Generative Adverserial Network by adapting Tacotron, VGG19 & speech synthesis models.

Voice Command Recognition

University of Colorado Boulder

September 2019 - December 2019

Developed a speech recognition system on Tensorflow which could translate short voice commands to text. Used speech processing feature extraction algorithms like MFCC and implemented dynamic CNNs networks to translate the extracted spectrograms to short texts.

Interpretable Machine Learning for Diabetes Patient Readmission

University of Colorado Boulder

September 2019 - December 2019

Developed a machine learning model that uses medical records to predict if a patient is going to get re-admitted to the hospital. The model is interpretable and could identify the factors that leads to readmission.

Personalised Review Ranking

Flipkart/IIT Kharagpur

August 2018 - July 2019

Implemented Aspect Extraction of Reviews and Collaborative Filtering using Deep Neural Networks to learn joint embeddings of review features, user profile, the temporal context in TensorFlow. Released as a live A/B experiment for 100 million users on Flipkart

Question Answering System

Flipkart/IIT Kharagpur

May 2018 - May 2019

Mentored a Masters student to develop an auto-answering of questions asked by users using product specifications and user reviews. Used key-value memory networks and dual space embedding models in TensorFlow to select the right specification/review to answer a query.

Context-based spell correction system

Flipkart/IIT Kharagpur

June 2018 - Aug 2019

Developed a spell correction system to aid non-native English speakers for product reviews written on Flipkart. Implemented Recurrent Neural Networks with Gated Recurrent Unit nodes trained on a labelled set of corrected sentences in TensorFlow.

Dynamic Update System

Flipkart

June 2016 - Sep 2016

Conceptualized, designed and developed a differential-sync system for delivering instant updates for React Native bundles for the Flipkart Mobile Apps. Modified the obfuscation logic of React Native Packager enabling both selective downloading of only the changes in bundles, as well as sharing of code across multiple bundles, previously not possible. Made several other optimizations eventually reducing the download size by ~95%.

Teaching

Teaching Assistant

University of Colorado Boulder

August 2020 - December 2020

  • Conducted weekly recitations for final year computer science students where I teach standard software engineering tools and processes.
  • Conducted weekly stand-ups with student project groups to help them manage their course projects.

Graduate Student Staff

University of Colorado Boulder

August 2019 - May 2020

  • Conducted office-hours and was reponsible for grading homework and exams for CSCI 2824 - Discrete Structures