Conference:March 6-8, 2017
Workshops:March 9-10, 2017
Presentation: Deep Learning @Google Scale: Smart Reply in Inbox
Location:
- Mountbatten, 6th flr.
Duration
Day of week:
- Tuesday
Level:
- Advanced
Persona:
- Data Scientist
Key Takeaways
- Hear how end-to-end learning against data has been achieved today in an applied use case from Google Inbox by Gmail
- Revisit some of the foundational elements of neural networks that Google used to build the Smart Reply feature
- Dive into the details of how Google implemented a Recurrent Neural Network in an effort to provide contextual short responses for Inbox users
Abstract
Anjuli will describe the algorithmic, scaling and deployment considerations involved in an extremely prominent application of cutting-edge deep learning in a user-facing product: the Smart Reply feature of Google Inbox.
Interview
I’m part of a group called the Google Brain team. The way I think of our team is that we approach machine learning from all angles: some of my teammates work on research in machine learning, some of them work on machine learning software (like TensorFlow), and some work on applications of machine learning around Google. I personally consider myself to be at the boundary between research and applications. My main interest is applying machine learning to language understanding. I’ve worked a little bit on the application side with Gmail (which is what my talk is about), and more recently I’ve been working on the research side.
Natural language understanding is about applications where there is written or spoken language, and we want the computer to interpret it, then do something with it, possibly generating some language in return. So you can imagine Gmail is a really great place to apply these techniques: the entire application is about the exchange of written language and every day they’re helping people wade through their inboxes. So if Gmail can imbue the product with more language understanding, they can really help their users.
An easy one to understand are the three tags at the top of the interface (Promote, Social, and Inbox). The system is doing some basic understanding and analysis of the email contents to decide what category to put each email into.
My talk is going to be about Smart Reply. Smart Reply is a feature in Inbox by Gmail that makes it easier and faster to respond on your mobile device. So, if you’re like me, you probably look at emails on your mobile phone, but often postpone responding because typing on a mobile phone is slow and cumbersome and error-prone. What Smart Reply does is it analyzes the contents of the email, and, if the system thinks that a short response is appropriate, it surfaces three suggestions for short responses. Then you, as the person replying, can tap a suggestion (or add to/modify a suggestion) however you want and send it. So the use case here is just helping to make it easier, faster, and less frustrating to respond to messages on your phone device. My goal in talking about Smart Reply is to showcase the power of end-to-end learning from data. In order to have a system that can predict a response in Inbox, the system has to understand how messages and responses work. It’s all about understanding the dialog. Historically, systems that understood dialogue did so in a very rule based way. People would manually program rules and the responses to those rules. Smart Reply is a very different approach. We used a deep learning model called a Recurrent Neural Network. This model learns completely end-to-end from the data itself. Without any feature engineering or manual crafting of rules, we've built a fully data-driven model of conversation. So my goal is to really demonstrate how powerful this technique is to extract complex relationships in the data.
I think so, on a couple levels.
First of all, the high level idea of my talk is really the power of these models for language understanding. So certainly if you do anything with language understanding the talk is very applicable. Maybe you need to understand text queries on your website, or maybe you want to classify the sentiment of customer reviews. For Smart Reply we had the benefit of a lot of data, but there's a lot of research on how to transfer the techniques I’ll be discussing to smaller data sets as well.
But even if you’re not working with language understanding, the broader idea is really just about machine learning and learning end-to-end from data. I hope the ideas can inspire and motivate developers to use concepts from machine learning in new ways.
Similar Talks
Tracks
-
Architecting for Failure
Building fault tolerate systems that are truly resilient
-
Architectures You've Always Wondered about
QCon classic track. You know the names. Hear their lessons and challenges.
-
Modern Distributed Architectures
Migrating, deploying, and realizing modern cloud architecture.
-
Fast & Furious: Ad Serving, Finance, & Performance
Learn some of the tips and technicals of high speed, low latency systems in Ad Serving and Finance
-
Java - Performance, Patterns and Predictions
Skills embracing the evolution of Java (multi-core, cloud, modularity) and reenforcing core platform fundamentals (performance, concurrency, ubiquity).
-
Performance Mythbusting
Performance myths that need busting and the tools & techniques to get there
-
Dark Code: The Legacy/Tech Debt Dilemma
How do you evolve your code and modernize your architecture when you're stuck with part legacy code and technical debt? Lessons from the trenches.
-
Modern Learning Systems
Real world use of the latest machine learning technologies in production environments
-
Practical Cryptography & Blockchains: Beyond the Hype
Looking past the hype of blockchain technologies, alternate title: Weaselfree Cryptography & Blockchain
-
Applied JavaScript - Atomic Applications and APIs
Angular, React, Electron, Node: The hottest trends and techniques in the JavaScript space
-
Containers - State Of The Art
What is the state of the art, what's next, & other interesting questions on containers.
-
Observability Done Right: Automating Insight & Software Telemetry
Tools, practices, and methods to know what your system is doing
-
Data Engineering : Where the Rubber meets the Road in Data Science
Science does not imply engineering. Engineering tools and techniques for Data Scientists
-
Modern CS in the Real World
Applied, practical, & real-world dive into industry adoption of modern CS ideas
-
Workhorse Languages, Not Called Java
Workhorse languages not called Java.
-
Security: Lessons Learned From Being Pwned
How Attackers Think. Penetration testing techniques, exploits, toolsets, and skills of software hackers
-
Engineering Culture @{{cool_company}}
Culture, Organization Structure, Modern Agile War Stories
-
Softskills: Essential Skills for Developers
Skills for the developer in the workplace