AI News, ML-India interview series - Dr. Manish Gupta, VP, Xerox Research Center India

ML-India interview series - Dr. Manish Gupta, VP, Xerox Research Center India

As part of the new year’s initiatives on ML India, we promised you that we will be talking to leading researchers and academics in the field of machine learning to understand their work better.

Previously, Manish has served as Managing Director, Technology Division at Goldman Sachs India, and has held various leadership positions with IBM, including that of Director, IBM Research - India.

Manish talks about four areas which Xerox is innovating in - Education, Healthcare, Transportation and the services vertical.

He describes how challenges in each of these domains can be posed as hard computer science and specifically, machine learning problems in areas as diverse as vision, NLP and speech.

He talks of the problem in of automatically preparing the table of contents of a video, parsing equations described in lecture videos, tweaking deep neural networks to create intelligent chat bots and more.

Xerox is organizing a winter school for machine learning and today was its

section of our population is underserved in the most fundamental services like health

intensive education systems to massive online courses where lectures given

learn what content suits you best, what style and pace of lecture delivery

fairly new – we set up shop in 2010 in India.

recent work includes a paper at ACM multimedia, the top conference

creating table of content for online lecture videos.

of the best conferences for showcasing working in human computer interfaces;

list out XRCI’s key areas of focus, they’d be - I

grasp of the kind of specific problems we’re pursuing.

learning and data science to improve the accuracy of these systems.

of the areas we’ve worked on is in predicting which patients get admitted to

The state of the art method of predicting this is based on a scoring system

blood pressure, heart beat and many such body vitals.

by these methods are generally ignored by doctors and nurses given the

high false alarm rates the present systems have.

to do better than the best known results by a significant margin.

these results, our business groups have given us the challenge that of having

99% specificity so that there are at least 3-4 true positives for every false

screened for using mammography, which involves pumping X-rays into the body.

It’s a very painful procedure and additionally, it’s not effective at all in

the early 80s, there were too many false positives in analysing these images.

By applying modern machine learning and image processing techniques, we have

run our algorithms for a larger datasets and a larger class of cancer detection

is a comprehensive suite for a learner to learn rich and relevant content from

We have a product in place currently where virtual agents, as against humans, try

agents and identifies when a human representative ought to intervene and

that it is now possible to analyse these chats in real time, unlike the current

mechanism in which a post-hoc analysis of such logs take place.

successful demonstration over web chats, we are now moving towards replicating similar

speech research, where we shall get a chance to compare our work with the state of

integer linear programming problems, coming up with greedy algorithms to get

third work being informed by our business groups is relatively short term and

your take on startups innovating in the machine learning space?

combine it with our research depth to bring something unique and technically sound

I think there’s a very positive vibe in the startup community regarding machine

I think today’s entrepreneur realizes machine learning helps in

a shining example of guys who have been actually publishing papers at KDD and

machine learning where we have ten teams spending a fully paid two

Our lab is championing 5 faculty research grants of which

were very neat peace of work which were totally new ideas on how

Cardiac imaging: working towards fully-automated machine analysis & interpretation

Myocardial perfusion SPECT and PET imaging (MPI) plays a crucial role in the diagnosis and management of coronary artery disease, providing key information concerning myocardial perfusion and ventricular function.

Despite the availability of automated tools, visual scoring of perfusion is typically currently performed by physicians with summed stress and summed rest scores based on the American Heart Association's (AHA) standard 17-segment polar map.

This visual approach is time-consuming, subjective, and suffers from inter- [5], and intraobserver [4] variability, even when such scoring is performed by experienced physicians.

The initial step in the quantification of perfusion and function from MPI is the computer definition of the myocardium from gated and static perfusion image data and subsequent automatic reorientation of the images to standard coordinates (short axis/long axis of the heart) by the computer software.

The quantification process is subsequently accomplished by statistical comparisons of pixels from test patients to other scans of normal patients internally stored by the quantification software.

