It is an amazing time in computer science.
This is a field that, while it is about 50 years old, has more opportunity today than it has ever had, by a large factor.
These were among the opening statements made by Google’s VP of Research & Special Initiatives, Alfred Z. Spector, in a colloquium a couple of weeks ago to the Computer Science & Engineering faculty of the University of Washington. A video of the presentation is available from the University of Washington CSE website.
I previously mentioned this video at the tail end of a previous blogpost, “In praise of hybrid AI“. The video is full of interesting comments about the direction of computer science.
As context, Spector mentioned “four application areas in flux today“:
- publishing, education, healthcare, and government.
He also mentioned three “systems areas evolving“:
- ubiquitous high performance networking, distributed computing, and new end-user devices.
This provided a prelude to “three truly big results brewing“:
- Totally transparent processing
- Ideal distributed computing
- Hybrid, not Artificial Intelligence
It’s worth highlighting some points about each of these “big results”. In all cases, Google seek to follow a quantitative approach, looking at large sets of data, and checking results as systems are incrementally changed. As Spector said, “more data is better…”
1. Totally transparent processing
Spector spelt out a vision encompassing each of four dimensions: processing should be “effectively transparent”:
- Across all types of end-user access devices,
- across all human languages (both formal and informal),
- across all the modes of information (eg text, images, audio, video, sensor data, maps, timelines),
- and across every body of knowledge (both online and offline).
In this vision:
- There should be “no dependence or occlusions because something has got in the way” or is in the wrong format;
- There should be “fluidity across all these forms”.
Some subsets of this grand vision include solving “voice to text”, “image recognition”, “find similar images”, and “language translation”. Spector claimed that progress was being made across many of these sub-problems.
2. Ideal distributed computing
Spector pointed out that
Distributed computing is 30 years old, but, not very deeply understood until recently;
There was a limitation of understanding of (truly) large-scale, open integrated distributed systems.
Particular aspects of distributed systems that had not been deeply understood included:
- Requirements for systems in which the application needs (and APIs) are not known in advance;
- Systems with 10^6 or even 10^7 processes, with consequent enormous complexity.
Spector claimed that – as in the case of transparent processing – “there has been lots of incremental progress done with distributed systems, picking away at problem areas”.
Improvements that can be expected for huge distributed systems of computers, arising from computer science research, include:
- Online system optimisation;
- Data checking – verifying consistency and validating data/config files;
- Dynamic repair – eg find the closest feasible solution after an incident (computer broke down);
- Better efficiency in energy usage of these systems;
- Improvements in managing security and privacy.
3. Hybrid, not Artificial Intelligence
Hybrid intelligence is like an extension of distributed computing: people become part of the system that works out the answers.
Spector said that Google’s approach was:
To see if some problem can be solved by people and computers working together.
As a familiar example, Search doesn’t try to offer the user only the one best result. It provides a set of results, and relies on the user picking answers from the list generated by the computer.
Hybrid intelligence can be contrasted with AI (artificial intelligence):
- AI aims at creating computers as capable as people, often in very broad problem domains. While progress has been made, this has turned out to be very challenging;
- Instead, it has proven more useful for computers to extend the capability of people, not in isolation, and to focus on more specific problem areas.
Computer systems can learn from feedback from users, with powerful virtuous circles. Spector said that aggregation of user responses has proven extremely valuable in learning, such as:
- feedback in ranking of results, or in prioritising spelling correction options;
- semi-supervised image content analysis / speech recognition / etc.
(This idea has evolved over time, and was previously known as “The combination hypothesis”: computers would become smarter if different methods of learning can be combined. See for example the 2003 article “IBM aims to get smart about AI” from a time when Spector worked at IBM. It’s good to see this idea bearing more and more fruit.)
Selected questions and answers
A couple of the questions raised by the audience at the end of the lecture were particularly interesting.
One questioner asked if Google’s guidelines for research projects specified any “no-go areas” that should be avoided. Spector answered:
No one wants a creepy computer. So the rule is … “don’t be creepy”.
(Which is an unusual twist on “don’t be evil”!)
Spelling this out in more detail:
- Google aim to apply extremely neutral algorithms to ranking and crawling;
- They want systems that are very responsive to users’ needs, without being in any way creepy;
- Views on “what is creepy” may change over time (and may be different in different parts of the world).
A second audience member asked if there are risks to pursuing a quantitative, evolutionary approach to computer science problems. Spector answered:
- Yes, the research might get stuck in a local maximum;
- So you can’t do everything “strictly by the numbers”. But having the numbers available is a great guide.
As I viewed this video, part of my brain told me that perhaps I should return to an academic life, in the midst of a computer science faculty somewhere in the world.
I share Spector’s conclusion:
It’s a time of unprecedented diversity and fertility in computer science – and amazing challenges abound;
The results from computer science should continue to make the world a better place.
Spector pointed out that key research challenges are published on the Google Research Blog. Examples he listed included:
- increasingly fluid partnership between people and computation;
- fundamental changes in the methods of science;
- rethinking the database;
- CS+X, for all X (how Computer Science, CS, can assist and even transform other fields of study, X);
- computing with ultra-low power (eg just ambient light as a power source).
Stop press: Google’s Focused Research Awards
Coincidentally, I see that Google have today made a new announcement about their support for research in specific areas of computer science, at a small number of universities worldwide. The four areas of research are:
- Machine Learning
- Use of mobile phones as data collection devices for public health and environment monitoring
- Energy efficiency in computing
It looks like “energy efficiency in computing” is receiving the largest amount of funding. I think that’s probably the right choice!