Indian Institute of Technology (IIT) Kharagpur, India
July 2012 - May 2016
Bachelor of Technology (Honours) Computer Science and Engineering -- CGPA: 9.0/10
- Bachelor's thesis: From a corpus of research papers, automatically extract trends like popular research areas and tools/techniques used over time. Awarded top grade. Published at JCDL 2017 (see Publications).
Georgia Institute of TechnologyVisiting Research Scholar
Atlanta, GA, USA
Sept. 2018 - July 2019

- Advised by Prof. Dhruv Batra and Prof. Devi Parikh. Performing research in computer vision, and natural language processing.

- Worked on generating natural language navigation instructions for trajectories in Matterport3D (a photo-realistic 3D environment).  Developed a hard-attention model, trained via gumbel-softmax straight through estimator. Published at CVPR 2019 (see Publications).

- Now fine-tuning instruction generation using reinforcement learning methods such as self-critical sequence training and actor-critic

Indian Institute of ScienceResearch Intern
Bengaluru, India
Nov. 2017 - July 2018

Advised by Prof. Ambedkar Dukkipati. Developed a decoder-less variant of Skip-Thought Vectors (maps natural language sentences to vectors ) which trained 10 times faster. Worked on generative adversarial networks (GANs) for semi-supervised learning. Developed models that explicitly learned to generate functions which in turn access a knowledge base (KB) for answering questions.

Software Robotics Corporation (Soroco)Platform Engineer
Bengaluru, India
June 2016 - Oct. 2017

- Led a team which used recurrent neural networks (RNNs) to automatically find easy-to-automate business processes (for e.g. payroll management, settling vendor disputes for top e-commerce websites). 

- Designed and implemented a patent-pending work queue-based distributed systems framework operational at Fortune 500 companies. The framework allowed developing efficient and fault-tolerant automation systems with minimal internal state.

FacebookSoftware Engineering Intern
Menlo Park, CA, USA
May 2015 - July 2015

Worked with the configuration management team in the Core Engineering Group. Found and fixed bottlenecks in existing architecture. Parallelized configuration checking service by splitting into master and slaves, speeding it up by 1000 times.

Fast GPU-Based Simulator for Room-to-Room dataset
Jan. 2019

Optimized the  Room-to-Room dataset's original simulator to only use GPU for updating simulator's state corresponding to the actions taken by the agent. The optimized simulator has 17x faster environment traversal on just a single GPU!

ICLR 2018 reproducibility challenge: Interpretable Counting for Visual Question Answering
June 2018

[Code] Model for answering counting based questions in VQA dataset trained with Self-Critical Sequence Training (a reinforcement learning method).  Counting objects in images modeled as a sequential decision process.

The first public PyTorch implementations of:-

- Skip-Thought Vectors [Code] / [Blog] : Model for understanding natural language

- Attentive Recurrent Comparators [Code] / [Blog] : Model for one-shot learning of new hand-drawn characters

Robot Soccer, IIT Kharagpur
May 2013 - May 2016

- Led the A.I. team. Created a framework for learning robot control policies for playing soccer using Q-Learning

- Bronze medal in FIRA 2015, South Korea.

Visual Landmark Selection for Generating Grounded and Interpretable Navigation InstructionsS. Agarwal, D. Parikh, D. Batra, P. Anderson, S. Lee
June 2019

[PDF]  CVPR'19 Workshop on Deep Learning for Semantic Visual Navigation

AppTechMiner: Mining Applications and Techniques from Scientific ArticlesM. Singh, S. Dan, S. Agarwal, P. Goyal, A. Mukherjee
June 2017

[PDF] Joint Conference on Digital Libraries (JCDL) 2017:6th International Workshop On Mining Scientific Publications