For example, a new method that checks automatically derived myocardial contours for potential segmentation failures has been shown to reduce further the level of human supervision Differences in summed stress scores (SSS) and summed difference scores (SDS) between 2 experienced observers reading 995 myocardial perfusion studies.

These new algorithms can lead to almost full automation of the image analysis steps with contour failure rate generally below 1% [2].

These recent software developments, combined with quality controls for automated left ventricle (LV) contours, would allow readers to target manual adjustment only to those few remaining studies flagged by the algorithm for potential errors.

These tools, with further refinement, will ultimately allow entirely unsupervised automated perfusion scoring and quantification of myocardial function without compromising accuracy.

These include ejection fraction, diastolic/systolic volumes, motion thickening, transient ischemic dilation, myocardial mass, dyssynchrony parameters and myocardial blood flow.

Top 16 Schools for Machine Learning

Machine learning is the study of how computers can learn complex concepts from data and experience, and seeks to answer the fundamental research questions underpinning the challenges outlined above.

The field of machine learning crosses a wide variety of disciplines that use data to find patterns in the ways both living systems, such as the human body and artificial systems, such as robots, are constructed and perform.

Whether it’s being applied to analyze and learn from medical data, or to model financial markets, or to create autonomous vehicles, machine learning builds and learns from both algorithm and theory to understand the world around us and create the tools we need and want.

Much of the machine learning research in Computer Science is multi-disciplinary, with strong ties to research in statistics, operations research, cognitive and developmental psychology, neuroscience, and philosophy.

Kaggle is a platform for predictive modelling and analytics competitions in which companies and researchers post data and statisticians and data miners compete to produce the best models for predicting and describing the data.

This crowdsourcing approach relies on the fact that there are countless strategies that can be applied to any predictive modelling task and it is impossible to know at the outset which technique or analyst will be most effective.

Kagglers come from a wide variety of backgrounds, including fields such as computer science, computer vision, biology, medicine, and even glaciology.

It will prep you with fundamentals of data science – the data size is manageable, the problem is interesting, and you need minimum overhead in terms of computational requirements.

There could be a few running or you can always dig up the old ones like Challenges in Representation Learning: Facial Expression Recognition Challenge and The Marinexplore and Cornell University Whale Detection Challenge Let’s first have a look some of the good schools, in no particular order, offering Master’s in Machine Learning: Now the question is, how to go about selecting the right school for you.

You are expected to have 5+ years of experience in programming parallel and distributed systems, debugging low-level problems, performance analysis and optimizations, and numerical methods.

Also include – experience in using machine learning techniques for classification, regression, or ranking problems, experience in building predictive models for recommendations or personalization, design and implementation of shipping, innovative consumer products etc.

Predicting Post-Operative Visual Acuity for LASIK Surgeries

LASIK (Laser-Assisted in SItu Keratomileusis) surgeries have been quite popular for treatment of myopia (nearsightedness), hyperopia (farsightedness) and astigmatism over the past two decades.

Our experiments on a dataset of 791 surgeries provides an RMSE (root mean square error) of 0.102, 0.094 and 0.074 for the predicted post-operative UCVA after one day, one week and one month of the surgery respectively.

Manish Gupta

IEEE Computer, 44 (9), 97-101, 2011.

International Journal of Computational Methods, 5 (02), 237-253, 2008.

BlueGene/L applications: Parallelism on a massive scale.

International Journal of High Performance Computing Applications, 22 (1), 33-51, 2008.

Systems research challenges: A scale-out perspective.

IBM Journal of Research and Development 50 (2.3), 173-180, 2006.

Design and exploitation of a high-performance SIMD floating-point unit for Blue Gene/L.

IBM Journal of Research and Development, 49 (2.3), 377-39, 2005.

Blue Gene/L programming and operating environment.

IBM Journal of Research and Development, 49 (2.3), 367-376, 2005.

Stack allocation and synchronization optimizations for Java using escape analysis.

ACM Transactions on Programming Languages and Systems (TOPLAS), 25 (6), 876-910, 2003.

Concurrency and Computation: Practice and Experience, 15(3-5): 317-340 (2003).

International Journal of Parallel Programming, 30(4): 257-289, 2002.

NINJA: Java for high performance numerical computing.

Scientific Programming, 10(1): 19-33, 2002.

Communications of the ACM, 44 (10), 102-109, 2001.

Blue Gene: a vision for protein science using a petaflop supercomputer.

IBM Systems Journal, 40 (2), 310-327, 2001.

A study of memory behavior of Java workloads.

International Journal of Parallel Programming, 28(6): 537-562, 2000.

Power-aware microarchitecture: Design and modeling challenges for next-generation microprocessors.

IEEE Micro 20 (6), 26-44, 2000.

From flop to megaflops: Java for technical computing.

ACM Transactions on Programming Languages and Systems (TOPLAS), 22 (2), 265-295, 2000.

Parallel Processing Letters, 10(2/3): 153-164, 2000.

Java programming for high-performance numerical computing.

IBM Systems Journal, 39 (1), 21-56, 2000.

A comparison of Java, C/C++, and Fortran for numerical computing.

IEEE Antennas and Propagation Magazine, 40 (5), 102-105, 1998.

Static analysis to reduce synchronization costs data-parallel programs with remote memory copy.

Parallel Processing Letters 7 (02), 145-156, 1997.

A unified framework for optimizing communication in data-parallel programs.

IEEE Transactions on Parallel and Distributed Systems, 7 (7), 689-704, 1996.

The PARADIGM compiler for distributed-memory multicomputers.

IEEE Computer, 28 (10), 37-47, 1995.

Compile-time estimation of communication costs of programs.

Journal of Programming Languages, 2, 191-226, 1994.

Demonstration of automatic data partitioning techniques for parallelizing compilers on multicomputers.

IEEE Transactions on Parallel and Distributed Systems, 3 (2), 179-193, 1992.

Distributed Computing 9(4): 398-410, 1990.

Does lean imply green?: A study of the power performance implications of Java runtime bloat.

ACM SIGMETRICS 2012: 259-270, 2012.

High performance file I/O for the Blue Gene/L supercomputer.

Gordon Bell finalists I - Large scale drop impact analysis of mobile phone using ADVC on Blue Gene/L.

Power and performance optimization at the system level.

Scaling physics and material science applications on a massively parallel Blue Gene/L system.

Performance implications of periodic checkpointing on large-scale cluster systems.

Critical event prediction for proactive management in large-scale computer clusters.

9th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD): 426-435, 2003.

Creating and preserving locality of java applications at allocation and garbage collection times.

Exploiting prolific types for memory management and optimizations.

A framework for efficient reuse of binary code in Java.

A comparison of three approaches to language, compiler, and library support for multidimensional arrays in Java.

Characterizing the memory behavior of Java workloads: a structured view and opportunities for optimizations.

Automatic loop transformations and parallelization for Java.

A methodology for high-level synthesis of communication on multicomputers.

Effects of program parallelization and stripmining transformation on cache performance in a multiprocessor.

Automatic data partitioning on distributed memory multiprocessors.

Automatic pipeline parallelization of sequential code, Pradeep Varma, Manish Gupta, Monika Gupta, Naga Praveen Kumar Katta.

Clustering threads based on contention patterns, Manish Gupta, Anithra P.

Compiler driven mechanism for registration and deregistration of memory pages, Dibyendu Das, Manish Gupta.

Managing migration ready queue associated with each processor based on the migration ready status of the tasks, Srivatsa Vaddagiri, Manish Gupta.

Thread-to-processor assignment based on affinity identifiers, Manish Gupta, Anithra P Janakiraman.

High efficiency compilation framework for streamlining the execution of compiled code, Dibyendu Das, Kandasamy M, Vidya Ranganathan, Manish Gupta.

Vector unit in a processor enabled to replicate data on a first portion of a data bus to primary and secondary registers, Siddhartha Chatterjee, Kenneth Dockser, Fred Gustavson Gustavson, Manish Gupta.

Hybrid event prediction and system control, M

Hybrid method for event prediction and system control, M

Method for reducing write barrier overhead, Y

Method for compiling program components in a mixed static and dynamic environment R

Method for efficient garbage collection based on object type, Y

Method and apparatus for efficient virtual memory management, Y

Method and apparatus for efficient cache management and avoiding unnecessary cache traffic, Y

Method for optimizing locks in computer programs, JD Choi, M Gupta, MJ Serrano, VC Sreedhar, SP Midkiff.

Methods and apparatus for optimizing programs in the presence of exceptions, JD Choi, M Gupta, M Hind.

Method for optimizing creation and destruction of objects in computer programs, JD Choi, M Gupta, MJ Serrano, VC Sreedhar, SP Midkiff.

Method for optimizing array bounds checks in programs, M

Keynote presentation at IEEE International Conference on Cloud and Autonomic Computing (ICCAC 2016) Augsburg, Germany, September 12-16, 2016.

Keynote presentation at India HCI 2015, IIT Guwahati, Dec 2015.

Keynote presentation at 13th International Conference on Service Oriented Computing (ICSOC), Goa, November 2015.

Keynote presentation at 8th ACM International Conference on Distributed Event Based Systems (DEBS), Mumbai, May 2014.

Keynote presentation at HiPC 2011, December 2011.

Keynote presentation at ICM Horizons 2011, Singapore, August 2011.

Invited presentation at Emerging Markets Forum (organized by UMD Robert Smith School of Business), Washington D.C., April 2011.

Keynote presentation at W4A 2011, held with International World Wide Web Conference, Hyderabad, March 2011.

Keynote presentation at ICDCN 2010, Kolkata, January 2010.

Keynote presentation at SEDS 2006, Indian Institute of Management, Kozhikode, August 2006.

Keynote presentation at 3rd Annual Workshop on Charm++ and its Applications, University of Illinois, Urbana-Champaign, October 2004.

Workshops and Tutorials Co-Chair, 15th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP 2010), January 2010, Bangalore, India.

Co-chair, 1st, 2nd, 3rd Workshops on Java for High Performance Computing (at ICS 1999-2001).

IEEE Computer, 44 (9), 97-101, 2011.

International Journal of Computational Methods, 5 (02), 237-253, 2008.

BR De Supinski et al.

BlueGene/L applications: Parallelism on a massive scale.

International Journal of High Performance Computing Applications, 22 (1), 33-51, 2008.

Systems research challenges: A scale-out perspective.

IBM Journal of Research and Development 50 (2.3), 173-180, 2006.

Design and exploitation of a high-performance SIMD floating-point unit for Blue Gene/L.

IBM Journal of Research and Development, 49 (2.3), 377-39, 2005.

Blue Gene/L programming and operating environment.

IBM Journal of Research and Development, 49 (2.3), 367-376, 2005.

Stack allocation and synchronization optimizations for Java using escape analysis.

ACM Transactions on Programming Languages and Systems (TOPLAS), 25 (6), 876-910, 2003.

Concurrency and Computation: Practice and Experience, 15(3-5): 317-340 (2003).

International Journal of Parallel Programming, 30(4): 257-289, 2002.

NINJA: Java for high performance numerical computing.

Scientific Programming, 10(1): 19-33, 2002.

Communications of the ACM, 44 (10), 102-109, 2001.

Blue Gene: a vision for protein science using a petaflop supercomputer.

IBM Systems Journal, 40 (2), 310-327, 2001.

A study of memory behavior of Java workloads.

International Journal of Parallel Programming, 28(6): 537-562, 2000.

Power-aware microarchitecture: Design and modeling challenges for next-generation microprocessors.

IEEE Micro 20 (6), 26-44, 2000.

From flop to megaflops: Java for technical computing.

ACM Transactions on Programming Languages and Systems (TOPLAS), 22 (2), 265-295, 2000.

Parallel Processing Letters, 10(2/3): 153-164, 2000.

Java programming for high-performance numerical computing.

IBM Systems Journal, 39 (1), 21-56, 2000.

A comparison of Java, C/C++, and Fortran for numerical computing.

IEEE Antennas and Propagation Magazine, 40 (5), 102-105, 1998.

Static analysis to reduce synchronization costs data-parallel programs with remote memory copy.

Parallel Processing Letters 7 (02), 145-156, 1997.

A unified framework for optimizing communication in data-parallel programs.

IEEE Transactions on Parallel and Distributed Systems, 7 (7), 689-704, 1996.

The PARADIGM compiler for distributed-memory multicomputers.

IEEE Computer, 28 (10), 37-47, 1995.

Compile-time estimation of communication costs of programs.

Journal of Programming Languages, 2, 191-226, 1994.

Demonstration of automatic data partitioning techniques for parallelizing compilers on multicomputers.

IEEE Transactions on Parallel and Distributed Systems, 3 (2), 179-193, 1992.

Distributed Computing 9(4): 398-410, 1990.

Does lean imply green?: A study of the power performance implications of Java runtime bloat.

ACM SIGMETRICS 2012: 259-270, 2012.

High performance file I/O for the Blue Gene/L supercomputer.

Gordon Bell finalists I - Large scale drop impact analysis of mobile phone using ADVC on Blue Gene/L.

Power and performance optimization at the system level.

Scaling physics and material science applications on a massively parallel Blue Gene/L system.

Performance implications of periodic checkpointing on large-scale cluster systems.

Critical event prediction for proactive management in large-scale computer clusters.

9th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD): 426-435, 2003.

Appel, Jaswinder Pal Singh: Creating and preserving locality of java applications at allocation and garbage collection times.

Exploiting prolific types for memory management and optimizations.

A framework for efficient reuse of binary code in Java.

A comparison of three approaches to language, compiler, and library support for multidimensional arrays in Java.

Characterizing the memory behavior of Java workloads: a structured view and opportunities for optimizations.

Automatic loop transformations and parallelization for Java.

A methodology for high-level synthesis of communication on multicomputers.

Effects of program parallelization and stripmining transformation on cache performance in a multiprocessor.

Automatic data partitioning on distributed memory multiprocessors.

Automatic pipeline parallelization of sequential code, Pradeep Varma, Manish Gupta, Monika Gupta, Naga Praveen Kumar Katta.

Clustering threads based on contention patterns, Manish Gupta, Anithra P.

Compiler driven mechanism for registration and deregistration of memory pages, Dibyendu Das, Manish Gupta.

Managing migration ready queue associated with each processor based on the migration ready status of the tasks, Srivatsa Vaddagiri, Manish Gupta.

Thread-to-processor assignment based on affinity identifiers, Manish Gupta, Anithra P Janakiraman.

High efficiency compilation framework for streamlining the execution of compiled code, Dibyendu Das, Kandasamy M, Vidya Ranganathan, Manish Gupta.

Vector unit in a processor enabled to replicate data on a first portion of a data bus to primary and secondary registers, Siddhartha Chatterjee, Kenneth Dockser, Fred Gustavson Gustavson, Manish Gupta.

United States Patent US 8,104,029, January 2012 Hybrid event prediction and system control, M

Hybrid method for event prediction and system control, M

Method for reducing write barrier overhead, Y

Method for compiling program components in a mixed static and dynamic environment R

Method for efficient garbage collection based on object type, Y

Method and apparatus for efficient virtual memory management, Y

Method and apparatus for efficient cache management and avoiding unnecessary cache traffic, Y

Method for optimizing locks in computer programs, JD Choi, M Gupta, MJ Serrano, VC Sreedhar, SP Midkiff.

Methods and apparatus for optimizing programs in the presence of exceptions, JD Choi, M Gupta, M Hind.

Method for optimizing creation and destruction of objects in computer programs, JD Choi, M Gupta, MJ Serrano, VC Sreedhar, SP Midkiff.

Method for optimizing array bounds checks in programs, M

Keynote presentation at IEEE International Conference on Cloud and Autonomic Computing (ICCAC 2016) Augsburg, Germany, September 12-16, 2016.

Keynote presentation at India HCI 2015, IIT Guwahati, Dec 2015.

Keynote presentation at 13th International Conference on Service Oriented Computing (ICSOC), Goa, November 2015.

Keynote presentation at 8th ACM International Conference on Distributed Event Based Systems (DEBS), Mumbai, May 2014.

Keynote presentation at HiPC 2011, December 2011.

Keynote presentation at ICM Horizons 2011, Singapore, August 2011.

Invited presentation at Emerging Markets Forum (organized by UMD Robert Smith School of Business), Washington D.C., April 2011.

Keynote presentation at W4A 2011, held with International World Wide Web Conference, Hyderabad, March 2011.

Keynote presentation at ICDCN 2010, Kolkata, January 2010.

Keynote presentation at SEDS 2006, Indian Institute of Management, Kozhikode, August 2006.

Keynote presentation at 3rd Annual Workshop on Charm++ and its Applications, University of Illinois, Urbana-Champaign, October 2004.

Workshops and Tutorials Co-Chair, 15th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP 2010), January 2010, Bangalore, India.

Program Vice Chair (Systems Software), International Conference on High Performance Computing (HiPC 2007), December 2007, Goa, India.

Co-chair, 1st, 2nd, 3rd Workshops on Java for High Performance Computing (at ICS 1999-2001).

Truth behind EVM Machine Hacking | Electronic Voting Fraud in India by Dhruv Rathee

In the Uttar Pradesh State Elections in India, the BJP won by a historic record breaking margin of 325 seats. This has bought forward the issue of Election fraud ...

Replacement Analysis Case Study2 for CA IPCC & FINAL / CMA Inter / CFA

Did you liked this video lecture? Then please check out the complete course related to this lecture, FINANCIAL MANAGEMENT – A COMPLETE STUDYwith ...

MCA (Middle Class Abbayi) 2018 New Released Hindi Dubbed Movie | Nani, Sai Pallavi, Bhumika Chawla

A youngster tries to protect his sister-in-law, a transport official, from a dreaded goon who runs an illegal road transport business. Movie:- MCA (Middle Class ...

What is Deep Learning | Future of Work | Sundara Ramalingam N

In deep learning we actually try to mimic the human brain, we write algorithms in deep learning and these algorithms enable the machine to learn from data and ...

Unfold the Untold | Akanksha Goswami | TEDxYouth@JPIS

'Unfold the Untold' is a social commentary on the lives of various individuals in India and how inspiring their 'untold' stories can be. Akanksha Goswami sheds ...

How To Repair Mantra MFS100 For Free | [Bangla-বাংলা]

In this video, we will learn How To Repair Mantra MFS100 For Free in Bangla Mantra MFS100 RMA : Mantra MFS100 RMA Track ..

इस जगह 5 बार दबाओ और देखो जादू | Acupressure Points and Yoga Mudras That Can Change Your Life

Acupressure is an alternative medicine technique similar in principle to acupuncture. It is based on the concept of life energy which flows through "meridians" in ...

Lecture 6 | Training Neural Networks I

In Lecture 6 we discuss many practical issues for training modern neural networks. We discuss different activation functions, the importance of data ...

New Year message by Dr. Manish Biyani

In this Video, Dr. Manish Biyani, Director- Research & Development , Biyani Group of Colleges, benevolent the New Year wishes to students & advise them to ...

Fluid Mechanics (Hydraulics) Part-1 TA0001

Fluid mechanics is the branch of physics that studies the mechanics of fluids (liquids, gases, and plasmas) and the forces on them. Fluid mechanics has a wide ...